Digi doesm't support USSD codes over IP, however some phones try to send them in this way, get a reject from the network and they do a fallback to 3G afterwards:
1. Xiaomi Mi6 tries to send USSD over IMS/VoLTE. A SIP Invite is sent to call the USSD code : *111# (Digi Mobil Info) - the message is below.
2. The IMS network rejects the Invite with a SIP 403 Forbidden
3. Based on this reject code, the phone requests a CSFB (Extended Service Request detailed in 3rd screenshot), it moves to 3G, it is authenticated again and requests the USSD over 3G.
Network Signal Guru screenshots:
IMS Message
Version : 1
Direction : UE To Network (1)
SDP Presence : 1
SIP Call ID Length : 34
SIP Message Length : 2337
SIP Message Logged Bytes : 2338
Message ID : IMS_SIP_INVITE (2)
Response Status Code : 0
CM Call ID : 0
SIP Call ID : xxxxxxxxxxxxx@yyyyyyyyyyyy
SIP Message : INVITE sip:*111%23;phone-context=ims.mnc005.mcc226.3gppnetwork.org@ims.mnc005.mcc226.3gppnetwork.org;user=dialstring SIP/2.0
From: <sip:+40aaaaaaaaaa@ims.mnc005.mcc226.3gppnetwork.org>;tag=4632675372
To: <sip:*111%23;phone-context=ims.mnc005.mcc226.3gppnetwork.org@ims.mnc005.mcc226.3gppnetwork.org;user=dialstring>
CSeq: 888594608 INVITE
Call-ID: xxxxxxxxxxxxx@yyyyyyyyyyyy
Via: SIP/2.0/TCP xxxxxx:yyyy;branch=zzzzzzz
Max-Forwards: 70
Contact: <sip:xxxxx:rrrrr>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel";video;g.3gpp.nw-init-ussi;+g.3gpp.mid-call;+g.3gpp.srvcc-alerting;+g.3gpp.ps2cs-srvcc-orig-pre-alerting
Route: <sip:10.13.110.135:4444;lr>
P-Access-Network-Info: 3GPP-E-UTRAN-TDD; utran-cell-id-3gpp=226054323251
Security-Verify: ipsec-3gpp;alg=hmac-md5-96;prot=esp;mod=trans;ealg=aes-cbc;spi-c=36437;spi-s=3626262;port-c=9950;port-s=9900
Proxy-Require: sec-agree
Require: sec-agree
P-Preferred-Identity: <sip:+xxxxxxxxx@ims.mnc005.mcc226.3gppnetwork.org>
Allow: INVITE,ACK,CANCEL,BYE,UPDATE,PRACK,MESSAGE,REFER,NOTIFY,INFO,OPTIONS
Content-Type: multipart/mixed;boundary=boundary1
Accept: application/sdp,application/3gpp-ims+xml,application/vnd.3gpp.ussd+xml,multipart/mixed
Recv-Info: g.3gpp.ussd
P-Preferred-Service: urn:urn-7:3gpp-service.ims.icsi.mmtel
Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel"
Supported: timer,100rel,replaces,precondition,histinfo,tdialog
P-Early-Media: supported
User-Agent: Xiaomi_MI MIX 2_Android7.1_9 - haha
Content-Length: 723
Session-Expires: 1800;refresher=uac
--boundary1
Content-Type: application/sdp
v=0
o=- 1016 1000 IN IP4 aa.bb.cc.dd
s=QC VOIP
c=IN IP4 10.16.11.96
t=0 0
m=audio 0 RTP/AVP 104 102 96 97
b=AS:41
b=RS:600
b=RR:2000
a=rtpmap:104 AMR-WB/16000/1
a=fmtp:104 mode-change-capability=2;max-red=0
a=rtpmap:102 AMR/8000/1
a=fmtp:102 mode-change-capability=2;max-red=0
a=rtpmap:96 telephone-event/16000
a=fmtp:96 0-15
a=rtpmap:97 telephone-event/8000
a=fmtp:97 0-15
a=sendrecv
a=maxptime:240
a=ptime:20
--boundary1
Content-Type: application/vnd.3gpp.ussd+xml
Content-Disposition: render;handling=optional
<?xml version="1.0" encoding="UTF-8"?>
<ussd-data>
<language>en</language>
<ussd-string>*111#</ussd-string>
</ussd-data>
--boundary1--
No comments:
Post a Comment