Hi ! I have a call scenario where I would appreciate opinions on which side is most correct or perhaps least incorrect !
Call is from external operator, but the interesting part is between pCSCF and a VoLTE-phone. (the logs is from between pCSCF and the VoLTE-phone) pCSCF sends initial INVITE with sdp to UAS(VoLTE-phone) SDP PDU v=0 o=- 805658488335263 1704590316 IN IP6 2A02:1400:10:1C::4 s=- c=IN IP6 2a02:1400:10:1::4 t=0 0 m=audio 5394 RTP/AVP 108 102 8 100 96 0 116 111 b=AS:141 a=rtpmap:108 AMR/8000 a=fmtp:108 mode-set=7; mode-change-period=2; mode-change-capability=2; mode-change-neighbor=1; max-red=0 a=rtpmap:102 AMR/8000 a=fmtp:102 mode-set=7; max-red=0 a=rtpmap:8 PCMA/8000 a=rtpmap:100 AMR/8000 a=fmtp:100 mode-change-period=2; mode-change-capability=2; mode-change-neighbor=1; max-red=0 a=rtpmap:96 AMR/8000 a=fmtp:96 max-red=0 a=rtpmap:0 PCMU/8000 a=rtpmap:116 telephone-event/8000 a=ptime:20 a=maxptime:20 a=rtpmap:111 telephone-event/16000 later in same dialog an AS sends re-INVITE without SDP which results in 200OK answer from UAS(VoLTE-phone) with SDP SDP PDU v=0 o=sip:+46708xxxx...@ims.mnc008.mcc240.3gppnetwork.org 1611316978 1 IN IP6 2a02:1400:df:245d:435:1205:68e0:1ac3 s=- c=IN IP6 2a02:1400:df:245d:435:1205:68e0:1ac3 t=0 0 a=sendrecv m=audio 49120 RTP/AVP 109 104 110 102 108 105 100 b=AS:50 b=RS:625 b=RR:1875 a=rtpmap:109 EVS/16000 a=fmtp:109 br=13.2-24.4; bw=nb-wb; max-red=0; cmr=-1; ch-aw-recv=-1 a=rtpmap:104 AMR-WB/16000 a=fmtp:104 max-red=220; mode-change-capability=2 a=rtpmap:110 AMR-WB/16000 a=fmtp:110 octet-align=1; max-red=220; mode-change-capability=2 a=rtpmap:102 AMR/8000 a=fmtp:102 max-red=220; mode-change-capability=2 a=rtpmap:108 AMR/8000 a=fmtp:108 octet-align=1; max-red=220; mode-change-capability=2 a=rtpmap:105 telephone-event/16000 a=fmtp:105 0-15 a=rtpmap:100 telephone-event/8000 a=fmtp:100 0-15 a=ptime:20 a=maxptime:20 a=sendrecv As you can see the offer in initial INVITE have payload type 100: a=rtpmap:100 AMR/8000 The offer in 200OK also have payload-type 100, but now it is: a=rtpmap:100 telephone-event/8000 I believe that this is causing failure when B-side (VoLTE-phone) is sending TelephoneEvent(DTMF) to A-side (UAC) Do you think A-side should adapt or maybe reject the offer in 200OK or do something else ? RFC3264 8.3.2 "However, 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. For example, if A generates an offer with G.711 assigned to dynamic payload type number 46, payload type number 46 MUST refer to G.711 from that point forward in any offers or answers for that media stream within the session. " BR/pj Sensitivity: Internal _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors