|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Codec Selection/Change during CallCodec selection/configuration for VoLTE / Video Call is performed by SDP (SDP Offer/Answer) during the call setup or during the call. Initial codec selection is done during Call setup process and Codec change can be done during the call. In the following sequence as an example, SDP procedure at step 1,3 is for initial codec selection. SDP procedure at step 13, 14 is for changing codec. SDP procedure 3,5,6,7 is to establish QoS for Precondition. For the detailed interpretation of Codec Related parameters, refer to SDP page. For QoS related parameters, refer to Precondition page.
Some highlights of the sample procedure shown above with focus on Codec Selection/Changes are as follows :
(1) INVITEINVITE sip:0123456789;phone-context=test.net@test.net;user=phone SIP/2.0 Allow: INVITE,ACK,OPTIONS,CANCEL,BYE,UPDATE,INFO,REFER,NOTIFY,MESSAGE,PRACK P-Preferred-Identity: <sip:310410123456789@test.net> User-Agent: TEST IMS CLIENT 4.0 P-Preferred-Service: urn:urn-7:3gpp-service.ims.icsi.mmtel CSeq: 1 INVITE Max-Forwards: 70 P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=31041000010000000 Route: <sip:[2001:0:0:2::2]:5060;lr> a: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel" c: application/sdp f: <sip:310410123456789@test.net>;tag=2763466811 i: 2270680280 k: 100rel,timer,precondition l: 733 m: <sip:310410123456789@[2001:0:0:2::1]:5060;transport=UDP>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel" t: <sip:0123456789;phone-context=test.net@test.net;user=phone> v: SIP/2.0/TCP [2001:0:0:2::1]:5060;branch=z9hG4bK932432170smg;transport=TCP
v=0 o=TEST-IMS-UE 1234562 0 IN IP6 2001:0:0:2::1 s=SS VOIP c=IN IP6 2001:0:0:2::1 t=0 0 m=audio 50000 RTP/AVP 116 107 97 115 111 110 b=AS:49 a=rtpmap:116 AMR-WB/16000 a=fmtp:116 mode-change-capability=2; max-red=0 a=rtpmap:107 AMR-WB/16000 a=fmtp:107 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:97 AMR/8000 a=fmtp:97 mode-change-capability=2; max-red=0 a=rtpmap:115 AMR/8000 a=fmtp The a=rtpmap and a=fmtp lines describe the specific audio codecs and their parameters that are being offered for the call, including their payload type identifiers, codec names, clock rates, and any additional codec-specific parameters. These details are crucial for the receiving party to understand what codecs and capabilities the sender supports, enabling them to choose a compatible codec for the session. Followings are the comments for each lines
(2) 100 TryingSIP/2.0 100 Trying Via: SIP/2.0/TCP [2001:0:0:2::1]:5060;branch=z9hG4bK932432170smg;transport=TCP Max-Forwards: 70 From: <sip:310410123456789@test.net>;tag=2763466811 To: <sip:0123456789;phone-context=test.net@test.net;user=phone> Call-ID: 2270680280 CSeq: 1 INVITE Content-Length: 0 (3) 183 Session ProgressSIP/2.0 183 Session Progress Max-Forwards: 70 Via: SIP/2.0/TCP [2001:0:0:2::1]:5060;branch=z9hG4bK932432170smg;transport=TCP From: <sip:310410123456789@test.net>;tag=2763466811 To: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 Call-ID: 2270680280 CSeq: 1 INVITE Contact: <sip:0123456789@[2001:0:0:2::2]:65094;transport=tcp> Record-Route: <sip:[2001:0:0:2::2];lr> Content-Type: application/sdp Require: precondition Require: 100rel RSeq: 1 Content-Length: 763 Privacy: none P-Asserted-Identity: <sip:0123456789>;phone-context=test.net@test.net;user=phone
v=0 o=anritsu 1 1 IN IP6 2001:0:0:2::2 s=SS VOIP c=IN IP6 2001:0:0:2::2 t=0 0 m=audio 60000 RTP/AVP 116 107 97 115 111 110 b=AS:49 a=rtpmap:116 AMR-WB/16000 a=fmtp:116 mode-change-capability=2; max-red=0 a=rtpmap:107 AMR-WB/16000 a=fmtp:107 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:97 AMR/8000 a=fmtp:97 mode-change-capability=2; max-red=0 a=rtpmap:115 AMR/8000 a=fmtp:115 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:111 telephone-event/16000 a=fmtp:111 0-15 a=rtpmap:110 telephone-event/8000 a=fmtp:110 0-15 a=curr:qos local none a=curr:qos remote none a=des:qos mandatory local sendrecv a=des:qos mandatory remote sendrecv a=sendrecv a=ptime:20 a=maxptime:240 a=conf:qos remote sendrecv a=rtcp:60001 The SDP part of the 183 Session Progress message outlines the proposed media session details from the answering party, which include the codecs being considered, the media type, and other session parameters. This is not the final acceptance of the session parameters but an indication of what the answering party can support. This SDP information is used by the parties to negotiate the audio settings for the call. The 183 message, in particular, does not establish the call but indicates progress toward call establishment and can be used to trigger early media like ringback tones.
(4) PRACKPRACK sip:0123456789@[2001:0:0:2::2]:65094;transport=UDP SIP/2.0 RAck: 1 1 INVITE CSeq: 2 PRACK Max-Forwards: 70 P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=31041000010000000 Route: <sip:[2001:0:0:2::2];lr> f: <sip:310410123456789@test.net>;tag=2763466811 i: 2270680280 k: precondition l: 0 t: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 v: SIP/2.0/UDP [2001:0:0:2::1]:5060;branch=z9hG4bK367193557smg;transport=UDP (5) 200 OKSIP/2.0 200 OK Max-Forwards: 70 Via: SIP/2.0/TCP [2001:0:0:2::1]:5060;branch=z9hG4bK1835967788smg;transport=TCP From: <sip:310410123456789@test.net>;tag=2763466811 To: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 Call-ID: 2270680280 CSeq: 3 UPDATE Allow: INVITE, ACK, CANCEL, BYE, PRACK, MESSAGE Contact: <sip:0123456789@[2001:0:0:2::2]:65094;transport=tcp> Record-Route: <sip:[2001:0:0:2::2];lr> Content-Type: application/sdp Content-Length: 743 Privacy: none
v=0 o=anritsu 1 2 IN IP6 2001:0:0:2::2 s=SS VOIP c=IN IP6 2001:0:0:2::2 t=0 0 m=audio 60000 RTP/AVP 116 107 97 115 111 110 b=AS:49 a=rtpmap:116 AMR-WB/16000 a=fmtp:116 mode-change-capability=2; max-red=0 a=rtpmap:107 AMR-WB/16000 a=fmtp:107 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:97 AMR/8000 a=fmtp:97 mode-change-capability=2; max-red=0 a=rtpmap:115 AMR/8000 a=fmtp:115 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:111 telephone-event/16000 a=fmtp:111 0-15 a=rtpmap:110 telephone-event/8000 a=fmtp:110 0-15 a=curr:qos local sendrecv a=curr:qos remote sendrecv a=des:qos mandatory local sendrecv a=des:qos mandatory remote sendrecv a=sendrecv a=ptime:20 a=maxptime:240 a=rtcp:60001 The SDP part of the 200 OK response message contains the session description, which confirms the media and codec configurations that the answering party is willing to use for the call. It includes information about the supported codecs, their settings, and network details. This SDP data reflects the answering party's agreement to the codec selection, including codec types, network parameters, and quality of service settings. The mode-change-capability parameter, as explained earlier, signifies the ability of certain codecs to change modes during the call, such as switching between different bitrates or quality levels.
(6) UPDATESIUPDATE sip:0123456789@[2001:0:0:2::2]:65094;transport=TCP SIP/2.0 Proxy-Require: sec-agree Security-Verify: CSeq: 3 UPDATE Max-Forwards: 70 P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=31041000010000000 Route: <sip:[2001:0:0:2::2];lr> c: application/sdp f: <sip:310410123456789@test.net>;tag=2763466811 i: 2270680280 l: 738 m: <sip:310410123456789@[2001:0:0:2::1]:5060;transport=UDP> t: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 v: SIP/2.0/TCP [2001:0:0:2::1]:5060;branch=z9hG4bK1835967788smg;transport=TCP
v=0 o=TEST-IMS-UE 1234562 1 IN IP6 2001:0:0:2::1 s=SS VOIP c=IN IP6 2001:0:0:2::1 t=0 0 m=audio 50000 RTP/AVP 116 107 97 115 111 110 b=AS:49 a=rtpmap:116 AMR-WB/16000 a=fmtp:116 mode-change-capability=2; max-red=0 a=rtpmap:107 AMR-WB/16000 a=fmtp:107 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:97 AMR/8000 a=fmtp:97 mode-change-capability=2; max-red=0 a=rtpmap:115 AMR/8000 a=fmtp:115 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:111 telephone-event/16000 a=fmtp:111 0-15 a=rtpmap:110 telephone-event/8000 a=fmtp:110 0-15 a=curr:qos local sendrecv a=curr:qos remote none a=des:qos mandatory local sendrecv a=des:qos mandatory remote sendrecv a=sendrecv a=ptime:20 a=maxptime:240 The SDP part of the UPDATE message contains a session description similar to that in an INVITE message, which proposes changes to the media session parameters. It lists the media type, the transport protocol, the formats available, and specific attributes for each format, including codec properties and Quality of Service (QoS) settings. Each fmtp line corresponds to a particular codec and contains codec-specific parameters. The mode-change-capability parameter indicates whether the codec can change modes during the session, and max-red is likely related to the maximum amount of redundancy that can be used with the codec, which is typically a feature used for error resilience.
(7) 200 OKSIP/2.0 200 OK Max-Forwards: 70 Via: SIP/2.0/TCP [2001:0:0:2::1]:5060;branch=z9hG4bK1835967788smg;transport=TCP From: <sip:310410123456789@test.net>;tag=2763466811 To: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 Call-ID: 2270680280 CSeq: 3 UPDATE Allow: INVITE, ACK, CANCEL, BYE, PRACK, MESSAGE Contact: <sip:0123456789@[2001:0:0:2::2]:65094;transport=tcp> Record-Route: <sip:[2001:0:0:2::2];lr> Content-Type: application/sdp Content-Length: 743 Privacy: none
v=0 o=anritsu 1 2 IN IP6 2001:0:0:2::2 s=SS VOIP c=IN IP6 2001:0:0:2::2 t=0 0 m=audio 60000 RTP/AVP 116 107 97 115 111 110 b=AS:49 a=rtpmap:116 AMR-WB/16000 a=fmtp:116 mode-change-capability=2; max-red=0 a=rtpmap:107 AMR-WB/16000 a=fmtp:107 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:97 AMR/8000 a=fmtp:97 mode-change-capability=2; max-red=0 a=rtpmap:115 AMR/8000 a=fmtp:115 octet-align=1;mode-change-capability=2; max-red=0 a=rtpmap:111 telephone-event/16000 a=fmtp:111 0-15 a=rtpmap:110 telephone-event/8000 a=fmtp:110 0-15 a=curr:qos local sendrecv a=curr:qos remote sendrecv a=des:qos mandatory local sendrecv a=des:qos mandatory remote sendrecv a=sendrecv a=ptime:20 a=maxptime:240 a=rtcp:60001 The SDP part of the 200 OK message confirms the media session details. This includes the chosen codecs, media type, network details, and other parameters necessary for establishing the media stream between the calling parties. The presence of mode-change-capability=2 in the fmtp attributes suggests the codecs can change modes dynamically during the call. The max-red=0 attribute likely indicates that there's no redundancy in the packet stream (redundancy can be used for error correction). The curr, des, and conf attributes related to QoS suggest the level of service quality that is currently in place, desired, and configured for both local and remote ends.
(8) 180 RingingSIP/2.0 180 Ringing Max-Forwards: 70 Via: SIP/2.0/TCP [2001:0:0:2::1]:5060;branch=z9hG4bK932432170smg;transport=TCP From: <sip:310410123456789@test.net>;tag=2763466811 To: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 Call-ID: 2270680280 CSeq: 1 INVITE Contact: <sip:0123456789@[2001:0:0:2::2]:65094;transport=tcp> Record-Route: <sip:[2001:0:0:2::2];lr> Require: 100rel RSeq: 2 Content-Length: 0 Privacy: none P-Asserted-Identity: <sip:0123456789>;phone-context=test.net@test.net;user=phone (9) PRACKPRACK sip:0123456789@[2001:0:0:2::2]:65094;transport=UDP SIP/2.0 RAck: 2 1 INVITE CSeq: 4 PRACK Max-Forwards: 70 P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=31041000010000000 Route: <sip:[2001:0:0:2::2];lr> f: <sip:310410123456789@test.net>;tag=2763466811 i: 2270680280 l: 0 t: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 v: SIP/2.0/UDP [2001:0:0:2::1]:5060;branch=z9hG4bK589904351smg;transport=UDP (10) 200 OKSIP/2.0 200 OK Max-Forwards: 70 Via: SIP/2.0/UDP [2001:0:0:2::1]:5060;branch=z9hG4bK589904351smg;transport=UDP From: <sip:310410123456789@test.net>;tag=2763466811 To: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 Call-ID: 2270680280 CSeq: 4 PRACK Allow: INVITE, ACK, CANCEL, BYE, PRACK, MESSAGE Contact: <sip:0123456789@[2001:0:0:2::2]:65487;transport=udp> Record-Route: <sip:[2001:0:0:2::2];lr> Supported: 100rel Content-Length: 0 Privacy: none (11) 200 OKSIP/2.0 200 OK Max-Forwards: 70 Via: SIP/2.0/TCP [2001:0:0:2::1]:5060;branch=z9hG4bK932432170smg;transport=TCP From: <sip:310410123456789@test.net>;tag=2763466811 To: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 Call-ID: 2270680280 CSeq: 1 INVITE Allow: INVITE, ACK, CANCEL, BYE, PRACK, MESSAGE Contact: <sip:0123456789@[2001:0:0:2::2]:65487;transport=udp> Record-Route: <sip:[2001:0:0:2::2];lr> Content-Length: 0 Privacy: none P-Asserted-Identity: <sip:0123456789>;phone-context=test.net@test.net;user=phone (12) ACKACK sip:0123456789@[2001:0:0:2::2]:65487;transport=UDP SIP/2.0 CSeq: 1 ACK Max-Forwards: 70 Route: <sip:[2001:0:0:2::2];lr> f: <sip:310410123456789@test.net>;tag=2763466811 i: 2270680280 l: 0 m: <sip:310410123456789@[2001:0:0:2::1]:5060;transport=UDP>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel" t: <sip:0123456789;phone-context=test.net@test.net;user=phone>;tag=1111111111 v: SIP/2.0/UDP [2001:0:0:2::1]:5060;branch=z9hG4bK2949521758smg;transport=UDP (13) INVITEINVITE sip:001010123456789@[2001::1:25d:73ef:d7ee:ad23]:39011 SIP/2.0 Via: SIP/2.0/UDP [2001:0:0:1::2]:62462;branch=z9hG4bK5825015f2daa40b18bc8d008c64830b916;transport=udp Via: SIP/2.0/UDP [2001:0:0:1::2]:50463;branch=z9hG4bK043306db200a4a35af2ad3f9b2f1bf7254d664d3 Max-Forwards: 69 Call-ID: 18059017b-44ecee05@2001::1:25d:73ef:d7ee:ad23 CSeq: 2 INVITE To: <sip:001010123456789@ims.mnc01.mcc001.3gppnetwork.org>;tag=544671805901a7-13d68399 From: <sip:0123456789@msg.lab.t-mobile.com;user=phone>;tag=1111111111 Allow: ACK, BYE, CANCEL, INVITE, PRACK, UPDATE Privacy: none User-Agent: Anritsu-VirtualUA/5fc2f47 Content-Type: application/sdp Content-Length: 230 Contact: <sip:0123456789@[2001:0:0:1::2]:50463;transport=udp>;+g.3gpp.icsi-ref="urn:urn-7:3gpp-service.ims.icsi.mmtel";video;+g.3gpp.srvcc-alerting P-Asserted-Identity: <sip:0123456789@msg.lab.t-mobile.com;user=phone> Record-Route: <sip:[2001:0:0:1::2]:62462;lr>
v=0 o=anritsu 754 350784 IN IP6 2001:0:0:1::2 s=- i=A VOIP Session c=IN IP6 2001:0:0:1::2 t=0 0 m=audio 60000 RTP/AVP 97 a=ptime:20 a=maxptime:240 a=rtcp:60001 a=sendrecv a=rtpmap:97 AMR-WB/16000 a=fmtp:97 mode-set=7 The SIP INVITE message is used to initiate a call or a session between two parties. It includes the request line, headers, and the Session Description Protocol (SDP) payload. The SDP part specifies the media capabilities, such as supported codecs and network information, that the initiator of the call is offering.
(14) 200 OKSIP/2.0 200 OK Via: SIP/2.0/UDP [2001:0:0:1::2]:62462;branch=z9hG4bK5825015f2daa40b18bc8d008c64830b916;transport=udp,SIP/2.0/UDP [2001:0:0:1::2]:50463;branch=z9hG4bK043306db200a4a35af2ad3f9b2f1bf7254d664d3 Record-Route: <sip:[2001:0:0:1::2]:62462;lr> Call-ID: 18059017b-44ecee05@2001::1:25d:73ef:d7ee:ad23 CSeq: 2 INVITE From: <sip:0123456789@msg.lab.t-mobile.com;user=phone>;tag=1111111111 To: <sip:001010123456789@ims.mnc01.mcc001.3gppnetwork.org>;tag=544671805901a7-13d68399 Contact: <sip:001010123456789@[2001::1:25d:73ef:d7ee:ad23]:39011;ob>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel";video;+g.3gpp.srvcc-alerting;+sip.instance="<urn:gsma:imei:35910506-000422-0>" Allow: INVITE,BYE,CANCEL,ACK,PRACK,UPDATE,INFO,REFER,NOTIFY,MESSAGE P-Preferred-Identity: <sip:001010123456789@ims.mnc01.mcc001.3gppnetwork.org> P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100000000000 Supported: timer Server: T-Mobile VoLTE-ePDG-RCS-IR94 LG-IMS-client/4.0.0 H81110t Content-Length: 439 Content-Type: application/sdp
v=0 o=sip:001010123456789@ims.mnc01.mcc001.3gppnetwork.org 3671104685 3671104686 IN IP6 2001:0:0:1::11 s=- c=IN IP6 2001:0:0:1::11 t=0 0 m=audio 50010 RTP/AVP 97 b=AS:48 b=RS:0 b=RR:1200 a=rtpmap:97 AMR-WB/16000 a=fmtp:97 mode-set=7 a=curr:qos local sendrecv a=curr:qos remote sendrecv a=des:qos optional local sendrecv a=des:qos mandatory remote sendrecv a=conf:qos remote sendrecv a=sendrecv a=ptime:20 a=maxptime:240 The SIP INVITE message is used to initiate a call or a session between two parties. It includes the request line, headers, and the Session Description Protocol (SDP) payload. The SDP part specifies the media capabilities, such as supported codecs and network information, that the initiator of the call is offering.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||