Upload
kaiya
View
52
Download
3
Embed Size (px)
DESCRIPTION
Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator). AT&T Research Lab Xiaotao Wu. Overview. - PowerPoint PPT Presentation
Citation preview
Internet Telephony System implementationInternet Telephony System implementation(SIP User Agent, MGCP Library and RTP Replicator)(SIP User Agent, MGCP Library and RTP Replicator)
AT&T Research LabXiaotao Wu
OverviewOverview This project is part of ECLIPSE (Extended
Communications Layered on I.P. * Synthesis Environment). ECLIPSE is an implementation of the DFC architecture for communications services in an I.P. setting.
SIP (Session Initiation Protocol) User Agent, MGCP(Media Gateway Control Protocol), RTP (Real time Transport Protocol) Replicator can be used in SIP-DFC (Distributed Feature Composition) call
SIP-DFC CallSIP-DFC Call
SIP User Agent
LIB
RTP
Rep
LISLIS
LIB
RTP
Rep
media streams
MGCP++
FB1 FB2
DFC SignalingSIP SignalingMGCP++
media streams
SIPUser Agent
Project GoalsProject Goals
SIP User Agent (sipc) – Call signaling– Handle Quicknet card in Windows
MGCP Library– Based on MGCP and Packet Cable NCS– Demo on call waiting
RTP Replicator– Control RTP flows
Description of SIP User AgentDescription of SIP User Agent
SIP User Agent (sipc)– What is SIP? – What SIP User Agent is used to do?– What is Quicknet Card?– What should be handled for Quicknet Card– Make an Internet phone call– SIP bake off (Inter-operability test)
http://www.ietf.org/rfc2543.txt; http://www.quicknet.orghttp://www.cs.columbia.edu/~hgs/sip
FOR MORE INFO...
SIP User Agent ImplementationSIP User Agent Implementation SIP User Agent Implementation– Implemented in Tcl/Tk and C++• Easy to build GUI and handle parsing• So far, need install Tcl/Tk before using
– Support both UNIX and Windows– Use different ring style for different priority– Use RAT as audio application. RAT use RTP– Provide packets monitor
http://www-mice.cs.ucl.ac.uk/multimedia/software/rat-4.0/http://www.ietf.org/rfc/rfc1889.txt
FOR MORE INFO...
Status of SIP User AgentStatus of SIP User Agent
Status of SIP User Agent (sipc)– Support INVITE, REGISTER, CANCEL, BYE,
ACK methods. Handle multiple phone call.– Support Basic and Digest authentication– Use POTS phone to make Internet phone call.– Registrations automatically refreshed
http://www.pulver.com/sip; http://www.ietf.org/rfc/rfc2327.txthttp://www.ietf.org/rfc/rfc1321.txt
FOR MORE INFO...
Further Work of SIP User AgentFurther Work of SIP User Agent
Further Work– Integrate MGCP and RTP replicator into SIP
User Agent to provide services– Build interface between SIP UA and DFC LI box– Add accounting function into SIP User Agent– Make SIP User Agent independent of Tcl/Tk
environment– Bug fixing
FOR MORE INFO...
Description of MGCP LibraryDescription of MGCP Library MGCP Library– What is MGCP and MGCI?– What is the MGCP library used for?– Call Agent and Gateway– Call, Connection and Endpoint– Design of the MGCP Library– Demo of the MGCP Library (Simple call and call
waiting)
http://search.ietf.org/internet-drafts/draft-huitema-megaco-mgcp-v0r1-05.txthttp://livelink.cablelabs.com/Livelink/livelink.exe?func=ll&objId=333051&objAction=browse&sort=name
FOR MORE INFO...
Design of MGCP LibraryDesign of MGCP Library
MGCPclass
MGCI Call Agent
MGCPclass
MGCI Gateway
Endpoint
setHandler setHandlercallHandler callHandler
RTP Replicator
MGCPpackets
RTP stream
Endpoint1 Endpoint2 Gateway CallAgent | | | register | | -------------------------> | <------------------------- | RTP rep port | | | | | | register | | ---------> | | <--------- | | RTP rep port | | | AuditEndpoints | | <========== | | ==========> | | 200 OK with Endpoint list | | | | | NotificationRequest | | <========== | | ==========>
Demo of MGCP LibraryDemo of MGCP Library
Endpoint1 Endpoint2 Gateway CallAgent | | 200 OK | | | DTMF digit | | -----------------------> | ......... | collecting | DTMF digit | DTMF digits | -----------------------> call ep2 | | | Notify | | ==========> | | <========== | | 200 OK | | | | | CreateConnection (ep1, ep2) | | <=============== | | ===============> | | 200 OK Start RAT app | Add endpoint1's | <----------------------port to RTP rep | | | | | | |
Demo of MGCP Library Demo of MGCP Library
Endpoint1 Endpoint2 Gateway CallAgent
| Start RAT app | | <------------Add endpoint2's | | | port to RTP rep | | | |
====================================================================================
Endpoint3 Endpoint2 Gateway CallAgent | | | DTMF digit | | -----------------------> | ......... | collecting | DTMF digit | DTMF digits | -----------------------> call ep2 | | | Notify | | ==========> | | <========== | | 200 OK | | |
Demo of MGCP LibraryDemo of MGCP Library
Endpoint3 Endpoint2 Gateway CallAgent | | | | | CreateConnection (ep3, ep2) | | <=============== | | ===============> | | 200 OK Start RAT app | Add endpoint3's | <----------------------port to RTP rep | | | | | | | | | Endpoint2 is on call | | New Call | | <------- | | | | | flash hook | | ----------------> | | | Notify | | ================> | | <================ | | 200 OK
Demo of MGCP LibraryDemo of MGCP Library
Endpoint3 Endpoint2 Gateway CallAgent | | | | | ModifyConnection(ep1, ep2) (mute) | | ModifyConnection(ep2, ep3) (enable) | | switch RTP <=============== | | rep's conn ===============> | | from 1 to 3 200 OK | | | | | | | flash hook | | ----------------> | | | Notify | | ================> | | <================ | | 200 OK | | | | | ModifyConnection(ep2, ep3) (mute) | | ModifyConnection(ep1, ep2) (enable) | | switch RTP <=============== | | rep's conn ===============> | | from 3 to 1 200 OK | | |===================================================================================
Demo of MGCP LibraryDemo of MGCP Library
MGCP Library ImplementationMGCP Library Implementation
MGCP Library– Implemented in C++– Hide MGCP class. Programmer build their own
call agent and gateway by inheriting from MGCI_CallAgent and MGCI_Gateway classes
– The handler functions are virtual function. Programmer can re-implement them.
FOR MORE INFO...
Status of MGCP LibraryStatus of MGCP Library
Status of MGCP Library– Support basic commands– Supporting for NCS spec. is not finished– Working on demo implementation
FOR MORE INFO...
Description of RTP ReplicatorDescription of RTP Replicator
RTP Replicator– What is RTP and RTCP?– What is RTP Replicator used for?– Replicator and Switch– Do we need to generate RTCP?
• If switched to another endpoint, do we need to keep sending RTCP to the original endpoint?
• If no RTCP, do we need to generate RTCP?
http://www.ietf.org/rfc/rfc1889.txtFOR MORE INFO...
RTP Replicator ImplementationRTP Replicator Implementation
RTP Replicator– Define replicating group, packets are transferred
among the members of the group.– Define the style of the group, 0 for one way from
source to all the destinations, 1 for one way to one of the destinations, 2 for two way between source and all the destinations, 3 for two way to one of the destinations, 4 for fully-meshed.
http://www.cs.columbia.edu/~hgs/rtptoolsFOR MORE INFO...
Implementation of RTP ReplicatorImplementation of RTP Replicator
RTP Replicator– Define echo mode– Initiate a group with the source URL– Add destination to the group– Switch between the destinations
FOR MORE INFO...
Status of RTP ReplicatorStatus of RTP Replicator
RTP Replicator– One way replicator is finished– Working on two way replicator and switch
FOR MORE INFO...