8.40 User initiated USSI / 5GS
34.229-53GPPInternet Protocol (IP) multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP)Part 5: Protocol conformance specification using 5G System (5GS)Release 16TSUser Equipment (UE) conformance specification
8.40.1 Test Purpose (TP)
(1)
with { UE being registered to IMS }
ensure that {
when { UE is being made to attempt user initiated USSI }
then { UE sends INVITE with SDP and ussd+xml bodies }
}
(2)
with { UE having sent INVITE }
ensure that {
when { UE receiving 100 Trying followed by 200 OK }
then { UE completes session initiation by sending ACK }
}
(3)
with { Session initiation being completed }
ensure that {
when { UE receives BYE containing ussd+xml body with ussd string and language element }
then { UE sends 200 OK response for BYE }
}
8.40.2 Conformance Requirements
The conformance requirements covered in the present test case are, unless otherwise stated, Rel-15 requirements.
[TS 24.390, clause 4.5.1]:
In the IM CN subsystem USSD messages can be transported in SIP INFO requests, SIP INVITE requests and SIP BYE requests, using an application/vnd.3gpp.ussd+xml MIME body.
Figure 4.1, figure 4.2, figure 4.3 and figure 4.4 give an overview of the supported USSD operations:
UE USSI AS
INVITE
————————————————————————————————————————>
language, ussd-String
BYE
<————————————————————————————————————————
language, ussd-String
BYE
<- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Error
Figure 4.1: UE initiated USSD operation, network does not request further information
[TS 24.390, clause 4.5.2]:
When a UE sends an initial INVITE request, in order to establish a USSD session, it shall include an SDP offer with one media description, according to subclause 6.1.2 of 3GPP TS 24.229 [6]. The UE shall add a zero port number value to the media descriptions of the SDP offer, in order to inform network entities that media resources are not requested for the session.
A pre-existing network initiated USSD session cannot be used to carry a user initiated USSD session.
When the USSI AS sends an SDP answer, it shall also add a zero port number value to any media description received in the associated SDP offer.
[TS 24.390, clause 4.5.3]:
If:
1) the domain selection for originating voice calls specified in 3GPP TS 23.221 [y] determines that the UE uses the IMS to originate voice calls; and
2) the UE is not configured with HPLMN operator preference for invocation of originating USSD requests using CS domain (e.g. see 3GPP TS 24.391 [13]);
or if the UE does not support the CS domain, then the UE can invoke the procedures in subclause 4.5.4, otherwise the UE shall not invoke the procedures in subclause 4.5.4.
[TS 24.390, clause 4.5.4.1]:
NOTE 1: The Content-Language SIP header field is not used to determine the language of the USSD string. Only the <language> XML element is used.
In order to send the initial USSD message, the UE shall send an initial INVITE request, according to 3GPP TS 24.229 [6]. The UE shall populate the request as follows:
1) Request-URI set to a SIP URI with user part including the USSD string and a "phone-context" parameter set to the home network domain name used in REGISTER request according to TS 24.229 [6], a host part set to the home network domain name used in REGISTER request as defined in TS 24.229 [6] a "user" URI parameter set to value "dialstring" as specified in RFC 4967 [7];
2) Recv-Info header field containing the g.3gpp.ussd info-package name;
3) Accept header field containing the application/vnd.3gpp.ussd+xml, application/sdp and multipart/mixed MIME types;
4) the Content-Type header, which shall contain "multipart/mixed";
5) SDP offer as described in subclause 4.5.2; and
6) application/vnd.3gpp.ussd+xml MIME body as described in subclause 5.1.3 with a Content-Disposition header field set to "render" and with "handling" header field parameter set to "optional". The XML document shall contain a single <ussd-string> element and may contain a <language> element.
…
When receiving a BYE request containing application/vnd.3gpp.ussd+xml MIME body, the UE shall, in addition to the procedures specified in 3GPP TS 24.229 [6], handle the application/vnd.3gpp.ussd+xml MIME body.
NOTE 2: According to 3GPP TS 24.229 [6], the UE can receive a BYE request without the application/vnd.3gpp.ussd+xml MIME body and in this case the dialog is terminated immediately.
When receiving a 404 (Not Found) response to INVITE request, the UE shall determine that an attempt to deliver the USSD request using IMS fails due to missing network support.
NOTE 3: 3GPP TS 23.221 [14] gives requirements related to failure of the USSD request using IMS due to missing network support.
[TS 24.390, clause 4.5.4.2]:
In addition to the procedures specified in this subclause, the USSI AS shall support the procedures specified in 3GPP TS 24.229 [6] for an AS.
NOTE 1: The Content-Language SIP header field is not used to determine the language of the USSD string. Only the <language> XML element is used.
Upon receiving an initial INVITE request with Request-URI containing the SIP URI including the USSD string and a "user" URI parameter set to value "dialstring" as specified in RFC 4967 [7], if the application/vnd.3gpp.ussd+xml MIME body contained in the request is accepted by the USSI AS, the USSI AS shall:
…
2) send 200 (OK) response to the request following the procedures specified for AS acting as a terminating UA in 3GPP TS 24.229 [6]. The USSI AS shall populate the 200 (OK) response to the request as follows:
a) Recv-Info header field containing the g.3gpp.ussd info-package name;
b) Accept header field containing the application/vnd.3gpp.ussd+xml, application/sdp and multipart/mixed MIME types; and
c) SDP answer as described in subclause 4.5.2.
Upon receiving an ACK request associated with the INVITE request, the USSI AS shall:
…
2) if the network successfully performed the USSD information and does not need any further information, send a BYE request in order to terminate the dialog. The USSI AS shall populate the BYE request with application/vnd.3gpp.ussd+xml MIME body, as described in subclause 5.1.3 including a <ussd-string> element and a <language> element; and
3) if the network informs the UE that the network is unable to process the USSD request or the network informs the UE that the network rejects the USSD request, send a BYE request in order to terminate the dialog. The USSI AS shall populate the BYE request with application/vnd.3gpp.ussd+xml MIME body, as described in subclause 5.1.3, including, a <error-code> element.
8.40.3 Test description
8.40.3.1 Pre-test conditions
System Simulator:
– 1 NR Cell connected to 5GC, default parameters.
UE:
– UE contains either ISIM and USIM applications or only USIM application on UICC.
– UE is configured to register for IMS after switch on.
Preamble:
– The UE has registered to IMS, by executing the generic test procedure in Annex A.2 up to the last step.
8.40.3.2 Test procedure sequence
Table 8.40.3.2-1: Main Behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
1 |
Make the UE attempt an user initiated USSI with USSD string “*#60#”. |
– |
– |
– |
– |
2 |
Check: Does the UE send INVITE message? |
–> |
INVITE |
1 |
P |
3 |
SS sends a 100 Trying provisional response. |
<– |
100 Trying |
– |
– |
4 |
SS sends a 200 OK. |
<– |
200 OK |
– |
– |
5 |
Check: Does the acknowledge reception of 200 OK |
–> |
ACK |
2 |
P |
6 |
SS sends BYE to release the session. |
<– |
BYE |
– |
– |
7 |
Check: Does the UE sends 200 OK for BYE |
–> |
200 OK |
3 |
P |
8.40.3.3 Specific message content
Table 8.40.3.3-1: INVITE (Step 2, table 8.40.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.2.1, Conditions A4 and A28. |
|||||||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
|||||
Request-Line |
|||||||||
Request-URI |
Request-URI set to a SIP URI with user part including the percent-encoded USSD string as used at step 1 and a "phone-context" parameter set to the home network domain name used in REGISTER request, a host part set to the home network domain name used in REGISTER request and a "user" URI parameter set to value "dialstring" Note: In USSD string *#60#, * may or may not be percent-encoded. |
||||||||
To |
|||||||||
addr-spec |
same as Request URI |
||||||||
tag |
not present |
||||||||
Supported |
|||||||||
option-tag |
timer – may or may not be present |
RFC 4028 [37] |
|||||||
Recv-Info |
|||||||||
Info-package-type |
g.3gpp.ussd |
||||||||
Accept |
application/vnd.3gpp.ussd+xml, application/sdp, multipart/mixed (additional medias can be added in any order) |
||||||||
Content-Type |
|||||||||
media-type |
multipart/mixed;boundary=any value |
||||||||
Message-body |
The following SDP types and values. –boundary value (as provided in SIP hdr Content-Type) Content-Type: application/sdp 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=(media) 0 [Note2] c=IN (addrtype) (connection-address for UE) [Note 1] b=AS: (bandwidth-value) –boundary value (as provided in SIP hdr Content-Type) Content-Type: application/vnd.3gpp.ussd+xml <?xml version="1.0" encoding="UTF-8"?> <ussd-data> <language>(language)</language> [Note 3] <ussd-string>( USSD string as used at step 1)</ussd-string> </ussd-data> –boundary value– (as provided in SIP hdr Content-Type) Note 1: At least one "c=" field shall be present. Note 2: media is the type of media like audio. Note 3: language is the type of USSD language coded as defined in IETF RFC 5646 [153] |
Table 8.40.3.3-1A: 100 Trying (Step 3, table 8.40.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.2.2, condition A1. |
Table 8.40.3.3-2: 200 OK for INVITE (Step 4, table 8.40.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.3.1, conditions A1, A10, and A19 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Recv-Info |
||||
Info-package-type |
g.3gpp.ussd |
|||
Accept |
application/vnd.3gpp.ussd+xml, application/sdp, multipart/mixed MIME types |
|||
Content-Type |
||||
media-type |
application/sdp |
|||
Message-body |
SDP body of the 200 response copied from the received INVITE and modified as follows: – o=- 1111111111 1111111111 IN (addrtype) (unicast-address for SS) – IP address on "c=" line changed to indicate to which IP address and port the UE should start sending the media; – "a=" lines are all removed. |
Table 8.40.3.3-2A: ACK (Step 5, table 8.40.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.2.7, conditions A1 and A3. |
Table 8.40.3.3-3: BYE (Step 6, table 8.40.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.2.8. |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Content-Type |
||||
media-type |
application/vnd.3gpp.ussd+xml |
|||
Message-body |
<?xml version="1.0" encoding="UTF-8"?> <ussd-data> <language>en</language> <ussd-string>148*7#</ussd-string> </ussd-data> |
Table 8.40.3.3-4: 200 OK for BYE (Step 7, table 8.40.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.3.1, conditions A5, A8, and A22. |