270 likes | 1.34k Views
An Introduction to Megaco/H.248. Tom Taylor taylor@nortelnetworks.com. Media Gateway Control. References for Megaco/H.248 RFC 2805 -- requirements RFC 3015 (Megaco) or ITU-T Rec. H.248 H.248 Annexes F to K History and tutorial:
E N D
An Introduction to Megaco/H.248 Tom Taylor taylor@nortelnetworks.com
Media Gateway Control References for Megaco/H.248 • RFC 2805 -- requirements • RFC 3015 (Megaco) or ITU-T Rec. H.248 • H.248 Annexes F to K History and tutorial: • T. Taylor, "Megaco/H.248: A New Standard For Media Gateway Control", IEEE Communications Magazine, October 2000.
PSTN PSTN Media gateway control vs. call signalling SIP-T, ISUP in H.323, Q.BICC SG MGC SG MGC SIP SIP User Agent H.323 call signalling Gateway control protocol Gateway control protocol H.323 Endpoint MG MG Call signalling Media gateway control signalling Media flows
Gateway control family tree SGCP Early 1998 IPDC ASPEN Late 1998 MGCP (I-RFC 2705) MDCP 1999 (Standard in 2000) Megaco/H.248
Gateway control functions Connection Bearer Mediation Media Transcoding Events and Signals Context Terminations The context supports multiple media streams if required for multimedia service.
Basic concepts • Connection model: terminations, streams, and the context • Termination properties: descriptors • Context properties • Message structure: transactions, actions, and commands • Event and signal processing • Packages
Media flow connections • Connections achieved by placing two or more terminations into a common context. • Context viewed as mixing bridge • Termination = source or sink of media flows • provisioned vs. ephemeral terminations • provisioned terminations reside in “NULL context” when not active • Flows specified by stream • common streamID implies connected flows • default streamID = 1 to simplify audio-only operation • Transport, medium, encoding/decoding specified per stream at each termination
Context example: basic call Medium=audio, Medium=audio, T2 T1 Mode=sendReceive Mode=sendReceive
Context example: multimedia Stream=1, medium=audio T2 T1 T3 Stream=1, medium=audio Stream=2, medium=video Stream=2, medium=video
Descriptors • Properties of terminations are organized syntactically into descriptors • basic ones are Termination State, Media, Events, and Signals descriptors • Media descriptor actually composed of other descriptors: Stream descriptors, which in turn contain LocalControl, Local, and Remote descriptors • Default property values can be configured in the MG
Context properties • currently three properties can be specified for a context • more could be added in the future • topology descriptor allows detailed specification of connectivity between individual pairs of terminations • useful for legal interception • priority flag can guide MG's allocation of scarce resources • emergency flag can indicate contexts which must be maintained and restored in the event of failures
Null context and ROOT termination • Null context introduced as a convention • where persistent terminations are held when they are not in a real context • When terminations are returned to the null context, they take on their configured default property values. • ROOT termination represents the MG itself • useful for specifying properties of the MG as a device, and to refer to the MG in commands like AuditCapability and ServiceChange
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
Commands • Megaco/H.248 provides the following commands • For termination manipulation: Add, Subtract, Move, Modify • For event reporting: Notify • For management: AuditCapability, AuditValue, ServiceChange
Events • Events are detected at the MG and reported to the MGC • example: in-band signalling • MGC controls what events it wants to learn about at any given time • sets the termination Events descriptor • Events can have side effects • stop playout of signals • start new signals • automatically update the set of events of interest
Signals • Signals cause things to happen on terminations • play a tone, display text, ... • Specified in the Signals descriptor for a termination • MGC can specify duration of signal ahead of time or signal can play until explicitly stopped • Signals stop playing when any event is detected unless MGC says otherwise.
Packages • Add detailed content to the protocol • all events, signals, and statistics are specified in packages • can also specify additional properties • Package definition a continuing process • being created by multiple standards bodies • private packages also allowed • Packages can inherit from and extend other packages.
Example message flow PSTN MGC MG Destination 1. IAM 2. ADD (trunk, send only);ADD(RTP,both) 3. Reply 4. INVITE (local SDP) 5. 180 Ringing (remote SDP) 6. MODIFY (RTP, remote SDP) 7. ACM 8. Reply
Example message flow (2) PSTN MGC MG Destination 10. 200 OK 11. ANM 12. MODIFY (trunk, both) 13. Reply 14. ACK 15. BYE 16. REL 17. SUBTRACT (trunk), SUBTRACT (RTP) 18. Reply 19. 200 OK 20. RLC
Sample message (long text form) MEGACO/1 <MGC1.gz.cn>Transaction=1432 {Context=$ {ADD=Ckt54/20 {Media= { LocalControl={mode=sendonly}, Local={v=0c=TDM NUL xxxxm=audio 0 31kHz/I230 basic },
Sample message (long text form) continued Remote={v=0c=TDM NUL xxxxm=audio 0 UDI/I230 basic }}}}}
Sample message, compact text form !/1 <MGC1.gz.cn> T=1432{C=${A=Ckt54/20{M={O={MO=so},L={v=0c=TDM NUL xxxxm=audio 0 31kHz/I230 basic},R={ v=0c=TDM NUL xxxxm=audio 0 31kHz/I230 basic}}}}}