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