21
Internet Telephony System Internet Telephony System implementation implementation (SIP User Agent, MGCP Library and RTP (SIP User Agent, MGCP Library and RTP Replicator) Replicator) AT&T Research Lab Xiaotao Wu

Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

  • 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

Page 1: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 2: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 3: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 4: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 5: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 6: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 7: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 8: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 9: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 10: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

Design of MGCP LibraryDesign of MGCP Library

MGCPclass

MGCI Call Agent

MGCPclass

MGCI Gateway

Endpoint

setHandler setHandlercallHandler callHandler

RTP Replicator

MGCPpackets

RTP stream

Page 11: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 12: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 13: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 14: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 15: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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

Page 16: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 17: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 18: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 19: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 20: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

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...

Page 21: Internet Telephony System implementation (SIP User Agent, MGCP Library and RTP Replicator)

Status of RTP ReplicatorStatus of RTP Replicator

RTP Replicator– One way replicator is finished– Working on two way replicator and switch

FOR MORE INFO...