29
VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

Embed Size (px)

Citation preview

Page 1: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

VoIP Protocol Introduction(MGCP)

PKT-SP-EC-MGCP-I10-040402

Page 2: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

CONTENTS

1 SCOPE

2 INTROUDUCTION

3 MGCI

4 MGCP

Page 3: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

SCOPE

Describe Media Gateway Control Protocol(MGCP) for Packet Cable Embedded Client Refer to as the Packet Cable NCS(Network-Based Call Signaling) Protocol Describe MGCI(Media Gateway Control Interface) and MGCP Based on the MGCP

MGCP 0.1 (Draft)

MGCP 0.1 (Draft)

MGCP 1.0(RFC 2705)MGCP 1.0(RFC 2705)IETFIETF MEGACO

(MGCP 2.0)MEGACO

(MGCP 2.0)

ITU-TITU-T H.GCPH.GCP

MGCP 1.0 bis(draft)

MGCP 1.0 bis(draft)

PacketCable

PacketCable

NCS MGCP 1.0NCS MGCP 1.0

Page 4: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

INTRODUCTION

Describe an abstract application programming interface (MGCI) and a corresponding protocol

(MGCP) for controlling media gateways from external call control elements called media gateway

controllers or Call Agents.

Call Control Architecture

Call Agent : Call Control Element

Gateway : Conversion audio signals and data packets

Connection Model

Basic constructs are endpoints and connections

Endpoints : A Terminal, Gateway, MCU

Connection : Point-To-Point(the one is the originator, the other is the terminator)

Point-To-Multipoint

Page 5: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCI

MGCI Functions…

Connection Control

Endpoint Control

Auditing

Status Reporting

Use Same System Model and Same Naming Conventions

Model and Naming Conventions Endpoint Names

- local-endpoint-name@domain-name Call Names

- Call ID

- Created by Call Agent Connection names

- Connection ID

- Created by Gateway

MGCI-Model and Naming Conventions

Page 6: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCI

Model and Naming Conventions Digit Maps

The Formal syntax of Digit MapDigit ::= “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9”Timer ::= “T” | “t” -- matches the detection of timerLetter ::= Digit | Timer | “#” | “*” | “A” | “a” | “B” | “b” | “C” | “c” | “D” | “d”Range ::= “X” | “x” -- matches any digit

| “[“ Letters “]” -- matches any of the specified lettersLetters ::= Subrange | Subrange LettersSubrange ::= Letter -- matches the specified letter

| Digit “-” Digit -- matches any digit between first and lastPosition ::= Letter | RangeStringElement ::= Position -- matches an occurrence of the position

| Position “.” -- matches an arbitrary number of occurrence -- of the position, including 0

String ::= StringElement | StringElement StringStringList ::= String | String “|” StringListDigitMap ::= String | “(“ StringList “)”

Above Dial Plan can be described in the following Digit Map(0T | 00T | [1-7]xxx | 8xxxxxxx | #xxxxxxx | *xx | 91xxxxxxxxxxxxx | 9011x.T)

Possible Dialing Numbers(Dial Plan)0 Local operator *xx Star services00 Long Distance Operator 91xxxxxxxxx Long Distance Numberxxxx Local Exchange Number 9011 + up to 15 digits International number8xxxxxxx Shortcut to local number at other corporate sites

MGCI-Model and Naming Conventions

Page 7: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCI-Model and Naming Conventions

Model and Naming Conventions Events and Signals

SDP USE Provide the gateways with the description of connection parameters (IP Address, UDP Port, RTP Profiles..)

CallAgent

Embedded Client

Notify Events(L/hd)

Request Signals(L/dl)

L/hd : hook-off in line package for an analog access lineL/dl : dial-tone in line package for an analog access line

Page 8: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCI-Gateway Control Functions

Gateway Control Functions Describe the commands of the MGCP

Notification Request(RQNT) Used to request the gateway to send a notification upon the occurrence of Specified events in an endpoint ← NotificationRequest(EndpointId

[, NotifiedEntity][, RequestedEvents], RequestIdentifier[, DigitMap][, SignalRequests][, QuarantineHandling][, DetectEvents])

ex) RequestedEvents(R) : L/hu, L/ft, D/[0-9*#]… RequestIdentifier(X) : Used to correlate this request DigitMap(D) : X.T SignalRequests(S) : rt, rg, bz.. QuarantineHandling(Q) : Optional Parameter DetectEvents(T) : Optional Parameter

Page 9: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

Notifications(NTFY) Send NTFY CMD by the gateway When an Observed event is to be notified ← Notify(EndpointId

[, NotifiedEntity], RequestIdentifier, ObservedEvents)

ex) ObservedEvents(O) : Events that were requested in the RequestedEvents Parameter, O:l/hu

Create Connection(CRCX) Used to a create connection

← CreateConnection(CallId, EndpointId[, NotifiedEntity][, LocalConnectionOptions], Mode[, RemoteConnectionDescriptor]

ex) Call ID(C) : Identify the call (or session) to which this connection belongs. LocalConnectionOptons(L) : Encoding Method, Packetization Period, Echo Cancel, Silence Suppression.. L:nt:IN, a:PCMA, e:on, s:off RemoteConnectionDescriptor:SDP

MGCI-Gateway Control Functions

Page 10: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

ModifyConnection(MDCX) Used to modify the connection ← ModifyConnection(CallId

, EndpointId, ConnectionId[, NotifiedEntity][, LocalConnectionOptions][, Mode][, RemoteConnectionDescriptor][, RequestedEvents][, RequestIdentifier][, DigitMap][, SignalRequests]

ex) Mode(M) : Indicates the mode of operation for this side of the connection RecvOlny, Send/recv..

MGCI-Gateway Control Functions

Page 11: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

DeleteConnection(DLCX) Used to terminate a connection

← DeleteConnection(CallId, EndpointId, ConnectionId[, NotifiedEntity][, RequestedEvents][, RequestIdentifier][, DigitMap][, SignalRequests][, QuarantineHandling][, DetectEvents])

The gateway returns a list of parameters that describe the status of the connection. ex) Connection Parameters(P) 250 TransactionID OK P:PS=2, OS=0, PR=306, OR=7344, PL=0, JI=5, LA=0

MGCI-Gateway Control Functions

Page 12: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

Auditing(AUEP, AUCX) AuditEndPoint(AUEP): Used by the Call Agent to determine the status of an endpoint AuditConnection(AUCX): Used by the Call Agent to obtain information about a connection

← AuditEndPoint(EndpointId[, RequestedInfo] |{ [, SpecificEndPointID][, MaxEndPointIDs] })

← AuditConnection(EndpointId, ConnectionId[, RequestedInfo])

ex) RequestedInfo(F) : AUEP TID EndpointId F: ES, A, I ES : Event Status※ A : Capabilities 200 TID OK I : Connection ID ES:I/hu A: a:PCMU;G723;G729, s:off

MGCI-Gateway Control Functions

Page 13: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

Restart in Progress(RSIP) Used by the gateway to signal that an endpoint, or a group of endpoints, is taken out of service or is being placed back in service.

← RestartInProgress(EndpointId, RestartMethod[, RestartDelay][, ReasonCode])

ex) Restart Method(RM) : Graceful : That the specified endpoint(s) will be taken out of service after The specified “restart delay(RD)” Cancel-graceful : Indicates that a gateway is canceling a previously issued "graceful“ restart method for the same endpoints Forced : Indicates that the specified endpoints are taken out of service abruptly Restart : Indicates that service will be restored on the endpoints after the Specified “restart delay” Disconnected : Indicates that the endpoint has become disconnected Established connections are not affected

MGCI-Gateway Control Functions

Page 14: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

All MGCP commands receive a response. The response carries a return code that indicates the status of the command.

. value 000 indicates a response acknowledgement24,

. values between 100 and 199 indicate a provisional response,

. values between 200 and 299 indicate a successful completion,

. values between 400 and 499 indicate a transient error,

. values between 500 and 599 indicate a permanent error.

Return Code Definitions100 The transaction is currently being executed. An actual completion message will follow later.200 The requested transaction was executed normally.~ 401 The phone is already off hook.~500 The transaction could not be executed because the endpoint is unknown.501 The transaction could not be executed because the endpoint is not ready.~521 Endpoint redirected to another Call Agent.534 Codec negotiation failure.

MGCI-Return Codes and Error Codes

Page 15: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCI-Use of Local Connection Options and connection Descriptors

CRCX(Local Connection Option)

200 OKSDP:Local Connection Descriptor

200 OKSDP:Local Connection Descriptor

CRCX(Local Connection Option) SDP:Remote Connection Descriptor

200 OKSDP:Local Connection Descriptor

MDCX(Local Connection Option) SDP:Remote Connection Descriptor

Codec and packetization period selection

Codec and packetization period selection

CRCX(L: a:G723) RCD(m=4 18 0 8)

200 OK LCD(m=4)

EX)

Page 16: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- General Description

General Description Command

Ex) CRCX 2005 aaln/[email protected] MGCP 1.0 NCS 1.0

C: 0L: p:20, a:PCMU;PCMA;G.723.1-5.3;G.723;G.729A, s:on, e:onM: recvonlyX: 3R: huS: rt

TID(Transaction ID) : Value between 1 and 999999999 Correlate commands and responses

Head Body

cmd tid Endpoint Name version parameters SDPs

Page 17: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- General Description

General Description Response

EX) 200 2005 OK

I: 686B

v=0o=- 26731 2005 IN IP4 218.232.96.222s=-c=IN IP4 218.232.96.222t=0 0m=audio 3456 RTP/AVP 0 8 4 18a=recvonlya=ptime:20

Head Body

tid comment parameters SDPsReCode

Page 18: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

Command Direction Description

AUCX (MGC MG) Retrieve the parameters attached to the connection

AUEP (MGC MG) Find out the status of a given endpoint

EPCF (MGC MG)Specify the encoding of signals that will be received by the endpoint

CRCX (MGC MG) Create Connection between two endpoints

DLCX (MGC MG) Terminate connection

MDFY (MGC MG)Modify the characteristics of gateway’s view of a connection

RQNT (MGC MG)Request the gateway to send NTFY upon occurrence of specified events in an endpoint

NTFY (MGC MG) Notification

RSIP (MGC MG)Signal to the MGC that an endpoint, or a group of endpoint, is take in or out of service

MGCP- Command Header

Command Line

Page 19: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Command Header

Parameter Line RequestIdentifier(X)

Correlate a Notify command with the NotificationRequest that triggered it

Local Connection Options(L)

Describe the operational parameters that the Call Agents instructs the

Gateway to use for a connection. These parameters are p, a, s, e etc.

RequestedEvents(R)

Provides the list of events that have been requested

R: hu(N), hf(N) Notify on-hook, notify hook-flash.

R: hu(N), [0-9#T](D) Notify on-hook, accumulate digits according to

Digitmap SignalRequests(S)

Provides the name of the signals that have been requested

S: ci(10/14/17/26, “555 1212”, CableLabs)

S : rg

S : rt

Page 20: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Command Header

Parameter Line ObservedEvents(O)

Provide the list of events that have been observed

O: 8,2,9,5,5,5,5,T 0:hf

RequestInfo(F)

Contain a comma separated list of parameter codes

F: ES,I,A

CallId(C) ,DigitMap(D)

EX)

CRCX 1120660 isup/1/1/[email protected] MGCP 1.0

C: 22002a4

L: nt:IN, a:G723, fx:t38, e:on, s:off

M: sendrecv

D: ([0-9*#])

X: 22002a4

R: fxr/t38, D/[0-9*#](D)

Page 21: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Response Header Formats

Create Connection

The Response line is followed by a Connection-Id parameter witha successful

response(code 200). A LocalConnectionDescriptor is furthermore transmitted

with a positive response

Ex)

200 1204 OK

I: FDE234C8

v=0

o=- 25678 753849 IN IP4 128.96.41.1

s=-

c=IN IP4 128.96.41.1

t=0 0

m=audio 3456 RTP/AVP 96 97 0

a=rtpmap:96 G726-32/8000

a=rtpmap:97 telephone-event/8000

a=mptime: 10 - 10

Page 22: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Response Header Formats

ModifyConnection

The response line is followed by a LocalConnectionDescriptor

Ex)

200 1207 OK

v=0

o=- 25678 753849 IN IP4 128.96.41.1

s=-

c=IN IP4 128.96.41.1

m=audio 3456 RTP/AVP 0

a=mptime: 20

DeleteConnection

The response line may be followed by a Connection Parameters parameter line

Ex)

250 1210 OK

P: PS=1245, OS=62345, PR=780, OR=45123, PL=10, JI=27, LA=48

Page 23: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Response Header Formats

NotificationRequest/Notify

Not include any additional response parameters

AuditEndpoint

The response line may be followed by information for each of the parameters

Requested–each parameter will appear on a separate line.

Ex)

200 1200 OK

A: a:PCMU; p:10, e:on, s:off, t:1, v:L,

AuditConnection

The Response may be followed by information for each of the parameters requested

Ex)

200 1203 OK

C: A3C47F21456789F0

P: PS=622, OS=31172, PR=390, OR=22561, PL=5, JI=29, LA=50,

Page 24: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Response Header Formats

RestartInProgress

The response to a RestartInProgress may include the name of another Call Agent to

Contact, for Instance when the Call Agent redirects the endpoint to another Call

Agent as in:

521 1204 Redirect

N: [email protected]

Page 25: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Session Description Encoding

SDP Avdio Service Use

Protocol Version(V=)

Origin(o=)

Session Name(s=)

Connection Data(c=)

Media Announcements(m=)

Attributes(a=)

Ex)

v=0

c=IN IP4 218.232.19.236

m=audio 24830 RTP/AVP 4

a=ptime:30

a=cdsc : 1 image udpt I t38

Page 26: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Piggy-Backing

Separated by a line of text that contains a single dot

200 2005 OK

.

DLCX 1244 aaln/[email protected] MGCP 1.0 NCS 1.0

C: A3C47F21456789F0

I: FDE234C8

Used to guarantee in-order delivery of messages

Used to Fate-Sharing of message delivery

Page 27: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Event Packages

Line Package

Package Name : L

Used to identify events and signals for the “line” package for “analog Access Line”

bz – Busy Tone, dl – Dial Tone, ft – Fax Tone, hd – Off Hook, hu – On Hook,

hf – Flash Hook, ot – Off Hook Warning Tone, rg – Ringing, rt – Ring Back Tone,

sl – Stutter Dial Tone, wt – Call Waiting Tone

Page 28: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

MGCP- Residential Gateway Restart

rsip 1001 *@TEST.0000 MGCP 1.0 RM:restartRD:0

200 1001 OK

AUEP 216 aaln/[email protected] MGCP 1.0F: ES,A,I

200 216 OKES:l/huA: a:PCMU;G726-32;G723; gc:0, s:off

RQNT 217 aaln/[email protected] MGCP 1.0S: X: 210000eQ: discardR: L/hd

200 217 OK

RMG Call Agent

Page 29: VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402

Questions ?