9fcf8aeee74e376913ed03cf3ca7dbc57b596a02
[framework/telephony/libslp-tapi.git] / mobile / include / TelSs.h
1 /*
2  * libslp-tapi
3  *
4  * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Ja-young Gu <jygu@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 /**
22  * @open
23  * @ingroup             TelephonyAPI
24  * @addtogroup  SS_TAPI SS(Supplementary services)
25  * @{
26  *
27  * @file TelSs.h
28
29  @brief This file serves as a "C" header file and defines structures for Tapi Supplementary Services\n
30  It contains a sample set of constants, enums, structs that would be required by applications.
31  */
32
33 #ifndef _TEL_SS_H_
34 #define _TEL_SS_H_
35
36 #include <TelDefines.h>
37 #include <TelErr.h>
38
39 #ifdef __cplusplus
40 extern "C"
41 {
42 #endif
43
44 /** maximum length of barring password */
45 #define TAPI_SS_GSM_BARR_PW_LEN_MAX                             4 /**<Maximum length of barring password */
46
47 /** maximum length of dial digit */
48 #define TAPI_CALL_DIALDIGIT_LEN_MAX                             82 /**<maximum length of dial digit *///( To Accommodate Unpacked string length, which will be greater than 182, 182* 8 /7 = 208, Packed len = 182* 7/8 = 160)
49 #define TAPI_SS_USSD_DATA_SIZE_MAX                              208      /**<User-to-user data maximum size */
50 #define TAPI_SS_RECORD_NUM_MAX                                  5 /**< SS record maximum size */
51 #define TAPI_SS_AOC_CURRENCY_LEN_MAX                    3 /**< maximum length of AOC currency */
52
53 /* Supplementary Svc */
54 #define TAPI_SS_ADDRESS_LEN_MAX                                 40
55 #define TAPI_SS_CCBS_SIZE_MAX                                   5
56 #define TAPI_SS_TELECOMM_SERVCE_SIZE_MAX                13
57 #define TAPI_SS_PHONE_NUM_LEN_MAX                               33
58 #define TAPI_SS_MMISTRING_LEN_MAX                               33
59 #define TAPI_SS_PWD_LEN_MAX                                             5
60 #define TAPI_MAX_RELEASE_COMPLETE_DATA_LEN              260
61 #define TAPI_MAX_ULONG                                                  0xffffffff
62
63 /**
64  *  This enumeration defines the call forwarding flavor.
65  */
66 typedef enum {
67         TAPI_SS_CF_WHEN_CFU = 0x01, /* 0x01 : Call Forwarding Unconditional */
68         TAPI_SS_CF_WHEN_CFB,        /* 0x02 : Call Forwarding Mobile Busy */
69         TAPI_SS_CF_WHEN_CFNRy,      /* 0x03 : Call Forwarding No Reply */
70         TAPI_SS_CF_WHEN_CFNRc,      /* 0x04 : Call Forwarding Not Reachable */
71         TAPI_SS_CF_WHEN_CF_ALL,     /* 0x05 : All Call Forwarding */
72         TAPI_SS_CF_WHEN_CFC,        /* 0x06 : All Conditional Call Forwarding */
73         TAPI_SS_CF_WHEN_MAX         /* 0x07 : Max */
74 } TelSsForwardWhen_t;
75
76 /**
77  * The various types of call barring. Note, only one type of incoming barring and only one type of outgoing barring may be active at any time.
78  */
79 typedef enum {
80         TAPI_SS_CB_TYPE_BAOC = 0x01,                /* 0x01 : Barring All Outgoing Calls */
81         TAPI_SS_CB_TYPE_BOIC,                /* 0x02 : Barring Outgoing International Calls */
82         TAPI_SS_CB_TYPE_BOIC_NOT_HC, /* 0x03 : Barring Outgoing International Calls
83                                                                  except to Home Country */
84         TAPI_SS_CB_TYPE_BAIC,                /* 0x04 : Barring All Incoming Calls */
85         TAPI_SS_CB_TYPE_BIC_ROAM,       /* 0x05 : Barring Incoming Calls when roam, 
86                                                                         outside of the Home Country */
87         TAPI_SS_CB_TYPE_AB,                   /* 0x06 : All Barring Services */
88         TAPI_SS_CB_TYPE_AOB,                 /* 0x07 : All Outgoing Barring Services */
89         TAPI_SS_CB_TYPE_AIB,                  /* 0x08 : All Incoming Barring Services */
90         TAPI_SS_CB_TYPE_BIC_NOT_SIM, /* 0x09 : Barring Incoming Calls which is
91                                                                  not stored in the SIM memory */
92         TAPI_SS_CB_TYPE_MAX
93 } TelSsBarringType_t;
94
95 /**
96  * This enumeration defines the ussd Indication Type
97  */
98 typedef enum {
99         TAPI_SS_USSD_STATUS_NOTIFY = 0x00, /**< notify : to display USSD data to user */
100         TAPI_SS_USSD_STATUS_NO_ACTION_REQUIRE = 0x01, /**< No further user action required */
101         TAPI_SS_USSD_STATUS_ACTION_REQUIRE = 0x02, /**< Further user action required*/
102         TAPI_SS_USSD_STATUS_TERMINATED_BY_NET = 0x03, /**< 0x03 : USSD terminated by network */
103         TAPI_SS_USSD_STATUS_OTHER_CLIENT = 0x04, /**< 0x04 : other local client has responded */
104         TAPI_SS_USSD_STATUS_NOT_SUPPORT = 0x05, /**< 0x05 : operation not supported */
105         TAPI_SS_USSD_STATUS_TIME_OUT = 0x06 /**< 0x06 : Time out when there is no response from network */
106 } TelSsUssdStatus_t;
107
108 /**
109  *
110  * This enum defines the values for USSD type.
111  */
112 typedef enum {
113         TAPI_SS_USSD_TYPE_USER_INIT = 0x01, /**< USSD request type User Initiated. */
114         TAPI_SS_USSD_TYPE_USER_RSP, /**< USSD request type User Response. */
115         TAPI_SS_USSD_TYPE_USER_REL /**< USSD request type User Release. */
116 } TelSsUssdType_t;
117
118 /**
119  *  This enumeration defines the call barring operation mode .
120  */
121 typedef enum {
122         TAPI_SS_CB_MODE_ACTIVATE, /**< Activate call barring  */
123         TAPI_SS_CB_MODE_DEACTIVATE, /**< De Activate call barring */
124 } TelSsBarringMode_t;
125
126 /**
127  *  This enumeration defines the call barring operation mode .
128  */
129 typedef enum {
130         TAPI_SS_CW_MODE_ACTIVATE, /**< Activate call barring  */
131         TAPI_SS_CW_MODE_DEACTIVATE, /**< De Activate call barring */
132 } TelSsCallWaitingMode_t;
133
134 /**
135  *  This enumeration defines the call type .
136  */
137 typedef enum {
138         /* TELESERVICE */
139         TAPI_SS_CLASS_ALL_TELE=0x10,                        /* 0x10 : All Teleservices */
140         TAPI_SS_CLASS_VOICE=0x11,                              /* 0x11 : All Voice ( telephony ) */
141         TAPI_SS_CLASS_ALL_DATA_TELE=0x12,             /* 0x12 : All Data Teleservices */
142         TAPI_SS_CLASS_FAX=0x13,                                /* 0x13 : All Fax Service */
143         TAPI_SS_CLASS_SMS=0x16,                                /* 0x16 : SMS service     */
144         TAPI_SS_CLASS_VGCS=0x17,                              /* 0x17 : Voice Group Call Service */
145         TAPI_SS_CLASS_VBS=0x18,                                /* 0x18 : Voice Broadcast */
146         TAPI_SS_CLASS_ALL_TELE_EXPT_SMS=0x19,    /* 0x19 : All teleservice except SMS */
147
148         /* BEARER SERVICE */
149         TAPI_SS_CLASS_ALL_BEARER=0x20,                  /* 0X20 : all bearer services */
150         TAPI_SS_CLASS_ALL_ASYNC=0x21,                    /* 0x21 : All Async services */
151         TAPI_SS_CLASS_ALL_SYNC=0x22,                      /* 0x22 : All sync services*/
152         TAPI_SS_CLASS_ALL_CS_SYNC=0x24,                /* 0x24 : All Circuit switched sync */
153         TAPI_SS_CLASS_ALL_CS_ASYNC=0x25,              /* 0x25 : All Circuit switched async */
154         TAPI_SS_CLASS_ALL_DEDI_PS=0x26,                /* 0x26 : All Dedicated packet Access */
155         TAPI_SS_CLASS_ALL_DEDI_PAD=0x27,              /* 0x27 : All Dedicated PAD Access */
156         TAPI_SS_CLASS_ALL_DATA_CDA=0x28,                /*0x28 : All Data CDA*/  
157
158         /* PLMN SPECIFIC TELESERVICE */
159         TAPI_SS_CLASS_PLMN_TELE_ALL = 0x50,         /*0x50 : PLMN specific teleservices*/
160         TAPI_SS_CLASS_PLMN_TELE_1 = 0x51,              /*0x51 :PLMN specific teleservice 1*/
161         TAPI_SS_CLASS_PLMN_TELE_2 = 0x52,             /*0x52 : PLMN specific teleservice 2*/
162         TAPI_SS_CLASS_PLMN_TELE_3 = 0x53,             /*0x53 : PLMN specific teleservice 3*/
163         TAPI_SS_CLASS_PLMN_TELE_4 = 0x54,             /*0x54 : PLMN specific teleservice 4*/
164         TAPI_SS_CLASS_PLMN_TELE_5 = 0x55,             /*0x55 : PLMN specific teleservice 5*/
165         TAPI_SS_CLASS_PLMN_TELE_6 = 0x56,             /*0x56 : PLMN specific teleservice 6*/
166         TAPI_SS_CLASS_PLMN_TELE_7 = 0x57,             /*0x57 : PLMN specific teleservice 7*/
167         TAPI_SS_CLASS_PLMN_TELE_8 = 0x58,             /*0x58 : PLMN specific teleservice 8*/
168         TAPI_SS_CLASS_PLMN_TELE_9 = 0x59,             /*0x59 : PLMN specific teleservice 9*/
169         TAPI_SS_CLASS_PLMN_TELE_A = 0x60,           /*0x60 :PLMN specific teleservice 10*/
170         TAPI_SS_CLASS_PLMN_TELE_B = 0x61,           /*0x61 :PLMN specific teleservice 11*/
171         TAPI_SS_CLASS_PLMN_TELE_C = 0x62,             /*0x62 : PLMN specific teleservice 12*/
172         TAPI_SS_CLASS_PLMN_TELE_D = 0x63,             /*0x63 : PLMN specific teleservice 13*/
173         TAPI_SS_CLASS_PLMN_TELE_E = 0x64,             /*0x64 : PLMN specific teleservice 14*/
174         TAPI_SS_CLASS_PLMN_TELE_F = 0x65,             /*0x65 : PLMN specific teleservice 15*/
175
176         /* PLMN SPECIFIC BEARER SERVICE */
177         TAPI_SS_CLASS_PLMN_BEAR_ALL = 0x70,         /*0x70 : All PLMN specific bearer services*/
178         TAPI_SS_CLASS_PLMN_BEAR_1 = 0x71,              /*0x71 :PLMN specific bearer service 1*/
179         TAPI_SS_CLASS_PLMN_BEAR_2 = 0x72,             /*0x72 : PLMN specific bearer service  2*/
180         TAPI_SS_CLASS_PLMN_BEAR_3 = 0x73,             /*0x73 : PLMN specific bearer service  3*/
181         TAPI_SS_CLASS_PLMN_BEAR_4 = 0x74,             /*0x74 : PLMN specific bearer service  4*/
182         TAPI_SS_CLASS_PLMN_BEAR_5 = 0x75,             /*0x75 : PLMN specific bearer service  5*/
183         TAPI_SS_CLASS_PLMN_BEAR_6 = 0x76,             /*0x76 : PLMN specific bearer service  6*/
184         TAPI_SS_CLASS_PLMN_BEAR_7 = 0x77,             /*0x77 : PLMN specific bearer service  7*/
185         TAPI_SS_CLASS_PLMN_BEAR_8 = 0x78,             /*0x78 : PLMN specific bearer service  8*/
186         TAPI_SS_CLASS_PLMN_BEAR_9 = 0x79,             /*0x79 : PLMN specific bearer service  9*/
187         TAPI_SS_CLASS_PLMN_BEAR_A = 0x80,            /*0x80 : PLMN specific bearer service  10*/
188         TAPI_SS_CLASS_PLMN_BEAR_B = 0x81,             /*0x81 : PLMN specific bearer service  11*/
189         TAPI_SS_CLASS_PLMN_BEAR_C = 0x82,            /*0x82 : PLMN specific bearer service  12*/
190         TAPI_SS_CLASS_PLMN_BEAR_D = 0x83,            /*0x83 : PLMN specific bearer service  13*/
191         TAPI_SS_CLASS_PLMN_BEAR_E = 0x84,             /*0x84 : PLMN specific bearer service  14*/
192         TAPI_SS_CLASS_PLMN_BEAR_F = 0x85,             /*0x85 : PLMN specific bearer service  15*/
193
194         /* CPHS - AUXILIARY SERVICE */
195         TAPI_SS_CLASS_AUX_VOICE = 0x89,                 /* 0x89 : All Auxiliary Voice ( Auxiliary telephony ) */
196
197         TAPI_SS_CLASS_ALL_GPRS_BEARER=0x99,       /* 0x99 : All GPRS bearer services */
198         TAPI_SS_CLASS_ALL_TELE_BEARER=0xFF,        /* 0xFF : all tele and bearer services */
199 } TelSsClass_t;
200
201 /**
202  *  This enumeration defines the forward mode .
203  */
204 typedef enum {
205         TAPI_SS_CF_MODE_DISABLE_EV, /**< Deactivate call forwarding  */
206         TAPI_SS_CF_MODE_ENABLE_EV, /**< Activate call forwarding */
207         TAPI_SS_CF_MODE_REGISTRATION_EV, /**< Register Call forwarding  */
208         TAPI_SS_CF_MODE_ERASURE_EV, /**< De-register call forwarding */
209 } TelSsForwardMode_t;
210
211 typedef enum {
212         TAPI_SS_CF_NO_REPLY_TIME_5_SECS = 5, /**< Timer value set to 5secs*/
213         TAPI_SS_CF_NO_REPLY_TIME_10_SECS = 10, /**< Timer value set to 10secs*/
214         TAPI_SS_CF_NO_REPLY_TIME_15_SECS = 15, /**< Timer value set to 15secs*/
215         TAPI_SS_CF_NO_REPLY_TIME_20_SECS = 20, /**< Timer value set to 20secs*/
216         TAPI_SS_CF_NO_REPLY_TIME_25_SECS = 25, /**< Timer value set to 25secs*/
217         TAPI_SS_CF_NO_REPLY_TIME_30_SECS = 30, /**< Timer value set to 30secs*/
218 } TelSsNoReplyTime_t;
219
220 /**
221  *  Describes whether a supplementary service request was a success or a failure; and if it failed, why.
222  */
223 typedef enum {
224         TAPI_SS_SUCCESS, /**<  SS operation was successful */
225         TAPI_SS_TIMEREXPIRE, /**< SS operation timer expired on network. */
226         TAPI_SS_UNKNOWNSUBSCRIBER, /**< SS error indicating unknown/illegal subscriber.  */
227         TAPI_SS_BEARERSERVICENOTPROVISIONED, /**<The network returns this error when it is requested to  @n
228          perform an operation on a supplementary service  */
229         TAPI_SS_TELESERVICENOTPROVISIONED, /**<The network returns this error when it is requested to perform  @n
230          an operation on a supplementary service  */
231         TAPI_SS_ILLEGALSSOPERATION, /**<This error is returned by the network when it is requested to perform an illegal operation @n
232          which is defined as not applicable for the relevant supplementary service */
233         TAPI_SS_ERRORSTATUS, /**<This error is returned by the network when it is requested to perform an operation @n
234          which is not compatible with the current status of the relevant supplementary service. */
235         TAPI_SS_NOTAVAILABLE, /**< SS not available in network */
236         TAPI_SS_SUBSCRIPTIONVIOLATION, /**< SS service subscription violation. */
237         TAPI_SS_INCOMPATIBILITY, /**< This error is returned by the network when it is requested for a supplementary service operation incompatible with the @n
238          status of another supplementary service or with the teleservice or bearer service for which the operation is requested */
239         TAPI_SS_SYSTEMFAILURE, /**< This error is returned by the network, when it cannot perform an operation because of a failure in the network */
240         TAPI_SS_DATAMISSING, /**< This error is returned by the network when an optional parameter is missing in an invoke component @n
241          or an inner data structure, while it is required by the context of the request. */
242         TAPI_SS_UNEXPECTEDDATAVALUE, /**< SS error indicating unexpected data value on network side *//**< SS operation barred.  */
243         TAPI_SS_PWREGISTRATIONFAILURE, /**< SS error indicating change password failure. */
244         TAPI_SS_NEGATIVEPWCHECK, /**< SS error indicating negative password check.  */
245         TAPI_SS_FACILITYNOTSUPPORTED, /**< SS service facility not supported  */
246         TAPI_SS_RESOURCESNOTAVAILABLE, /**< SS error indicating resources not available in network.  */
247         TAPI_SS_MAXNOMPTYEXCEEDED, /**< SS error indicating Maximum MPTY is reached.  */
248         TAPI_SS_CALLBARRED, /**< This error is returned by the network to the MS when call independent subscriber control procedures are barred by the operator */
249         TAPI_SS_NUMBEROFPWATTEMPTSVIOLATION, /**< SS error indicating barring password attempts violated.  */
250         TAPI_SS_ABSENTSUBSCRIBER, /**< This error is returned when the subscriber has activated the detach service or the system detects the absence condition */
251         TAPI_SS_ILLEGALSUBSCRIBER, /**<This error is returned when illegality of the access has been @n
252          established by use of authentication procedure. */
253         TAPI_SS_ILLEGALEQUIPMENT, /**<This error is returned when the IMEI check procedure has shown that  @n
254          the IMEI is blacklisted or not whitelisted  */
255         TAPI_SS_USSDBUSY, /**< SS error indicating USSD Busy(Already SS / USSD is ongoing).  */
256         TAPI_SS_UNKNOWNALPHABET, /**< SS error indicating unknown SS data coding of alphabet */
257         TAPI_SS_INVALIDDEFLECTEDTONUMBER, /**< SS error indicating the invalid deflected to number.  */
258         TAPI_SS_DEFLECTIONTOSERVEDSUBSCRIBER, /**< This error is returned if a diversion to the served  @n
259          subscriber's number was requested.  */
260         TAPI_SS_SPECIALSERVICECODE, /**< This error is returned if diversion to a special service code was requested.  */
261         TAPI_SS_REJECTEDBYUSER, /**< SS operation rejected by user.  */
262         TAPI_SS_REJECTEDBYNETWORK, /**< SS operation rejected by network.  */
263         TAPI_SS_NET_NOT_ALLOWED_EMERGENCY_CALLS_ONLY, /**< SS operation is not allowed by network.  */
264         TAPI_SS_UNKNOWNERROR, /**< SS error indicating unknown error  */
265         TAPI_SS_OEM_NOT_SUPPORTED /**< If oem do not support any of SS requests, then this error will be returned back */
266 } TelSsCause_t;
267
268 /**
269  *   The status of a supplementary service feature (e.g. Call Forwarding or Call Barring). @n
270  *   These enumerated values should be used as masks
271  */
272 typedef enum {
273         TAPI_SS_STATUS_REGISTERED = 0x01, /**< Provisioned & registered (but not active/active-quiescent */
274         TAPI_SS_STATUS_PROVISIONED, /**<Provisioned but not registered (or active/active-quiescent) */
275         TAPI_SS_STATUS_ACTIVE, /**< Provisioned & registered & active */
276         TAPI_SS_STATUS_QUIESCENT, /**< Provisioned & registered & active but quiescent */
277         TAPI_SS_STATUS_NOTHING /**< Not provisioned */
278 } TelSsStatus_t;
279
280 /**
281  * These are the four types of identity presentation / restriction services.
282  */
283 typedef enum {
284         TAPI_CALLING_LINE_IDENTITY_PRESENTATION, /**< identify the party calling this phone */
285         TAPI_CALLING_LINE_IDENTITY_RESTRICTION, /**< hide the identity of this phone when calling others */
286         TAPI_CONNECTED_LINE_IDENTITY_PRESENTATION, /**< identify the party to whom the calling party (this phone) is connected */
287         TAPI_CONNECTED_LINE_IDENTITY_RESTRICTION, /**< restrict yourself from being identified by incoming calls, such as forwarded calls */
288         TAPI_CALLED_LINE_IDENTITY_PRESENTATION, /**< Called line identity presentation  */
289         TAPI_CALLING_NAME_PRESENTATION /**< Calling Name Presentation */
290 } TelSsLineIdentificationType_t;
291
292 /**
293  *  This enumeration defines the cli service status .
294  */
295 typedef enum {
296         TAPI_CLI_STATUS_NOT_PROVISONED = 0x01, /**<Service not provided by the service provider */
297         TAPI_CLI_STATUS_PROVISIONED, /**<Service is provided by the service provider */
298         TAPI_CLI_STATUS_ACTIVATED, /**<Service is activated at the network */
299         TAPI_CLI_STATUS_UNKOWN, /**<Service status is unknown*/
300         TAPI_CLI_STATUS_TEMP_RESTRICTED, /**<Service is temporarily restricted */
301         TAPI_CLI_STATUS_TEMP_ALLOWED /**<Service is temporarily allowed */
302 } TelSsCliStatus_t;
303
304 /**
305  *  This enumeration defines the values for Cli service type .
306  */
307 typedef enum {
308         TAPI_SS_CLI_CLIP = 0x01, /**< Calling Line Identification Presentation. */
309         TAPI_SS_CLI_CLIR = 0x02, /**<  Calling Line Identification Restriction. */
310         TAPI_SS_CLI_COLP = 0x03, /**<  Connected Line Identification Presentation. */
311         TAPI_SS_CLI_COLR = 0x04, /**<  Connected Line Identification Restriction. */
312         TAPI_SS_CLI_CDIP = 0x05, /**<  Called Line Identification Presentation. */
313         TAPI_SS_CLI_CNAP = 0x06, /**<  Calling Name Presentation.*/
314 } TelSsCliType_t;
315
316 /**
317  * This enum defines the values for AOC type.
318  */
319 typedef enum {
320         TAPI_SS_AOC_TYPE_RESET = 0x00, /**< Specifies the Reset MAXACM Value. */
321         TAPI_SS_AOC_TYPE_ACM = 0x01, /**< Specifies the Accumulated call meter. */
322         TAPI_SS_AOC_TYPE_CCM = 0x02, /**< Specifies the Current call meter. */
323         TAPI_SS_AOC_TYPE_MAXACM = 0x04, /**< Specifies the Max accumulated call meter. */
324         TAPI_SS_AOC_TYPE_PUC = 0x08 /**< Specifies the Price per unit and currency.*/
325 } TelSsAocType_t;
326
327 /**
328  *  This structure  defines the different parameters related to forward info.
329  */
330 typedef struct {
331         TelSsClass_t Class;
332         TelSsForwardMode_t Mode; /**< Forward Mode */
333         TelSsForwardWhen_t Condition; /**< Forward Condition */
334         char szPhoneNumber[TAPI_CALL_DIALDIGIT_LEN_MAX]; /**< Phone Number*/
335         TelSsNoReplyTime_t NoReplyConditionTimer; /**< No reply wait time 5-30 secs in intervals of 5. */
336 } TelSsForwardInfo_t;
337
338 /**
339  *  This structure defines the values for USSD request type.
340  */
341 typedef struct {
342         TelSsUssdType_t Type;
343         int Length; /**< USSD  String Length */
344         char szString[TAPI_SS_USSD_DATA_SIZE_MAX]; /**< USSD  String */
345 } TelSsUssdMsgInfo_t;
346
347 /**
348  *  This structure  defines the different parameters related to call barring.
349  */
350 typedef struct {
351         TelSsClass_t Class; /**< Call type */
352         TelSsBarringMode_t Mode; /**< Barring mode  */
353         TelSsBarringType_t Type; /**< Barring type */
354         char szPassword[TAPI_SS_GSM_BARR_PW_LEN_MAX]; /**< password */
355 } TelSsBarringInfo_t;
356
357 /**
358  *  This structure  defines the different parameters related to call waiting.
359  */
360 typedef struct {
361         TelSsClass_t Class; /**< Call type */
362         TelSsCallWaitingMode_t Mode; /**< Waiting mode  */
363 } TelSsWaitingInfo_t;
364
365 /**
366  * This structure defines the release complete message notification type.
367  */
368 typedef struct {
369         unsigned char RelCompMsgLen; /**< Specifies the Release complete msg length.*/
370         unsigned char szRelCompMsg[TAPI_MAX_RELEASE_COMPLETE_DATA_LEN]; /**<  Specifies the Release complete msg. */
371 } TelSsRelCompMsgInfo_t;
372
373 /**
374  * This structure defines the values for AOC request type.
375  */
376
377 typedef struct {
378         float PPM;
379         unsigned char CharTypeOfCurrency;
380         unsigned char szCurrency[TAPI_SS_AOC_CURRENCY_LEN_MAX];
381 } TelAocPucInfo_t;
382
383 typedef struct {
384         TelSsAocType_t AocType; /**< Specifies the AOC type. */
385         unsigned int ACM; /**< Specifies the accumulated call meter value. */
386         unsigned int MaxAcm; /**< Specifies the maximum value of ACM . */
387         float CCM; /**< Specifies the Current call meter value. */
388         float PPM; /**< Specifies the Price per unit value. */
389         unsigned char CharTypeOfCurrency; /**< Specifies the Char type of currency. */
390         unsigned char szCurrency[TAPI_SS_AOC_CURRENCY_LEN_MAX]; /**< Specifies the Currency characters. */
391 } TelCallAocInfo_t;
392
393 /**
394  * This structure defines the values for ss call barring record
395  */
396 typedef struct {
397         int record_num;
398         struct {
399                 TelSsClass_t Class;
400                 TelSsStatus_t Status; /**< SS status  */
401                 TelSsBarringType_t Flavour; /**< Call barring types providing various barring conditions on that basis call be barred */
402         } record[TAPI_SS_RECORD_NUM_MAX]; /**< Specifies the  Maximum of TAPI_SS_RECORD_NUM_MAX records. */
403 } TelSsBarringResp_t;
404
405 /**
406  * This structure defines the values for ss call forwarding record
407  */
408 typedef struct {
409         int record_num;
410         struct {
411                 TelSsClass_t Class;
412                 TelSsStatus_t Status; /**< Call forwarding SS status */
413                 TelSsForwardWhen_t ForwardCondition; /**< Call forward types providing various conditions when call can be forwarded */
414                 int bCallForwardingNumberPresent; /**< Call forwarding number present or not */
415                 unsigned char NoReplyWaitTime;
416                 unsigned char szCallForwardingNumber[TAPI_CALL_DIALDIGIT_LEN_MAX + 1]; /**< forwarded number.[Null Terminated string]*/
417         } record[TAPI_SS_RECORD_NUM_MAX]; /**< Specifies the  Maximum of TAPI_SS_RECORD_NUM_MAX records. */
418 } TelSsForwardResp_t;
419
420 /**
421  * This structure defines the values for ss call waiting record
422  */
423 typedef struct {
424         int record_num;
425         struct {
426                 TelSsClass_t Class;
427                 TelSsStatus_t Status; /**< SS status */
428         } record[TAPI_SS_RECORD_NUM_MAX]; /**< Specifies the  Maximum of TAPI_SS_RECORD_NUM_MAX records. */
429 } TelSsWaitingResp_t;
430
431 /**
432  * This structure defines the values for Calling line identity service
433  */
434 typedef struct {
435         TelSsLineIdentificationType_t Type; /**< Various line identification types */
436         TelSsCliStatus_t Status; /**< Line identification status from network */
437 } TelSsCliResp_t;
438
439 typedef struct {
440         TelSsUssdType_t Type;
441         TelSsUssdStatus_t Status;
442         int Length; /**< USSD  String Length */
443         char szString[TAPI_SS_USSD_DATA_SIZE_MAX]; /**< USSD  String */
444 } TelSsUssdResp_t;
445
446 typedef struct {
447         TelSsUssdStatus_t Status;
448         int Length; /**< USSD  String Length */
449         char szString[TAPI_SS_USSD_DATA_SIZE_MAX]; /**< USSD  String */
450 } TelSsUssdNoti_t;
451
452 typedef struct {
453         float PPM; /**< Specifies the Price per unit value. */
454         unsigned char CharTypeOfCurrency; /**< Specifies the Char type of currency. */
455         unsigned char szCurrency[TAPI_SS_AOC_CURRENCY_LEN_MAX]; /**< Specifies the Currency characters. */
456 } TelSsAoc_ppm_info_t;
457
458 #ifdef __cplusplus
459 }
460 #endif
461
462 #endif // _TEL_SS_H_
463 /**
464  * @}
465  */