Final Presentation


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Final Presentation

  1. 1. Media Gateway Control Protocol (Megaco/H.248) Ömer Korçak
  2. 2. Introduction <ul><li>Voice Over IP </li></ul><ul><li>V iable alternative / addition to traditional circuit-switched telephony. </li></ul><ul><li>Large companies (which have their own private global IP networks) already realize the benefits of VoIP networks. </li></ul><ul><li>VoIP is now penetrating the wider population of small offices and residential Internet users. </li></ul>
  3. 3. Voice Over IP <ul><li>Poor quality characterized the first generation of VoIP products. </li></ul><ul><li>However, the opportunity for corporations to cut telephony costs and enhance voice communications with a range services has forced the technology to improve. </li></ul>
  4. 4. Voice Over IP <ul><li>T oday's VoIP quality of service (QoS) has improved tremendously </li></ul><ul><li>However, the drawbacks are still apparent. </li></ul><ul><li>The architecture of a carrier-grade VoIP network that provides telephony service for a wider customer base can no t be completely based on the peer-to-peer architecture of current VoIP call-processing standards. </li></ul>
  5. 5. Voice Over IP <ul><li>Central management and call-routing functions are needed </li></ul><ul><li>Interoperable, easy-to-design, cost effective client is imperative. </li></ul>
  6. 6. MEGACO <ul><li>The newly-emerging media gateway control protocol (Megaco) attempts to bridge the gap between the first generation of VoIP networks and the VoIP networks of tomorrow. </li></ul>
  7. 7. MEGACO <ul><li>Megaco addresses the relationship between the Media Gateway (MG) and the Media Gateway Controller (MGC) </li></ul><ul><li>A Master/Slave protocol that removes intelligence from MGs </li></ul>
  8. 8. Glossary <ul><li>Decomposed Gateway Architectural model: </li></ul><ul><li>Gateway is decomposed into three functional components: </li></ul><ul><li>Signalling Gateway </li></ul><ul><li>Media Gateway </li></ul><ul><li>Media Gateway Controller </li></ul>
  9. 9. Glossary <ul><li>Media Gateway: </li></ul><ul><li>Central elements in the voice stream </li></ul><ul><li>Provides mapping of streams between two different networks. </li></ul><ul><li>Dumb Devices </li></ul>
  10. 10. Glossary <ul><li>Example Media Gateways </li></ul><ul><li>Residental Gateways: </li></ul><ul><li>Situated in the costumer premises and that provide an analog line where a traditional telephone set can be connected </li></ul><ul><li>On the other side, connected to a packet network providing VoIP. </li></ul>
  11. 11. Glossary <ul><li>Example Media Gateways </li></ul><ul><li>Trunking Gateways: </li></ul><ul><li>Interface between the telephone network and a VoIP network. </li></ul><ul><li>Manage large number of digital virtual circuits. </li></ul>
  12. 12. Glossary <ul><li>Signalling Gateway: </li></ul><ul><li>Intermediate element between IP network and SCN domain. </li></ul><ul><li>Provides the signalling mediation function between a voice over IP network and a switched circuit network. </li></ul>
  13. 13. Glossary <ul><li>Gatekeeper: </li></ul><ul><li>Controls terminals and gateways </li></ul><ul><li>Responsible for Registration, Admission and Status (RAS) messages. </li></ul><ul><li>A central element in the control of the calls through an IP system. </li></ul><ul><li>Contains the intelligence of the control part of IP network. </li></ul>
  14. 14. Glossary <ul><li>Media Gateway Controller: </li></ul><ul><li>Controls Media Gateways depending on the SCN signalling coming from the SG and IP signalling coming from the gatekeeper. </li></ul><ul><li>Intelligent Devices </li></ul>
  15. 15. GK GK H.323 terminal MGC MG Back-end SG ESTI-TIPHON functional decomposition reference model
  16. 16. Benefits of Decomposed Media Gateway Model <ul><li>Removing the signaling to a fast server is more practical than trying to integrate it into the MG. </li></ul><ul><li>New services can be introduced without requiring any customer premises equipment (CPE) upgrades . </li></ul><ul><li>H andled by simply upgrading the centralized software that contains the intelligence for implementing services. </li></ul>
  17. 17. Benefits of Decomposed Media Gateway Model <ul><li>C entral call control gains a strong power </li></ul><ul><li>Modularity satisfied </li></ul><ul><li>Interoperable, easy-to-design, cost effective client. </li></ul><ul><li>A ny necessity to proprietary protocols is abandoned. </li></ul><ul><li>Better suited to implementing protocol stacks and large volumes of general-purpose code . </li></ul>
  18. 18. Media gateway control vs. call signalling SG MG MGC SG MG MGC SIP User Agent H.323 Endpoint Call signaling Media gateway control signaling Media flows SIP-T, ISUP in H.323, Q.BICC SIP H.323 call signaling Gateway control protocol Gateway control protocol PSTN PSTN
  19. 19. Media Gateway Model <ul><li>The MG is composed of two logical entities that can be controlled by the MGC: </li></ul><ul><li>Terminations: interfaces to the media streams. </li></ul><ul><li>Context: assotiation between a collection of terminations. </li></ul>
  20. 20. Basic Concepts <ul><li>Connection model: terminations, streams, and the context </li></ul><ul><li>Termination properties: descriptors </li></ul><ul><li>Message structure: transactions, actions, and commands </li></ul><ul><li>Event and signal processing </li></ul><ul><li>Packages </li></ul>
  21. 21. Terminations <ul><li>Source or sink of media flows </li></ul><ul><li>Available on both sides of the Media Gateway (SCN and IP-Network) </li></ul><ul><li>Media flows can be either one way or two way </li></ul><ul><li>Terminations can also sink/source multimedia streams that include several media streams. </li></ul>
  22. 22. Terminations <ul><li>Two types of terminations : </li></ul><ul><li>Persistent terminations : I nstantiated by the MG when it boots and remain active all the time. </li></ul><ul><li>Ephemeral terminations: C reated when they are needed. </li></ul><ul><li>ROOT termination : R epresents the MG as an entity in itself. </li></ul>
  23. 23. Context <ul><li>M odeled as a mixing bridge between terminations. </li></ul><ul><li>Two or more terminations may placed into a context in order to mix and connect them. </li></ul><ul><li>C reated and released by the MG under command of MGC . </li></ul><ul><li>N ull context : holds the persistent terminations while they are not in use. </li></ul>
  24. 24. Context Example: Basic call T1 T2 Medium=audio, Mode=sendReceive Medium=audio, Mode=sendReceive Ordinary two-party conversation between terminations T1 and T2
  25. 25. Context Example: Conversation with passive listener T1 T2 Medium=audio, Mode=sendReceive Medium=audio, Mode=sendReceive T3 Medium=audio, Mode= sendOnly <ul><li>Example: </li></ul><ul><li>Wiretap </li></ul><ul><li>Recording Machine </li></ul>
  26. 26. Context Example: Media Conversion T1 T2 Medium=audio, Mode=sendReceive Medium= text, Mode=sendReceive Implicit conversion between media
  27. 27. Context Example: Multimedia Stream=1, medium=audio Stream=1, medium=audio Stream=2, medium=video Stream=2, medium=video T3 T1 T2
  28. 28. Descriptors <ul><li>Properties of terminations </li></ul><ul><li>Most important ones: </li></ul><ul><ul><li>Media Descriptor : D escribes the transformations to be applied to media flows through the termination </li></ul></ul><ul><ul><li>Events Descriptor : S elects and reports events that are currently occurred and important for MGC </li></ul></ul><ul><ul><li>Signals Descriptor : I ndicates which signals the MGC currently wishes the MG to play out the termination </li></ul></ul>
  29. 29. Descriptors <ul><li>Media Descriptors include some other descriptors: </li></ul><ul><ul><li>Termination State Descriptor : C arries the state of the termination which is independent of any media flow </li></ul></ul><ul><ul><li>Local Control Descriptor : P rovides Media-stream-related information relevant only between MGC and MG </li></ul></ul><ul><ul><li>Local and Remote Descriptor : C arr ies information describing media flows within a stream which must be coordinated with the remote entity </li></ul></ul>
  30. 30. Message Structure Megaco/H.248 message Header Transaction Transaction ... Transaction Req or Reply Req or Reply Req or Reply Trans Hdr Action ... Action Ctx Hdr Ctx Properties Command ... Command Cmd Hdr Descriptor ... Descriptor
  31. 31. Commands <ul><li>Megaco uses some commands in order to manipulate terminations, contexts, signals and events. </li></ul><ul><li>For termination manipulation: Add, Subtract, Move, Modify </li></ul><ul><li>For event reporting: Notify </li></ul><ul><li>For management: AuditCapability, AuditValue, ServiceChange </li></ul>
  32. 32. Commands <ul><li>From MGC to MC: </li></ul><ul><li>Add : adds a termination to a context </li></ul><ul><li>Subtract: removes a termination from a context </li></ul><ul><li>Move: moves a termination from a context to another </li></ul><ul><li>Modify: changes the characteristics of an existing termination , which can be in the null context </li></ul><ul><li>AuditValue & AuditCapabilities: return information about terminations, contexts and general state and capabilities of MG </li></ul>
  33. 33. Commands <ul><li>From MG to MGC: </li></ul><ul><ul><li>Notify: MG sends it to inform MGC that an event has occured. </li></ul></ul><ul><li>Either from MG to MGC or from MGC to MG: </li></ul><ul><ul><li>ServiceChange: creates a connection between MG and MGC. </li></ul></ul><ul><li>Descriptors are parameters for all these commands & return values of some of them. </li></ul>
  34. 34. Events <ul><li>Events are detected at MG and reported to MGC. </li></ul><ul><li>(example: inband signaling) </li></ul><ul><li>MGC controls what events it wants to learn about at any given time </li></ul><ul><ul><li>sets the termination Events descriptor </li></ul></ul><ul><li>Events can have side effects </li></ul><ul><ul><li>stop playout of signals </li></ul></ul><ul><ul><li>start new signals </li></ul></ul><ul><ul><li>automatically update the set of events of interest </li></ul></ul>
  35. 35. Signals <ul><li>Signals cause things to happen on terminations </li></ul><ul><ul><li>play a tone, display text , ... </li></ul></ul><ul><li>Specified in the Signals descriptor for a termination </li></ul><ul><li>MGC can specify duration of signal ahead of time or signal can play until explicitly stopped </li></ul><ul><li>Signals stop playing when any event is detected unless MGC says otherwise. </li></ul>
  36. 36. Packages <ul><li>Add detailed content to the protocol </li></ul><ul><ul><li>all events, signals, and statistics are specified in packages </li></ul></ul><ul><ul><li>can also specify additional properties </li></ul></ul><ul><li>Package definition a continuing process </li></ul><ul><ul><li>being created by multiple standards bodies </li></ul></ul><ul><ul><li>private packages also allowed </li></ul></ul><ul><li>Packages can inherit from and extend other packages. </li></ul>
  37. 37. Example Call Flows User A RGW1 MGC RGW2 User B MODIFY to check off-hook MODIFY to check off-hook Response Response UserA offhook NOTIFY offhook Response MODIFY SG:dialtone Dial Tone Response User dials digits NOTIFY digits Response
  38. 38. Example Call Flows (2) User A RGW1 MGC RGW2 User B ADD TermA SD:ringbacktone ADD $, Local SDP Ringback Tone Response ADD TermB SD:Ring ADD $ Local, Remote SDP User B phone ringing Response User goes offhook NOTIFY offhook Response
  39. 39. Example Call Flows (3) User A RGW1 MGC RGW2 User B MODIFY TermA SendRecv MODIFY EphA Remote SendRecv Response MODIFY TermB SendRecv MODIFY EphB Remote SendRecv Response R T P M e d i a
  40. 40. Sample Message <ul><li>MGC to MG1: </li></ul><ul><li>MEGACO/1 []:55555 </li></ul><ul><li>Transaction = 9999 { </li></ul><ul><li>Context = $ { </li></ul><ul><li>ADD= A4444 { Media= { LocalControl={mode=sendonly}, Local={ v=0 c= IN IP4 $ m= audio $ RTP/AVP 4 }, </li></ul>
  41. 41. Sample Message (cont.) Remote={ v=0 c= IN IP4 m=audio 2222 RTP/AVP 4 }} }}}
  42. 42. What we are going to do <ul><li>Megaco is the most complex and very extensive VoIP protocol. </li></ul><ul><li>In some companies hundreds of people are working for this. </li></ul><ul><li>No efficient way for the implementation. </li></ul><ul><li>We should work over a subset of Megaco implementation. </li></ul>
  43. 43. What we are going to do <ul><li>Megaco architecture can be considered as 3 basic components: </li></ul><ul><ul><li>Protocol Stack </li></ul></ul><ul><ul><li>Media Gateway Application </li></ul></ul><ul><ul><li>Media Gateway Controller Application. </li></ul></ul>
  44. 44. What we are going to do <ul><li>Both of the MG and MGC applications use the stack </li></ul><ul><li>They are in a higher level. </li></ul><ul><li>Therefore our aim is to implement the stack first. </li></ul><ul><li>Keep the scope of the stack implementation as small as possible. </li></ul>
  45. 45. An Example Protocol Stack Net Brahma Technologies
  46. 46. What we are going to do <ul><li>First we should do a careful definition of the interfaces to our stack. </li></ul><ul><ul><li>A n interface to the application state machines (control association, termination, context) </li></ul></ul><ul><ul><li>An interface to the Transport Layer. </li></ul></ul><ul><li>Protocol specification provides an API to the application. We should decide how we are going to implement API. </li></ul>
  47. 47. Protocol Stack Implementation <ul><li>Looking at the incoming message we should have do following operations: </li></ul><ul><li>receive it from the transport layer you are using </li></ul><ul><li>parse it at the message level, breaking it down into header and transactions  </li></ul><ul><li>parse transactions into actions  </li></ul><ul><li>parse actions into context properties and commands </li></ul><ul><li>parse commands into descriptors  </li></ul><ul><li>parse descriptors into individual parameters, including items defined in packages  </li></ul><ul><li>pass the results across our defined application interface . </li></ul>
  48. 48. Protocol Stack Implementation <ul><li>Major Challenge : </li></ul><ul><ul><li>T o define the appropriate actions to take when we find syntactic errors. </li></ul></ul><ul><ul><li>They are generally could not be handled in stack level. </li></ul></ul>
  49. 49. Protocol Stack Implementation <ul><li>What our stack will support? </li></ul><ul><ul><li>Media Gateways: Only residential gateways </li></ul></ul><ul><ul><li>Transport mechanism: Only TCP. </li></ul></ul><ul><ul><li>Encoding Mechanism: Only text encoding </li></ul></ul><ul><ul><li>Descriptors: All, except topology descriptor. </li></ul></ul><ul><ul><li>Packages: Only that are necessary (such as analog line supervision package, RTP package, generic package, DTMF detection package ). </li></ul></ul><ul><ul><li>Commands: All commands except “Move” command. </li></ul></ul>
  50. 50. References <ul><li>RFC 3015: Megaco Protocol Version 1.0 </li></ul><ul><li>T. Taylor, “Megaco/H248: A New Standard for Media Gateway Control”, IEEE Communications Magazine, Oct. 2000. </li></ul><ul><li>M. B. Brahmanapally, draft-madhu-megaco-callflow-00.txt </li></ul><ul><li>D. Allen, “Megaco and MGCP”, www. networkmagazine .com , May 2000. </li></ul><ul><li>www.netbrahma. com </li></ul><ul><li>S. Çabuk, E. Deveci, Ö. Köken, S. Üstün, “Issues in Softswitch Design”, Boğaziçi University, June 2001. </li></ul><ul><li> </li></ul><ul><li>H. Liu and P. Mouchtaris, “Voice over IP Signalling: H323 and Beyond”, IEEE Communications Magazine, Oct. 2000. </li></ul>