8e8f2b6f8dc9ed69f72de3e812eae9882793cc57
[profile/ivi/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
39                 string Respond(string reply)
40
41                         Send a response to the network either when
42                         it is awaiting further input after Initiate()
43                         was called or after a network-initiated request.
44
45                         Possible Errors: [service].Error.InProgress
46                                          [service].Error.NotActive
47                                          [service].Error.NotImplemented
48                                          [service].Error.InvalidArguments
49                                          [service].Error.InvalidFormat
50                                          [service].Error.Failed
51
52                 void Cancel()
53
54                         Cancel an ongoing USSD session, mobile- or
55                         network-initiated.
56
57                         Possible Errors: [service].Error.NotActive
58                                          [service].Error.InProgress
59                                          [service].Error.NotImplemented
60                                          [service].Error.Failed
61
62                 dict GetProperties()
63
64                         Returns Supplementary Services related properties. See
65                         the properties section for available properties.
66
67 Signals         NotificationReceived(string message)
68
69                         Signal is emitted on a network-initiated USSD
70                         request for which no response is needed.
71
72                 RequestReceived(string message)
73
74                         Signal is emitted on a network-initiated USSD
75                         request for which a response must be sent using
76                         the Respond method unless it is cancelled or
77                         the request is not supported.
78
79                 PropertyChanged(string property, variant value)
80
81                         Signal is emitted whenever a property has changed.
82                         The new value is passed as the signal argument.
83
84 Properties      string State [readonly]
85
86                         Reflects the state of current USSD session.  The
87                         values have the following meanings:
88
89                         "idle"                  No active USSD session.
90                         "active"                A session is active between the
91                                                 network and the ME, the ME is
92                                                 waiting for a reply from the
93                                                 network.
94                         "user-response"         The network is waiting for the
95                                                 user's response, client must
96                                                 call Respond().
97
98
99 Initiate method output arguments
100 ================================
101
102 The first return argument and the corresponding second return argument are:
103
104         "USSD"                          string ussd_response
105         "CallBarring"                   (string ss_op, string cb_service,
106                                         dict cb_dict)
107         "CallForwarding"                (string ss_op, string cf_service,
108                                         dict cf_dict)
109         "CallWaiting"                   (string ss_op, dict cw_dict)
110         "CallingLinePresentation"       (string ss_op, string status)
111         "ConnectedLinePresentation"     (string ss_op, string status)
112         "CallingLineRestriction"        (string ss_op, string clir_status)
113         "ConnectedLineRestriction"      (string ss_op, string status)
114
115 ss_op contains the supplementary service operation:
116
117         "activation"
118         "registration"
119         "interrogation"
120         "deactivation"
121         "erasure"
122
123 cb_service contains the call barring service for which the operation was
124 requested:
125
126         "AllOutgoing"
127         "InternationalOutgoing"
128         "InternationalOutgoingExceptHome"
129         "AllIncoming"
130         "IncomingWhenRoaming"
131         "AllBarringServices"
132         "AllOutgoingServices"
133         "AllIncomingServices"
134
135 cf_service contains the call forwarding service for which the operation was
136 requested:
137
138         "Unconditional"
139         "Busy"
140         "NoReply"
141         "NotReachable"
142         "All"
143         "AllConditional"
144
145 cb_dict contains basic service/call barring service combinations that were
146 affected by SS operation and their current status ("enabled" or "disabled").
147 The basic services are:
148
149         "Voice"
150         "Data"
151         "Fax"
152         "Sms"
153         "DataSync"
154         "DataAsync"
155         "DataPad"
156         "DataPacket"
157
158 To those the name of call barring service is appended, so the property and
159 value is for example:
160
161         "FaxIncomingWhenRoaming" : "disabled"
162
163 cf_dict contains call forwarding properties affected by the operation.
164 Propery names are formed from basic service name and call forwarding
165 service name, for example:
166
167         "VoiceNoReply" : "+12345678"
168
169 The property value is the phone number to which the call is forwarded.
170
171 For "NoReply" service, there is also a timeout property, holding the timeout
172 in seconds, for example:
173
174         "VoiceNoReplyTimeout" : 20
175
176 cw_dict contains basic services with "CallWaiting" suffix that were affected
177 by call waiting operation and their current status ("enabled" or "disabled"),
178 for example:
179
180         "VoiceCallWaiting" : "enabled"
181
182 status can be "disabled" or "enabled".
183 clir_status can be "disabled", "permanent", "on" or "off".
184
185 More information about supplementary services is provided in
186 call-barring-api.txt, call-forwarding-api.txt and call-settings-api.txt