ITU - Telecommunications Standardization Sector Q1109-020 Study Group 16 – Question 11 Location: Arlington VA, USA. 30th September – 2nd October 2003 Source: Cisco Systems Title: SDP declaration and negotiation of VBD capabilities Contact: Rajesh Kumar Cisco Systems USA Tel: (408) 902 3299 Fax: (408) 527-7235 Email: rkumar@cisco.com Abstract This contribution provides examples for negotiating V.VBD operation, with emphasis on SDP. H.323 negotiation of V.VBD operation can be derived along similar lines. . Attention: This is not a publication made available to the public, but an internal ITU-T Document intended only for use by the Member States of the ITU, by ITU-T Sector Members and Associates, and their respective staff and collaborators in their ITU related work. It will not be made available to, and used by, any other persons or entities without the prior written consent of the ITU-T. Q1109-020 TABLE OF CONTENTS 1 REFERENCES ...................................................................................................................... 2 2 BACKGROUND ................................................................................................................... 2 3 EXAMPLE OF A COMPLETE SDP DESCRIPTOR WITH DECLARATION OF VBD SUPPORT ............................................................................................................................ 3 4 DECLARATION OF REDUNDANCY AND FORWARD ERROR CORRECTION... 4 5 INTEROPERABILITY BETWEEN V.VBD AND V.150.1 MEDIA GATEWAYS....... 4 5.1 5.2 REQUIREMENTS ON V.VBD-COMPLIANT GATEWAYS ....................................................... 5 NEGOTIATION OF CAPABILITIES BETWEEN V.VBD-COMPLIANT GATEWAYS AND V.150.1COMPLIANT GATEWAYS VIA SDP ................................................................................................. 5 5.3 EXAMPLE OF NEGOTIATION BETWEEN A V.VBD-COMPLIANT GATEWAY AND A V.150.1-6 5.3.1 Invite from a V.150.1-compliant gateway to a V.VBD-compliant gateway ............ 6 5.3.2 Invite from a V.VBD-compliant gateway to a V.150.1-compliant gateway ............ 9 1 References [1] ITU-T V.150.0 (2003), Modem over IP Networks - A Foundation. [2] ITU-T V.150.1 (2003), Procedures for the END-TO-END connection of V-series DCEs over an IP Network. [3] TR.30.1/03-07-050R1, Dallas, July 23rd – 25th, 2003, Indication of V.VBD and V.ToIP document version in channel negotiation. [4] Q1109-018, SG-16/11Dallas, Arlington, VA Sept. 29th – Oct. 3rd, 2003, Proposed list of VBD stimuli. [5] Q1109-019, SG-16/11Dallas, Arlington, VA Sept. 29th – Oct. 3rd, 2003, Media Switching to Voice Band Data. [6] Q1109-022, SG-16/11Dallas, Arlington, VA Sept. 29th – Oct. 3rd, 2003, New parameters for the negotiation of V.VBD operation. [7] Q1109-023, SG-16/11Dallas, Arlington, VA Sept. 29th – Oct. 3rd, 2003, Indication of V.VBD and V.ToIP document version in channel negotiation. 2 Background For a description of the parameters to be declared for the VBD capability, see sections 3.1 and 3.2 of Reference [5]. These parameters are identical to those in Annex E/V.150.1, with the exception of attribute vbdversn [3] and vndpar [6]. 2 Q1109-020 When declaring support for V.VBD operation, it is possible to also advertise support for V.ToIP and V.150.1 operation. Equivalent constructs are available, or will be made available, in H.245. 3 Example of a complete SDP descriptor with declaration of VBD support The following is an example of a complete SDP descriptor constructed by a gateway declaring VBD operation as defined in this Recommendation: v=0 o=- 2890844526 2890842807 IN IP4 128.96.41.1 s= c=IN IP4 128.96.41.1 t=0 0 m=audio 49230 RTP/AVP 0 2 8 18 97 98 a=gpmd:0 vbd=yes a=gpmd:8 vbd=yes a=rtpmap:97 telephone-event/8000 a=fmtp:97 0-15,32,33,34,35,66,70 a=rtpmap:98 v150fw/8000 a=vbdversn:1.1 m=image 49232 udptl t38 a=T38FaxRateManagement:transferredTCF a=T38FaxUdpEC:t38UDPFEC In this example, port 49230 is used for an RTP/AVP media stream. Port 49231 is used for the RTCP channel associated with this stream. Within the RTP/AVP media stream, the static payload types of 0 (PCMU) and 8 (PCMA) are marked for VBD treatment via the 'gpmd' attribute. The RFC 2833 telephone-event format is dynamically mapped into the payload type of 97. The 'fmtp' attribute is used to declare support of individual RFC 2833 events. Although events 32-35 (ANS, /ANS, ANSam, /ANSam) are included, this is not mandatory. Support for the SSEs defined in Recommendation V.150.1 is indicated by associating the token 'v150fw' with the dynamic payload type 98. Support of SSE events 1-3 is implicit in this declaration. No additional SSE events are supported. If there were such events, then an 'fmtp' line listing them would be needed (Annex E of V.150.1). Note that is possible to propose encryption of some or all of the RTP payload types by using the profile RTP/SAVP in lieu of RTP/AVP for those payload types. Due to restrictions on SDP syntax, encrypted and unencrypted payloads will need to be assigned to separate UDP ports. Per V.150.1/Annex C, the scope of SSEs extends to all UDP ports associated with a call. This session description indicates support for V.VBD.1 Revision 1. Note: Change ‘V.VBD.1’ to the number assigned to the VBD document. In addition to the RTP media stream, this session description declares a T.38-based facsimile relay media stream. This facsimile relay media stream is associated with port 49232. The media ('m=') line and associated attribute ('a=') lines conform to Annex D of Recommendation T.38 [9]. 3 Q1109-020 If an SPRT-based modem relay media stream or capability were declared in this SDP session description, then conformance with Annex E/V.150.1 would be required. Compliance with Annex E/V.150.1 does not preclude the inclusion of media streams and capabilities (such as T.38-based facsimile relay) not addressed in Recommendation V.150.1. Neither does it preclude the inclusion of a ‘vbdversn’ attribute indicating compliance with this Recommendation. 4 Declaration of Redundancy and Forward Error Correction The declaration, in SDP, of RFC 2198 redundancy and RFC 2733 FEC WILL conform to the rules in the applicable IETF source documents [References 4 and 5]. Although these rules are not repeated here, declaring RFC 2198 support for a VBD codec is illustrated with an example: m=audio 3456 RTP/AVP 0 15 102 a=gpmd:0 vbd=yes a=rtpmap:102 red/8000 a=fmtp:102 0/0 Examples of the declaration of FEC support are found in RFC 2733. This includes the use of a separate FEC stream and the combination of the FEC stream with the primary stream via RFC 2198 encapsulation. In the case when FEC is a separate stream, RFC 2733 uses an 'fmtp' line to associate this stream with an IP address and port. When FEC packets are sent to the same IP address and port (albeit a different SSRC) as the media packets they qualify, there is no need for the 'fmtp' line to associate the 'parityfec' payload type with an IP address and port. Thus, in the following SDP segment: c=IN IP4 224.2.17.12 t=0 0 m=audio 49170 RTP/AVP 0 15 78 a=gpmd:0 vbd=yes a=rtpmap:78 parityfec/8000 a=fmtp:78 49170 IN IP4 224.2.17.12 the last line is superfluous and MAY be omitted. Likewise, the absence of an 'fmtp' line associating an IP address and port with a FEC payload type WILL be construed to mean that the FEC packets are to be sent to the same IP address and port as the media packets they qualify. 5 Interoperability between V.VBD and V.150.1 media gateways Note: V.150.1-compliant media gateways are not required to reject offers that include VBD but do not include a modem relay capability. In fact, per SDP rules, they may accept such offers provided they have the resources to support VBD. This is likely to be the behavior of most V.150.1 gateways. 4 Q1109-020 When interoperating with each other, V.150.1-compliant media gateways and V.VBD gateways MUST, in order to settle on a common set of media streams/capabilities: use offer/answer mechanisms when using SDP, Fast Connect or H.245 logical channel signalling when using H.323. For brevity, the single term “offer” is used to refer to SDP offers, H.245 logical channels proposed through Fast Connect, or channels proposed through the H.245 Control Channel, as appropriate. Likewise, the single term “answer” refers to SDP answers, H.245 logical channels accepted in a Fast Connect response, or channels proposals accepted through the H.245 Control Channel, as appropriate. 5.1 Requirements on V.VBD-compliant gateways V.VBD-compliant gateways MUST be able to interoperate with V.l50.1-compliant media gateways. In order to do this, a V.VBD-compliant gateway MUST be able to: 1. Parse SDP or H.245 offers constructed by V.150.1-compliant gateways in accordance with the rules of V.150.1 Annexes E and F. 2. Construct SDP or H.245 answers that include a subset (proper or improper) of the capabilities in the offer. This subset must include VBD capability. 5.2 Negotiation of capabilities between V.VBD-compliant gateways and V.150.1compliant gateways via SDP The negotiation of media streams/capabilities between V.150.1-compliant gateways and V.VBD-compliant gateways is illustrated in Figure C.1. In this example, SDP is used for this negotiation. Note that, in addition to other considerations, the media streams/capabilities included in any offer/answer are contingent on resource availability. When it is the on-ramp (call originating) gateway, a V.150.1-compliant gateway declares an SPRT-based modem relay media stream/capability and associated parameters via SDP (Annex E of Recommendation V.150.1). This is in addition to other media streams/capabilities such as audio, VBD, SSEs, RFC 2833 telephone events, T.38 facsimile relay, RFC 2198 redundancy, RFC 2733 FEC, RFC 2793 text relay etc. A V.VBD-compliant gateway receiving this set of media streams/capabilities in the SDP WILL be able to parse all media/capability descriptions including those for modem relay. The answer that it returns will include VBD and SSEs. In this example, the answer from the V.VBD-compliant gateway does not include modem relay, although this is not necessarily so. Similarly, based on the gateway's decision, other media streams/capabilities may or may not be accepted in the answer. In the second part of this example, on-ramp gateway is a V.VBD-compliant gateway. The SDP offer from this V.VBD-compliant gateway happens to not include modem relay while including the required support for the VBD capability. Other media streams/capabilities such as audio, RFC 2833 telephone events, T.38 facsimile relay, RFC 2198 redundancy etc. MAY also be included in the offer. In the absence of resource constraints, a V.150.1-compliant peer gateway 5 Q1109-020 accepts this limited set of capabilities and constructs an answer that includes VBD and SSEs, but not modem relay. Based on the gateway's decision, other media streams/capabilities may or may not be accepted in the answer. V.VBD-compliant gateway V.150.1-compliant gateway SDP Offer (audio, VBD, modem relay, facsimile relay, text relay, SSEs, RFC 2833) SDP Answer (audio, VBD, facsimile relay, SSEs, RFC 2833) Although the V.VBD gateway does not include a modem relay capability in its answer, this need not necessarily be so. V.VBD-compliant gateway V.150.1-compliant gateway SDP Offer (audio, VBD, facsimile relay, SSEs, RFC 2833) SDP Answer (audio, VBD, facsimile relay, SSEs, RFC 2833) Figure C.1 - An example of SDP-based Capability offer/answer between a V.VBDcompliant gateway and a V.150.1-compliant gateway 5.3 Example of Negotiation between a V.VBD-compliant gateway and a V.150.1compliant gateway Although the examples in this section are limited to the use of SIP [13] and SDP [3], they provide concrete illustrations of the concepts outlined in the previous sections of this Annex. Similar examples can be constructed for other signalling/control protocols such as H.323 and H.248. 5.3.1 Invite from a V.150.1-compliant gateway to a V.VBD-compliant gateway In this example, a V.150.1-compliant gateway sends an SIP INVITE to a V.VBD-compliant gateway in which it advertises the following media streams/formats: 1. RTP/AVP formats not associated with VBD treatment: G.726-32 (payload type 2) and G.729 (payload type 18). The associated RTP/RTCP port pair is 49230/49231. 2. RTP/AVP formats associated with VBD treatment: PCMU (payload type 0) and PCMA (payload type 8). The associated RTP/RTCP port pair is 49230/49231. 6 Q1109-020 3. RFC 2833 telephone events: 0-15,32,33,34,35,66,70. The associated RTP/RTCP port pair is 49230/49231. The associated payload type is 97. 4. V.150.1 SSEs: Since no list is declared, all events basic to the SSE protocol are supported. These are events 0-4. The associated RTP/RTCP port pair is 49230/49231. The associated payload type is 98. 5. SPRT-based modem relay, per V.150.1. The associated UDP port number is 49232. The associated payload type is 100. The associated document version is Revision 1 of V.150.1. Other parameters qualifying modem relay operation are also included. 6. UDPTL-based facsimile relay, per T.38. The associated UDP port number is 49233. Other parameters qualifying facsimile relay operation are also included. In addition to indicating support for these media streams/capabilities, the V.150.1-compliant gateway indicates compliance with: 1. Recommendation V.150.1 via the format-specific parameter, 'versn', qualifying the payload type 100. This could have been omitted. 2. This Recommendation (V.VBD.1 version 1) via the media-level parameter, 'vbdversn'. The resulting SIP INVITE is as follows: INVITE sip:+1-212-555-1234@bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:+1-519-555-1234@bell-tel.com> To: T. Watson <sip:+1-212-555-1234@bell-tel.com> Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Subject: Mr. Watson, here is a an offer Content-Type: application/sdp Content-Length: ... v=0 o=- 2890844526 2890842807 IN IP4 128.96.41.1 s= c=IN IP4 128.96.41.1 t=0 0 m=audio 49230 RTP/AVP 0 2 8 18 97 98 a=gpmd:0 vbd=yes a=gpmd:8 vbd=yes a=rtpmap:97 telephone-event/8000 a=fmtp:97 0-15,32,33,34,35,66,70 a=rtpmap:98 v150fw/8000 a=vbdversn:1.1 m=audio 49232 udpsprt 100 a=sprtmap:100 v150mr/8000 a=fmtp:100 mr=0; mg=1; CDSCselect=3;mrmods=1,2;jmdelay=no;versn=1.1 m=image 49233 udptl t38 a=T38FaxRateManagement:transferredTCF a=T38FaxUdpEC:t38UDPFEC 7 Q1109-020 The V.VBD-compliant gateway in this example is able to understand the SDP descriptor even though it includes capabilities which it does not support. Also, it knows from the 'vbdversn' attribute that the remote media gateway supports VBD-only operation In its response depicted below, the V.VBD-compliant gateway rejects the modem relay media streams by setting its port number to 0 [11]. Note that if constructs from RFC 3407 were used to indicate V.150.1-based modem relay as a latent capability in the offer, the responding V.VBDcompliant gateway would only need to omit this capability in its response. Additionally, the V.VBD-compliant gateway reduces the set of non-VBD RTP codecs to G.729 (payload type 18). It also reduces the set of RTP codecs marked for VBD treatment to PCMU (payload type 0). For supported media (RTP/AVP and UDPTL-based T.38), the V.VBDcompliant gateway indicates the destination port at which it can receive those media. The RFC 2833 and SSE capabilities are identical to those in the INVITE. Also, the V.VBD-compliant gateway indicates compliance with Recommendation V.150.x version 1. The resulting SIP response is as follows: SIP/2.0 200 OK Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:+1-519-555-1234@bell-tel.com> To: T. Watson <sip:+1-212-555-1234@bell-tel.com> Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Contact: sip:watson@boston.bell-tel.com Content-Type: application/sdp Content-Length: ... v=0 o=- 4858949 4859222 IN IP4 224.2.17.12 s= c=IN IP4 224.2.17.12 t=0 0 m=audio 54344 RTP/AVP 0 18 97 98 a=gpmd:0 vbd=yes a=rtpmap:97 telephone-event/8000 a=fmtp:97 0-15,32,33,34,35,66,70 a=rtpmap:98 v150fw/8000 a=vbdversn:1.1 m=audio 0 udpsprt 100 m=image 54346 udptl t38 a=T38FaxRateManagement:transferredTCF a=T38FaxUdpEC:t38UDPFEC TheV.150.1-compliant media gateway in this example accepts this response from the VBD-only media gateway. The session is established (cut-through) when the V.150.1-compliant media gateway receives this SIP response. The media streams, formats and capabilities listed in the SIP response are the ones that are bound to the session. Note that the destination address and port numbers associated with the V.150.1-compliant gateway are per the SIP INVITE message. On receiving the SIP response, the V.150.1-compliant media gateway sends a SIP ACK to the VBDonly media gateway. 8 Q1109-020 5.3.2 Invite from a V.VBD-compliant gateway to a V.150.1-compliant gateway In this example, a V.VBD-compliant gateway sends an SIP INVITE to a V.150.1-compliant gateway in which it advertises the following media formats: 1. RTP/AVP formats not associated with VBD treatment: G.726-32 (payload type 2) and G.729 (payload type 18). The associated RTP/RTCP port pair is 49230/49231. 2. RTP/AVP formats associated with VBD treatment: PCMU (payload type 0) and PCMA (payload type 8). The associated RTP/RTCP port pair is 49230/49231. 3. RFC 2833 telephone events: 0-15,32,33,34,35,66,70. The associated RTP/RTCP port pair is 49230/49231. The associated payload type is 97. 4. V.150.1 SSEs: Since no list is declared, all events basic to the SSE protocol are supported. These are events 0-4. The associated RTP/RTCP port pair is 49230/49231. The associated payload type is 98. In addition to these media formats associated with the RTP media streams, the V.VBDcompliant gateway advertises a latent T.38 facsimile relay capability. In accordance with RFC 3407 [12], the T.38 capability and its attributes are expressed within an RFC 3407 capability set. This capability set is assigned a sequence number of 0 ('sqn'), and the embedded facsimile relay capability is numbered 1. Per RFC 3407, the facsimile relay attributes are embedded in capability parameter ('cpar') attributes. Also, the V.VBD-compliant gateway constructing this offer indicates compliance with Recommendation V.VBD.1 version 1. INVITE sip:+1-212-555-1234@bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:+1-519-555-1234@bell-tel.com> To: T. Watson <sip:+1-212-555-1234@bell-tel.com> Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Subject: Mr. Watson, here is a an offer Content-Type: application/sdp Content-Length: ... v=0 o=- 2890844526 2890842807 IN IP4 128.96.41.1 s= c=IN IP4 128.96.41.1 t=0 0 m=audio 49230 RTP/AVP 0 2 8 18 97 98 a=gpmd:0 vbd=yes a=gpmd:8 vbd=yes a=rtpmap:97 telephone-event/8000 a=fmtp:97 0-15,32,33,34,35,66,70 a=rtpmap:98 v150fw/8000 a=vbdversn:1.1 a=sqn:0 9 Q1109-020 a=cdsc:1 image udpsprt t38 a=cpar:a=T38FaxRateManagement:transferredTCF a=cpar:a=T38FaxUdpEC:t38UDPFEC In this example, the V.150.1-compliant gateway receiving this SIP INVITE does not support T.38 facsimile relay. Therefore, in its response, the V.150.1-compliant gateway does not echo the latent T.38 facsimile relay capability advertised by the V.VBD-compliant gateway. Further, it reduces the set of non-VBD RTP codecs to G.729 (payload type 18). It also reduces the set of RTP codecs marked for VBD treatment to PCMU (payload type 0). For supported media (RTP/AVP), the V.VBD-compliant gateway indicates the destination port at which it can receive those media. The RFC 2833 and SSE capabilities are identical to those in the INVITE. Note that the session descriptor returned by the V.150.1-compliant gateway is not compliant with Annex E/V.150.1. Instead of indicating compliance with Recommendation V.150.1, the gateway indicates compliance with Recommendation V.VBD.1 version 1 through the 'vbdversn' attribute. The resulting SIP response is as follows: SIP/2.0 200 OK Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:+1-519-555-1234@bell-tel.com> To: T. Watson <sip:+1-212-555-1234@bell-tel.com> Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 INVITE Contact: sip:watson@boston.bell-tel.com Content-Type: application/sdp Content-Length: ... v=0 o=- 4858949 4859222 IN IP4 224.2.17.12 s= c=IN IP4 224.2.17.12 t=0 0 m=audio 54344 RTP/AVP 0 18 97 98 a=gpmd:0 vbd=yes a=rtpmap:97 telephone-event/8000 a=fmtp:97 0-15,32,33,34,35,66,70 a=rtpmap:98 v150fw/8000 a=vbdversn:1.1 The V.VBD-compliant gateway in this example accepts this response from the V.150.1compliant gateway. The session is established (cut-through) when the V.VBD-compliant gateway receives this SIP response. The media streams, formats and capabilities listed in the SIP response are the ones that are bound to the session. Note that the destination address and port numbers associated with the V.VBD-compliant gateway are per the SIP INVITE message. On receiving the SIP response, the VBD-only media gateway sends a SIP ACK to the V.150.1compliant media gateway. 10