C.25 Generic test procedure for setting up MTSI MO video call – EPS
34.229-13GPPInternet Protocol (IP) multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP)Part 1: Protocol conformance specificationRelease 16TSUser Equipment (UE) conformance specification
Test procedure:
1) MO video call is initiated on the UE. The call is initiated towards the URI configured to SS as px_IMS_CalleeUri. Depending on the UE support this URI may be either SIP or Tel URI, possibly containing a dialstring indicating a global, home local or geo-local telephone number. SS waits the UE to send an INVITE request with first SDP offer
2) UE sends an INVITE request to the SS.
3) SS responds to the INVITE request with a 100 Trying response.
4) SS responds to the INVITE request with a 183 Session Progress response
5) SS waits for the UE to send a PRACK request possibly containing the second SDP offer.
6) SS responds to the PRACK request with a 200 OK.
7) SS waits for the UE to send a UPDATE request containing the final SDP offer.
8) SS responds to the UPDATE request with a 200 OK.
9) SS responds to the INVITE request with a 180 Ringing.
10) SS waits for the UE to send a PRACK request.
11) SS responds to the PRACK request with a 200 OK.
12) SS responds to the INVITE request with a 200 OK.
13) SS waits for the UE to send an ACK to acknowledge receipt of the 200 OK for INVITE.
Expected sequence:
|
Step |
Direction |
Message |
Comment |
|
|
UE |
SS |
|||
|
1 |
Make the UE attempt an IMS video call |
|||
|
2 |
🡪 |
INVITE |
UE sends INVITE with the first SDP offer. |
|
|
3 |
🡨 |
100 Trying |
SS sends a 100 Trying provisional response. |
|
|
4 |
🡨 |
183 Session Progress |
SS sends an SDP answer. |
|
|
5 |
🡪 |
PRACK |
UE acknowledges and optionally offer a second SDP if a dedicated EPS bearer is established by the network. |
|
|
6 |
🡨 |
200 OK |
SS sends a 200 OK and answers the second SDP if present. |
|
|
7 |
🡪 |
UPDATE |
Optional step: UE sends a second SDP if a dedicated EPS bearer is established by the network. |
|
|
8 |
🡨 |
200 OK |
Optional step: SS sends a 200 OK. |
|
|
9 |
🡨 |
180 Ringing |
SS sends a 180 Ringing. |
|
|
10 |
🡪 |
PRACK |
UE acknowledges. |
|
|
11 |
🡨 |
200 OK |
SS responds PRACK with 200 OK. |
|
|
12 |
🡨 |
200 OK |
SS responds INVITE with 200 OK. |
|
|
13 |
🡪 |
ACK |
UE acknowledges. |
|
Specific Message Contents
INVITE (Step 2)
Use the default message “INVITE for MO Call” in annex A.2.1 with the following exceptions:
|
Header/param |
Value/Remark |
|
Supported |
|
|
option-tag |
precondition |
|
Message-body |
The following SDP types and values. Session description: – v=0 – o=(username) (sess-id) (sess-version) IN (addrtype) (unicast-address for UE) – s=(session name) – c=IN (addrtype) (connection-address for UE) [Note 1] – b=AS: (bandwidth-value) Time description: – t= (start-time) (stop-time) Media description: – m=audio (transport port) RTP/AVP (fmt) – c=IN (addrtype) (connection-address for UE) [Note 1] – b=AS: (bandwidth-value) – b=RS: (bandwidth-value) – b=RR: (bandwidth-value) Attributes for media: – a=rtpmap: (payload type) AMR-WB/16000 [Note 3] – a=fmtp: (format) mode-change-capability=2; max-red= (att-field) [Note 4] – a=rtpmap: (payload type) telephone-event/16000 – a=fmtp: (format) – a=rtpmap: (payload type) AMR/8000 [Note 3] – a=fmtp: (format) mode-change-capability=2; max-red= (att-field) [Note 4] – a=rtpmap: (payload type) telephone-event/8000 – a=fmtp: (format) – a=ptime:20 – a=maxptime:240 Attributes for preconditions: – a=curr:qos local none – a=curr:qos remote none – a=des:qos mandatory local sendrecv – a=des:qos optional remote sendrecv Media description: – m=video (transport port) RTP/AVPF (fmt) or RTP/AVP (fmt) [Note 2] – c=IN (addrtype) (connection-address for UE) [Note 1] – b=AS: (bandwidth-value) – b=RS: (bandwidth-value) – b=RR: (bandwidth-value) Attributes for media: – a=tcap:1 RTP/AVPF [Note 2] – a=pcfg:1 t=1 [Note 2] – a=rtpmap: (payload type) H264/90000 – a=fmtp: (format) profile-level-id= (att-field) Attributes for preconditions: – a=curr:qos local none – a=curr:qos remote none – a=des:qos mandatory local sendrecv – a=des:qos optional remote sendrecv Note 1: At least one "c=" field shall be present. Note 2: The tcap/pcfg attributes are present if RTP/AVP is present on the m line. Note 3: The AMR channel number shall be “/1” or omitted. Note 4: Values from 0 to 220 are allowed |
183 Session Progress (Step 4)
Use the default message "183 Session Progress" in annex A.2.3 with the following exceptions:
|
Header/param |
Value/Remark |
|
Require |
|
|
option-tag |
precondition |
|
Message-body |
The following SDP types and values. Session description: – v=0 – o=- 1111111111 1111111111 IN (addrtype) (unicast-address for SS) – s=- – c=IN (addrtype) (connection-address for SS) – b=AS:30 Time description: – t=0 0 Media description: – m=audio (transport port) RTP/AVP (fmt) [Note 1] – b=AS: (bandwidth-value) [Note 1] – b=RS: (bandwidth-value) [Note 1] – b=RR: (bandwidth-value) [Note 1] Attributes for media: – a=rtpmap: (payload type) AMR-WB/16000/1 [Note 1] – a=fmtp: (format) mode-change-capability=2; max-red=220 [Note 1] – a=ptime:20 – a=maxptime:240 Attributes for preconditions: – a=curr:qos local none – a=curr:qos remote none – a=des:qos mandatory local sendrecv – a=des:qos mandatory remote sendrecv – a=conf:qos remote sendrecv Media description: – m=video (transport port) RTP/AVPF (fmt) [Note 1] – b=AS: (bandwidth-value) [Note 1] – b=RS: (bandwidth-value) [Note 1] – b=RR: (bandwidth-value) [Note 1] Attributes for media: – a=acfg:1 t=1 [Note 2] – a=rtpmap: (payload type) H264/90000 [Note 1] – a=fmtp: (format) (format specific parameters) [Note 1] Attributes for preconditions: – a=curr:qos local none – a=curr:qos remote none – a=des:qos mandatory local sendrecv – a=des:qos mandatory remote sendrecv – a=conf:qos remote sendrecv Note 1: The value for fmt, bandwidth, payload type, format and format specific parameters copied from step 2. Note 2: Present if tcap/pcfg attributes were included in step 2. Note 3: Void |
PRACK (Step 5)
Use the default message “PRACK” in annex A.2.4 with the exceptions:
|
Header/param |
Value/Remark |
|
Require option-tag |
precondition (shall be present if SDP message-body present) |
|
Message-body |
Header optional Contents if present: The following SDP types and values shall be present. Session description: – v=0 – o=(username) (sess-id) (sess-version) IN (addrtype) (unicast-address for UE) [Note 2] – s=(session name) – c=IN (addrtype) (connection-address for UE) [Note 1] – b=AS: (bandwidth-value) Time description: – t=0 0 Media description: – m=audio (transport port) RTP/AVP (fmt) – c=IN (addrtype) (connection-address for UE) [Note 1] – b=AS: (bandwidth-value) – b=RS: (bandwidth-value) – b=RR: (bandwidth-value) Attributes for media: – a=rtpmap: (payload type) AMR-WB/16000 [Note 3] – a=fmtp: (format) Attributes for preconditions: – a=curr:qos local sendrecv – a=curr:qos remote none – a=des:qos mandatory local sendrecv – a=des:qos optional remote sendrecv or a=des:qos mandatory remote sendrecv Media description: – m=video (transport port) RTP/AVPF (fmt) – c=IN (addrtype) (connection-address for UE) [Note 1] – b=AS: (bandwidth-value) – b=RS: (bandwidth-value) – b=RR: (bandwidth-value) Attributes for media: – a=rtpmap: (payload type) H264/90000 – a=fmtp: (format) profile-level-id= (att-field) Attributes for preconditions: – a=curr:qos local sendrecv – a=curr:qos remote none – a=des:qos mandatory local sendrecv – a=des:qos optional remote sendrecv or a=des:qos mandatory remote sendrecv Note 1: At least one "c=" field shall be present. Note 2: "o=" line identical to previous SDP sent by UE except that sess-version is incremented by one. Note 3: The AMR channel number shall be “/1” or omitted. |
200 OK for PRACK (Step 6)
Use the default message “200 OK for other requests than REGISTER or SUBSCRIBE” in annex A.3.1 with the following exceptions:
|
Header/param |
Value/remark |
|
Require option-tag |
precondition (shall be present if SDP message-body present) |
|
Content-Type |
Header optional Contents if present: |
|
media-type |
application/sdp |
|
Content-Length |
Contents if header Content-Type is present: |
|
Value |
length of message-body |
|
Message-body |
Header present if Prack (step 5) contained SDP. Contents if present: SDP body of the 200 response copied from the received PRACK and modified as follows: – "o=" line identical to previous SDP sent by SS except that sess-version is incremented by one – IP address on "c=" line and transport port on "m=" lines changed to indicate to which IP address and port the UE should start sending the media; Attributes for preconditions:
|
UPDATE (Step 7)
Use the default message “UPDATE” in annex A.2.5 with the following exceptions:
|
Header/param |
Value/remark |
|
Require |
Same contents as specified in step 5. |
|
Message-body |
Same contents as specified in step 5. |
200 OK for UPDATE (Step 8)
Use the default message “200 OK for other requests than REGISTER or SUBSCRIBE” in annex A.3.1 with the following exceptions:
|
Header/param |
Value/remark |
|
Require option-tag |
precondition |
|
Content-Type |
Header optional Contents if present: |
|
media-type |
application/sdp |
|
Content-Length |
Contents if header Content-Type is present: |
|
Value |
length of message-body |
|
Message-body |
SDP body of the 200 response copied from the received UPDATE and modified as follows: – "o=" line identical to previous SDP sent by SS except that sess-version is incremented by one – IP address on "c=" line and transport port on "m=" lines changed to indicate to which IP address and port the UE should start sending the media; Attributes for preconditions: – a=curr:qos remote sendrecv |