A MultiSignaling Protocol Architecture for VOIP Terminal Prakasan





























- Slides: 29
A Multi-Signaling Protocol Architecture for VOIP Terminal Prakasan Kottakkudy Vasudevan Krishnamurthy
About the Paper A Multi-Signaling Protocol Architecture for Voice over IP Terminal. n n An IEEE INFOCOM 2004 paper. Idea has been implemented and verified.
VOIP Introduction Ability to make telephone calls and send faxes over IP-based data networks. The voice information is sent in digital form using discrete packets rather than via dedicated connections as in the circuit-switched Public Switch Telephone Network.
VOIP Introduction Contd. • • • VOIP - Advantages: A low cost telephone service. Does not need a telephone connection. Better utilization of the network. Open standards. Integrated voice and data services.
VOIP Introduction Contd. VOIP - Disadvantages • Does not work if power is not available. • Best effort delivery. • May need a telephone line if you have security system in your home.
VOIP Protocols Signaling and call control protocols: H. 323 SIP (RFC: 3261) MGCP (RFC: 2705) Mega. Co (RFC: 3015 / ITU-T H. 248)
The Problem q. Highly desirable that there should be only one voice protocol for each function in a packet network. q. In reality multiple VOIP protocols and architectures have already been deployed and many networks will continue to be built using different VOIP protocols. q. A great deal of effort had to be put to determine which protocol was best suited for particular networks and applications.
Choices ? ? ? Single Protocol Architecture • Limits the potential connectivity to other networks that are using other VOIP signaling protocols. Protocol translation • No standard for protocol translation and so not all VOIP translators are exactly same. Time Division Multiplexing (TDM) • Introduces delay.
A Solution An endpoint management architecture which supports Multiple Signaling Protocols (MSP) for VOIP q The endpoint is registered to a Media Gateway Controller (MGC), a SIP server and a H. 323 gatekeeper at the same time. q The proposed endpoint can handle calls, simultaneously, from other endpoints that support different protocol. q Reduced delay in call setup between two endpoints that otherwise use different signaling protocols.
SIP • • • A text-based request/response protocol like HTTP. RFC: 3261 (2543). Transported over either TCP or UDP, but common implementations use UDP. Entities: SIP Proxy. User Agents. Registrar. Location Server Redirect Server TRIP and ENUM database.
SIP Basic Operation Proxy Server INVITE john@ncsu. edu SDP: s=… alice@ncsu. edu 200 OK Location server INVITE john@pc. ncsu. edu 200 OK ACK User Agent RTP media transport Copyright 2003 @Rhee All rights reserved
H. 323 An ITU-T standard for multimedia communications over local area networks that do not guarantee Quality of Service. Although base-level functionality required only voice, video dominated early implementations remains a major strength of H. 323. Addresses call control, multimedia management, bandwidth management and interfaces between LANs and other network. Today, H. 323 is the most widely deployed standards-based voice and videoconferencing standard for packet-switched networks, with literally billions of minutes of billable traffic every month. H. 323 is a “framework” document that describes how the various pieces fit together.
H. 323 Entities Terminal - An endpoint on an IP network, that supports the real-time, two-way communication with another H. 323 entity. Gateway - Provides interface between a packet-based network and a circuitswitched network. Translates communication procedures and formats between networks. Gatekeeper - Manages a collection of H. 323 entities in an H. 323 zone controlling access to the network for H. 323 terminals, Gateways and MCUs and providing address translation. Multipoint Control Unit (MCU) - An endpoint that support conferences between three or more endpoints. An MCU can be a stand-alone unit or integrated into a terminal, gateway, or gatekeeper.
H. 323 A Simple Call Scenario Five Phases: • Call Setup • Capability Exchange • Call Initiation • Data Exchange • Call Termination • TCP connection (1 or 2). Port 1720. • Message: Setup, Alerting/Connect/Call Proceeding. • Terminal Capability Set/ACK/Reject. • Open Logical Channel/ACK. • Close Logical Channel/ACK/End Session Command. • Release Complete.
H. 323 Call Scenario Via Gateway This example call scenario involves the following phases: • • Establishing Contact with the Gatekeeper Requesting Permission to Call Signaling and Data Exchange Call Termination
MGCP and Megaco/H. 248 q. Media Gateway Control Protocol (MGCP) and Megaco/H. 248 are control protocols designed to be used between a Media Gateway Controller or call agent and a media gateway. q. Megaco/H. 248 is newer than MGCP, and is seen by many as MGCP's replacement. q. Many products already employ MGCP and therefore, for some time, both protocols will be used.
Typical Network Topology
MSP Overview The proposed endpoint supports three signalling protocols namely H. 323, SIP and MGCP. Effectively only a single channel viz. a single telephone. Endpoint A (EP A) is the proposed endpoint. Topology consists of a H. 323 Gatekeeper (GK 1), a SIP Server (SIPSERV 1) and a Media Gateway Controller (MGC). MGC also comprises of a SIP proxy and a H. 323 Gateway, which could be connected to another SIP Server (SIPSERV 2) and another H. 323 Gatekeeper (GK 2) respectively. Endpoint A is registered to the MGC, SIPSERV 1, and Gatekeeper (GK 1).
Call Scenarios q. An MG (MG B) could call in to EP A. When this call is in progress, if a SIP UA calls in through the SIP server 1, or a H. 323 EP calls through the GK 1, then these calling-in EPs should hear a busy tone. q In other words, EP A can communicate using any of the VOIP signalling protocols, but when any call is in progress, any other incoming call should hear a busy tone.
System Architecture for MSP
Components of MSP Main controller is Task Manager (TM) which is responsible to startup the relevant modules in the application. TM launches other Sub Task Managers H. 323, SIP and MGCP Call control modules are separate threads. UI Control thread has a message queue that keeps checking for messages from the Call Control (CC) module and the Message Decoder module and performs appropriate actions. Role of Keypad Manager is to manage keypad events, manage DTMF events detected by Phone Manager. CC modules interact with the respective signaling protocols by using the APIs provided by the stacks. Any messages received by the H. 323/SIP/MGCP stack are informed to the respective Call Control modules using the Call back functions.
MSP Components Contd. Role of Codec Manager is to pass commands to Codec in order to perform specific features like ring the phone, start voice processing, play DTMF tones, tune the gain (voice volume) and to catch Codec events (hook movements). Voice Manager initiates three tasks, namely the jitter buffer control, Voice Transmit (Voice. Tx) and Voice Receive (Voice. Rx). Jitter buffer algorithm puts the received RTP packets in an orderly fashion, based on the time stamp and the sequence number, before passing them to the DSP for decoding. Role of Voice. Rx task is to wake up the RTP stack every 10 ms and hence schedule the reception of voice packets.
State Machine - Outgoing Call • The user selects one of H. 323/SIP/MGCP to initiate call. • The UI control first checks if there is a call available against MAX_CALL of calls available (1 in the paper's case). • M_OFF_HOOK message to the Call Control module results playing of Dial tone signal (SIGNAL_DL). • DTMF detection enabled. State changed from “Standby” to “Dialing”. • Message Decoder detects the digits dialed. • User Cancels or timeout -> “Busy Tone” state. Busy tone played till move to “Wait. On. Hook” state. • User goes onhook state moves to “Stand. By”. • <PROTOCOL>_CBKMSG_RINGING remote ringing-> ring back • Far end connect received-> the ring back tone stopped -> “ESTB Call” • Case: Far End Busy -> “Busy Tone” -> “Wait. ONHook”-> “Standby”
UI State Machine
State Machine - Incoming Call • Initial state =“standby” state. • Incoming call-> “Wait Call Accept” and Incoming call message is sent to the UI Control message queue with the Caller Id information (if available). • (# of Calls > MAX_CALL) -> TC_EVENT (Cancelled) ->”Stand. By” • Else ACCEPT_CALL (OK message in SIP or ALERTING/CONNECT) • “Wait Call Accept” to “Wait Media Start”. • RX and TX, the state is changed to “Wait Open RTP Channel”. • RX and TX contains parameters like remote destination IP address, media type (audio/video), type of vocoders negotiated, packet size. • Starting of the RTP instances-> Voice Manager acks the CC->“Wait Open Voice Channel” -> “Communication”. Voice call is established. • Remote disconnect or cancel call (local on hook) -> “Stand. By”. • Closure of the RTP instances (if opened)
H 323/SIP CC State Machine
MGCP CC State Machine
MGCP Incoming Call • Incoming signal for the Create Connection (CRCX). • The state is changed from “Standby” state to “Wait Call Accept” state. • User goes off hook to accept the call, off hook event (EVENT_HD) is sent to the MGC and state is changed to “Wait Media start”. • On receiving the Media Start call back message for both TX and RX. • Successful opening of RTP instances • State changed to “Communication” state.
Conclusion Described a novel multi-protocol signaling endpoint architecture. Architecture has been implemented and tested in a practical real word environment. Work in progress to include services like Call Hold, Call Waiting etc.