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.