Transcript Document

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