Thanks Richard for your extensive comments, this helps a lot. You wrote:
> Furthermore, it is acceptable that offerer and answerer end up using > different payload type number for the same codec. In that case the > number indicates the payload type field the offerer/answerer expects to > receive (see RFC 3264 5.1 and 6.1). That means after the Re-Invite the > session is actually still valid: both sides send PCMA RTP; the server > fills the payload type field with value 118 and the client with value 8. But in RFC 3264, 6.1 it is stated: > For streams marked as sendrecv in the answer, > the "m=" line MUST contain at least one codec the answerer is willing > to both send and receive, from amongst those listed in the offer. So the "m="line has to contain one payload value of the offer?! Best Regards Philipp Schöning Am Mo., 29. Okt. 2018 um 11:34 Uhr schrieb Richard Phernambucq < r.phernamb...@cuperus.nl>: > Hi Philipp, > > >> Is this actually possible that different payload type numbers have the > >> same attributes? > > Yes, see the second quote from RFC 3264. > > You have a point when you say this is not a change of codecs, but a > change of attributes for the same codec. This is allowed as stated in > RFC 3264 8.3.4 (Changing attributes). But you're not making it easy for > the answerer, especially since the new attributes have already been > negotiated for another payload type number during the original Invite. > To prevent interoperability issues you'd probably use payload type > number 118 in the Re-Invite, instead of changing the attributes for > payload type number 8. > > Furthermore, it is acceptable that offerer and answerer end up using > different payload type number for the same codec. In that case the > number indicates the payload type field the offerer/answerer expects to > receive (see RFC 3264 5.1 and 6.1). That means after the Re-Invite the > session is actually still valid: both sides send PCMA RTP; the server > fills the payload type field with value 118 and the client with value 8. > > Actually, according to RFC 3264, it isn't even necessary for the server > to send the Re-Invite. The codec in the Re-Invite offer/answer has > already been negotiated during the original Invite offer/anwer and the > offerer (server) is allowed switch between codecs during a session. This > is stated in chapter 5.1: > > If multiple formats are listed, it > means that the offerer is capable of making use of any of those > formats during the session. In other words, the answerer MAY change > formats in the middle of the session, making use of any of the > formats listed, without sending a new offer. > > > Best regards, > Richard Phernambucq > > On 29-10-2018 10:14, Philipp Schöning wrote: > > Hi Richard, > > > > thanks for your answer. > > > > I totally agree to you when you interprete this as a change of payload > type > > number from 118 to 8. > > But I think it is also a legitimate view, that this Re-Invite does not > > represent a change of payload type number, but a change of the attributes > > of payload 8. > > > > So in this case, parameters of codec 118 did not change, but only the > > parameter of 8 changed. > > Is this actually possible that different payload type numbers have the > same > > attributes? > > > > > > Best Regards > > Philipp Schöning > > > > > > Am Mo., 29. Okt. 2018 um 08:06 Uhr schrieb Richard Phernambucq < > > r.phernamb...@cuperus.nl>: > > > >> Hi Philipp, > >> > >> According to RFC 3264 the server sending the Re-Invite is wrong. See > >> chapter 8.3.2 (Changing of Set of Media Formats): > >> > >> (...) in the case of RTP, the mapping from a particular dynamic payload > >> type > >> number to a particular codec within that media stream MUST NOT > change > >> for the duration of a session. > >> > >> So changing the payload type number from 8 to 118 during the session is > >> not allowed. It would have been allowed though if payload type number > >> 118 wasn't already in use (see same chapter): > >> > >> (...) it is acceptable for multiple payload type numbers to be mapped to > >> the same > >> codec, so that an updated offer could also use payload type number > 72 > >> > >> > >> > >> Best regards, > >> Richard Phernambucq > >> > >> > >> > >> On 27-10-2018 14:52, Philipp Schöning wrote: > >>> Hi all, > >>> > >>> we saw a SIP implementation violating the SDP offer/answer procedure > when > >>> answering a Re-Invite. > >>> > >>> Here is the signalling: > >>> > >>> Server Client > >>> > >>> > >>> > >>> +----------------INVITE---------------------> > >>> > >>> m=audio 18410 RTP/AVP 8 100 118 > >>> > >>> b=AS:87 > >>> > >>> b=RS:1087 > >>> > >>> b=RR:3262 > >>> > >>> a=rtpmap:8 PCMA/8000 > >>> > >>> a=fmtp:8 vad=no > >>> > >>> a=rtpmap:100 telephone-event/8000 > >>> > >>> a=fmtp:100 0-15 > >>> > >>> a=rtpmap:118 PCMA/8000 > >>> > >>> a=gpmd:118 vbd=yes > >>> > >>> a=sendrecv > >>> > >>> > >>> > >>> <----------------200 OK---------------------+ > >>> > >>> m=audio 9158 RTP/AVP 8 118 100 > >>> > >>> a=rtpmap:8 PCMA/8000 > >>> > >>> a=fmtp:8 vad=no > >>> > >>> a=rtpmap:118 PCMA/8000 > >>> > >>> a=rtpmap:100 telephone-event/8000 > >>> > >>> a=fmtp:100 0-15 > >>> > >>> a=sendrecv > >>> > >>> > >>> > >>> +-----------------Re-Invite-----------------> > >>> > >>> m=audio 18410 RTP/AVP 8 > >>> > >>> a=rtpmap:8 PCMA/8000 > >>> > >>> a=gpmd:8 vbd=yes > >>> > >>> a=silenceSupp:off - - - - > >>> > >>> > >>> > >>> <----------------200 OK---------------------+ > >>> > >>> m=audio 9158 RTP/AVP 118 > >>> > >>> a=rtpmap:118 PCMA/8000 > >>> > >>> a=sendrecv > >>> > >>> > >>> In the last 200OK Client is sending a Payload type (118) which was not > >>> offered in the Re-Invite. The Re-Invite is generated when the SIP > Server > >> is > >>> detecting a fax transmission and applies ITU V.152 (Voice Band Data), > >> this > >>> is also how gpmd Attribute is introduced. > >>> > >>> > >>> The SIP Client vendor commented this on the case: > >>> > >>> *"after call is answered (media session is established), provider > >>> renegotiates codec set and changes PCMA codec description bound to > >> payload > >>> 8 with the description which was bound to payload 118 in initial > >>> negotiation of media session.* > >>> > >>> *It causes conflict, because new description of PCMA codec is already > >> bound > >>> to payload 118 in initial offer/answer.* > >>> > >>> > >>> *Voip provider can configure own side of trunk and avoid usage of > >>> non-standard extensions in payload description (remove unnecessary > >>> duplication of codecs). Also, provider need to preserve payload > >> definitions > >>> when renegotiate media session."* > >>> > >>> > >>> So is the vendor right by saying that payload description have to be > >>> preserved during a session? It did not find this in the SDP > offer/answer > >>> RFCs. > >>> > >>> We never saw any other vendor having issues with this signalling. > >>> > >>> > >>> Best Regards > >>> Philipp Schöning > >>> _______________________________________________ > >>> Sip-implementors mailing list > >>> Sip-implementors@lists.cs.columbia.edu > >>> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors > >> _______________________________________________ > >> Sip-implementors mailing list > >> Sip-implementors@lists.cs.columbia.edu > >> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors > >> > > _______________________________________________ > > Sip-implementors mailing list > > Sip-implementors@lists.cs.columbia.edu > > https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors > > _______________________________________________ > Sip-implementors mailing list > Sip-implementors@lists.cs.columbia.edu > https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors > _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors