SDP Codec Selection and QoS Signaling in an ... - EventHelix.com
SDP Codec Selection and QoS Signaling in an ... - EventHelix.com
SDP Codec Selection and QoS Signaling in an ... - EventHelix.com
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>SDP</strong> Use <strong>in</strong> <strong>an</strong> IMS-to-IMS Call (<strong>SDP</strong> <strong>Codec</strong> <strong>Selection</strong> <strong><strong>an</strong>d</strong> <strong>QoS</strong> <strong>Signal<strong>in</strong>g</strong>)<br />
Call<strong>in</strong>g UE Core Network Called UE<br />
Caller User<br />
Equipment<br />
GGSN Called User<br />
Equipment<br />
Caller GGSN Called<br />
EventStudio System Designer 4.0<br />
07-Dec-07 22:30 (Page 1)<br />
Session Description Protocol (<strong>SDP</strong>) specifies a format for exch<strong>an</strong>g<strong>in</strong>g stream<strong>in</strong>g related parameters between SIP subscribers. The follow<strong>in</strong>g<br />
sequence diagram focuses on the <strong>SDP</strong> <strong>in</strong>teractions between two IMS subscribers. The flow covers two phases of the <strong>SDP</strong> negotiation:<br />
(1) <strong>Codec</strong> selection between the call<strong>in</strong>g <strong><strong>an</strong>d</strong> call IMS subscribers.<br />
(2) <strong>SDP</strong> signal<strong>in</strong>g <strong>in</strong>volved <strong>in</strong> exch<strong>an</strong>g<strong>in</strong>g quality of service <strong>in</strong>formation.<br />
This sequence diagram was generated with EventStudio System Designer 4.0 (http://www.<strong>EventHelix</strong>.<strong>com</strong>/EventStudio). Copyright © 2007<br />
<strong>EventHelix</strong>.<strong>com</strong> Inc. All Rights Reserved.<br />
<strong>Codec</strong> <strong>Selection</strong><br />
Initiate Call<br />
called@hims2.net<br />
Prepare a list of supported voice<br />
<strong><strong>an</strong>d</strong> video codecs<br />
INVITE<br />
v=0,<br />
o=- IN IPV6 ,<br />
c=IN IPV6 ,<br />
s=-,<br />
t= 0,<br />
m=audio RTP/AVP 96 97 98,<br />
a=rtpmap:96 H263,<br />
a=rtpmap:97 AMR,<br />
a=rtpmap:98 telephone-event,<br />
a=curr:qos local none,<br />
a=curr:qos remote none,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory local sendrecv,<br />
a=des:qos none remote sendrecv<br />
The user <strong>in</strong>itiates a call to called@hims2.net.<br />
The call<strong>in</strong>g <strong>in</strong>cludes all supported codecs. This <strong>in</strong>formation is <strong>in</strong>cluded as the first <strong>SDP</strong><br />
offer <strong>in</strong> the <strong>in</strong>itial <strong>in</strong>vite.<br />
The user term<strong>in</strong>al sends the <strong>in</strong>itial INVITE with three voice codecs. The term<strong>in</strong>al also<br />
<strong>in</strong>idicates that it will need to allocate resources to meet the quality of service (<strong>QoS</strong>)<br />
requirements for codecs. The "m=" l<strong>in</strong>e specifies the , the tr<strong>an</strong>sport type<br />
(RTP/AVP) <strong><strong>an</strong>d</strong> the supported codecs ids(96, 97 <strong><strong>an</strong>d</strong> 98). The "a=rtpmap" l<strong>in</strong>es map the<br />
codec ids 96, 97 <strong><strong>an</strong>d</strong> 98 to H263, AMR <strong><strong>an</strong>d</strong> telephone-event (DTMF) respectively. The<br />
"a=curr" l<strong>in</strong>es specify the the <strong>QoS</strong> for the caller (local) <strong><strong>an</strong>d</strong> the called (remote) ends are not<br />
currently met. The second last l<strong>in</strong>e <strong>in</strong>dicates that the caller (local) needs to allocate<br />
resources <strong>in</strong> send <strong><strong>an</strong>d</strong> receive directions to meet the quality of service requirements for the<br />
codec. The last l<strong>in</strong>e <strong>in</strong>dicates that the caller end has no specific requirements for the called<br />
(remote) user.<br />
183 Session Progress<br />
Prepare a list of <strong>Codec</strong>s <strong>com</strong>mon<br />
between the Caller <strong><strong>an</strong>d</strong> the Called<br />
subscriber<br />
v=0,<br />
o=- IN IPV6 ,<br />
c=IN IPV6 ,<br />
s=-,<br />
t= 0,<br />
m=audio RTP/AVP 96 97,<br />
a=rtpmap:96 H263,<br />
a=rtpmap:97 AMR,<br />
a=curr:qos local none,<br />
a=curr:qos remote none,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory local sendrecv,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory remote sendrecv,<br />
a=conf:qos remote sendrecv<br />
The Called subscriber exam<strong>in</strong>es the <strong>SDP</strong> list of available codec. It prunes the list by<br />
exclud<strong>in</strong>g codecs that are not supported by the called subscriber. This list will be <strong>in</strong>cluded<br />
<strong>in</strong> the 183 message sent to the caller.<br />
The UE replies back with 96 <strong><strong>an</strong>d</strong> 97 <strong>in</strong> the "m=" l<strong>in</strong>e. 98 is removed as telephone-event<br />
(DTMF h<strong><strong>an</strong>d</strong>l<strong>in</strong>g) is not supported. The called UE also uses the "a=curr" l<strong>in</strong>es to specify that<br />
<strong>QoS</strong> for the session is currently not met. Note that the "a=des" l<strong>in</strong>es now signify that called<br />
(local) also needs to allocate resources for meet<strong>in</strong>g the <strong>QoS</strong>. This message also <strong>in</strong>structs<br />
the caller (remote) to <strong>in</strong>form the called subscriber when the caller acquires the resources<br />
for meet<strong>in</strong>g the <strong>QoS</strong>. This <strong>QoS</strong> confirmation is be<strong>in</strong>g requested <strong>in</strong> the last l<strong>in</strong>e ("a=conf").<br />
PDP Contect Activation <strong>QoS</strong> <strong>Signal<strong>in</strong>g</strong><br />
Select one <strong>Codec</strong> from the<br />
<strong>com</strong>mon codec list<br />
PRACK<br />
v=0,<br />
o=- IN IPV6 ,<br />
c=IN IPV6 ,<br />
s=-,<br />
t= 0,<br />
m=audio RTP/AVP 97,<br />
a=rtpmap:97 AMR,<br />
a=curr:qos local none,<br />
a=curr:qos remote none,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory local sendrecv,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory remote sendrecv<br />
Activate PDP Context<br />
200 OK<br />
v=0,<br />
o=- IN IPV6 ,<br />
c=IN IPV6 ,<br />
s=-,<br />
t= 0,<br />
m=audio RTP/AVP 97,<br />
a=rtpmap:97 AMR,<br />
a=curr:qos local none,<br />
a=curr:qos remote none,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory local sendrecv,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory remote sendrecv<br />
Activate PDP Context<br />
The Caller exam<strong>in</strong>es the received <strong>com</strong>mon codec list <strong><strong>an</strong>d</strong> selects the codec to activate.<br />
The Caller now sends a PRACK to <strong>in</strong>form the called subscriber about the selected <strong>Codec</strong>.<br />
The caller has selected the AMR codec. This is signaled by the "m=" <strong><strong>an</strong>d</strong> "a=" l<strong>in</strong>es.<br />
Now that the codec to be used has been selected, the PDP context activation is <strong>in</strong>itiated for<br />
allocat<strong>in</strong>g resources for meet<strong>in</strong>g the Quality of Service (<strong>QoS</strong>) requirements for the codec.<br />
The called subscriber acknowledges the PRACK. The message also <strong>in</strong>dicates that quality of<br />
service for the session is not met for the called subscriber.<br />
The f<strong>in</strong>al codec at the called side is decided. So <strong>in</strong>itiate the PDP context activation to<br />
allocate resources for meet<strong>in</strong>g the <strong>QoS</strong> of the term<strong>in</strong>at<strong>in</strong>g leg of the call.
<strong>SDP</strong> Use <strong>in</strong> <strong>an</strong> IMS-to-IMS Call (<strong>SDP</strong> <strong>Codec</strong> <strong>Selection</strong> <strong><strong>an</strong>d</strong> <strong>QoS</strong> <strong>Signal<strong>in</strong>g</strong>)<br />
Call<strong>in</strong>g UE Core Network Called UE<br />
EventStudio System Designer 4.0<br />
Caller User GGSN Called User<br />
Equipment<br />
Equipment<br />
07-Dec-07 22:30 (Page 2)<br />
Caller GGSN Called<br />
Activate PDP Context Accept The called PDP context activation has been <strong>com</strong>pleted. At this po<strong>in</strong>t, the caller <strong><strong>an</strong>d</strong> the<br />
called PDP contexts are both active. The <strong>QoS</strong> for the call c<strong>an</strong> now be met.<br />
Activate PDP Context Accept<br />
The caller PDP context activation has been <strong>com</strong>pleted.<br />
UPDATE<br />
v=0,<br />
o=- IN IPV6 ,<br />
c=IN IPV6 ,<br />
s=-,<br />
t= 0,<br />
m=audio RTP/AVP 97,<br />
a=rtpmap:97 AMR,<br />
a=curr:qos local sendrecv,<br />
a=curr:qos remote none,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory local sendrecv,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory remote sendrecv<br />
200 OK<br />
v=0,<br />
o=- IN IPV6 ,<br />
c=IN IPV6 ,<br />
s=-,<br />
t= 0,<br />
m=audio RTP/AVP 97,<br />
a=rtpmap:97 AMR,<br />
a=curr:qos local sendrecv,<br />
a=curr:qos remote sendrecv,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory local sendrecv,<br />
a=des:qos m<strong><strong>an</strong>d</strong>atory remote sendrecv<br />
S<strong>in</strong>ce the caller PDP context has been activated, notify the called end that the caller c<strong>an</strong><br />
now meet the quality of service <strong>in</strong> the send <strong><strong>an</strong>d</strong> receive direction. The "a=curr:qos local<br />
sendrecv" signals that the caller (local) PDP context has been established. Note that the<br />
UPDATE is be<strong>in</strong>g sent <strong>in</strong> response to the QOS confirmation request received <strong>in</strong> "183<br />
Session Progress" message from the caller.<br />
The caller replies back to the called user. Note that the "a=cur" l<strong>in</strong>e for the called (local) has<br />
been updated to <strong>in</strong>dicate that called end <strong>QoS</strong> is also met.<br />
R<strong>in</strong>g<strong>in</strong>g Now all the resources for the call are <strong>in</strong> place. R<strong>in</strong>g the called subscriber to notify the user<br />
about the <strong>in</strong><strong>com</strong><strong>in</strong>g call.<br />
180 R<strong>in</strong>g<strong>in</strong>g Inform the caller that the called subscriber is be<strong>in</strong>g rung. This serves as <strong>an</strong> implicit<br />
<strong>in</strong>dication to the caller that the <strong>QoS</strong> at the called side has also been met.<br />
PRACK<br />
The caller acknowledges the r<strong>in</strong>g<strong>in</strong>g message.<br />
200 OK The called subscriber acknowledges the PRACK.<br />
Answer The called subscriber <strong>an</strong>swers the call.<br />
200 OK Notify the caller that that the call has been <strong>an</strong>swered.<br />
ACK<br />
Conversation on a direct RTP/RTCP connection between the caller <strong><strong>an</strong>d</strong><br />
called subscriber SIP phones.<br />
The caller acknowledges the "200 OK" message. The call is now ready to enter conversation<br />
mode.