INTERNET DRAFT June 25, 1999. Vikas Bajaj Expires on December 25,1999. Sandip Ranjhan Prashant Jain Madhu Babu R2 Package for MEGACO Protocol Status of this document This doucment is a Internet-Draft and is in full conformance with all provisions of section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas,and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This document defines a R2 package in association with the MEGACO Protocol that can be used to control a Media Gateway (MG) from an external controller, called a Media Gateway controller (MGC). The document is organised into the following major sections: * Introduction to R2 signalling * Definition of R2 package with brief description of the Events and signals in the package. * Different call flow scenarios where R2 signalling is used on either one end or both ends. Scenarios with multiple MGCs are also considered. Vikas,Sandip,Prashant,Madhu [Page1] INTERNET-DRAFT R2 package June 25, 1999 Table of contents. 1.0 Introduction............................................... 3 1.1 Introduction to R2 singalling......................... 3 2.0 R2 package................................................ 3 2.1 Incoming R2 and Outgoing Residential GW under single MGC..8 2.2 Incoming Residential Gateway and Outgoing R2 Gateway under single MGC..............................14 2.3 Incoming R2 Gateway and Outgoing H.323 terminal under single MGC................................... ..22 2.4 Incoming H.323 terminal and Outgoing R2 Gateway under single MGC..................................... 27 2.5 Call flows with 2 MGCs................................32 2.5.1 Incoming R2 and Outgoing Residential Gateway under different MGC.................................32 2.5.2 Incoming R2 GW and outgoing SS7 GW, under different MGC...................................40 3.0 Conclusions................................................45 4.0 References.................................................46 5.0 AuthorĘs address...........................................46 Vikas,Sandip,Prashant,Madhu [Page2] INTERNET-DRAFT R2 package June 25, 1999 1.0 Introduction This document describes the R2 package in association with MEGACO protocol for controlling Media Gateways from external call control elements called Media Gateway Controllers. 1.1 Introduction to R2 signalling R2 signalling is used as an international signalling system within international regions, and for integrated international/national signalling. It's suitable for both automatic and semiautomatic working. It allows for rapid call set-up and provides sufficient signals in both directions to permit the transmission of numerical and other information relating to the called and calling subscribers lines and to increase routing facilities. The interregister signalling is a compelled multifrequency code system. Line signalling uses an out-band low-level tone-on-idle signalling method for analogue working. Interregister signalling is performed end-to-end using a 2-out-of-6 in-band mulitfrequency code with forward and backward compelled signalling. The register signalling is faster as there is no signal regeneration in intermediate exchanges. Overlap operation of address signalling makes it faster than R1 or decadic. The following operational features are provided using multifrequency code: - Calling party number identification - Calling party category identification - Nature of the circuit - Reason for Call failure - Language digits for international calls - Forward and backward signals for control of echo suppressers to name a few. 2.0 R2-package The Media Gateway Control Protocol (MEGACOP) organises the communication between the Media Gateway Controller (MGC) and the Media Gateway (MG) assuming a distributed call control architecture. MEGACOP is defined in document [1]. The connection model for the MEGACO protocol is described using just two abstractions, Terminations and Contexts. Terminations (T) are entities representing physical endpoints, such as analogue loops or timeslots on a TDM channel, as well as more ephemeral representations of flow terminations, such as RTP streams. Vikas,Sandip,Prashant,Madhu [Page3] INTERNET-DRAFT R2 package June 25, 1999 Membership in a Termination class determines the capabilities of a Termination. Termination capabilities include events and signals that a Termination supports. These are grouped into packages. The list of Events and signals applicable for a Termination class must thus be defined by the list of applicable Event Packages. The signalling used between interoffice trunks might be pulse dialing, E and M, R1 or R2. For R2 signalling, a specific set of events and signals must be defined so that the MGC will command MG using MEGACO Commands and MG will notify the requested events to the MGC. But lack of events and signals related to R2 signalling system like, calling party category, reason for failure of call set-up etc, forced to define the R2 package. This draft defines an "R2 package" which is used to describe variety of call flows assuming R2 signalling at one/both ends of the Gateway. Considering the situation where R2 signalling is being employed at one end of the Gateway, then the Gateway has to terminate R2 signalling at that end and originate another type of signalling, as required at the other end. Moreover, if both the incoming and outgoing ends uses R2 signalling then the end-to-end register signalling of R2 is not possible. Gateway should in that case terminate R2 signalling at incoming end and originate R2 signalling at the outgoing end. In all the call flows featuring the use of R2 package, other packages defined in [1], for example Trunk package for DS0 terminations, Line package for analogue terminations, etc, have been used. It is assumed that the compelled sequence generation which is a key part of R2 signalling, is done at the Media Gateway without having any intervention from the MGC. The basic events and signals have been used from packages defined in [1]. These call flows are solely meant to exhibit the behaviour of the Megaco protocol with R2 signalling at one or both ends. Moreover it also signifies the necessity of R2 package. The events and signals in R2 package are listed below Vikas,Sandip,Prashant,Madhu [Page4] INTERNET-DRAFT R2 package June 25, 1999 Package name: R2 --------------------------------------------------------------------- Symbol | Definition | R | S |Duration --------------------------------------------------------------------- sz |Seizure | X | OO | di |Destination Number | X | TO | si |Source Number | X | TO | sa |Seizure Acknowledgement X | OO | clr |Clear (Back/Forward) | X | OO | sc |Subscriber category | X | TO | un |Unallocated Number | X | | nn |No number tone | | OO | spl |SIT tone | | OO | slb |Subscriber line busy | X | | bt |Busy tone | | OO | slf |Subscriber line free | X | | ct |Congestion National/Intl X | | soo |Subscriber out of order X | | of |Report Failure | X | | --------------------------------------------------------------------- The definition of the R2 package events and their intention of inclusion are discussed as follows: Seizure It indicates the incoming indication of call attempt. Destination number Used to collect called party information at incoming Gateway and to signal it to the outgoing Gateway. There will be a Digit map associated with the termination, which will decide the number plan for collecting specified number of digits. At the incoming end, the destination party digits are collected using Digit map and sent to the MGC as string. In the case of R2, the number has to be signalled from the MGC to MG to assist compelled sequence generation. Source Number Used to collect and signal calling party number. The reason of this event inclusion is same as that of destination number. Seizure Acknowledge Acknowledgement for seizure. Its even possible that whenever Seizure acknowledge is sent the MGC may command MG to start collecting the digits. Clear To indicate the end of call (both successful and unsuccessful). Since the intention of clearback or clearforward is to terminate the call, both these functionalities are achieved by "clear". Vikas,Sandip,Prashant,Madhu [Page5] INTERNET-DRAFT R2 package June 25, 1999 Subscriber category In R2 signalling, there is provision for indicating the priority of the subscriber. The subscriber category is assumed to be string. Unallocated Number Event to indicate unallocated number/ numbe r unassigned. Required for indicating reason for call failure. Subscriber Line busy Indicates a valid number but subscriber is engaged in some other call. Busy tone Required giving unsuccessful call indication to the calling user. Since the presence of gateway will make the end-to-end R2 signalling to link-to-link, the remote R2 exchanges indication of call failure indicating that called subscriber is busy. No circuit tone This tone is used as a signal in response to the event congestion on national/international lines. SIT tone This tone is used as special information tone, as its required for R2 signalling. Subscriber line free To indicate the MGC that the called subscriber is free, and the calling user can be alerted. Congestion national/international To indicate congestion condition on an outgoing R2 trunk. Required indicating the reason for call failure. Subscriber line out of order To indicate the MGC that the call failed because the subscriber line was out of order. For some of the events described in the package, the mapping of event to actual frequency is configured at MG, as the value may differ due to country variants. As mentioned earlier the compelling for address signalling is done at MG. Since according to MEGACOP the function of MG is to collect digits according to digit map and sends to the MGC enbloc so, this functionality is confined to MG. If compelling is done under supervision of the MGC then the call control at the MGC becomes very complex, as there may be too many country variants. Vikas,Sandip,Prashant,Madhu [Page6] INTERNET-DRAFT R2 package June 25, 1999 The following figure shows a typical example, how compelling is done. ---------------------------------------------- R2 | MG | ------------------------------------------------ Called party| First digit-------------> | <------------ A5 (send calling party category) | calling party| category -------------> | <-----------A1 (send next digit) | : : : Destination number collected. <------------A9(Send calling party category) | calling party| First digit----------> | <-----------A1 (send next digit) : : : <-----------A6 (Address complete, charge, and set-up speech conditions) or A3 (Address complete, change to Group B) ------------------------------------------------ In all the flows in the following sections even though it is not explicitly shown, it is assumed that a digit map is associated when the MGC commands MG to collect called and calling party numbers. The text description given for each of the call flow presents a description of the commands that are exchanged between MG and MGC. The text doesn't strictly follow the EBNF notation but gives some idea of parameter that are passed. Vikas,Sandip,Prashant,Madhu [Page7] INTERNET-DRAFT R2 package June 25, 1999 2.1 Incoming R2 and Outgoing Residential GW under single MGC. --------------------------------------------------------------------- R2 | MG | MGC | RGW | | | --------------------------------------------------------------------- | |Modify(T1) EL: sz | | <---------- | | | | | Resp (ok)------------> | | | | Seizure | Notify (sz)---------> | | | | |<---------Resp (ok) | | | | | <------------Modify (T1) | | SL: sa EL: di, si, sc, clr | | | | | Resp (ok)------------> | <----------Seizureack | | | | | Script will | | Collect Digits | | | | | <----------A6 | | | | | | Notify (di, si, sc)--------> | | | | | <------------Resp (ok) | | | | | <-----------Add (T1) | | | | | Resp (ok)------------> | | | | | | Add (T2)-------> | | | | | <-----------Resp (ok) | | | | | Modify (T2)------------> | | | | | EL: hd SD:l/rg | | | | | <-----------Resp (ok) | | | | <--------------Modify (T1), RD | | SL: G/rt | | | | | Resp(ok)-------------> | | | | | | | Off-hook | | <---------Notify | | | | | Resp(ok)-----------> Vikas,Sandip,Prashant,Madhu [Page8] INTERNET-DRAFT R2 package June 25, 1999 | | | | | Modify(T2)------------> | | EL: hu | | | | | | <-----------Resp(ok) | | | | <-------------Modify(T1) | | | mode=sendrecv | | | SD:{T/as} | | Resp(ok)----------> | | | | ________________________________________________________________ MEDIA ________________________________________________________________ | | | On-hook | | <---------Notify | | | | | Resp(ok)------------> | | | | <-------------Subtract(T1) | | SL:clr | | | subtract(T2)-----------> | | | | | | | Resp(ok)--------> <---------- Resp(ok) | | | _____________________________________________________________________ The figure above depicts the call flow describing call connection between an incoming R2 Gateway and an outgoing residential Gateway. For exchange of information from MGC to MG, MEGACOP is used by the MGC (Media Gateway Controller) to control the two endpoints located on the two Media Gateways. The first command is the MODIFY command sent by the MGC to the R2 Gateway. The request will consist of the following lines. TRANS 12345678 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/* ED= {R2/sz} The above text indicates that MG is requested to check for seizure signal on all the incoming R2 terminations "Trunkgroup-1/*". Since the terminations are out of context the CTX value is set to NULL. The response from MG would be of following form Vikas,Sandip,Prashant,Madhu [Page9] INTERNET-DRAFT R2 package June 25, 1999 ACPT 12345678 MG1.network.com: 12354 MEGACOP 1.0 CTX= NULL MODIFY=Trunkgroup-1/* After having noticed seizure on a particular termination, MG will send a NOTIFY command to the MGC: TRANS 12345679 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 OE= {R2/sz} The following RESPONSE will be sent back to MG: ACPT 12345679 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 After having noticed the incoming seizure, the MGC will send a MODIFY command to send a seizure acknowledgement and to collect called and calling party digits by passing the Digit map and also requests for calling party category. To check for the originating user going "onhook", an event "clear" is also included in the event list: TRANS 12345680 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/6 ED= {R2/di, R2/si, R2/sc, R2/clr} SD= {R2/sa} MG after having received the above MODIFY command sends response to the MGC as: ACPT 12345680 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/6 After sending seizure acknowledgement, MG invokes a script to do compelled sequence for the collection of calling and called party digits according to the digit map. After accumulating all the digits, it sends a NOTIFY command to the MGC: TRANS 12345681 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 OE= {di, si, sc} Vikas,Sandip,Prashant,Madhu [Page10] INTERNET-DRAFT R2 package June 25, 1999 RESPONSE will be sent back to MG as: ACPT 12345681 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 After receiving this response, the MGC instructs the incoming R2 MG to add the specified termination to context using ADD command as: TRANS 12345682 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=Trunkgroup-1/6 LS={m=recvonly} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.100.89 m=audio ANY RTP/AVP 0 } In the response of the above ADD command, MG will give the session description of the local termination as well as the contextID. ACPT 12345682 MG1.network.com: 12354 MEGACOP 1.0 CTX = C1 ADD=Trunkgroup-1/6 ADD= RTP/177 LT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } Then MGC requests the outgoing residential gateway to add the called termination to context using ADD command as: TRANS 12345683 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=circuit1/5 LS={m=sendrecv} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.200.89 m=audio ANY RTP/AVP 0 } RT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } Vikas,Sandip,Prashant,Madhu [Page11] INTERNET-DRAFT R2 package June 25, 1999 For the above ADD command, RESPONSE is sent back by Residential MG as: ACPT 12345683 MG1.network.com: 12354 MEGACOP 1.0 CTX = C1r ADD=circuit1/5 ADD= RTP/1177 LT= {v=0 c=IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } After getting this response, a MODIFY command is sent from the MGC to the residential media gateway for sending a ringtone to the called user and check for the "offhook" event. The following would be sent: TRANS 12345684 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1r MODIFY=circuit1/5 ED= {L/hd} SD= {L/rg} RESPONSE to the above MODIFY command will be sent by MG as: ACPT 12345684 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1r MODIFY=circuit1/5 "Ringback" tone is sent from MGC to the incoming MG using MODIFY. It also contains the Remote Descriptor of the ephemeral termination at the outgoing residential gateway. TRANS 12345685 MGC1.network.com: 12354 MEGACOP 1.0 CTX = C1 MODIFY= Trunkgroup-1/6 SD= {G/rt} RT= {v=0 c=IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } For the above MODIFY command RESPONSE is sent by R2 MG as: ACPT 12345685 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 When the destination user goes "offhook" MG NOTIFY the MGC as follows: Vikas,Sandip,Prashant,Madhu [Page12] INTERNET-DRAFT R2 package June 25, 1999 TRANS 12345686 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r NOTIFY=circuit1/5 OE= {L/hd} RESPONSE will be sent by the MGC for this NOTIFY command as: ACPT 12345686 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1r NOTIFY=circuit1/5 When the MGC gets NOTIFY for destination user going "offhook", it informs the incoming MG to make the mode to "sendrecv" and sends the "answer supervision" signal which also stops the "ringback tone". TRANS 12345687 MGC1.network.com: 12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 LS= {m=sendrecv} SD={T/as} The following response comes at the MGC. ACPT 12345687 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 At the same time the destination residential Gateway is informed to notify the end user going "onhook" using the MODIFY command as: TRANS 12345688 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r MODIFY=circuit1/5 ED= {L/hu} MG will send RESPONSE as follows ACPT 12345688 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1r MODIFY=circuit1/5 Media transfer takes place between the two until any of the user goes on hook. It is assume that the called party goes "onhook". This event is notified to the MGC as: TRANS 12345689 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1r NOTIFY=circuit1/5 OE= {L/hu} Vikas,Sandip,Prashant,Madhu [Page13] INTERNET-DRAFT R2 package June 25, 1999 RESPONSE will be sent by the MGC as follows ACPT 12345689 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1r NOTIFY=circuit1/5 The two RTP terminations are then subtracted from the context by respective MGs on the command of the MGC as: TRANS 12345690 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r SUBTRACT=circuit1/5 MG will send RESPONSE as follows ACPT 12345690 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1r SUBTRACT=circuit1/5 At the incoming end, when the MGC sends SUBTRACT message to MG, it adds a signal list which indicates MG to send a "clear" signal for deallocation of resources and then subtract the termination from the specified context as: TRANS 12345691 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1 SUBTRACT=Trunkgroup-1/6 SD= {R2/clr} MG will send RESPONSE as follows ACPT 12345691 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1 SUBTRACT=Trunkgroup-1/6 Both Gateways at this point are ready for the next call. 2.2 Incoming Residential Gateway and Outgoing R2 Gateway under single MGC. --------------------------------------------------------------------- RGW | MGC | MG | R2GW | | | --------------------------------------------------------------------- Modify(T1) EL:hd (EM SD:l/dl) | <---------- | | Vikas,Sandip,Prashant,Madhu [Page14] INTERNET-DRAFT R2 package June 25, 1999 | | | Resp(ok)------> | | | | | | | | Offhook | | | Notify(hd)------> | | | | | <---Resp(ok) | | | | | <------Modify(T1) | | |EL:di,hu | | | | | Resp(ok) --------> | | Collection of | | digits done here | | | | | Notify(di)----------> | | | | | <-------Resp(ok) | | | | | <--------Add(t1) | | | | | Resp(ok)--------> | | | | | | Add(T2)-------> | | | | | <------------Resp(ok) | | | | | Modify(T2)------------> | | SL:sz ED:sa | | | <------------Resp(ok) | | | | Seizure----> | | | Seizureack<--- | | | | <--------------Notify(T2) | | OE: sa | | | | | Resp(ok)-------------> | | | | | Modify(T2)--------> | | SD: si,di | | EL: soo,un,slb,slf, | | <-------Resp(ok) | | | |Compelled digits | | | sent | <---------Notify | | | (slf) | | | | | Resp(ok)-----------> | Vikas,Sandip,Prashant,Madhu [Page15] INTERNET-DRAFT R2 package June 25, 1999 | | | <------Modify(T1),RD | | SL: G/rt | | | | | Resp(ok)---------> | | | Modify(T2)------------> | | ED: {T/as(EM:clr)} | | | | | <-----------Resp(ok) | | | | Answer | <-------------Notify(T2) | | | (Answer) | | | | | Resp(ok)----------> | <--------Modify(T1) | | | mode=sendrecv | | | | | Resp(ok)-------> | | ________________________________________________________________ MEDIA ________________________________________________________________ | | | Clearback | <-------------Notify clr | | | | | Resp(ok)------------> | | | | <-------------Subtract(T1) | | | subtract(T2)-----------> | | | | | | | Resp(ok)--------> | <-------------Resp(ok) | | | _____________________________________________________________________ Here, the first command is the MODIFY command sent by the MGC to the Residential Gateway. The modification request will consist of the following lines. TRANS 12345678 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=circuit1/* ED= { L/hd, EM SD:l/dl} The above text indicates that MG is requested to check for "Offhook" on any of the terminations "circuit1/*" on the Residential Gateway. Since the terminations are out of context the CTX value is set to NULL. The response from MG would be of following form Vikas,Sandip,Prashant,Madhu [Page16] INTERNET-DRAFT R2 package June 25, 1999 ACPT 12345678 MG1.network.com: 12354 MEGACOP 1.0 CTX= NULL MODIFY=circuit1/* After having noticed "Offhook" on a particular termination, MG will send a NOTIFY command to the MGC: TRANS 12345679 MG1.network.com:12354 MEGACOP 1.0 CTX = NULL NOTIFY=circuit1/6 OE= {L/hd} The following RESPONSE will be sent back to MG: ACPT 12345679 MGC1.network.com:12354 MEGACOP 1.0 CTX = NULL NOTIFY=circuit1/6 After receiving this response, the MGC will send a MODIFY command requesting to check a "Onhook" event on "circuit1/6" and to collect called digits by passing the Digit map. TRANS 12345680 MGC1.network.com:12354 MEGACOP 1.0 CTX = NULL MODIFY=circuit1/6 ED= {D/[0-9 #T] MG after having received the above MODIFY command sends response to the MGC as: ACPT 12345680 MG1.network.com:12354 MEGACOP 1.0 CTX = NULL MODIFY=circuit1/6 After accumulating all the digits, it sends a NOTIFY command to the MGC: TRANS 12345681 MG1.network.com:12354 MEGACOP 1.0 CTX = NULL NOTIFY=circuit1/6 OE= {called party digits} RESPONSE will be sent back to MG as: ACPT 12345681 MGC1.network.com:12354 MEGACOP 1.0 CTX = NULL NOTIFY=circuit1/6 After receiving this response, the MGC instructs the incoming Vikas,Sandip,Prashant,Madhu [Page17] INTERNET-DRAFT R2 package June 25, 1999 Residential MG to add the specified termination to context using ADD command as: TRANS 12345682 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=circuit1/6 LS={m=recvonly} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.100.89 m=audio ANY RTP/AVP 0 } In the response of the above ADD command, MG will give the session description of the local termination as well as the contextID. ACPT 12345682 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 ADD=circuit1/6 ADD= RTP/177 LT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } Then the MGC requests the outgoing R2 gateway to choose any of the outgoing trunk, and add that termination to context using ADD command as: TRANS 12345683 MGC1.network.com:12354 MEGACOP 1.0 CTX = -1 ADD=Trunkgroup-1/$ LS={m=sendrecv} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.200.89 m=audio ANY RTP/AVP 0 } RT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } For the above ADD command, RESPONSE is sent back by R2 MG as: ACPT 12345683 MG1.network.com: 12354 MEGACOP 1.0 CTX = C1r Vikas,Sandip,Prashant,Madhu [Page18] INTERNET-DRAFT R2 package June 25, 1999 ADD=Trunkgroup-1/5 ADD= RTP/1177 LT= {v=0 c=IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } After getting this response, a MODIFY command is sent from the MGC to the outgoing R2 gateway to signal "seizure" on the chosen outgoing R2 trunk. MG is also requested to notify immediately as soon as "seizure ACK" is observed at the termination. TRANS 12345684 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r MODIFY=Trunkgroup-1/5 ED= {R2/sa} SD= {R2/sz} RESPONSE to the above MODIFY command will be sent by MG as: ACPT 12345684 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r MODIFY=Trunkgroup-1/5 After having received the notification of "seizure ACK", the MGC requests MG to send the calling and the called party digits on the outgoing trunk. The digits are sent from MG using compelled sequence generated by the script running in the MG. Since MG receives any of the B group frequencies either representing the congestion condition or the line-free condition, the associated event list contains all the relevant events. TRANS 12345685 MGC1.network.com:12354 MEGACOP 1.0 CTX = C1r MODIFY= Trunkgroup-1/5 SD= {si,di} ED={soo,un,slb,slf} For the above MODIFY command RESPONSE is sent by R2 MG as: ACPT 12345685 MG1.network.com:12354 MEGACOP 1.0 CTX = C1r MODIFY=Trunkgroup-1/5 When either of the events mentioned in the event list in the MODIFY command is observed, MG sends a notification to the MGC. Here it is assumed that the "slf" event is observed. Vikas,Sandip,Prashant,Madhu [Page19] INTERNET-DRAFT R2 package June 25, 1999 TRANS 12345686 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 OE= {R2/slf} RESPONSE will be sent by the MGC for this NOTIFY command as: ACPT 12345686 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 When the MGC gets NOTIFY command, it instructs the incoming MG to generate a "ringback tone" to the calling user. It also passes information about the SDP descriptor of the remote termination. TRANS 12345687 MGC1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=circuit1/6 SD={G/rt} RT= {v=0 c=IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } The following response comes at the MGC. ACPT 12345687 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=circuit1/6 Now, the MGC instructs the outgoing R2 MG to check for the "answer" event coming on the outgoing trunk. TRANS 12345688 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r MODIFY=Trunkgroup-1/5 ED= {T/as, EM ED:clr} MG will send RESPONSE as follows ACPT 12345688 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r MODIFY=Trunkgroup-1/5 When the called party answers and the "answer" is observed by the R2 MG, it notifies the MGC as: Vikas,Sandip,Prashant,Madhu [Page20] INTERNET-DRAFT R2 package June 25, 1999 TRANS 12345689 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 OE= {T/as} RESPONSE will be sent by MGC as follows ACPT 12345689 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 After having received the notify message for "Answer" the mode of the incoming MG will be set to "sendrecv". TRANS 12345690 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r Modify = circuit1/6 LS={sendrecv} MG will send RESPONSE as follows ACPT 12345690 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1 Modify = circuit1/6 Then Media transfer takes place between the two until any of the user goes on hook. It is assumed that the called party goes "onhook" and the outgoing MG gets the "clear" signal. TRANS 12345691 MG1.network.com:12354 MEGACOP 1.0 CTX =C1 NOTIFY=Trunkgroup-1/5 OE= {T/clr} RESPONSE will be sent by MGC as follows ACPT 12345691 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 The two RTP terminations are then subtracted from the context by respective MGs on the command of the MGC as: TRANS 12345692 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r SUBTRACT=Trunkgroup-1/5 MG will send RESPONSE as follows Vikas,Sandip,Prashant,Madhu [Page21] INTERNET-DRAFT R2 package June 25, 1999 ACPT 12345692 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r SUBTRACT=Trunkgroup-1/5 At the incoming end also, the corresponding termination is subtracted on the command of the MGC. TRANS 12345693 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1 SUBTRACT=circuit1/6 MG will send RESPONSE as follows ACPT 12345693 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1 SUBTRACT=circuit1/6 Both Gateways at this point are ready for the next call. 2.3 Incoming R2Gateway and Outgoing H.323 terminal under single MGC. --------------------------------------------------------------------- R2 | MG | MGC | H.323 | USER | | | | --------------------------------------------------------------------- | |Modify(T1)EL:sz | | | <---------- | | | | | | | Resp(ok)------------> | | | | | | Seizure | Notify(sz)---------> | | | | | | | <---------Resp(ok) | | | | | | | <------------Modify(T1) | | | SL:sa EL:di,si,sc,clr | | | | | | | Resp(ok)---------> | | <----------Seizureack | | | | | | Script will| | | | Collect Digits| | | | | | | | <--------A6 | | | | | | | | Notify(di,si,sc)--------> | | | | | | | <------------Resp(ok) | | Vikas,Sandip,Prashant,Madhu [Page22] INTERNET-DRAFT R2 package June 25, 1999 | | | | | <-----------Add(t1) | | | | | | |Resp(ok)------------> | | | | | | | | setup+faststart | | | ----------> | | | | ring---> | | | | | | <-----ALERTING| | | | | | <--------------Modify(T1) | | | SL:G/rt | | | | | | | Resp(ok)-------------> | | | | | | | | | Off-hook | | | <---------- | | | | | | <-------CONNECT+faststart | | | | | <-------------Modify(T1) | | | mode=sendrecv,RD | | | Resp(ok)----------> | | | | | | ________________________________________________________________ MEDIA ________________________________________________________________ | | | Onhook | | | <---------- | | | | | | <----------End Session | | | | | | End Session-----------> | | | | | | <---------Rel-Complete| | | | | | <-------------Subtract(T1) | | | SL:clr | | | | | | | | | | | | | | |Resp(ok)--------> | | | | | | _____________________________________________________________________ The MODIFY command is first sent by the MGC to the R2 Gateway. The request will consist of the following lines. Vikas,Sandip,Prashant,Madhu [Page23] INTERNET-DRAFT R2 package June 25, 1999 TRANS 12345678 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/* ED= {R2/sz} The above text indicates that MG is requested to check for seizure signal on any of the incoming R2 termination "Trunkgroup-1/*". Since the termination is out of context the CTX value is set to NULL. The response from MG would be of following form ACPT 12345678 MG1.network.com: 12354 MEGACOP 1.0 CTX= NULL MODIFY=Trunkgroup-1/* After having noticed seizure on a particular termination, MG will send a NOTIFY command to the MGC: TRANS 12345679 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 OE= {R2/sz} The following RESPONSE will be sent back to MG: ACPT 12345679 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 After having noticed the incoming seizure, the MGC will send a MODIFY command to send a seizure acknowledgement and to collect called and calling party digits by passing the Digit map and also requests for calling party category. To check for the originating user going "onhook", an event "clear" is also included in the event list: TRANS 12345680 MGC1.network.com:12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/6 ED= {R2/di R2/si, R2/sc, R2/clr} SD= {R2/sa} MG after having received the above MODIFY command sends response to the MGC as: ACPT 12345680 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/6 After sending seizure acknowledgement, MG invokes a script to do Vikas,Sandip,Prashant,Madhu [Page24] INTERNET-DRAFT R2 package June 25, 1999 compelled sequence for the collection of calling and called party digits according to the digit map. After accumulating all the digits, it sends a NOTIFY command to the MGC: TRANS 12345681 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 OE= {di, si, sc} RESPONSE will be sent back to MG as: ACPT 12345681 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 After receiving this response, the MGC instructs the incoming R2 MG to add the specified termination to context using ADD command as: TRANS 12345682 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=Trunkgroup-1/6 LS={m=recvonly} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.100.89 m=audio ANY RTP/AVP 0 } In the response of the above ADD command, MG will give the session description of the local termination as well as the contextID. ACPT 12345682 MG1.network.com: 12354 MEGACOP 1.0 CTX = C1 ADD=Trunkgroup-1/6 ADD= RTP/177 LT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } MGC having seized the incoming R2 trunk, proceeds with call routing. Using local databases, it determines that the dialled digits correspond to a H.323 entity. It will set up a TCP-IP connection and send a H.225/Q.931 "set-up" message to the H.323 entity. In this message, the "faststart" element carries a set of open logical channel proposals, derived from the SDP description received from the calling gateway: Vikas,Sandip,Prashant,Madhu [Page25] INTERNET-DRAFT R2 package June 25, 1999 After receiving the set-up message the H.323 terminal sends an ALERTING message to the calling party. On reception of this message the MGC will send a modify that instructs the R2 gateway to generate a "ringback" tone: TRANS 12345683 MGC1.network.com: 12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 SD= {G/rt} MG sends back response as ACPT 12345683 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 NOTIFY=Trunkgroup-1/6 When the called user accepts the call, the H.323 entity sends a H.225/Q.931 CONNECT message to the MGC. IF the H.323 entity accepted the faststart procedure, the faststart parameter will contain the confirmation of the open logical channel creations in the two directions of communication: The MGC will send a modification request to the R2 Gateway, in order to establish a full duplex connection and also provides the remote descriptor. TRANS 12345684 MGC1.network.com: 12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 LS= {m=sendrecv} RT= {v=0 c=IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } The following response comes at the MGC. ACPT 12345684 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 At this point, the connection is established. In our example, the call is terminated when the called party hangs up. This triggers the End Session message from H.323 entity to the MGC. In response to this the MGC replies with an End Session message to H.323 entity. H.323 entity finally sends a REL-COMPLETE message. This triggers the MGC to send the SUBTRACT message to the calling R2 Gateway to disconnect the call. TRANS 12345685 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1 Vikas,Sandip,Prashant,Madhu [Page26] INTERNET-DRAFT R2 package June 25, 1999 SUBTRACT=Trunkgroup-1/5 SD= {R2/clr} MG will send RESPONSE as follows ACPT 12345685 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1 SUBTRACT=Trunkgroup-1/5 Both ends at this point are ready for the next call. 2.4 Incoming H.323 terminal and Outgoing R2 Gateway under single MGC. --------------------------------------------------------------------- H.323 | MGC | R2MG | R2 | | | --------------------------------------------------------------------- Offhook | | | Setup+faststart | | -----------> | | | | | <----------Call-Proc | | | | | | Add(T2)------> | | | | | <------Resp(ok) | | | | | Modify(T2)------> | | SL:sz ED:sa | | | <--------Resp(ok) | | | |Seizure----> | | |Seizureack<-- | | | | | | | <----------Notify(T2) | | OE: sa | | | | | Resp(ok)-------------> | | | | | Modify(T2)--------> | | SD: si,di| | | EL: soo,un,slb,slf, | | <-------Resp(ok) | | | |Compelled digits | | | sent | <---------Notify | | | (slf) | | Resp(ok)-----> | Vikas,Sandip,Prashant,Madhu [Page27] INTERNET-DRAFT R2 package June 25, 1999 | | | <--------Alerting | | Ringbacktone| | | | Modify(T2)------------> | | EL: {T/as(EM:clr)} | | | | | <-----------Resp(ok) | | | | Answer | <----------Notify(T2) | | | (Answer) | | | | | Resp(ok)----------> | <---------Connect+faststart| | | | | ________________________________________________________________ MEDIA ________________________________________________________________ | | | Clearback | <-------------Notify clr | | | | | Resp(ok)------------> | | | | <-------------End session | | | | | ----------->End session | | | subtract(T2)-------> | <---------REL-Complete | | | | | | <-----------Resp(ok) | | | | _____________________________________________________________________ When the user initiates the call, the H.323 entity will establish a TCP/IP connection with the MGC. Once the TCP/IP connection is established, the H.323 entity sends a Q.931/H.225 set-up message to the MGC. The message, in its user-to-user parameter, includes a "fast start" parameter that lists a set of OpenLogicalchannel parameters. Upon reception of the set-up message, the MGC will perform called routing functions and determine the endpoint that corresponds the called party number. Then the MGC requests the outgoing R2 gateway to choose and add any of the outgoing trunks to context using ADD command as: Vikas,Sandip,Prashant,Madhu [Page28] INTERNET-DRAFT R2 package June 25, 1999 TRANS 12345680 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=Trunkgroup-1/$ LS={m=sendrecv} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.200.89 m=audio ANY RTP/AVP 0 } RT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } In the above command the SDP announcement is obtained by translating the fast-start parameters. For the above ADD command, RESPONSE is sent back by R2 MG as: ACPT 12345680 MG1.network.com: 12354 MEGACOP 1.0 CTX = C1 ADD=Trunkgroup-1/5 ADD= RTP/1177 LT= {v=0 c=IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } After getting this response, a MODIFY command is sent from the MGC to the outgoing R2 gateway to signal "seizure" on the chosen outgoing R2 trunk. MG is also requested to notify immediately as soon as "seizure ACK" is observed at the termination. TRANS 12345681 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1 MODIFY=Trunkgroup-1/5 ED= {R2/sa} SD= {R2/sz} RESPONSE to the above MODIFY command will be sent by MG as: ACPT 12345681 MG1.network.com:12354 MEGACOP 1.0 CTX =C1 MODIFY=Trunkgroup-1/5 Vikas,Sandip,Prashant,Madhu [Page29] INTERNET-DRAFT R2 package June 25, 1999 After having received the notification of "seizure ACK", the MGC requests MG to send the calling and the called party digits on the outgoing trunk. The digits are sent from MG using compelled sequence generated by the script running in the MG. Since MG can receive any of the group B frequencies representing either the congestion condition or the line-free condition, the associated event list contains all the relevant events. TRANS 12345682 MGC1.network.com: 12354 MEGACOP 1.0 CTX = C1 MODIFY= Trunkgroup-1/5 SD= {si,di} ED={soo,un,slb,slf} For the above MODIFY command RESPONSE is sent by R2 MG as: ACPT 12345682 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/5 When any of the events mentioned in the event list in the MODIFY command is observed, MG sends a notification to the MGC. Here it is assumed that the "slf" event is observed. TRANS 12345683 MG1.network.com:12354 MEGACOP 1.0 CTX =C1 NOTIFY=Trunkgroup-1/5 OE= {R2/slf} RESPONSE will be sent by the MGC for this NOTIFY command as: ACPT 12345683 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1 NOTIFY=Trunkgroup-1/5 Now the MGC sends an ALERTING message to the calling H.323 entity that it is assumed will generate ringing tones for the calling user. Now, the MGC instructs the outgoing R2 MG to check for the "answer" event coming on the outgoing trunk. This event request also embeddes the "clear" signal TRANS 12345684 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1 MODIFY=Trunkgroup-1/5 ED= {T/as, EM: ED clr} MG will send RESPONSE as follows Vikas,Sandip,Prashant,Madhu [Page30] INTERNET-DRAFT R2 package June 25, 1999 ACPT 12345684 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1 MODIFY=Trunkgroup-1/5 When the called party answers and the "answer" is observed by the R2 MG, it notifies the MGC as: TRANS 12345685 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1 NOTIFY=Trunkgroup-1/5 OE= {T/as} RESPONSE will be sent by MGC as follows ACPT 12345685 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1 NOTIFY=Trunkgroup-1/5 In response to this the MGC, will send a "connect + faststart" message to the H.323 entity. Then Media transfer takes place between the two until any of the user goes on hook. It is assumed that the called party goes "onhook" and the outgoing MG gets the "clear" signal. TRANS 12345686 MG1.network.com:12354 MEGACOP 1.0 CTX =C1 NOTIFY=Trunkgroup-1/5 OE= {R2/clr} RESPONSE will be sent to MG as follows ACPT 12345686 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1 NOTIFY=Trunkgroup-1/5 Upon reception of this notification the MGC sends an End session message to the calling H.323 entity. And finally it sends a Rel- complete to the calling party. In parallel the MGC sends a "subtract" to the outgoing R2 MG. TRANS 12345687 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1 SUBTRACT=Trunkgroup-1/5 MG will send RESPONSE as follows Vikas,Sandip,Prashant,Madhu [Page31] INTERNET-DRAFT R2 package June 25, 1999 ACPT 12345687 MG1.network.com:12354 MEGACOP 1.0 CTX =C1 SUBTRACT=Trunkgroup-1/5 Now both the ends are ready for further calls. 2.5 Call flows with 2 MGCs. For the following call scenarios where there is interaction between two MGCs, it is assumed that the H.323 protocol is used for MGC-MGC communication. Here it is also assumed that the number plan for collecting the calling party number is same as that of the called party. 2.5.1 Incoming R2GW Outgoing Residential Gateway under different MGC. --------------------------------------------------------------------- R2 | MG | MGC | MGC | R2MG | R2 | | | | | --------------------------------------------------------------------- | |Modify(T1) EL:sz | | | <---------- | | | | | | | | | Resp(ok)------------> | | | | | | | | Seizure Notify(SZ)---------> | | | | | | | | | <---------Resp(ok) | | | | | | | | | <------------Modify(T1) | | | SL:sa EL:di,si,sc,clr | | | | | | | | Resp(ok)------------> | | | <----------Seizureack | | | | | | | | Script will | | | | Collect Digits | | | | | | | | | <----------A6 | | | | | | | | | | Notify(di,si,sc)--------> | | | | | | | | <------------Resp(ok) | | | | | | | | <-----------Add(t1)| | | | | | | | | Resp(ok)------------> | | | | | ------->Setup+ | | | | | Faststart | | Vikas,Sandip,Prashant,Madhu [Page32] INTERNET-DRAFT R2 package June 25, 1999 | | <-------Call-Proc | | | | | | | | | | Add(T2)-------> | | | | | | | | | <--------Resp(ok) | | | | | | | | |Modify(T2)--------> | | | | SL:sz ED:sa | | | | | | | | | <----------Resp(ok) | | | | | Seizure----> | | | | Seizureack<-- | | | | | | | | | | | | | <------Notify(T2) | | | | OE:sa | | | | | | | | | Resp(ok)-----> | | | | | | | | | Modify(T2)----> | | | | SD: si,di | | | | EL: soo,un,slb,slf, | | | | <-----Resp(ok) | | | | | | | | | | Compelled digits | | | | sent | | | | <--------- Notify | | | | |(slf) | | | | | | | | | Resp(ok)--------> | | | | | | | | <--------Alerting | | | <-------Modify(T1 | | | | | SD:{G/rt} | | | | | | | | | Resp(ok)--------> | | | | | | | | | | | Modify(T2)----> | | | | EL: T/as | | | | | (EM :clr) | | | | | | | | | <------Resp(ok) | | | | | Answer | | | <-------Notify(T2)| Vikas,Sandip,Prashant,Madhu [Page33] INTERNET-DRAFT R2 package June 25, 1999 | | | OE:(Answer)| | | | | | | | | Resp(ok)--------> | | | <-----Connect+faststart| | | | | | | | | | | | | <----------Modify(T1)| | | | | mode=sendrecv,RD | | | | SD:{T/as} | | | | Resp(ok)----------> | | | | | | | | | | | | | ________________________________________________________________ MEDIA ________________________________________________________________ | | | | | Clearback | | | <------Notify clr| | | | | | | | | Resp(ok)--> | | | | | | | | <-----End session | | | | | | | | | ----------->End session | | | | | subtract(T2)----> | | | <---------REL-Complete | | | | | | | | <--------Subtract(T1) | | | | -------->Resp(ok) | <--------Resp(ok) | | | | | | _____________________________________________________________________ The figure above depicts the call flow describing call connection between an incoming R2 Gateway and an Outgoing R2 Gateway. During the exchanges, MEGACOP is used by each MGC (Media Gateway Controller) to control the respective endpoints located on the two Media Gateways. The first command is the MODIFY command sent by the MGC to the incoming R2 Gateway. The request will consist of the following lines. TRANS 12345678 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/* ED= {R2/sz} The above text indicates that MG is requested to check for seizure signal on the incoming R2 terminations "Trunkgroup-1/*". Since the terminations are out of context the CTX value is set to NULL. The Vikas,Sandip,Prashant,Madhu [Page34] INTERNET-DRAFT R2 package June 25, 1999 response from MG would be of following form ACPT 12345678 MG1.network.com: 12354 MEGACOP 1.0 CTX= NULL MODIFY=Trunkgroup-1/* After having noticed seizure on a particular termination, MG will send a NOTIFY command to the MGC: TRANS 12345679 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 OE= {R2/sz} The following RESPONSE will be sent back to MG: ACPT 12345679 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 After having noticed the incoming seizure, the MGC sends a MODIFY command to send a seizure acknowledgement and to collect called and calling party digits by passing the Digit map and also requests for calling party category. To check for the originating user going "onhook", an event "clear" is also included in the event list: TRANS 12345680 MGC1.network.com:12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/6 ED= {R2/di, R2/si, R2/sc, R2/clr} SD= {R2/sa} MG after having received the above MODIFY command sends response to the MGC as: ACPT 12345680 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/6 After sending seizure acknowledgement, MG invokes a script to do compelled sequence for the collection of calling and called party digits according to the digit map. After accumulating all the digits, it sends a NOTIFY command to the MGC: TRANS 12345681 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL Vikas,Sandip,Prashant,Madhu [Page35] INTERNET-DRAFT R2 package June 25, 1999 NOTIFY=Trunkgroup-1/6 OE= {di, si, sc} RESPONSE will be sent back to MG as: ACPT 12345681 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 After receiving this response, the MGC instructs the incoming R2 MG to add the specified termination to context using ADD command as: TRANS 12345682 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=Trunkgroup-1/6 LS={m=recvonly} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.100.89 m=audio ANY RTP/AVP 0 } In the response of the above ADD command, MG will give the session description of the local termination as well as the contextID. ACPT 12345682 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 ADD=Trunkgroup-1/6 ADD= RTP/177 LT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } At this stage the MGC of the incoming R2 gateway sends a "set-up" message to the second MGC. The second MGC replies with the "Callproc" message. The second MGC using local databases determines that the called party number contained in the set-up message corresponds to an R2 termination. After having recognised the called number it sends an Add command to the outgoing MG. TRANS 12345683 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=Trunkgroup-1/$ Vikas,Sandip,Prashant,Madhu [Page36] INTERNET-DRAFT R2 package June 25, 1999 LS={m=sendrecv} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.200.89 m=audio ANY RTP/AVP 0 } RT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } In the above command the SDP announcement is obtained by translating the fast-start parameters. For the above ADD command, RESPONSE is sent back by R2 MG as: ACPT 12345683 MG1.network.com: 12354 MEGACOP 1.0 CTX = C1r ADD=Trunkgroup-1/5 ADD= RTP/1177 LT= {v=0 c=IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } After getting this response, a MODIFY command is sent from the MGC to the outgoing R2 gateway to signal "seizure" on the chosen outgoing R2 trunk. MG is also requested to notify immediately as soon as "seizure ACK" is observed at the termination. TRANS 12345684 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r MODIFY=Trunkgroup-1/5 SD= {R2/sz} ED:{R2/sa} RESPONSE to the above MODIFY command will be sent by MG as: ACPT 12345684 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r MODIFY=Trunkgroup-1/5 After having received the notification of "seizure ACK", the MGC requests MG to send the calling and the called party digits on the outgoing trunk. The digits are sent from MG using compelled sequence generated by the script running in the MG. Since MG receives any of the B group frequencies either representing the congestion condition or the line-free condition, the associated event list contains all the relevant events. Vikas,Sandip,Prashant,Madhu [Page37] INTERNET-DRAFT R2 package June 25, 1999 TRANS 12345685 MGC1.network.com:12354 MEGACOP 1.0 CTX = C1r MODIFY= Trunkgroup-1/5 SD= {si, di} ED={soo,un,slb,slf} For the above MODIFY command RESPONSE is sent by R2 MG as: ACPT 12345685 MG1.network.com:12354 MEGACOP 1.0 CTX = C1r MODIFY=Trunkgroup-1/5 When any of the events mentioned in the event list in the MODIFY command is observed, MG sends a notification to the MGC. Here it is assumed that the "slf" event is observed. TRANS 12345686 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 OE= {R2/slf} RESPONSE will be sent by the MGC for this NOTIFY command as: ACPT 12345686 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgoup-1/5 Now the MGC sends an ALERTING message to the calling the MGC, which it is assumed, will generate "ringback" tone for the calling MG. Now, the MGC instructs the outgoing R2 MG to check for the "answer" event coming on the outgoing trunk. TRANS 12345687 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1r MODIFY=Trunkgroup-1/5 ED= {T/as, EM ED:clr} MG will send RESPONSE as follows ACPT 12345687 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1r MODIFY=Trunkgroup-1/5 When the called party answers and the "answer" is observed by the R2 MG, it notifies the MGC as: TRANS 12345688 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1r Vikas,Sandip,Prashant,Madhu [Page38] INTERNET-DRAFT R2 package June 25, 1999 NOTIFY=Trunkgroup-1/5 OE= {T/as} RESPONSE will be sent by MGC as follows ACPT 12345688 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 In response to this the MGC will send a "connect + faststart" message to the calling MGC. At this point the incoming MGC sends a Modify message to the incoming R2 MG to change the mode to "sendrecv". The MGC also sends the remote descriptor obtained from the faststart element of the CONNECT message. The accompanied "answer" signal removes the "ringback" tone. TRANS 12345689 MGC1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 LS= {m=sendrecv} SD={T/as} RT= { v=0 c= IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } The following response comes at the MGC. ACPT 12345689 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 At this point, the connection is established. Then Media transfer takes place between the two until any of the user goes on hook. It is assumed that the called party goes "onhook" and the outgoing MG gets the "clear" signal. TRANS 12345690 MG1.network.com:12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 OE= {R2/clr} MGC will send RESPONSE as follows: ACPT 12345690 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1r NOTIFY=Trunkgroup-1/5 Upon reception of this notification second MGC sends an End session message to the calling MGC. And finally it sends a Rel-complete to Vikas,Sandip,Prashant,Madhu [Page39] INTERNET-DRAFT R2 package June 25, 1999 the calling MGC. In parallel second MGC sends a "subtract" to the outgoing R2 MG. TRANS 12345691 MGC1.network.com: 12354 MEGACOP 1.0 CTX =C1r SUBTRACT=Trunkgroup-1/5 MG will send RESPONSE as follows ACPT 12345691 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1r SUBTRACT=Trunkgroup-1/5 Similarly at the incoming end the first MGC, commands MG to subtract the terminations from context at the incoming R2GW end. Once the terminations are subtracted from context, both the ends are ready for further calls. 2.5.2 Incoming R2 GW and outgoing SS7 GW, under different MGC. --------------------------------------------------------------------- R2| MG | MGC | MGC | MG |SG | | | | | --------------------------------------------------------------------- | |Modify(T1) EL:sz| | | | <---------- | | | | | | | | | Resp(ok)------------> | | | | | | | | Seizure Notify(sz)---------> | | | | | | | | | <---------Resp(ok) | | | | | | | | | <------------Modify(T1) | | | SL:sa EL:di,si,sc,clr | | | | | | | | Resp(ok)-----------> | | | <----------Seizureack | | | | | | | | Script will | | | | Collect Digits | | | | | | | | | <----------A6 | | | | | | | | | |Notify(di,si,sc)--------> | | | | | | | | | <------------Resp(ok) | | | Vikas,Sandip,Prashant,Madhu [Page40] INTERNET-DRAFT R2 package June 25, 1999 | | | | | | <-----------Add(T1) | | | | | | | | |Resp(ok)------------> | | | | | ------->Setup+ | | | | |Faststart | | | | <-------Call-Proc | | | | | | | | | | Add(T2)-------> | | | | | | | | | <--------Resp(ok) | | | | | | | | | ------------------->IAM | | | | | | | | | | | | | <-----------------ACM | | | | | | | <--------Alerting | | | <------Modify(T1) | | | | | SD:{G/rt}| | | | | | | | | | Resp(ok)--------> | | | | | | | | | | | <-----------------ANM | | <-----Connect+faststart| | | | | | | | | | | | | <----------Modify(T1) | | | | |mode=sendrecv,RD| | | | |SD: {T/as} | | | | Resp(ok)----------> | | | | | | | | | | | | | ________________________________________________________________ MEDIA ________________________________________________________________ | | | <-----------------REL | | | | | | | <-----End session | | | | | | | | | ----------->End session | | | | | subtract(T2)----> | | | <--------- REL-Complete | | | | | | | | <--------Subtract(T1) | | | | -------->Resp(ok) | <--------Resp(ok)| | | | | | ____________________________________________________________________ The figure above depicts the call flow describing call connection between an incoming R2 Gateway and an outgoing SS7 signalling system. During the exchanges, MEGACOP is used by each MGC (Media Gateway Vikas,Sandip,Prashant,Madhu [Page41] INTERNET-DRAFT R2 package June 25, 1999 Controller) to control the respective endpoints located on the two Media Gateways. The first command is the MODIFY command sent by the MGC to the incoming R2 Gateway. The request will consist of the following lines. TRANS 12345678 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/* ED= {R2/sz} The above text indicates that MG is requested to check for seizure signal on any of the incoming R2 termination "Trunkgroup-1/*". Since the terminations are out of context the CTX value is set to NULL. The response from MG would be of following form ACPT 12345678 MG1.network.com: 12354 MEGACOP 1.0 CTX= NULL MODIFY=Trunkgroup-1/* After having noticed seizure on the specified termination, MG will send a NOTIFY command to the MGC: TRANS 12345679 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 OE= {R2/sz} The following RESPONSE will be sent back to MG: ACPT 12345679 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 After having noticed the incoming seizure, the MGC will send a MODIFY command to send a seizure acknowledgement and to collect called and calling party digits by passing the Digit map and also requests for calling party category. To check for the originating user going "onhook", an event "clear" is also included in the event list: TRANS 12345680 MGC1.network.com:12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/6 ED= {R2/di, R2/si, R2/sc, R2/clr} SD= {R2/sa} MG after having received the above MODIFY command sends response to the MGC as: Vikas,Sandip,Prashant,Madhu [Page42] INTERNET-DRAFT R2 package June 25, 1999 ACPT 12345680 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL MODIFY=Trunkgroup-1/6 After sending seizure acknowledgement, MG invokes a script to do compelled sequence for the collection of calling and called party digits according to the digit map. After accumulating all the digits, it sends a NOTIFY command to the MGC: TRANS 12345681 MG1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 OE= {di, si, sc} RESPONSE will be sent back to MG as: ACPT 12345681 MGC1.network.com: 12354 MEGACOP 1.0 CTX = NULL NOTIFY=Trunkgroup-1/6 After receiving this response, the MGC instructs the incoming R2 MG to add the specified termination to context using ADD command as: TRANS 12345682 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=Trunkgroup-1/6 LS={m=recvonly} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.100.89 m=audio ANY RTP/AVP 0 } In the response of the above ADD command, MG will give the session description of the local termination as well as the contextID. ACPT 12345682 MG1.network.com: 12354 MEGACOP 1.0 CTX = C1 ADD=Trunkgroup-1/6 ADD= RTP/177 LT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } At this stage the MGC of the incoming R2 gateway sends a "set-up" message to the second MGC. The second MGC replies with the "Callproc" message. The second MGC using local databases determines that the Vikas,Sandip,Prashant,Madhu [Page43 INTERNET-DRAFT R2 package June 25, 1999 called party number contained in the set-up message corresponds to an SS7 termination. After having recognised the called number it sends an Add command to the outgoing MG. TRANS 12345683 MGC1.network.com: 12354 MEGACOP 1.0 CTX = -1 ADD=Trunkgroup-1/$ LS={m=sendrecv} ADD= RTP/ANY LS= {m=sendrecv} LT= {v=0 c=IN IP4 100.100.200.89 m=audio ANY RTP/AVP 0 } RT= {v=0 c=IN IP4 100.100.100.89 m=audio 4321 RTP/AVP 0 } In the above command the SDP announcement is obtained by translating the fast-start parameters. For the above ADD command, RESPONSE is sent back by R2 MG as: ACPT 12345683 MG1.network.com: 12354 MEGACOP 1.0 CTX = C1r ADD=Trunkgroup-1/5 ADD= RTP/1177 LT= {v=0 c=IN IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } After getting this response, an IAM message is sent from the MGC to the outgoing Signalling gateway to send "IAM" on the chosen outgoing SS7 trunk. As soon as an ACM message is received on the signalling Gateway, the second MGC is informed about it. Now the called MGC sends an ALERTING message to the calling MGC that assumes will generate "ringback" tone for the calling MG. When the called party answers and the "ANM" is observed by the SG on the SS7 trunk, it is passed to the called MGC. In response to this, called MGC will send a "connect + faststart" message to the calling MGC. At this point, the incoming MGC sends a Modify message to the incoming R2MG to change the mode to "sendrecv" along with the remote descriptor obtained from the faststart element of the CONNECT message. TRANS 12345684 MGC1.network.com:12354 MEGACOP 1.0 CTX = C1 Vikas,Sandip,Prashant,Madhu [Page44 INTERNET-DRAFT R2 package June 25, 1999 MODIFY=Trunkgroup-1/6 LS= {m=sendrecv} SD={T/as} RT= {v=0 c=In IP4 100.100.200.89 m=audio 4320 RTP/AVP 0 } The following response comes at the MGC. ACPT 12345684 MG1.network.com:12354 MEGACOP 1.0 CTX = C1 MODIFY=Trunkgroup-1/6 At this point, the connection is established. Then Media transfer takes place between the two until any of the user goes on hook. It is assumed that the called party goes "onhook" and the outgoing SG gets the "RELEASE" message. Upon reception of "RELEASE", called MGC sends an End session message to the calling MGC. And finally it sends a Rel-complete to the calling MGC. In parallel second MGC sends a "subtract" to the incoming R2 MG. TRANS 12345685 MGC1.network.com:12354 MEGACOP 1.0 CTX =C1r SUBTRACT=Trunkgroup-1/5 MG will send RESPONSE as follows ACPT 12345685 MG1.network.com: 12354 MEGACOP 1.0 CTX =C1r SUBTRACT=Trunkgroup-1/5 Similarly at the first MGC also subtracts the incoming R2GW. Now both the ends are ready for further calls. 3.0 Conclusions: The R2 package proposed here emulates some of the essential functionality required by MGC to do R2 signalling at both ends. For complete emulation of R2 signalling, i.e., to get the complete essence of R2 signalling some more events and signals in this R2 package are required to be included. For example, events for language digit detection, echo suppresser information, type of circuit etc have not been included. R2 signalling is an end-to-end register signalling system. In the call flows shown, R2 signalling was made link by link by the Gateway. But in future versions its possible that R2 signalling is made end-to-end with Gateway doing MF relaying function. Vikas,Sandip,Prashant,Madhu [Page45] INTERNET-DRAFT R2 package June 25, 1999 4.0 References: [1] Brian Rosen, Paul Sijben, Eric Zimmerer "draft-ietf-megaco- protocol-01.txt" , "work in progress". [2] CCITT Specifications of signalling system R2 Recommendations Q.400 to Q.490. [3] ITU-T, Recommendation H.323 (02/98), "PACKET-BASED MULTIMEDIA COMMUNICATIONS SYSTEMS." 5.0 Author's address: Vikas Bajaj Hughes Software Systems,Ltd. Gurgaon,Haryana,India. 122015. Ph: (91)-11-346666.Ex-2272. Fax: (91)-124-342810 or 811. Email: vbajaj@hss.hns.com. Sandhip Ranjhan Hughes Software Systems,Ltd. Gurgaon,Haryana,India. 122015. Ph: (91)-11-346666.Ex-2248 Fax: (91)-124-342810 or 811. Email: sranjhan@hss.hns.com. Prashant Jain Hughes Software Systems,Ltd. Gurgaon,Haryana,India. 122015. Ph: (91)-11-346666.Ex-2992 Email: prjain@hss.hns.com. Madhu Babu Hughes Software Systems,Ltd. Gurgaon,Haryana,India. 122015. Ph: (91)-11-346666.Ex-2992 Email: bmbabu@hss.hns.com. Vikas,Sandip,Prashant,Madhu [Page46]