ECE355 Project SIP Applications
description
Transcript of ECE355 Project SIP Applications
![Page 2: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/2.jpg)
Overview
• SIP COMMUNICATOR
• JAIN-SIP-PRESENCE-PROXY
• Eclipse Projects Setup
• Basic CVS commands
• Running Apps
• Making a SIP Phone Call
![Page 3: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/3.jpg)
Taken from http://www.iptel.org/sip/siptutorial.pdf
![Page 4: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/4.jpg)
Taken from http://www.iptel.org/sip/siptutorial.pdf
![Page 5: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/5.jpg)
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).
![Page 6: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/6.jpg)
SIP COMMUNICATOR
![Page 7: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/7.jpg)
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/
![Page 8: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/8.jpg)
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
![Page 9: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/9.jpg)
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.
![Page 10: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/10.jpg)
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.
![Page 11: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/11.jpg)
Eclipse Projects Setup Checking Out Project from CVS
![Page 12: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/12.jpg)
Eclipse Projects Setup Checking Out Project from CVS
![Page 13: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/13.jpg)
Eclipse Projects Setup Checking Out Project from CVS
![Page 14: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/14.jpg)
Eclipse Projects Setup Checking Out Project from CVS
![Page 15: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/15.jpg)
Eclipse Projects Setup Creating Run Configuration
• Run|Run..
• New Configuration• Project Name• Main Class• Arguments (Program or Java VM)
![Page 16: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/16.jpg)
SIP COMMUNICATORCreating Run Configuration
![Page 17: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/17.jpg)
SIP COMMUNICATOR Creating Run Configuration
![Page 18: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/18.jpg)
SIP PROXY Creating Run Configuration
![Page 19: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/19.jpg)
SIP PROXY Creating Run Configuration
![Page 20: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/20.jpg)
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
![Page 21: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/21.jpg)
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
![Page 22: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/22.jpg)
• 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
![Page 23: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/23.jpg)
Making a SIP Phone Call Ports used for SIP
SIP COM 1 SIP COM 2
PROXY
5060 5060
4000
![Page 24: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/24.jpg)
Making a SIP Phone Call All ports
SIP COM 1 SIP COM 2
PROXY
5060 5060
4000
22224(Audio)
22222(Video)
![Page 25: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/25.jpg)
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.
![Page 26: ECE355 Project SIP Applications](https://reader036.fdocuments.us/reader036/viewer/2022062301/56813fde550346895daac62b/html5/thumbnails/26.jpg)
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