Title: Media Gateway Control Protocol
1Media Gateway Control Protocol
- Introduction
- Media gateway Control Interface
- Entity Naming (Endpoint, Call, Connection, CA)
- Digit Maps
- Events
- Commands
- Protocol Description
- Call Flow for RGW to TGW
- Usage of Commands
2Introduction
SS7 Network
Internet
Signaling (SS7) Gateway
SCP
Call Agent
SIGTRAN
STP
MGCP
MGCP
Trunking Gateway
Residential Gateway
Trunking Gateway
Residential Gateway
CO Switch
Trunking Gateway
Residential Gateway
RTP
3Introduction
- Types of Media Gateway
- Trunking Gateway to CO/Switches
- Residential Gateway to PSTN Phones
- Access Gateway
- Business Gateway
- Concept of Call Agent
- call control intelligent outside gateways
- master/slave
- undefined CA to CA maybe H.323, SIP
4Introduction
- Relation with H.323 Standards
Internet
Signaling (SS7) Gateway
SS7/ISUP
SIGTRAN
Gatekeeper
CO Switch
Call Agent
H.225/RAS H.225/Q.931 H.245
Terminal or Gateway
MGCP
Trunking Gateway
RTP
5H323, SIP MGCP
- H.323 , SIP
- peer-to-peer
- internet oriented
- intelligent endpoint
- optional GK
- decentralized
- Problems
- maintenance
- cost scalability of large systems
- signaling media control are coupled
- interoperability with SS7
- MGCP
- client-server
- traditional telephony
- intelligent server
- dumb terminal
- centralized
- Concept
- gateway decomposed
- separate call control from media ports
- CA, MG, SG
- interoperability with PSTN
6Media gateway Control Interface
- Endpoints
- Types
- Digital Channel
- Analog line
- IVR endpoint
- Naming GWs Domain Name Local Name
- Local Name
- physical interface name / circuit number
- e.g., galant.ccl.itri.org.tw/X35V3A4/15
- Wild-carded
- e.g., galant.ccl.itri.org.tw/X35V3A4/
- e.g., galant.ccl.itri.org.tw/X35V3A4/
DS0 endpoint
(Channel)
Analog endpoint
(Connections)
(Line)
IVR endpoint
7Media gateway Control Interface
- Calls Connections Call Agents
- Call Identifier (Call ID)
- Created by CA
- Unique in the Whole System
- Connection ID
- Created by GW
- Unique under Its GW
- Usage of a Connection ID on the same EP
- Waiting Period at least 3 minutes
- CA Identifier (its domain name)
- Redundant CAs reliability
- CA GW keep time-to-live record they read
from DNS
8Media gateway Control Interface
- Digit Map
- CA ask GW to collect user dialed digits
- Created by CA
- Sent to Gateways
- Usage
- Gateways detect digits, letters, or timer
- e.g., (11x080xxxxxx03xxxxxxx002x.T)
- Match accumulated digits
- under-qualified, do nothing further
- matched, send the collected digits to CA
- over-qualified, send the digits to CA
Inter-digit Timer
9Media gateway Control Interface
- Events
- package name(o) / event name
- package
- Generic Media (G)
- DTMF (D)
- MF (M)
- Trunk (T)
- Line (L)
- Handset (H)
- RTP (R)
- Network Access Server (N)
- Announcement Server (A)
- Script
Gateway
Supported packages
Trunk GW (ISUP) Trunk GW (MF) Network Access
Server Combined NAS/VOIP GW Access GW
(VOIP) Access GW (VOIP NAS) Residential
GW Announcement GW
G, D, T, R G, M, D, T, R G, M, T, N G, M, D, T,
N, R G, M, D, R G, M, D, N, R G, D, L, R A, R
10Media Gateway Control Interface
- Commands
- 9 commands to handle Connection/Endpoints
- EndpointConfiguration (coding charateristics)
- NotificationRequest (requested events)
- Notify (GW detected events)
- CreateConnection
- ModifyConnection
- DeleteConnection (GW also)
- AuditEndpoint (query status)
- AuditConnection (query status)
- RestartInProgress (GW taken in/out of service)
- All commands are acknowledged.
EPCF RQNT NTFY CRCX MDCX DLCX AUEP AUCX RSIP
11Protocol Description
- Transactions (simple text format)
- command
- header
- a command line (case insensitive)
- Action TransId Endpoint Version
- RQNT 1201 endpoint/1_at_rgw.net MGCP 1.0
- a set of parameter lines
- parameter name (upper case) value
- X 0123456789B1 (RequestIdentifier)
- R hd (requestedEvent hang down)
- S rg (signalRequest ring tone)
- session description
12Protocol Description
- Transactions
- response
- header
- a response line
- Response code TransId Commentary
- 200 1201 OK
- a set of parameter lines (optional)
- after CreateCX(/MDCX/DLCX/Audit/Restart)
- I A3C47F21456789F0 (ConnectionId)
- session description
- Session Description Protocol
- separated from header by an empty line
13Call Flow for RGW to TGW
14Call Flow for RGW to TGW
15Call Flow for RGW to TGW
- RQNT(1) NotificationRequest
- RQNT 1201 hrd3/15_at_rgw.whatever.net MGCP 1.0
- N CA_at_ca.whatever.net5678
- X 0123456789AC
- R hd(E(R(hu(N)),S(dl),D/(D)))
- D (11x080xxxxxx57xxxxx002x.T)
- ACK to RQNT(1)
- 200 1201 OK
N NotifyEntity X RequestIdentifier R
RequestEvents D DigitMap
E Embedded(enable) Request R Notification
Request N Notify immediately S Signal
Request D Digit Map
16Call Flow for RGW to TGW
- NTFY(2) Notify from RGW
- NTFY 2002 hrd3/15_at_rgw.whatever.net MGCP 1.0
- N CA_at_ca.whatever.net5678
- X 0123456789AC
- O 5721043
- ACK to NTFY(2)
- 200 2002 OK
N NotifyEntity X RequestIdentifier O
ObservedEvent
17Call Flow for RGW to TGW
- CRCX(3) CreateConnection
- CRCX 1204 hrd3/15_at_rgw.whatever.net MGCP 1.0
- C A3C47F21456789F0
- L p10, a G.711 G.726-32
- M recvonly
- X 0123456789AD
- R hu
- ACK to CRCX(3)
- 200 1204 OK
- I FDE234C8
- Session Description
C CallId L LocalCXOptions p packetize
period(ms) a Compression Algo. M Mode X
RequestIdentifier R RequestEvents I ConnectionId
18Call Flow for RGW to TGW
- CRCX(4) CreateConnection
- CRCX 1205 card6/5_at_tgw.whatever.net MGCP 1.0
- C A3C47F21456789F0
- L p10, a G.711 G.726-32
- M sendrecv
- Session Description from ACK(3)
- ACK to CRCX(4)
- 200 1205 OK
- I 32F345E2
- Session Description
C CallId M Mode I ConnectionId
19Call Flow for RGW to TGW
- MDCX(5) ModifyConnection
- MDCX 1206 hrd3/15_at_rgw.whatever.net MGCP 1.0
- C A3C47F21456789F0
- I FDE234C8
- M recvonly
- Session Description from ACK(4)
- ACK to MDCX(5)
- 200 1206 OK
C CallId I ConnectionId M Mode
20Call Flow for RGW to TGW
- RQNT(6) NotificationRequest
- RQNT 1207 hrd3/15_at_rgw.whatever.net MGCP 1.0
- N CA_at_ca.whatever.net5678
- X 012345789AE
- R hu
- S v (alerting)
- ACK to RQNT(6)
- 200 1207 OK
N NotifyEntity X RequestIdentifier R
RequestEvents S SignalRequests
21Call Flow for RGW to TGW
- MDCX(7) ModifyConnection
- MDCX 1209 hrd3/15_at_rgw.whatever.net MGCP 1.0
- C A3C47F21456789F0
- I FDE234C8
- M sendrecv
- X 012345789AF
- R hu
- ACK to MDCX(7)
- 200 1209 OK
C CallId I ConnectionId M Mode
22Call Flow for RGW to TGW
- DLCX(8) DeleteConnection
- DLCX 1210 hrd3/15_at_rgw.whatever.net MGCP 1.0
- C A3C47F21456789F0
- I FDE234C8
- ACK to DLCX(8)
- 200 1210 OK
- P PS1245, OS62345, PR780, OR45123, PL10,
JI27, LA48
C CallId I ConnectionId
PS Packets sent OS Octets sent PR Packets
received OR Octets received PL Packets lost JI
Average Jitter (ms) LA Average Latency (ms)
23Usage of Commands
- NotificationRequest()
- EndpointId,
- NotifiedEntity,
- RequestedEvents,
- RequestIdentifier,
- DigitMap,
- SignalRequests,
- QuarantineHandling,
- DetectEvents,
- encapsulated EndpointConfiguration
Request
Request
Notify
Time
Quarantine Period
Q
T
Q process/discard step/loop (notify) T
events to detect during quarantine
24Usage of Commands
- CreateConnection()
- CallId,
- EndpointId,
- NotifiedEntity,
- LocalConnectionOptiona,
- Mode,
- RemoteConnectDescptrSecondEndpointId
- EncapsulatedNotificationRequest,
- encapsulated EndpointConfiguration
Hairpin Connection
25Usage of Commands
- DeleteConnection()
- Delete one connection from Call Agent
- ConnectionId in the parameter line
- GW Connection parameters
- Multiple connection from Call agent
- only EndpontId (and CallId) in the parameter line
- GW No connection parameter
- From gateway
- Reason-Code Connection-Parameters in Command
26MGCP Applications (1)
IP Networks
Call Agent
27MGCP Applications (2)
IP Networks
Call Agent