Megaco Working Group C. Sharp Internet Draft Cisco Systems, Inc. Document: draft-sharp-megaco-t1rbsapp-00.txt October, 1999 Category: Informational Media Gateway Control Protocol (megaco) Applicability for T1 Robbed Bit Signaling Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 except for the right to produce derivative works. 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. 1. Abstract The Media Gateway Control Protocol (megaco) can be used to carry T1 Robbed Bit Signaling (RBS) between the Media Gateway (MG) and the Media Gateway Controller (MGC). This document describes the applicability of megaco to carrying T1 Robbed Bit Signaling. T1 Robbed Bit Signaling is a type of Channel Associated Signaling used mainly in the United States of America (USA) and Canada. A description and specification for T1 RBS can be found in EIA/TIA- 464-B. This draft does not define any new packages, but identifies the need for new packages to support Robbed Bit Signaling. It is anticipated that packages for FX service will be very similar to packages defined for analog lines. 2. Conventions used in this document In this document the following terminology will be used to distinguish between different types of T1 RBS connections: Line Side: A Line Side T1 RBS link is a T1 line that emulates an analog line. This type of T1 line traditionally has been used Megaco Applicability for T1 RBS October 1999 between channel banks. The FXO channel bank converts the T1 line to analog line signaling to connect to the analog line interface units of a central office switch. Thus, the FXO T1 RBS signaling emulates a CO Switch operation. The FXS channel bank converts the T1 RBS to analog line signaling to connect to POTS phones (or other devices). Thus, the FXS T1 RBS signaling emulates a POTS phone. Trunk Side: A trunk side T1 RBS link is a t1 line that emulates a trunk connection to another switch. This type of connection normally connects two pieces of switching equipment such as two CO switches or a CO switch and a PBX. A Trunk Gateway (TGW) is a Media Gateway connected to the Trunk Side of a PSTN switch or acting as a trunk side of a PSTN switch. An Access Gateway (AGW) is a Media Gateway connected to the Line Side of a PSTN switch or acting as a line side of a PSTN switch. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [1]. 3. Introduction The Media Gateway Control Protocol (megaco) can be used to carry T1 Robbed Bit Signaling (RBS) between the Media Gateway (MG) and the Media Gateway Controller (MGC). This document describes the applicability of megaco to carrying T1 Robbed Bit Signaling. T1 Robbed Bit Signaling is a type of Channel Associated Signaling used mainly in the United States of America (USA) and Canada. A description and specification for T1 RBS can be found in EIA/TIA- 464-B. 4. Scope The types of T1 RBS considered in this document are: * Loop Start (FXO & FXS) * Ground Start (FXO & FXS) * Feature Group D (Wink Start with Wink Ack) These signaling types cover most of the T1 RBS installations of interest in the USA and Canada. E&M Wink Start (except as part of FGD), E&M Immediate Start, Reverse Battery, Delay Dial, Start-Stop and SAS are not considered in this document. The procedures in the document are intended as examples. There may be several valid ways of achieving the same thing (e.g., ringback) that are not mentioned here. In addition, this document does not Sharp Category - Informational 2 Megaco Applicability for T1 RBS October 1999 cover all applications of the protocols (e.g., E&M to H.323 interworking). 5. T1 RBS Overview T1 RBS provides signaling by robbing the 8th bit of all channels in every 6th T1 frame. These robbed bits are used for line signaling and supervision. Typically, addressing information (e.g., Called Party Number, Calling Party Number, etc.) is transmitted in-band using Dual Tone Multifrequency Signaling (DTMF) or Multifrequency Signaling (MF). There are two types of T1 Framing used: SuperFrame (SF) and Extended SuperFrame (ESF). For SF, there are two signaling bits (A&B) per superframe. For ESF there are four signaling bits (A, B, C & D) per extended superframe although only two of these bits are really used (A & B). This section briefly describes RBS so the call flows will make more sense. E&M The following table illustrates the signals used for E&M signaling types. E&M line signaling types are symmetric. Therefore signaling is the same regardless of which side initiates the call. Tx and Rx Signals SF ESF A B A B C D On-hook 0 0 0 0 0 0 Off-hook 1 1 1 1 1 1 When connecting to a PBX , inband digits usually carry the Called Party Number (e.g., DNIS) as DTMF tones. When connecting between two telco switches, the digits are usually carried via MF tones and may contain Called Party Number and Calling party number (ANI). Wink Start When connecting to a PBX , inband digits usually carry the Called Party Number (e.g., DNIS) as DTMF tones. When connecting between two telco switches, the digits are usually carried via MF tones and may contain Called Party Number and Calling party number (ANI). Feature Group D This type of signaling is normally used between an End Office and an Interexchange carrier. The digits are usually carried via MF tones and may contain Called Party Number and Calling party number (ANI). Sharp Category - Informational 3 Megaco Applicability for T1 RBS October 1999 Loop Start Loop Start signaling is asymmetric. Therefore, the signaling is different depending on which end initiates the call (FXS or FXO). The values of the A and B bits are shown in the following tables for the Transmit and Receive state. Loop Start FXS only transmits the A bits and FXO only transmits the B bits. FXS signals SF ESF A B A B C D Loop Open 0 1 0 1 0 1 Loop Closed 1 1 1 1 1 1 FXO Signals SF ESF A B A B C D Ring 0 0 0 0 0 0 No Ring 0 1 0 1 0 1 Ground Start Ground Start signaling is asymmetric. Therefore, the signaling is different depending on which end initiates the call (FXS or FXO). The values of the A and B bits are shown in the following tables for the Transmit and Receive state. The main difference between Loop Start and Ground Start is that Ground Start FXO provides a Seizure signal (Tip Closed) to indicate an incoming call in addition to a ringing signal. This is included mainly for connections to PBX or other types of CPE systems to reduce glare for call initiation. FXS Signals SF ESF A B A B C D Loop Open 0 1 0 1 0 1 Loop Closed 1 1 1 1 1 1 FXO Signals SF ESF A B A B C D Tip Open 0 * 0 * 0 * Ring 0 0 0 0 0 0 No Ring 0 1 0 1 0 1 Tip Closed 1 ** 1 ** 1 ** ** Bit ignored Sharp Category - Informational 4 Megaco Applicability for T1 RBS October 1999 Outgoing Call Outgoing calls are the same as for Loop Start. 6. T1 RBS Call Flows This section illustrates the following call flows: * Loop Start FXS and FXO * Ground Start FXS and FXO * E&M Feature Group D. This document uses call flows for illustration. For each of these call flows it is assumed that the following event packages are defined: Trunk package: Events and signals for E&M trunks Trunk/sz: Seizure (A=B=1) Trunk/offhook: A=B=1 Trunk/onhook: A=B=0 Trunk/wk: E&M Wink Trunk/wink: E&M Wink Trunk/MF: MF tone Signaling FX package: Events and signals for FXO and FXS lines. FX/lo: Loop Open FX/lc: Loop Closed FX/tc: Tip Closed FX/to: Tip Open FX/ri: Ring ON FX/rb: Ringback tone FX/dt: dial tone FX/DTMF: DTMF tone signaling Package1: Basic Package for RTP and DSO media. RTPPkg: Events, signals and statistics for RTP streams. A basic voice phone call will be used for each example. As can be seen from the overview, T1 RBS can be modelled as a simple series of events and signals. Some events are inband (tones) and others are out-of-band (RBS events). Since FX service was developed Sharp Category - Informational 5 Megaco Applicability for T1 RBS October 1999 to directly carry analog signaling events, the FX examples will closely track the same events and signals as an analog line package. In the following call flows, the following abbreviations will be used: OnH: On Hook OffH: Off Hook LC: Loop Closed LO: Loop Open RON: Ring ON ROFF: Ring OFF SZ: Seizure W: Wink TC: Tip Closed DT: Dial Tone DIG: Digits RT: Inband Ring Tone E&M Feature Group D This section provides an example of the utilization of Megaco to support Feature Group D interfaces. The left (originating) side illustrates Feature Group D signaling and the right (terminating) side illustrates E&M Wink Start. In this example, the IP network emulates an Interexchange Carrier. The switches (SW1 and SW2) are End Office or Access Tandem switches. There are other cases of Feature Group D that are not covered by this example (e.g., Operator Services). Sharp Category - Informational 6 Megaco Applicability for T1 RBS October 1999 ______________________________ | sw1 | TGW1 | MGC | TGW2| sw2 | | ____ | ____ | ________| ______| _____| 1. | | <- | Modify | | | | | Reply| -> | | | 2. | SZ | -> | | | | 3. | <-| Wink | | | | | | Notify| -> | | | | | <- | Reply | | | 4. | DIG| -> | | | | | | Notify| -> | | | | | <- | Reply | | | 5. | | <- | Modify | | | 6. | <-| Wink | | | | 7. | | Reply| -> | | | 8. | | | ADD | -> | | 9. | | | <- | Reply | | | | | | Sz | -> | 10. | | | | <- | Wink | 11. | | | <- | Notify| | | | | Reply | -> | | | | | | Dig | -> | 12. | | | Modify| -> | | | | | <- | Reply | | 13. | | <- | Modify | | | | | Reply| -> | | | | | | | | | 14. | | | | <- | OffH | | | | <- | Notify| | | | | Reply | -> | | 15. | | | Modify| -> | | | | | <- | Reply | | 16. | | <- | Modify | | | | | Reply| -> | | | | <-| OffH | | | | 17. | <---| -------| --------| ------| ---->| | | ... | | | | 18. | OnH | -> | | | | | | Notify| -> | | | | | <- | Reply | | | 19.a | | <- | Sub | | | | | Reply| -> | | | 19.b. | | | Modify | -> | | | | | <- | Reply | | | | | | OnH | -> | 20. | | | | <- | OnH | | | | <- | Notify| | | | | Reply | -> | | 21. | | | Sub | -> | | | | | <- | Reply | | Sharp Category - Informational 7 Megaco Applicability for T1 RBS October 1999 The MGC must first initialize the terminations on the MGs (TGW1 and TGW2) to look for a Seizure. The MGC must also tell the terminations to start collecting digits after receipt of the Seizure event. 1. The MGC programs TGW1 to look for Seizure and when detected to send a Wink to SW1 and start accumulating digits. The MGC programs all Terminations in the NULL context on TGW1 on Port 11 on Slot 4 using a wild card. The terminationId is ds0_*/11/4 (all DS0s on port 11 of slot 4), the streamId is 1111, the requestId in the Events descriptor is 2222. The Events descriptor contains an embedded action, event and signal. The requestId for the embedded event (digitmap) is 2223. The Megaco mId is the identifier of the sender of this message, in this case, it is the IP address and port [124.124.124.121]:55566. Process is the default, so it is not necessary to have it in BufferedEventHandling. The following message tells the TGW1 to wait for seizure on all channels of the indicated DS1. When Seizure is received from SW1, TGW1 is to notify the MGC, prepare a MF receiver to receive digits based on the digit map and to send a wink to SW1. (Note: I have not included the definition of DigitMap FGD_MF_0 in this message. I'm assuming it is provisioned.) All terminations on the DS1 are programmed for a default of using G.711 mu-law, no gain, G.165 echo cancellation and ReceiveOnly (Question: If the termination is programmed for ReceiveOnly does it send the MF tones to the other terminations in the Null context?) Sharp Category - Informational 8 Megaco Applicability for T1 RBS October 1999 MGC -> TGW1 MEGACO/1.0 [124.124.124.121]:55566 Transaction = 9999 { Context = - { Modify = ds0_*/11/4{ Media { TerminationState { BufferedEventHandling{Step,Process} }, LocalControl { Mode = ReceiveOnly, Package1/GainControl=0, Package1/EchoCancellation=G165, Package1/Encoding=PCM24 } }, Events = 2222 { Trunk/sz { Action { NotifyAction: Events=2223 { Trunk/MF{ ACTION{DigitMap=FGD_MF_0} } }, Events = 2224 Trunk/onhook{ Action {NotifyAction}} }, Signals{Trunk/wink} } } }, } } } TGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 9999 { Context = - {Modify} } 2. The call starts with the arrival from the first switch (SW1) of a Seizure event (AB=11). 3. TGW1 sends a Notify to the MGC, sets up an MF receiver to collect digits and sends a Wink to SW1. The Notify includes the specific termination on which the Seizure was received. In this case, the termination is DS0 1. Sharp Category - Informational 9 Megaco Applicability for T1 RBS October 1999 TGW1 -> MGC MEGACO/1.0 [124.124.124.222]:55555 Transaction = 5551 { Context = - { Notify = ds0_1/11/4{ObservedEvents =2222 { 19990729T22000000:Trunk/sz}} } } MGC -> TGW1 MEGACO/1.0 [124.124.124.121]:55566 Reply = 5551 { Context = - {Notify} } 4. TGW1 collects all the digits and sends another Notify to the MGC containing the collected digits. TGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Transaction = 5552 { Context = - { Notify = ds0_1/11/4{ ObservedEvents =2223{ 19990729T22010001: Trunk/MF{ digits=KP002125551212STKP6135551212ST } } } } } MGC -> TGW1 MEGACO/1.0 [124.124.124.121]:55566 Reply = 5552 { Context = - {Notify} } 5. The MGC performs the routing, and determines that the call will have to be relayed towards the second switch (SW2), using a trunk located on TGW2. Sharp Category - Informational 10 Megaco Applicability for T1 RBS October 1999 Both the TDM termination ds0_1/11/4, and an RTP termination are added to a new context in TGW1. Mode is ReceiveOnly since Remote descriptor values are not yet specified. Preferred codecs are in the MGC's preferred order of choice. The MGC tells TGW1 to send an acknowledgment Wink to SW1 to tell it that all digits were received and the call is proceeding. In addition, the MGC tells TGW1 to look for On hook. MGC -> TGW1 MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10000 { Context = $ { Add = ds0_1/11/4 { Signals {Trunk/Wink} }, Add = $ { Media { LocalControl { Mode = ReceiveOnly, Package1/MaxJitterBuffer=40, Package1/PreferredPacketization=20, Package1/PreferredCodecs=[G723, PCMU], Package1/Gain=0 } } } } } 6. TGW1 sends an acknowledgment Wink to SW1. 7. TGW1 acknowledges the new Termination and fills in the Local IP address and UDP port. It also makes a choice for the codec based on the MGC preferences in LocalControl. Sharp Category - Informational 11 Megaco Applicability for T1 RBS October 1999 MEGACO/1.0 [124.124.124.222]:55555 Reply = 10000 { Context = 2000 { Add , Add= A4445{ Media { Local = SDP { v=0 c=IN IP4 45.123.1.1 m=audio 5555 RTP/AVP 0 4 a=ptime:20 } } } } } 8. The MGC tells TGW2 to send a Seizure to the SW2 and wait for Wink. The MGC will now also associate termination ds0_3/5/3 with a new Context on TGW2. The signal Trunk/sz on ds0_3/5/3 makes TGW2 seize a channel (DS0 3 on port 5 of slot 3). The MGC also tells TGW2 to look for a Wink from SW2 and when it receives a Wink, to notify the MGC, and outpulse the MF digits for the call. The MGC creates an RTP termination on TGW2 and adds it to this Context. The MGC sends the session descriptor received from TGW1 to the new RTP termination on TGW2 to give it the information needed to send RTP packets to TGW1. The MGC places the RTP termination in SendReceive mode. It does not send RingBack since in this example it is depending on SW2 (or another switch down the line) to provide ringback. Note that G.723 might distort the ringback signal. Sharp Category - Informational 12 Megaco Applicability for T1 RBS October 1999 MGC -> TGW2: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7001 { Context = $ { Add = ds0_3/5/3 { Signals {Trunk/sz}, Events = 3333 { Trunk/wk { Action {NotifyAction: Signals {Trunk/MF{ digits=KP6135551212ST} } } } } }, Add = $ { Media { LocalControl { Mode = SendReceive, Package1/MaxJitterBuffer=40, Package1/PreferredPacketization=20, Package1/PreferredCodecs=G723, Package1/Gain=0 }, Remote=SDP{ v=0 c=IN IP4 45.123.1.1 m=audio 5555 RTP/AVP 0 4 a=ptime:20 } } } } 9. This is acknowledged. Note that TerminationId A5556 has been assigned to the RTP termination. In addition, TGW2 sends the session descriptor for the created RTP termination to the MGC. Sharp Category - Informational 13 Megaco Applicability for T1 RBS October 1999 TGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7001 { Context = 5000 { Add, Add = A5556{ Media { Local = SDP{ v=0 c=IN IP4 111.1.1.1 m=audio 1111 RTP/AVP 0 4 a=ptime:20 } } } } } 10. TGW2 seizes the indicated channel. 11. When TGW2 detects a Wink it transmits the MF digits to SW2 and notifies the MGC . MEGACO/1.0 [124.124.125.222]:55555 Transaction = 2001 { Context = 5000 { Notify = ds0_3/5/3{ ObservedEvents =3333 { 19990729T22020002:Trunk/wk } } } } The MGC acknowledges: MEGACO/1.0 [124.124.124.121]:55566 Reply = 2001 { Context = 5000 {Notify} } 12. The MGC then tells the TGW2 to wait for OffHook and puts the DS0 into SendReceive mode. It also programs the termination for G.711, echo cancellation, etc. Sharp Category - Informational 14 Megaco Applicability for T1 RBS October 1999 MGC -> TGW2: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7002 { Context = 5000 { Modify = ds0_3/5/3{ Media { LocalControl { Mode = SendReceive, Package1/GainControl=0, Package1/EchoCancellation=G165, Package1/Encoding=PCM24 } }, Events = 3334 {Trunk/offhook{ Action {NotifyAction}} } ) } } TGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7002 { Context = 5000 {Modify} } 13. The MGC passes the session descriptor from TGW2 to TGW1 and places A4445 into SendReceive mode so ringback can pass through. At this time, the connection is cut-through the VoIP network in both directions. MGC -> TGW1: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10001 { Context = 2000 { Modify = A4445 { Media { LocalControl {Mode=SendReceive}, Remote = SDP { v=0 c=IN IP4 111.1.1.1 m=audio 1111 RTP/AVP 0 4 a=ptime:20 } } } } } Sharp Category - Informational 15 Megaco Applicability for T1 RBS October 1999 TGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 10001 { Context = 2000 {Modify, Modify} } 14. When the remote end answers the call, SW2 will send off-hook to the TGW2. TGW2 notifies the MGC of the off-hook event. TGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Transaction = 2002 { Context = 5000 { Notify = ds0_3/5/3{ ObservedEvents =3334 { 19990729T22020002:Trunk/offhook } } } } MGC -> TGW22: MEGACO/1.0 [124.124.124.121]:55566 Reply = 2002 { Context = - {Notify} } 15. The MGC tells TGW2 to notify it when it receives an onhook event. From MGC to MG2: MGC -> TGW2 MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7003 { Context = 5000 { Modify = ds0_3/5/3{ Events = 3335 {Trunk/onhook{ Action {NotifyAction}} } } } } Sharp Category - Informational 16 Megaco Applicability for T1 RBS October 1999 TGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7003 { Context = 5000 {Modify} } 16. MGC tells the TGW1 to send OffHook to SW1. Note that MGC sent a Modify earlier in the exchange to tell TGW1 to look for onhook. MGC -> TGW1: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10002 { Context = 2000 { Modify = ds0_1/11/4{ Signals {Trunk/offhook} } } } TGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 10002 { Context = 2000 {Modify} } 17 At this point a full duplex call is set up through the VoIP network. 18. When the MGC receives an onhook signal from one of the MGs, it brings down the call. In this example, the calling endpoint hangs up, causing SW1 to go on-hook. TGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Transaction = 5552 { Context = 2000 { Notify = ds0_1/11/4{ObservedEvents =2224 { 19990729T24020002:Trunk/onhook}} } } MGC -> TGW1 MEGACO/1.0 [124.124.124.121]:55566 Reply = 5553 { Context = 2000 {Notify} } Sharp Category - Informational 17 Megaco Applicability for T1 RBS October 1999 19. a. The MGC sends a Subtract to TGW1 to delete the connection. Note that two transactions are bundled into the message. The first transaction subtracts the terminations from Context 5000 and sends onhook to SW1. The second programs the DS0 termination in the null Context with the default parameters and to detect Seizure (for a new call). The reply acknowledges both transactions. MGC -> TGW1: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10003 { Context = 2000 { Modify = ds0_1/11/4{ Signals {Trunk/onhook} } Subtract = ds0_3/5/3, Subtract = A5556 } } Transaction = 10004 { Context = - { Modify = ds0_3/5/3{ Media { TerminationState { BufferedEventHandling{Step,Process} }, LocalControl { Mode = ReceiveOnly} }, Events = 2225 { Trunk/sz { Action { NotifyAction: Event=2226 { Trunk/MF{ ACTION{DigitMap=FGD_MF_0} } }, Events = 2227 {Trunk/onhook{ Action {NotifyAction}} }, Signals{Trunk/wink} } } } } } } Sharp Category - Informational 18 Megaco Applicability for T1 RBS October 1999 TGW1 -> MGC MEGACO/1.0 [124.124.124.222]:55555 Reply = 10003 { Context = 2000 { Subtract { Statistics { TDMPkg/OctetsSent=45123 } }, Subtract { Statistics { RTPPkg/PacketsSent=1245, RTPPkg/OctetsSent=62345, RTPPkg/PacketsReceived=780, RTPPkg/OctetsReceived=45123, RTPPkg/PacketsLost=10, RTPPkg/Jitter=27, RTPPkg/AverageLatency=48 } } } } Reply = 10004 { Context = - { Modify } } b. At the same time, the MGC sends a modify to TGW2 to send an onhook signal to SW2. Note that Event 3335 is still outstanding looking for onhook. This transaction also includes a Subtract for the RTP termination. The MGC then waits for onhook from SW2. MGC -> TGW2: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7003 { Context = 5000 { Modify = ds0_3/5/3 { Signals {Trunk/onhook} } Subtract = A5556 } } Sharp Category - Informational 19 Megaco Applicability for T1 RBS October 1999 TGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7003 { Context = 5000 { Modify, Subtract { Statistics { RTPPkg/PacketsSent=1245, RTPPkg/OctetsSent=62345, RTPPkg/PacketsReceived=780, RTPPkg/OctetsReceived=45123, RTPPkg/PacketsLost=10, RTPPkg/Jitter=27, RTPPkg/AverageLatency=48 } } } } 20. When TGW2 receives onhook from SW2, it sends a notify to the MGC. TGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Transaction = 2003 { Context = 5000 { Notify = ds0_3/5/3{ ObservedEvents =3335 { 19990729T24020200:Trunk/onhook } } } } MGC -> TGW22: MEGACO/1.0 [124.124.124.121]:55566 Reply = 2003 { Context = - {Notify} } Sharp Category - Informational 20 Megaco Applicability for T1 RBS October 1999 21. MGC then subtracts the DS0 termination from the context. MGC -> TGW2: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7004 { Context = 5000 { Subtract = ds0_3/5/3, } } Transaction = 7005 { Context = - { Modify = ds0_3/5/3{ Media { TerminationState { BufferedEventHandling{Step,Process} }, LocalControl { Mode = ReceiveOnly} }, Events = 3336 { Trunk/sz { Action { NotifyAction: Event=3337 { Trunk/MF{ ACTION{DigitMap=FGD_MF_0} } }, Events = 3338 {Trunk/onhook{ Action {NotifyAction}} }, Signals{Trunk/wink} } } } } } } Sharp Category - Informational 21 Megaco Applicability for T1 RBS October 1999 TGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7004 { Context = 5000 { Subtract, Subtract { Statistics { RTPPkg/PacketsSent=1245, RTPPkg/OctetsSent=62345, RTPPkg/PacketsReceived=780, RTPPkg/OctetsReceived=45123, RTPPkg/PacketsLost=10, RTPPkg/Jitter=27, RTPPkg/AverageLatency=48 } } } } Reply = 7005 { Context = - { Modify } } Sharp Category - Informational 22 Megaco Applicability for T1 RBS October 1999 FX Basic call, FXO to FXS _____________________________________________________ | FXS | AGW | MGC | MG | CO | | | FXO | | | FXO | |_______|__________|____________|__________|________| 1. | | <- | Modify | | | | | Reply | -> | | | | | | Modify | -> | | | | | <- | Reply | | | | | | | | 2. | | | | <- | Ring | | | | | <- |No Ring*| | | | | |Tip | | | | | <- |Closed**| | | | | | | | | | <- | Notify | | | | | Reply | -> | | | | | | | | 3. | | | Add | -> | | | | | <- | Reply | | 4. | | <- | Add | | | | | Reply | -> | | | | | | | | | 5. | <- | Ring | | | | | <- | No Ring* | | | | | | | | | | | | | | ringback | ------>| 6. | Loop | | | | | | Close | -> | | | | | | Notify | -> | | | | | <- | Reply | | | 7. | | | Modify | -> | | | | | <- | Reply | | | | | | Stop RB | -> | | | | |Loop Close| -> | 8. | | <- | Modify | | | | | Reply | -> | | | | | | | | | * - Follows normal ring pattern (4 seconds ON, 1 second OFF). ** - Ground Start only 1. The MGC programs AGW2 to look for Ring signal. If Ground Start is used, AGW2 can also look for Tip Closed to indicate and incoming call. The MGC programs all Terminations in the NULL context on AGW2 on Port 11 on Slot 4 using a wild card. The terminationId is ds0_*/11/4 (all DS0s on port 11 of slot 4). The Events descriptor contains an embedded action, event and signal. The Megaco mId is the identifier Sharp Category - Informational 23 Megaco Applicability for T1 RBS October 1999 of the sender of this message, in this case, it is the IP address and port [124.124.124.121]:55566. The following message tells the AGW2 to wait for Ring Signal on all channels of the indicated DS1. If Ground Start is used, the AGW2 can also look for Tip Close. When Tip Close is received from the FXO, AGW2 is to notify the MGC. All terminations on the DS1 are programmed for a default of using G.711 mu-law, no gain, G.165 echo cancellation and ReceiveOnly (Question: If the termination is programmed for ReceiveOnly does it send the MF tones to the other terminations in the Null context?) MGC -> AGW2 MEGACO/1.0 [124.124.124.121]:55566 Transaction = 9999 { Context = - { Modify = ds0_*/11/4{ Media { TerminationState { BufferedEventHandling{Step,Process} }, LocalControl { Mode = ReceiveOnly, Package1/GainControl=0, Package1/EchoCancellation=G165, Package1/Encoding=PCM24 } }, Events = 2222 { FX/ri { Action { NotifyAction: Signals{FX/rb} } } } } } } AGW2 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 9999 { Context = - {Modify} } 2. The call starts with the arrival of a Ringing Signal (or Tip Closed for Ground Start) from the FXO indicating an incoming call. Sharp Category - Informational 24 Megaco Applicability for T1 RBS October 1999 AGW2 sends a Notify to the MGC and sends ringback inband to the FXO (note that ringback could be provided by AGW1). The Notify includes the specific termination on which the Ring was received. In this case, the termination is DS0 1. AGW2 -> MGC MEGACO/1.0 [124.124.124.222]:55555 Transaction = 5551 { Context = - { Notify = ds0_1/11/4{ObservedEvents =2222 { 19990729T22000000:FX/ri}} } } MGC -> AGW2 MEGACO/1.0 [124.124.124.121]:55566 Reply = 5551 { Context = - {Notify} } 3. Both the TDM termination ds0_1/11/4, and an RTP termination are added to a new context in AGW2. Mode is ReceiveOnly since Remote descriptor values are not yet specified. Preferred codecs are in the MGC's preferred order of choice. MGC -> AGW2 MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10000 { Context = $ { Add = ds0_1/11/4, Add = $ { Media { LocalControl { Mode = ReceiveOnly, Package1/MaxJitterBuffer=40, Package1/PreferredPacketization=20, Package1/PreferredCodecs=[G723, PCMU], Package1/Gain=0 } } } } } AGW2 acknowledges the new Termination and fills in the Local IP address and UDP port. It also makes a choice for the codec based on the MGC preferences in LocalControl. Sharp Category - Informational 25 Megaco Applicability for T1 RBS October 1999 AGW2 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 10000 { Context = 2000 { Add , Add= A4445{ Media { Local = SDP { v=0 c=IN IP4 45.123.1.1 m=audio 5555 RTP/AVP 0 4 a=ptime:20 } } } } } 4. Since this is an FXS Loop Start or Ground Start interface, the SCN does not deliver Called Party Number. Therefore, there must be a static mapping from AGW2 to AGW1. Two-stage dialing could be used at this point to provide more information, but this case is not shown here. The MGC performs the routing, and determines that the call will have to be relayed to AGW1. The MGC tells AGW1 to send Ringing to the FXS to indicate the call. The MGC will now also associate termination ds0_3/5/3 with a new Context on AGW1. The signal FX/ri on ds0_3/5/3 makes AGW1 send Ringing signal (and Tip Close in the case of Ground Start) on a channel (DS0 3 on port 5 of slot 3). The MGC also tells AGW1 to look for Loop Close. The MGC creates a RTP termination on AGW2 and adds it to this Context. The MGC sends the session descriptor received from AGW2 to the new RTP termination on AGW1 to give it the information needed to send RTP packets to AGW2. The MGC places the RTP termination in SendReceive mode. Sharp Category - Informational 26 Megaco Applicability for T1 RBS October 1999 MGC -> AGW1: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7001 { Context = $ { Add = ds0_3/5/3 { Media { TerminationState { BufferedEventHandling{Step,Process} }, LocalControl { Mode = SendReceive, Package1/GainControl=0, Package1/EchoCancellation=G165, Package1/Encoding=PCM24 } }, Signals {FX/ri}, Events = 3333 { FX/lc { Action {NotifyAction} } } }, Add = $ { Media { LocalControl { Mode = SendReceive, Package1/MaxJitterBuffer=40, Package1/PreferredPacketization=20, Package1/PreferredCodecs=G723, Package1/Gain=0 }, Remote=SDP{ v=0 c=IN IP4 45.123.1.1 m=audio 5555 RTP/AVP 0 4 a=ptime:20 } } } } This is acknowledged. Note that TerminationId A5556 has been assigned to the RTP termination. In addition, AGW2 sends the session descriptor for the created RTP termination to the MGC. Sharp Category - Informational 27 Megaco Applicability for T1 RBS October 1999 AGW1 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7001 { Context = 5000 { Add, Add = A5556{ Media { Local = SDP{ v=0 c=IN IP4 111.1.1.1 m=audio 1111 RTP/AVP 0 4 a=ptime:20 } } } } } 5. AGW1 sends ringing pattern to the FXS. In case of Ground Start it also sends Tip Close. 6. When AGW1 detects Loop Close it notifies the MGC . MEGACO/1.0 [124.124.125.222]:55555 Transaction = 2001 { Context = 5000 { Notify = ds0_3/5/3{ ObservedEvents =3333 { 19990729T22020002:FX/lc } } } } The MGC acknowledges: MEGACO/1.0 [124.124.124.121]:55566 Reply = 2001 { Context = 5000 {Notify} } 7. The MGC passes the session descriptor from AGW1 to AGW2, places A4445 into SendReceive mode and turns off ringback. At this time, the connection is cut-through the VoIP network in both directions. Sharp Category - Informational 28 Megaco Applicability for T1 RBS October 1999 MGC -> AGW2: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10001 { Context = 2000 { Modify = ds0_1/11/4 { Signals {}, Events = 2224 {FX/lo{ Action {NotifyAction}} } }, Modify = A4445 { Media { LocalControl {Mode=SendReceive}, Remote = SDP { v=0 c=IN IP4 111.1.1.1 m=audio 1111 RTP/AVP 0 4 a=ptime:20 } } } } } AGW2 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 10001 { Context = 2000 {Modify, Modify} } 8. The MGC must send a Modify to AGW1 to tell it to watch for Loop Open. MGC1 -> AGW1: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7002 { Context = 5000 { Modify = ds0_3/5/3 { Events = 3334 { FX/lo { Action {NotifyAction} } } } } } Sharp Category - Informational 29 Megaco Applicability for T1 RBS October 1999 AGW1 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7002 { Context = 5000 { Modify } } 8. At this time there is an end-to-end full-duplex path between the DS0 on AGW1 and the DS0 on AGW2. 9. Disconnect procedures are the same as for the FXS to FXO example. Sharp Category - Informational 30 Megaco Applicability for T1 RBS October 1999 Basic call, FXS to FXO _____________________________________________________ | FXS | AGW | MGC | MG | CO | | | FXO | | | FXO | |_______|__________|____________|__________|________| 1. | | <- | Modify | | | | | Reply | -> | | | 2. | Loop | | | | | | Close | -> | | | | | | Notify | -> | | | | | <- | Reply | | | 3. | <---- |DialTone | | | | | Digits| ---> | | | | | <- |Dial Tone | | | | | |Off | | | | | | Notify | -> | | | | | <- | Reply | | | 4. | | <- | Add | | | | | Reply | -> | | | 5. | | | Add | -> | | | | | <- | Reply | | 6. | | <- | Modify | | | | | Reply | -> | | | 7. | | | |Loop Close| -> | | | | | | | 8. | | | | <- | Dial | | | | | | Tone | | | | | Digits | -> | | | | | <- |DT Off | | | | | | | | | | <- | Notify | | | | | Reply | -> | | 9. | <-----|----------|------------|-------- | Ringing| | <-----|----------|------------|--------> | Answer | | <-----|----------|------------|-------- | Hangup | 10. | Loop | | | | | | Open |-> | | | | | | Notify | -> | | | | | <- | Reply | | | 11. | | <- | Subtract | | | | | Reply | -> | | | | | | Subtract/ | | | | | | Modify |-> | | | | | <- | Reply | | | | | |Loop Open | -> | 1. The MGC programs AGW1 to look for Loop Close and when detected to send Dial Tone inband and start accumulating digits. Sharp Category - Informational 31 Megaco Applicability for T1 RBS October 1999 The MGC programs all Terminations in the NULL context on AGW1 on Port 11 on Slot 4 using a wild card. The terminationId is ds0_*/11/4 (all DS0s on port 11 of slot 4). The Events descriptor contains an embedded action, event and signal. The Megaco mId is the identifier of the sender of this message, in this case, it is the IP address and port [124.124.124.121]:55566. The following message tells the AGW1 to wait for Loop Close on all channels of the indicated DS1. When Loop Close is received from the FXO, AGW1 is to notify the MGC, prepare a DTMF receiver to receive digits based on the digit map and to send Dial Tone to the AGW1. All terminations on the DS1 are programmed for a default of using G.711 mu-law, no gain, G.165 echo cancellation and ReceiveOnly (Question: If the termination is programmed for ReceiveOnly does it send the MF tones to the other terminations in the Null context?) Sharp Category - Informational 32 Megaco Applicability for T1 RBS October 1999 MGC -> AGW1 MEGACO/1.0 [124.124.124.121]:55566 Transaction = 9999 { Context = - { Modify = ds0_*/11/4{ Media { TerminationState { BufferedEventHandling{Step,Process} }, LocalControl { Mode = ReceiveOnly, Package1/GainControl=0, Package1/EchoCancellation=G165, Package1/Encoding=PCM24 } }, Events = 2222 { FX/lc { Action { NotifyAction: Signals{FX/dt}, Events=2223 { FX/DTMF{ ACTION{DigitMap=Dialplan_0: Signals{} } } }, Events = 2224 { FX/lo{ ACTION{NotifyAction} } } } } }, DigitMap= Dialplan0{ (0T|00T|[17]xxx| 8xxxxxxx| #xxxxxxx|*xx| 91xxxxxxxxxx| 9011x.T) } } } } AGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 9999 { Context = - {Modify} } Sharp Category - Informational 33 Megaco Applicability for T1 RBS October 1999 2. The call starts with the arrival of a Loop Closed event from the FXS indicating that the calling party has gone offhook. AGW1 sends a Notify to the MGC, sets up an DTMF receiver to collect digits and sends Dial Tone inband to the FXS. The Notify includes the specific termination on which the Loop Close was received. In this case, the termination is DS0 1. AGW1 -> MGC MEGACO/1.0 [124.124.124.222]:55555 Transaction = 5551 { Context = - { Notify = ds0_1/11/4{ObservedEvents =2222 { 19990729T22000000:FX/lc}} } } MGC -> AGW1 MEGACO/1.0 [124.124.124.121]:55566 Reply = 5551 { Context = - {Notify} } 3. AGW1 collects all the digits (turning off dialtone after receipt of the first digit) and sends another Notify to the MGC containing the collected digits. AGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Transaction = 5552 { Context = - { Notify = ds0_1/11/4{ ObservedEvents =2223{ 19990729T22010001: FX/DTMF{ digits=16135551212 } } } } } Sharp Category - Informational 34 Megaco Applicability for T1 RBS October 1999 MGC -> AGW1 MEGACO/1.0 [124.124.124.121]:55566 Reply = 5552 { Context = - {Notify} } 4. The MGC performs the routing, and determines that the call will have to be relayed towards the CO switch FXO line using a FX line located on AGW2. Both the TDM termination ds0_1/11/4, and an RTP termination are added to a new context in AGW1. Mode is ReceiveOnly since Remote descriptor values are not yet specified. Preferred codecs are in the MGC's preferred order of choice. MGC -> AGW1 MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10000 { Context = $ { Add = ds0_1/11/4, Add = $ { Media { LocalControl { Mode = ReceiveOnly, Package1/MaxJitterBuffer=40, Package1/PreferredPacketization=20, Package1/PreferredCodecs=[G723, PCMU], Package1/Gain=0 } } } } } AGW1 acknowledges the new Termination and fills in the Local IP address and UDP port. It also makes a choice for the codec based on the MGC preferences in LocalControl. Sharp Category - Informational 35 Megaco Applicability for T1 RBS October 1999 AGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 10000 { Context = 2000 { Add , Add= A4445{ Media { Local = SDP { v=0 c=IN IP4 45.123.1.1 m=audio 5555 RTP/AVP 0 4 a=ptime:20 } } } } } 5. The MGC tells AGW2 to send a Loop Closure to the CO FXO to initiate the call. The MGC will now also associate termination ds0_3/5/3 with a new Context on AGW2. The signal FX/lc on ds0_3/5/3 makes AGW2 send a Loop Close on a channel (DS0 3 on port 5 of slot 3). The MGC also tells AGW2 to look for DialTone from the CO FXO and when it receives DialTone, to notify the MGC, and outpulse the DTMF digits for the call. The MGC creates a RTP termination on AGW2 and adds it to this Context. The MGC sends the session descriptor received from AGW1 to the new RTP termination on AGW2 to give it the information needed to send RTP packets to AGW1. The MGC places the RTP termination in SendReceive mode. It does not send RingBack since in this example it is depending on the CO FXO (or another switch down the line) to provide ringback. Note that G.723 might distort the ringback signal. Sharp Category - Informational 36 Megaco Applicability for T1 RBS October 1999 MGC -> AGW2: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7001 { Context = $ { Add = ds0_3/5/3 { Media { TerminationState { BufferedEventHandling{Step,Process} }, LocalControl { Mode = SendReceive, Package1/GainControl=0, Package1/EchoCancellation=G165, Package1/Encoding=PCM24 } }, Signals {FX/lc}, Events = 3333 { FX/dt { Action {NotifyAction: Signals { FX/DTMF{ digits=KP6135551212ST } } } } } }, Add = $ { Media { LocalControl { Mode = SendReceive, Package1/MaxJitterBuffer=40, Package1/PreferredPacketization=20, Package1/PreferredCodecs=G723, Package1/Gain=0 }, Remote=SDP{ v=0 c=IN IP4 45.123.1.1 m=audio 5555 RTP/AVP 0 4 a=ptime:20 } } } } Sharp Category - Informational 37 Megaco Applicability for T1 RBS October 1999 This is acknowledged. Note that TerminationId A5556 has been assigned to the RTP termination. In addition, AGW2 sends the session descriptor for the created RTP termination to the MGC. AGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7001 { Context = 5000 { Add, Add = A5556{ Media { Local = SDP{ v=0 c=IN IP4 111.1.1.1 m=audio 1111 RTP/AVP 0 4 a=ptime:20 } } } } } 6. The MGC passes the session descriptor from AGW2 to AGW1 and places A4445 into SendReceive mode so ringback can pass through. At this time, the connection is cut-through the VoIP network in both directions. MGC -> AGW1: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10001 { Context = 2000 { Modify = A4445 { Media { LocalControl {Mode=SendReceive}, Remote = SDP { v=0 c=IN IP4 111.1.1.1 m=audio 1111 RTP/AVP 0 4 a=ptime:20 } } } } } AGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Reply = 10001 { Context = 2000 {Modify, Modify} } Sharp Category - Informational 38 Megaco Applicability for T1 RBS October 1999 7. AGW2 sends Loop Close on the indicated channel. 8. When AGW2 detects Dial Tone it transmits the DTMF digits to the CO FXO and notifies the MGC . MEGACO/1.0 [124.124.125.222]:55555 Transaction = 2001 { Context = 5000 { Notify = ds0_3/5/3{ ObservedEvents =3333 { 19990729T22020002:Trunk/wk } } } } The MGC acknowledges: MEGACO/1.0 [124.124.124.121]:55566 Reply = 2001 { Context = 5000 {Notify} } 9. At this time there is an end-to-end full-duplex path between the DS0 on AGW1 and the DS0 on AGW2. Ringing is provided by the SCN. In addition, since FX doesn't provide answer supervision, there is no answer signal from the CO FXO. 10. FXO does not provide disconnect supervision. Therefore, if the called endpoint hangs up, the calling endpoint must recognize that the remote end has hung up the phone and must then hang up the phone in order for the network to know that the call is disconnected. In this example, the called user hangs up the phone. The calling endpoint recognizes the disconnect and hangs up, thus causing the FXS to send a Loop Open. AGW1 -> MGC: MEGACO/1.0 [124.124.124.222]:55555 Transaction = 5552 { Context = 2000 { Notify = ds0_1/11/4{ObservedEvents =2224 { 19990729T24020002:FX/lo}} } } Sharp Category - Informational 39 Megaco Applicability for T1 RBS October 1999 MGC -> AGW1 MEGACO/1.0 [124.124.124.121]:55566 Reply = 5553 { Context = 2000 {Notify} } 11. a. The MGC sends a Subtract to AGW1 to delete the connection. Note that two transactions are bundled into the message. The first transaction subtracts the terminations from Context 5000. The second programs the DS0 termination in the null Context with its default parameters and to detect Loop Close (for a new call). The reply acknowledges both transactions. MGC -> AGW1: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 10003 { Context = 2000 { Subtract = ds0_1/11/4, Subtract = A5556 } } Transaction = 10004 { Context = - { Modify = ds0_1/11/4{ Media { TerminationState { BufferedEventHandling{Step,Process} }, LocalControl { Mode = ReceiveOnly} }, Events = 2225 { FX/lc { Action { NotifyAction: Signals{FX/dt}, Events=2226 { FX/DTMF{ ACTION{DigitMap=DialPlan_0} } }, Events = 2227 {FX/lo{ Action {NotifyAction}} } } } } } } } Sharp Category - Informational 40 Megaco Applicability for T1 RBS October 1999 AGW1 -> MGC MEGACO/1.0 [124.124.124.222]:55555 Reply = 10003 { Context = 2000 { Subtract, Subtract { Statistics { RTPPkg/PacketsSent=1245, RTPPkg/OctetsSent=62345, RTPPkg/PacketsReceived=780, RTPPkg/OctetsReceived=45123, RTPPkg/PacketsLost=10, RTPPkg/Jitter=27, RTPPkg/AverageLatency=48 } } } } Reply = 10004 { Context = - { Modify } } b. At the same time, the MGC sends a modify to AGW2 to send a Loop Open signal to the CO FXO. Note that Event 3335 is still outstanding looking for onhook. This transaction also includes a Subtract for both terminations. MGC -> AGW2: MEGACO/1.0 [124.124.124.121]:55566 Transaction = 7003 { Context = 5000 { Modify = ds0_3/5/3 { Signals {FX/lo} }, Subtract = ds0_3/5/3, Subtract = A5556 } } Sharp Category - Informational 41 Megaco Applicability for T1 RBS October 1999 AGW2 -> MGC: MEGACO/1.0 [124.124.125.222]:55555 Reply = 7003 { Context = 5000 { Modify, Subtract, Subtract { Statistics { RTPPkg/PacketsSent=1245, RTPPkg/OctetsSent=62345, RTPPkg/PacketsReceived=780, RTPPkg/OctetsReceived=45123, RTPPkg/PacketsLost=10, RTPPkg/Jitter=27, RTPPkg/AverageLatency=48 } } } } 7. Security Considerations This document does not introduce any more security issues than is applicable to draft-ietf-megaco-protocol-04.txt. 9. References [0] TR-NPL-000258, "Compatibility Information for Feature Group D Switched Access Services", Issue 1, October 1985. Telcordia [1] EIA/TIA 464-B. [2] ITU draft Recommendation H.248. [3] Rosen et.al, draft-ietf-megaco-protocol-04.txt 10. Acknowledgments Thanks to Christian Huitema for the use of the call flows from the MGCP call flows draft and to Brian Rosen for encoding examples. 11. Author's Addresses Chip Sharp Cisco Systems, Inc. Email: chsharp@cisco.com Sharp Category - Informational 42 Megaco Applicability for T1 RBS October 1999 Full Copyright Statement "Copyright (C) The Internet Society (date). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implmentation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into Sharp Category - Informational 43