22
An Introduction to Megaco/H.248 Tom Taylor [email protected]

An Introduction to Megaco/H.248

  • Upload
    pascal

  • View
    90

  • Download
    0

Embed Size (px)

DESCRIPTION

An Introduction to Megaco/H.248. Tom Taylor [email protected]. 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: - PowerPoint PPT Presentation

Citation preview

Page 1: An Introduction to Megaco/H.248

An Introduction to Megaco/H.248

Tom Taylor

[email protected]

Page 2: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 2

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.

Page 3: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 3

Media gateway control vs. call signalling

SG

MG

MGC SG

MG

MGC

SIPUser Agent

H.323Endpoint

PSTNPSTN

Call signalling

Media gateway control signalling

Media flows

SIP-T, ISUP in H.323, Q.BICC

SIP

H.323 callsignallingGateway

controlprotocol

Gatewaycontrolprotocol

Page 4: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 4

Gateway control family tree

IPDC SGCP

MGCP (I-RFC 2705)

Megaco/H.248

MDCP

Early 1998

Late 1998

1999(Standard in 2000)

ASPEN

Page 5: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 5

Gateway control functions

ConnectionBearer Mediation

Media Transcoding

Context

Terminations

Events and Signals

The context supportsmultiple media streamsif required for multimediaservice.

Page 6: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 6

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

Page 7: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 7

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

Page 8: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 8

Context example: basic call

T1 T2

Medium=audio,

Mode=sendReceive

Medium=audio,

Mode=sendReceive

Page 9: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 9

Context example: multimedia

Stream=1,medium=audio

Stream=1,medium=audio

Stream=2,medium=video

Stream=2,medium=video

T1 T2

T3

Page 10: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 10

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

Page 11: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 11

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

Page 12: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 12

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

Page 13: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 13

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

Page 14: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 14

Commands

• Megaco/H.248 provides the following commands

• For termination manipulation: Add, Subtract, Move, Modify

• For event reporting: Notify

• For management: AuditCapability, AuditValue, ServiceChange

Page 15: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 15

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

Page 16: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 16

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.

Page 17: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 17

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.

Page 18: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 18

Example message flow

PSTN MGC MG Destination1. IAM

2. ADD (trunk, send only);ADD(RTP,both)

3. Reply

4. INVITE (local SDP)5. 180 Ringing (remote SDP)

7. ACM 6. MODIFY (RTP, remote SDP)

8. Reply

Page 19: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 19

Example message flow (2)

PSTN MGC MG Destination10. 200 OK

12. MODIFY (trunk, both)11. ANM

13. Reply

15. BYE

14. ACK

16. REL17. SUBTRACT (trunk), SUBTRACT (RTP)18. Reply19. 200 OK20. RLC

Page 20: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 20

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 },

Page 21: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 21

Sample message (long text form) continued

Remote={v=0c=TDM NUL xxxxm=audio 0 UDI/I230 basic }}}}}

Page 22: An Introduction to Megaco/H.248

PTT-010426 Megaco/H.248 - 22

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