260 likes | 401 Views
MEGACO SIP State Machine Inter-conversion and Message Translation. By Salman Abdul Baset Zahid Anwar. MEGACO/H.248.
E N D
MEGACO SIP State Machine Inter-conversion and Message Translation By Salman Abdul Baset Zahid Anwar
MEGACO/H.248 • Megaco is a simple control protocol that enables a network entity (responsible for setting up calls) to control the media streaming devices that perform the actual IP voice streaming. • Megaco is the result of a merger between the simple gateway control protocol (SGCP) from Bellcore, and the IP device control (IPDC) from Level 3 Communications.
MEGACO/H.248 • Megaco allows software programs known as call agents or media gateway controllers(MGCs) to externally control and manage media streaming devices, or media gateways(MGs), at the edge of multiservice packet networks. • This separation between audio-streaming functions and call-control functions enhances system operation and simplifies operation of the media gateway.
Role of SIP in Megaco • Megaco is a Master-Slave protocol used between MGs and MGCs • SIP is a Peer to Peer Protocol used between User Agents to set up calls • What relationship can the two have together?
SIP acts as a helper Protocol • The MGC also known as the brain of the popular buzz word “Soft Switch” needs a means to communicate with the outside world • An MGC needs to communicate with other MGCs (inside the IP domain) and with the PSTN domain • SIP comes into play for MGC to MGC communication across different domains
Inter-Domain Signaling Softswitch Softswitch SIP-T (IETF) MG MG MG MG MG MG
Previous Work • Documentation available for H.323 inter-working with MGCP • SIP-T: Internetworking between SIP and PSTN Networks • No detailed published material on the establishment and tear down of call and handling of different call-procedures using SIP across MGCs that use MEGACO
Case 1: Simple Call Flow • We would be discussing three different scenarios of SIP/H.248 communication • How a simple call is made and teared down between two terminations/ endpoints/handsets registered with MGs on different domains. We will see how SIP Capabilities and later tears up the call
Case 2: Optimized Call Flow • Eleven SIP Messages exchanged • First INVITE used to detect presence of other MGC • Use OPTIONS instead of first INVITE • Do not enforce reliable delivery of provisional responses
Case 3: MGC HandOff • MGC can go down for maintenance purposes • Tells its subordinate MGs to register themselves with a new MGC – A HandOff • Established Calls are not disturbed during HandOff • What happens if MG termination was in call with a SIP User Agent • Two(more…) possible approaches
1 2 Failing MGC Failing MGC Hand Off Hand Off MG1 MG2 MG1 MG2 Call Established Call Established 4 3 New MGC New MGC Audit Audit Register Me Register Me MG1 MG2 MG1 MG2 Call Established Call Established How MGs Register with new MGCs
6 5 New MGC Failing MGC ? MG1 MG2 MG1 SIP UA Call Established Call Established What Happens in case of SIP UA?
HandOff MGC Intensive • MGCs subscribe each other for a HandOff Event through a SUBSCRIBE request • MGC going down tells MGC taking over through a NOTIFY request that HandOff occurred • All call states are embedded in XML and sent as NOTIFY Body • Seamless for remote SIP User Agent
Handoff Client Intensive • MGC going down sends a re-INVITE with ‘mgcHandOff’ in Contact parameter • SIP Client then sends a re-INVITE to new MGC (specified in earlier re-INVITE) with a ‘mgcHandOff’ parameter in Contact • MGC taking sees ‘mgcHandOff’ and constructs the call state • Not a very elegant and seamless approach • Catch: SIP User Agent must understand ‘mgcHandOff’
Case 4: MEGACO messages as SIP Message Body • According to Megaco RFC 3015 Section 11.5 “No recommendation is made on how the MGCs involved in the Handoff maintain state information; this is considered to be out of scope of this recommendation”. • What about in progress transactions with MGs?
Case 4: MEGACO Messages as SIP Message Body (Contd…) • SIP “comes to the rescue” of the failing MGC and helps transfer its states • In Progress Megaco Transactions messages embedded as SIP NOTIFY message body and sent to MGC taking over • MGC taking over continues with the Transactions
How are Megaco Messages Transferred as SIP Body • Content-Type: application/megaco • Content-Length: 190 • MEGACO/1 [172.16.15.1]:1721 Transaction = 1007{Context = - ServiceChange = ROOTMG1{Services{Method = Restart,Reason = HandOff,ServiceChangeAddress = 1721,Profile = ResGw/0,Version = 1}}}}