ECE355 Project SIP Applications Tiuley Alguindigue [email protected].
-
Upload
sheila-houston -
Category
Documents
-
view
214 -
download
1
Transcript of ECE355 Project SIP Applications Tiuley Alguindigue [email protected].
Overview
• SIP COMMUNICATOR
• JAIN-SIP-PRESENCE-PROXY
• Eclipse Projects Setup
• Basic CVS commands
• Running Apps
• Making a SIP Phone Call
SIP COMMUNICATOR
• A software-based IP phone that runs on a PC audio/video.
• You can use SIP COMMUNICATOR to place VoIP phone calls between two PCs or between a PC and an IP Phone(such as the one in the E2-2363 Lab)
• A SIP User Agent in Java.– Can act as a client: creates a SIP request and sends it.– Also as a server: generates a response to a SIP request.
• Based on JAIN SIP libraries and JMF(More info on the architecture at Emil Ivov’s project site http://www.emcho.com/)
• Project info and download at https://sip-communicator.dev.java.net/
• ECE355 project will be based in the alpha version for Windows (sip-communicator-windows.zip).
JAIN-SIP-PRESENCE-PROXY
• SIP Proxy, SIP Registar, and SIP Presence server.
– SIP proxy servers help route requests to the user's current location, authenticate and authorize users for services, implement provider call-routing policies, and provide features to users.
– SIP Registar servers allows users to upload their current locations for use by proxy servers.
• Based on JAIN SIP libraries
• Project info and download at http://snad.ncsl.nist.gov/proj/iptel/
Eclipse Projects SetupCVS Repositories in Group Accounts
• You create your projects in Eclipse importing the source code from your group account in UNIX.
• There is a CVS repository in each group account called sip-communicator.cvs
• In this CVS Repository, there are projects that contain the base source code for the ECE355 project:– Sip-Comunicator-Fall05– sipproxy
Eclipse Projects Setup
• For each project SIP COMMUNICATOR and JAIN-SIP-PRESENCE-PROXY, you will need to:
– Checkout code from group CVS repository– Set up Run Configuration parameters in
Eclipse– May need to change configuration settings for
the project in project .xml files.
Eclipse Projects Setup Checking Out Project from CVS
• File|New|Project• In Project Wizard select CVS|Checkout Project
from CVS• Next, select option “Create a new repository
location”• Repository path is
/home/e355gNN/sip-communicator.cvs
NN : Group Number
• User ID, and Password for UNIX Accounts.
Eclipse Projects Setup Creating Run Configuration
• Run|Run..
• New Configuration• Project Name• Main Class• Arguments (Program or Java VM)
Running AppsSIP COMMUNICATOR
• SIP COMMUNICATOR reads execution parameters from sip-communicator.xml file
• Parameters in this file are currently set so that SIP COMMUNICATOR will use the SIP Services provided by JAIN-SIP-PRESENCE-PROXY running locally (127.0.0.1).
<sip> <PUBLIC_ADDRESS value="talguind"/> <TRANSPORT value=""/> <REGISTRAR_ADDRESS value="127.0.0.1:4000"/> <USER_NAME value="tiuley"/> <STACK_PATH value="gov.nist"/> <PREFERRED_LOCAL_PORT value=""/> <DISPLAY_NAME value="Tiuley Alguindigue"/> <REGISTRAR_TRANSPORT value="UDP"/> <REGISTRATIONS_EXPIRATION value="3600"/> <REGISTRAR_PORT value="5060"/>
<DEFAULT_DOMAIN_NAME value="127.0.0.1:4000"/> <DEFAULT_AUTHENTICATION_REALM value="127.0.0.1:4000"/> <WAIT_UNREGISTGRATION_FOR value="1100"/> <SAME_USER_EVERYWHERE value="true"/> …..</sip>
JAIN-SIP-PRESENCE-PROXYIP Address and Port
SIP COMMUNICATOR Port
Running AppsSIP COMMUNICATOR
• Parameters in sip-communicator.xml file also indicate the ports used for audio/video communication
<sip>
<media>
<PREFERRED_AUDIO_ENCODING value="9"/> <PREFERRED_VIDEO_ENCODING value="26"/> <MEDIA_SOURCE value=""/> <MEDIA_BUFFER_LENGTH value="100"/> <IP_ADDRESS value=""/> <AUDIO_PORT value="22224"/> <VIDEO_PORT value="22222"/> </media> …..</sip>
• More about SIP COMMUNICATOR parameters at https://sip-communicator.dev.java.net/instructions.html
Default Values areAUDIO 22224VIDEO 22222
• SIP PROXY uses reads parameters from configuration.xml file
• Parameters in this file are currently set so the SIP proxy runs in the same machine using Port 4000.
<CONFIGURATION> <SIP_STACK stack_name="nist-proxy"stack_IP_address="127.0.0.1"router_path="gov.nist.sip.proxy.router.ProxyRouter"<?xml version='1.0' encoding='us-ascii'?>max_connections="20"thread_pool_size="20" >
<LISTENING_POINT port="4000" transport="udp" /><LISTENING_POINT port="4000" transport="tcp" /><DOMAIN domain="there.com" /><DOMAIN domain="pingtel.com" /><DOMAIN domain="ubi.com" /><DOMAIN domain="hotmail.com" /><DOMAIN domain="nist.gov" /><DOMAIN domain="nitrogen.epact.se" /></SIP_STACK>
Local Address
Port
Running AppsJAIN-SIP-PRESENCE-PROXY
Making a SIP Phone Call All ports
SIP COM 1 SIP COM 2
PROXY
5060 5060
4000
22224(Audio)
22222(Video)
Making a SIP Phone Call
• For testing, you can run the two instances of SIP Communicator in one machine. You will need to change the SIP port, Audio and Video ports in the sip-communicator.xml files for the second instance.
References
• SIP COMMUNICATOR:https://sip-communicator.dev.java.net/
http://www.emcho.com/
• PROXY:http://snad.ncsl.nist.gov/proj/iptel/
• SIP:http://rfc.net/rfc3261.html