1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
SupplementaryServices hierarchy
==========================
Service org.ofono
Interface org.ofono.SupplementaryServices
Object path [variable prefix]/{modem0,modem1,...}
Methods string, variant Initiate(string command)
If the command is a recognized supplementary service
control string, the corresponding SS request is made
and the result is returned.
Otherwise the command is sent to the network
initiating a USSD session. When the request is handled
by the appropriate node of the network, the
method returns the response or an appropriate
error. The network may be awaiting further response
from the ME after returning from this method and no
new command can be initiated until this one is
cancelled or ended.
The output arguments are described in section
"Initiate method outptut arguments" below.
Possible Errors: [service].Error.Timedout
Possible Errors: [service].Error.Canceled
string Respond(string reply)
Send a response to the network either when
it is awaiting further input after Initiate()
was called or after a network-initiated request.
Possible Errors: [service].Error.Timedout
Possible Errors: [service].Error.Canceled
void Cancel()
Cancel an ongoing USSD session, mobile- or
network-initiated.
dict GetProperties()
Returns Supplementary Services related properties. See
the properties section for available properties.
Signals NotificationReceived(string message)
Signal is emitted on a network-initiated USSD
request for which no response is needed.
RequestReceived(string message)
Signal is emitted on a network-initiated USSD
request for which a response must be sent using
the Respond method unless it is cancelled or
the request is not supported.
PropertyChanged(string property, variant value)
Signal is emitted whenever a property has changed.
The new value is passed as the signal argument.
Properties string State [readonly]
Reflects the state of current USSD session. The
values have the following meanings:
"idle" No active USSD session.
"active" A session is active between the
network and the ME, the ME is
waiting for a reply from the
network.
"user-response" The network is waiting for the
user's response, client must
call Respond().
Initiate method output arguments
================================
The first return argument and the corresponding second return argument are:
"USSD" string ussd_response
"CallBarring" (string ss_op, string cb_service,
dict cb_dict)
"CallForwarding" (string ss_op, string cf_service,
dict cf_dict)
"CallWaiting" (string ss_op, dict cw_dict)
"CallingLinePresentation" (string ss_op, string status)
"CalledLinePresentation" (string ss_op, string status)
"CallingLineRestriction" (string ss_op, string clir_status)
"CalledLineRestriction" (string ss_op, string status)
ss_op contains the supplementary service operation:
"activation"
"registration"
"interrogation"
"deactivation"
"erasure"
cb_service contains the call barring service for which the operation was
requested:
"AllOutgoing"
"InternationalOutgoing"
"InternationalOutgoingExceptHome"
"AllIncoming"
"IncomingWhenRoaming"
"AllBarringServices"
"AllOutgoingServices"
"AllIncomingServices"
cf_service contains the call forwarding service for which the operation was
requested:
"Unconditional"
"Busy"
"NoReply"
"NotReachable"
"All"
"AllConditional"
cb_dict contains basic service/call barring service combinations that were
affected by SS operation and their current status ("enabled" or "disabled").
The basic services are:
"Voice"
"Data"
"Fax"
"Sms"
"DataSync"
"DataAsync"
"DataPad"
"DataPacket"
To those the name of call barring service is appended, so the property and
value is for example:
"FaxIncomingWhenRoaming" : "disabled"
cf_dict contains call forwarding properties affected by the operation.
Propery names are formed from basic service name and call forwarding
service name, for example:
"VoiceNoReply" : "+12345678"
The property value is the phone number to which the call is forwarded.
For "NoReply" service, there is also a timeout property, holding the timeout
in seconds, for example:
"VoiceNoReplyTimeout" : 20
cw_dict contains basic services with "CallWaiting" suffix that were affected
by call waiting operation and their current status ("enabled" or "disabled"),
for example:
"VoiceCallWaiting" : "enabled"
status can be "disabled" or "enabled".
clir_status can be "disabled", "permanent", "on" or "off".
More information about supplementary services is provided in
call-barring-api.txt, call-forwarding-api.txt and call-settings-api.txt
|