A.1 UE sending USSD request, no further information required

24.3903GPPRelease 17Stage 3TSUnstructured Supplementary Service Data (USSD) using IP Multimedia (IM) Core Network (CN) subsystem IMS

In the example flow at the figure A.1-1, UE 1 sends a USSD request. The USSD application does not require further information, the USSD operation is successful and the USSI AS sends a USSD response towards UE 1.

Figure A.1-1: UE sends USSD request

NOTE: For clarity, the SIP 100 (Trying) responses are not shown in the signalling flow.

1. UE-1 sends INVITE request containing the USSD request — see example in table A.1-1

UE sends the INVITE request.

By including the Recv-Info header field, the UE indicates its support for the g.3gpp.ussd info package.

Table A.1-1: INVITE request (UE-1 to P-CSCF)

INVITE sip:*135%23;phone-context=home1.net@home1.net;user=dialstring SIP/2.0

Via: SIP/2.0/UDP [5555::aaa:bbb:ccc:ddd]:1357;branch=z9hG4bKnashds7

Max-Forwards: 70

Route: <sip:pcscf1.visited1.net:7531;lr>, <sip:scscf1.home1.net;lr>

Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3gpp-service.ims.icsi.mmtel"

P-Preferred-Identity: "John Doe" <sip:user1_public1@home1.net>

P-Access-Network-Info: 3GPP-UTRAN-TDD; utran-cell-id-3gpp=234151D0FCE11

Privacy: none

From: <sip:user1_public1@home1.net>;tag=171828

To: <sip:*135%23;phone-context=home1.net;user=dialstring>

Call-ID: cb03a0s09a2sdfglkj490333

Cseq: 127 INVITE

Require: sec-agree

Supported: precondition, 100rel, gruu

Proxy-Require: sec-agree

Security-Verify: ipsec-3gpp; q=0.1; alg=hmac-sha-1-96; ealg=aes-cbc; spi-c=98765432; spi-s=87654321; port-c=8642; port-s=7531

Contact: <sip:user1_public1@home1.net;gr=hdg7777ad7aflzig8sf7>; +g.3gpp.icsi-ref="urn%3Aurn-7%3gpp-service.ims.icsi.mmtel"

Allow: INVITE, ACK, CANCEL, BYE, PRACK, UPDATE, REFER, MESSAGE, INFO

Accept: application/sdp; application/3gpp-ims+xml; application/vnd.3gpp.ussd+xml

Recv-Info: g.3gpp.ussd

Content-Type: multipart/mixed; boundary=outer

Content-Length: (…)

–outer

Content-Type: application/sdp

v=0

o=- 2987933615 2987933615 IN IP6 5555::aaa:bbb:ccc:ddd

s=-

c=IN IP6 5555::aaa:bbb:ccc:ddd

t=0 0

m=audio 0 RTP/AVP 97 96

a=rtpmap:97 AMR

a=fmtp:97 mode-set=0,2,5,7; maxframes=2

a=rtpmap:96 telephone-event

–outer

Content-Type: application/vnd.3gpp.ussd+xml

<?xml version="1.0" encoding="UTF-8"?>

<ussd-data>

<language>en</language>

<ussd-string>*135#</ussd-string>

</ussd-data>

–outer—

Request-URI: in this example, the USSD message is *135#, and is represented as a dialstring.

Application/vnd.3gpp.ussd+xml MIME body: USSD message. The content of the <ussd-string> element included in the INVITE message must be equal to the dialstring inserted in the Request-URI.

2. INVITE request (P-CSCF to S-CSCF)

The P-CSCF forwards the INVITE request based on the Route header field.

3. INVITE request (S-CSCF to USSI AS)

The S-CSCF forwards the INVITE request containing the USSD message based on iFC to the USSI AS.

4. 200 (OK) response (USSI AS to S-CSCF)

The USSI AS sends a 200 (OK) response confirming the receipt of the INVITE request and to establish the dialog. The SIP 200 (OK) response will contain a Recv-Info header field set to g.3gpp.ussd.

5. 200 (OK) response (S-CSCF to P-CSCF)

The S-CSCF forwards the 200 (OK) response along the Via header field.

6. 200 (OK) response (P-CSCF to UE-1)

The P-CSCF forwards the 200 (OK) response along the Via header field to the UE.

7. ACK request (UE-1 to P-CSCF)

The UE responds to the 200 (OK) response with an ACK request sent to the P-CSCF.

8. ACK request (P-CSCF to S-CSCF)

The P-CSCF forwards the ACK request to the S-CSCF.

9. ACK request (S-CSCF to USSI AS)

The S-CSCF forwards the ACK request to the USSI AS.

10. USSD operation

The USSI AS performs the requested USSD operation. Details of USSD processing are outside the scope of this specification.

In this example the USSD operation is successful and a response indicating success will be sent to the UE.

11. BYE request (USSI AS to S-CSCF) — see example in table A.1-2

Table A.1-2: BYE request (USSI AS to S-CSCF)

BYE sip:user1_public1@home1.net;gr=hdg7777ad7aflzig8sf7 SIP/2.0

Via SIP/2.0/UDP sip:as1.home1.net;branch=z9hG4bK332b23.1

Max-Forwards: 70

Route: <sip:scscf1.home1.net;lr>, <sip:pcscf1.visited1.net:7531;lr>

From: <tel: +1-237-555-3333>;tag=314159

To: <tel:+1-237-555-1111>;tag=171828

Call-ID: cb03a0s09a2sdfglkj490334

Cseq: 129 BYE

Content-Type: application/vnd.3gpp.ussd+xml

Content-Length:

<?xml version="1.0" encoding="UTF-8"?>

<ussd-data>

<language>en</language>

<ussd-string>

Hello, your credit is $175.50. Thanks for your query.

We are happy to assist. Your operator

</ussd-string>

</ussd-data>

Application/vnd.3gpp.ussd+xml MIME body: USSD message.

12. BYE request (S-CSCF to P-CSCF)

The S-CSCF forwards the BYE request to the P-CSCF.

13. BYE request (P-CSCF to UE-1)

The P-CSCF forwards the BYE request to the UE. The UE recognizes the application/vnd.3gpp.ussd+xml and displays the string.

14. 200 (OK) response (UE-1 to P-CSCF)

The UE sends a 200 (OK) confirming the BYE request.

15. 200 (OK) response (P-CSCF to S-CSCF)

The P-CSCF forwards the 200 (OK) to the S-CSCF.

16. 200 (OK) response (S-CSCF to USSI AS)

The S-CSCF forwards the 200 (OK) response to USSI AS.