290 likes | 458 Views
VoIP Protocol Introduction(MGCP) PKT-SP-EC-MGCP-I10-040402. CONTENTS. 1 SCOPE 2 INTROUDUCTION 3 MGCI 4 MGCP. SCOPE. Describe Media Gateway Control Protocol(MGCP) for Packet Cable Embedded Client Refer to as the Packet Cable NCS( N etwork-Based C all S ignaling) Protocol
E N D
CONTENTS 1 SCOPE 2 INTROUDUCTION 3 MGCI 4 MGCP
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 ITU-T H.GCP IETF MGCP 0.1 (Draft) MGCP 1.0 (RFC 2705) MEGACO (MGCP 2.0) MGCP 1.0 bis (draft) Packet Cable NCS MGCP 1.0
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
MGCI MGCI-Model and Naming Conventions • 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 MGCI-Model and Naming Conventions • Model and Naming Conventions • Digit Maps Possible Dialing Numbers(Dial Plan) 0 Local operator *xx Star services 00 Long Distance Operator 91xxxxxxxxx Long Distance Number xxxx Local Exchange Number 9011 + up to 15 digits International number 8xxxxxxx Shortcut to local number at other corporate sites Above Dial Plan can be described in the following Digit Map (0T | 00T | [1-7]xxx | 8xxxxxxx | #xxxxxxx | *xx | 91xxxxxxxxxxxxx | 9011x.T) The Formal syntax of Digit Map Digit ::= “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9” Timer ::= “T” | “t” -- matches the detection of timer Letter ::= Digit | Timer | “#” | “*” | “A” | “a” | “B” | “b” | “C” | “c” | “D” | “d” Range ::= “X” | “x” -- matches any digit | “[“ Letters “]” -- matches any of the specified letters Letters ::= Subrange | Subrange Letters Subrange ::= Letter -- matches the specified letter | Digit “-” Digit -- matches any digit between first and last Position ::= Letter | Range StringElement ::= Position -- matches an occurrence of the position | Position “.” -- matches an arbitrary number of occurrence -- of the position, including 0 String ::= StringElement | StringElement String StringList ::= String | String “|” StringList DigitMap ::= String | “(“ StringList “)”
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..) Notify Events(L/hd) Call Agent Embedded Client Request Signals(L/dl) L/hd : hook-off in line package for an analog access line L/dl : dial-tone in line package for an analog access line
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
MGCI-Gateway Control Functions • 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 • 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 • 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 • 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 • 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-Return Codes and Error Codes 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 Definitions 100 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-Use of Local Connection Options and connection Descriptors CRCX(Local Connection Option) 200 OK SDP:Local Connection Descriptor CRCX(Local Connection Option) SDP:Remote Connection Descriptor 200 OK SDP:Local Connection Descriptor MDCX(Local Connection Option) SDP:Remote Connection Descriptor 200 OK SDP:Local Connection Descriptor Codec and packetization period selection EX) CRCX(L: a:G723) RCD(m=4 18 0 8) 200 OK LCD(m=4)
MGCP- General Description • General Description • Command • Ex) CRCX 2005 aaln/1@mta2.icablesystem.com MGCP 1.0 NCS 1.0 C: 0 L: p:20, a:PCMU;PCMA;G.723.1-5.3;G.723;G.729A, s:on, e:on M: recvonly X: 3 R: hu S: rt • TID(Transaction ID) : Value between 1 and 999999999 Correlate commands and responses Head Body cmd tid Endpoint Name version parameters SDPs
MGCP- General Description • General Description • Response • EX) 200 2005 OK I: 686B v=0 o=- 26731 2005 IN IP4 218.232.96.222 s=- c=IN IP4 218.232.96.222 t=0 0 m=audio 3456 RTP/AVP 0 8 4 18 a=recvonly a=ptime:20 Head Body ReCode tid comment parameters SDPs
MGCP- Command Header Command Line
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
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/18@x-mg1.hanaro.com 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)
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
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
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,
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: CA-1@ca.whatever.net
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
MGCP- Piggy-Backing Separated by a line of text that contains a single dot 200 2005 OK . DLCX 1244 aaln/2@rgw.whatever.net 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
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
MGCP- Residential Gateway Restart Call Agent RMG rsip 1001 *@TEST.0000 MGCP 1.0 RM:restart RD:0 200 1001 OK AUEP 216 aaln/1@test.0000 MGCP 1.0 F: ES,A,I 200 216 OK ES:l/hu A: a:PCMU;G726-32;G723; gc:0, s:off RQNT 217 aaln/1@test.0000 MGCP 1.0 S: X: 210000e Q: discard R: L/hd 200 217 OK