18 Nov 2011 13:04
Re: SDP telephone-event (DTMF) payload negotiation
Paul Kyzivat <pkyzivat <at> alum.mit.edu>
2011-11-18 12:04:02 GMT
2011-11-18 12:04:02 GMT
On 11/18/11 4:22 PM, RUOFF, LARS (LARS)** CTR ** wrote: > Hi all, > > New to this list. Apologies if this question has been asked many times before (my searches showed that it has, but i was still unable to find a definitive answer). > > The question is about SDP telephone-event (DTMF) payload negotiation. > > Imagine the following call setup between A and B: > INVITE A->B > SDP: > (among other media formats) > a=sendrecv > a=rtpmap:101 telephone-event/8000 > > 200 OK B->A > SDP: > (among other media formats) > a=sendrecv > a=rtpmap:97 telephone-event/8000 > > The question is: > Is the above legal? I.e. is B allowed to choose a different PT than proposed y A. > In case yes, what PT should the telephone-events be sent... > from A to B? > from B to A? > > Please corroborate your answers by providing normative references if possible. > > I studied RFC 3264 (SDP Offer/Answer Model) intensively, but could not conclude for a definitive answer in that particular case. From section 6.1: In the case of RTP, if a particular codec was referenced with a specific payload type number in the offer, that same payload type number SHOULD be used for that codec in the answer. Even if the same payload type number is used, the answer MUST contain rtpmap attributes to define the payload type mappings for dynamic payload types, and SHOULD contain mappings for static payload types. The media formats in the "m=" line MUST be listed in order of preference, with the first format listed being preferred. In this case, preferred means that the offerer SHOULD use the format with the highest preference from the answer. ... Once the answerer has sent the answer, it MUST be prepared to receive media for any recvonly streams described by that answer. It MUST be prepared to send and receive media for any sendrecv streams in the answer, and it MAY send media immediately. The answerer MUST be prepared to receive media for recvonly or sendrecv streams using any media formats listed for those streams in the answer, and it MAY send media immediately. When sending media, it SHOULD use a packetization interval equal to the value of the ptime attribute in the offer, if any was present. It SHOULD send media using a bandwidth no higher than the value of the bandwidth attribute in the offer, if any was present. The answerer MUST send using a media format in the offer that is also listed in the answer, and SHOULD send using the most preferred media format in the offer that is also listed in the answer. In the case of RTP, it MUST use the payload type numbers from the offer, even if they differ from those in the answer. From section 7: When the offerer receives the answer, it MAY send media on the accepted stream(s) (assuming it is listed as sendrecv or recvonly in the answer). It MUST send using a media format listed in the answer, From the above, "the same payload type number SHOULD be used", so its possible that a different payload type is used. And if so, - the answerer must send with the pt listed in the offer - the offerer must send with a media format listed in the answer It doesn't quite say that the offerer must send with a pt listed in the answer, but its clear for consistency that it should. That is widely understood to be the intent. Thanks, Paul _______________________________________________ Sip mailing list https://www.ietf.org/mailman/listinfo/sip This list is essentially closed and only used for finishing old business. Use sip-implementors <at> cs.columbia.edu for questions on how to develop a SIP implementation. Use dispatch <at> ietf.org for new developments on the application of sip. Use sipcore <at> ietf.org for issues related to maintenance of the core SIP specifications.