An Introduction to Megaco/H.248 Tom Taylor

advertisement
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.
PTT-010426
Megaco/H.248 - 2
Media gateway control vs.
call signalling
SG
SIP-T, ISUP in H.323, Q.BICC
MGC
SG
MGC
SIP
SIP
User Agent
PSTN
H.323 call
signalling
PSTN
Gateway
control
protocol
Gateway
control
protocol
H.323
Endpoint
MG
MG
Call signalling
Media gateway control signalling
Media flows
PTT-010426
Megaco/H.248 - 3
Gateway control family tree
IPDC
SGCP
Early 1998
ASPEN
MDCP
MGCP
(I-RFC 2705)
Megaco/H.248
PTT-010426
Late 1998
1999
(Standard in 2000)
Megaco/H.248 - 4
Gateway control functions
Connection
Bearer Mediation
Media Transcoding
Events and Signals
Context
Terminations
The context supports
multiple media streams
if required for multimedia
service.
PTT-010426
Megaco/H.248 - 5
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
PTT-010426
Megaco/H.248 - 6
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
PTT-010426
Megaco/H.248 - 7
Context example: basic call
Medium=audio,
Medium=audio,
T1
T2
Mode=sendReceive
Mode=sendReceive
PTT-010426
Megaco/H.248 - 8
Context example: multimedia
Stream=1,
medium=audio
T2
T1
T3
Stream=2,
medium=video
Stream=1,
medium=audio
Stream=2,
medium=video
PTT-010426
Megaco/H.248 - 9
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
PTT-010426
Megaco/H.248 - 10
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
PTT-010426
Megaco/H.248 - 11
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
PTT-010426
Megaco/H.248 - 12
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
PTT-010426
Megaco/H.248 - 13
Commands
• Megaco/H.248 provides the following
commands
• For termination manipulation: Add,
Subtract, Move, Modify
• For event reporting: Notify
• For management: AuditCapability,
AuditValue, ServiceChange
PTT-010426
Megaco/H.248 - 14
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
PTT-010426
Megaco/H.248 - 15
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.
PTT-010426
Megaco/H.248 - 16
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.
PTT-010426
Megaco/H.248 - 17
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)
7. ACM
6. MODIFY (RTP, remote SDP)
8. Reply
PTT-010426
Megaco/H.248 - 18
Example message flow (2)
PSTN
MGC
MG
Destination
10. 200 OK
11. ANM
12. MODIFY (trunk, both)
13. Reply
14. ACK
16. REL
20. RLC
15. BYE
17. SUBTRACT (trunk), SUBTRACT (RTP)
18. Reply
19. 200 OK
PTT-010426
Megaco/H.248 - 19
Sample message (long text
form)
MEGACO/1 <MGC1.gz.cn>
Transaction=1432 {
Context=$ {
ADD=Ckt54/20 {
Media= {
LocalControl={mode=sendonly},
Local={
v=0
c=TDM NUL xxxx
m=audio 0 31kHz/I230 basic
},
PTT-010426
Megaco/H.248 - 20
Sample message (long text
form) continued
Remote={
v=0
c=TDM NUL xxxx
m=audio 0 UDI/I230 basic
}}
}}}
PTT-010426
Megaco/H.248 - 21
Sample message, compact
text form
!/1 <MGC1.gz.cn> T=1432{C=${A=Ckt54/20{M={
O={MO=so},L={
v=0
c=TDM NUL xxxx
m=audio 0 31kHz/I230 basic
},R={
v=0
c=TDM NUL xxxx
m=audio 0 31kHz/I230 basic
}}}}}
PTT-010426
Megaco/H.248 - 22
Download