ece355 project sip applications

26
ECE355 Project SIP Applications Tiuley Alguindigue [email protected] o.ca

Upload: nolcha

Post on 08-Jan-2016

35 views

Category:

Documents


5 download

DESCRIPTION

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. Taken from http://www.iptel.org/sip/siptutorial.pdf. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ECE355 Project SIP Applications

ECE355 ProjectSIP Applications

Tiuley Alguindigue

[email protected]

Page 2: ECE355 Project SIP Applications

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

Taken from http://www.iptel.org/sip/siptutorial.pdf

Page 4: ECE355 Project SIP Applications

Taken from http://www.iptel.org/sip/siptutorial.pdf

Page 5: ECE355 Project SIP Applications

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

SIP COMMUNICATOR

Page 7: ECE355 Project SIP Applications

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

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

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

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

Eclipse Projects Setup Checking Out Project from CVS

Page 12: ECE355 Project SIP Applications

Eclipse Projects Setup Checking Out Project from CVS

Page 13: ECE355 Project SIP Applications

Eclipse Projects Setup Checking Out Project from CVS

Page 14: ECE355 Project SIP Applications

Eclipse Projects Setup Checking Out Project from CVS

Page 15: ECE355 Project SIP Applications

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

SIP COMMUNICATORCreating Run Configuration

Page 17: ECE355 Project SIP Applications

SIP COMMUNICATOR Creating Run Configuration

Page 18: ECE355 Project SIP Applications

SIP PROXY Creating Run Configuration

Page 19: ECE355 Project SIP Applications

SIP PROXY Creating Run Configuration

Page 20: ECE355 Project SIP Applications

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

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

• 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

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

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

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

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