Hi Sundbaum Here the B side should adapt and change the common codec list to suit the one received. so change 100 to AMR/8000. Then the call will be successful.
Regards Ranjit On Fri, Jan 22, 2021 at 6:56 AM Sundbaum Per-Johan (Telenor Sverige AB) < per-johan.sundb...@telenor.se> wrote: > 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 > _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors