Title: ECE355 Project SIP Applications
1ECE355 ProjectSIP Applications
- Tiuley Alguindigue
- talguind_at_ecemail.uwaterloo.ca
2Overview
- SIP COMMUNICATOR
- JAIN-SIP-PRESENCE-PROXY
- Eclipse Projects Setup
- Basic CVS commands
- Running Apps
- Making a SIP Phone Call
3Taken from http//www.iptel.org/sip/siptutorial.p
df
4Taken from http//www.iptel.org/sip/siptutorial.p
df
5SIP 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 Ivovs
project site http//www.emcho.com/) - Project info and download at https//sip-communica
tor.dev.java.net/ - ECE355 project will be based in the alpha version
for Windows (sip-communicator-windows.zip).
6SIP COMMUNICATOR
7JAIN-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/
8Eclipse 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
9Eclipse 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.
10Eclipse Projects Setup Checking Out Project from
CVS
- FileNewProject
- In Project Wizard select CVSCheckout 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.
11Eclipse Projects Setup Checking Out Project from
CVS
12Eclipse Projects Setup Checking Out Project from
CVS
13Eclipse Projects Setup Checking Out Project from
CVS
14Eclipse Projects Setup Checking Out Project from
CVS
15Eclipse Projects Setup Creating Run Configuration
- RunRun..
- New Configuration
- Project Name
- Main Class
- Arguments (Program or Java VM)
16SIP COMMUNICATORCreating Run Configuration
17SIP COMMUNICATOR Creating Run Configuration
18SIP PROXY Creating Run Configuration
19SIP PROXY Creating Run Configuration
20Running 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). - ltsipgt
- ltPUBLIC_ADDRESS value"talguind"/gt
- ltTRANSPORT value""/gt
- ltREGISTRAR_ADDRESS value"127.0.0.140
00"/gt - ltUSER_NAME value"tiuley"/gt
- ltSTACK_PATH value"gov.nist"/gt
- ltPREFERRED_LOCAL_PORT value""/gt
- ltDISPLAY_NAME value"Tiuley
Alguindigue"/gt - ltREGISTRAR_TRANSPORT value"UDP"/gt
- ltREGISTRATIONS_EXPIRATION
value"3600"/gt - ltREGISTRAR_PORT value"5060"/gt
- ltDEFAULT_DOMAIN_NAME
value"127.0.0.14000"/gt - ltDEFAULT_AUTHENTICATION_REALM
value"127.0.0.14000"/gt - ltWAIT_UNREGISTGRATION_FOR
value"1100"/gt
JAIN-SIP-PRESENCE-PROXY IP Address and Port
SIP COMMUNICATOR Port
21Running AppsSIP COMMUNICATOR
- Parameters in sip-communicator.xml file also
indicate the ports used for audio/video
communication - ltsipgt
- ltmediagt
- ltPREFERRED_AUDIO_ENCODING value"9"/gt
- ltPREFERRED_VIDEO_ENCODING
value"26"/gt - ltMEDIA_SOURCE value""/gt
- ltMEDIA_BUFFER_LENGTH value"100"/gt
- ltIP_ADDRESS value""/gt
- ltAUDIO_PORT value"22224"/gt
- ltVIDEO_PORT value"22222"/gt
- lt/mediagt ..
- lt/sipgt
- More about SIP COMMUNICATOR parameters at
- https//sip-communicator.dev.java.net/instructions
.html
Default Values are AUDIO 22224 VIDEO 22222
22 Running Apps JAIN-SIP-PRESENCE-PROX
Y
- 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. - ltCONFIGURATIONgt
- ltSIP_STACK
- stack_name"nist-proxy"
- stack_IP_address"127.0.0.1"
- router_path"gov.nist.sip.proxy.router.ProxyRouter
" - lt?xml version'1.0' encoding'us-ascii'?gt
- max_connections"20"
- thread_pool_size"20"
- gt
- ltLISTENING_POINT port"4000" transport"udp" /gt
- ltLISTENING_POINT port"4000" transport"tcp" /gt
- ltDOMAIN domain"there.com" /gt
- ltDOMAIN domain"pingtel.com" /gt
- ltDOMAIN domain"ubi.com" /gt
Local Address
Port
23Making a SIP Phone Call Ports used for SIP
4000
PROXY
5060
5060
SIP COM 1
SIP COM 2
24Making a SIP Phone Call All ports
4000
PROXY
5060
5060
22222(Video)
SIP COM 1
SIP COM 2
22224(Audio)
25Making 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.
26References
- 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