The QoS requirement for a session depends on the media and codec information for the session. Initial session establishment in the IM Subsystem must determine a common codec (or set of common codecs for multimedia sessions) that will be used for the session. This is done through an end-to-end message exchange to determine the complete set of common codecs, and then the session initiator makes the decision as to the initial set of codecs for the media flows.
The session initiator includes an SDP in the SIP INVITE message that lists every codec that the originator is willing to support for this session. When the message arrives at the destination endpoint, it responds with the subset that it is also willing to support for the session by selectively accept or decline those media types in the original list. When multiple media codecs are listed, the caller and called party's media fields must be aligned - that is, there must be the same number, and they must be listed in the same order. QoS authorization is performed for this common subset. The P-CSCF(PDF) shall use the SDP contained in the SIP signalling to calculate the proper authorization. The authorization shall include limits on IP resources, and restrictions on IP packet flows, and may include restrictions on IP destinations. These restrictions are expressed as a data rate and QoS class for the combined set of IP flows, and a set of filter specs.
The QoS authorization for a session shall include an Authorization-Token, which shall be assigned by the P-CSCF(PDF). The Authorization-Token shall contain information that identifies the P-CSCF(PDF) that generated the token. Each authorized session may include several flow authorizations. Each flow authorization may include an authorization for one or more flows. The authorization shall contain the following information:
-
Filter Specs (IP flow 5-tuples that identify the set of flows)
-
Data rate and QoS class that describes the authorized resource for the set of flows
-
The IP flow 5-tuples includes Source Address, Source Port, Destination Address, Destination Port and Protocol ID. Note that some fields may be wildcarded.
A typical SDP description consists of a session-level description (details that apply to the whole session and all media flows) and the several media-level descriptions (details that apply to a single media flow). The four critical components for mapping an SDP description into a QoS authorization are the media announcements ("m="), the connection data ("c="), the attributes ("a=") and the bandwidth ("b=").
The media announcements field contains information about the type of media session, and is of the form:
m=<media> <port> <transport> <fmt list>
The attributes field contains attributes of the preceding media session, and is of the form:
The connection data field contains information about the media connection, and is of the form:
c=<network type> <address type> <connection address>
The optional bandwidth field contains information about the bandwidth required, and is of the form:
b=<modifier>:<bandwidth-value>
An example SDP description from the session originator in the SIP INVITE message:
v=0
o=hshieh 2890844526 2890842807 IN IP4 saturn.attws.com
s=-
c=IN IP4 192.141.10.188
t=0 0
b=AS:64
m=audio 29170 RTP/AVP 3 96 97
a=rtpmap:96 G726-32/8000
a=rtpmap:97 AMR
a=fmtp:97 mode-set=0,2,5,7; maxframes=2
m=video 51372 RTP/AVP 34
a=fmtp 34 SQCIF=2/MaxBitRate=500/SAC AP
m=application 32416 udp text_chat
The called party answers the call and returns the following SDP description in the SIP 183 message:
v=0
o=johndoe 2890844526 2890842807 IN IP4 uranus.solar.com
s=-
c=IN IP4 204.142.180.111
t=0 0
b=AS:64
m=audio 31160 RTP/AVP 3 97
a=rtpmap:97 AMR
a=fmtp:97 mode-set=0,2,5,7; maxframes=2
a=recvonly
m=video 61000 RTP/AVP 31
a=fmtp 34 SQCIF=2/MaxBitRate=500/SAC AP
m=application 33020 udp text_chat
a=sendonly
Upon receiving the above SDP, the originator's P-CSCF will authorize QoS resource for the originator UE with the following media flows:
A uplink audio flow:
The following IP 5-tuples identify the flow:
Since the conversational audio is very sensitive to delay, the maximum QoS class corresponding to conversational traffic class would be set. The b parameter is used to determine the maximum authorised data rate.
An uplink video flow:
The following IP 5-tuples identify the flow:
The video flow may be assigned a maximum QoS class corresponding to streaming traffic class. The b parameter is used to determine the data rate.
A downlink video flow:
The following IP 5-tuples identify the flow:
The video flow may be assigned a maximum QoS class corresponding to streaming traffic class. The b parameter is used to determine the maximum authorised data rate.
A downlink udp flow:
The following IP 5-tuples identify the flow:
The udp application flow may be assigned a maximum QoS class corresponding to interactive. The b parameter is used to determine the data rate.