Download presentation
Presentation is loading. Please wait.
1
Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator) AT&T Research Lab Xiaotao Wu
2
Overview 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
3
SIP-DFC Call SIP User Agent LI B RTP Rep LI S LI B RTP Rep media streams MGCP++ FB 1 FB 2 DFC Signaling SIP Signaling MGCP++ media streams SIP User Agent
4
Project 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
5
Description 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.org http://www.cs.columbia.edu/~hgs/sip FOR MORE INFO...
6
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...
7
Status 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.txt http://www.ietf.org/rfc/rfc1321.txt FOR MORE INFO...
8
Further 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...
9
Description 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.txt http://livelink.cablelabs.com/Livelink/livelink.exe?func=ll&objId=333051&objA ction=browse&sort=name FOR MORE INFO...
10
Design of MGCP Library MGCP class MGCI Call Agent MGCP class MGCI Gateway Endpoint setHandler callHandler RTP Replicator MGCP packets RTP stream
11
Endpoint1 Endpoint2 Gateway CallAgent | | | register | | -------------------------> | <------------------------- | RTP rep port | | | | | | register | | ---------> | | <--------- | | RTP rep port | | | AuditEndpoints | | <========== | | ==========> | | 200 OK with Endpoint list | | | | | NotificationRequest | | <========== | | ==========> Demo of MGCP Library
12
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
13
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 Library
14
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 Library
15
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 Library
16
MGCP 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...
17
Status of MGCP Library –Support basic commands –Supporting for NCS spec. is not finished –Working on demo implementation FOR MORE INFO...
18
Description 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.txt FOR MORE INFO...
19
RTP 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/rtptools FOR MORE INFO...
20
Implementation 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...
21
Status of RTP Replicator RTP Replicator –One way replicator is finished –Working on two way replicator and switch FOR MORE INFO...
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.