17.04.2015 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!