/*
+--------------------------------------------------------------------+
| PROJECT: MMI-Framework (8417)         $Workfile:: mfw_sat.h       $|
| $Author:: Xsp $ CONDAT GmbH           $Revision:: 5               $|
| CREATED: 07.05.99                     $Modtime:: 29/02/00 18:19   $|
| STATE  : code                                                      |
+--------------------------------------------------------------------+

   MODULE  : MFW_SAT

   PURPOSE : SIM Application Toolkit Handling

   EXPORT  :

   TO DO   :

   $History:: mfw_sat.h                                             $
   
       Shashi Shekar B.S., a0876501, 16 Mar, 2006, OMAPS00061462
       Icon support for SetupMenu & Select item.

	Jan 16, 2006 DR: OMAPS00061460 - Shashi Shekar B.S.
	Description: SAT Icon support
	Solution : SAT icon support added.

*
* Jun 16, 2005    REF: CRR 31543   x0021334
* Issue: SATK: cannot get TR for send ussd command
* Solution: When the user presses "Hang up" key when   
*              the SAT USSD session is in progress,a call is
*             made to function 'sAT_end_ussd()' to end the session.
*
 *****************  Version 5  *****************
 * User: Xsp          Date: 3/03/00    Time: 12:51
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * Changfed type of xxxWindow fields in MfwSat struct...
 * 
 * *****************  Version 4  *****************
 * User: Xsp          Date: 14/02/00   Time: 18:11
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * Solved compiler errors...
 * 
 * *****************  Version 3  *****************
 * User: Xsp          Date: 14/02/00   Time: 14:43
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * Added window pointers to sat structure...
 * 
 * *****************  Version 2  *****************
 * User: Fk           Date: 11.02.00   Time: 15:40
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * New event 'SAT Session  End' derived from empty command
 * 
 * *****************  Version 1  *****************
 * User: Es           Date: 6.07.99    Time: 12:42
 * Created in $/GSM/DEV/MS/SRC/MFW
 * SIM application toolkit handler
 * Initial
*/

#ifndef _DEF_MFW_SAT_H_
#define _DEF_MFW_SAT_H_


#include "mfw_win.h"
#include "mfw_phb.h" /* top get aci_cmh.h */
#include "mfw_ss.h"  // Jun 16, 2005    REF: CRR 31543   x0021334

// Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460
#ifdef FF_MMI_SAT_ICON
	#include "mfw_sima.h"
#endif

#define MFW_MAX_NT_SIZE 6        /* save changed files notification */

#define MFW_MAX_PFP_ELEM 15

// Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460
#ifdef FF_MMI_SAT_ICON
typedef struct
{							/* SAT ICON DATA   */
	U8 width;				/* SAT Icon width  */
	U8 height;				/* SAT Icon height */
	char* dst;				/* Icon data	   */
} SatIconInfo;
#endif

typedef struct
{                                       /* SAT ICON IDENTIFIER      */
    U8 qual;                            /* icon qualifier           */
    U8 id;                              /* icon identifier          */
    U8 pad1;
    U8 pad2;
} SatIconId;

typedef struct
{                                       /* SAT TEXT STRING          */
    SatIconId icon;                     /* icon identifier          */
    U16 text;                           /* offset to text string    */
    U8 responseFlag;                    /* immediate response       */
    U8 code;                            /* data coding scheme       */
    U8 len;                             /* length of text           */
    U8 pad1;
    U8 pad2;
    U8 pad3;
// Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460
#ifdef FF_MMI_SAT_ICON
	SatIconInfo iconInfo;
#endif
} SatTxt;

typedef struct
{                                       /* SAT ADDRESS              */
    U16 number;                         /* offset to dial number    */
    U8 ton;                             /* type of number, npi      */
    U8 len;                             /* length of dial number    */
} SatAddress;

typedef struct
{                                       /* SAT MISCELLEANEOUS DATA  */
    U16 data;                           /* offset to data           */
    U8 len;                             /* length of data           */
    U8 pad;
} SatData;


typedef struct
{                                       /* SAT LIST DATA            */
    U8 len;                             /* number of bytes in list  */
    U8 elem [1];                        /* list elements            */
} SatList;

typedef struct
{                                       /* SAT SMS TPDU             */
    U16 data;                           /* offset to pdu data       */
    U8 len;                             /* pdu length               */
    U8 pad;
} SatSmsPdu;

typedef struct
{                                       /* SAT MENU ITEM            */
    U16 text;                           /* offset to text data      */
    U8 id;                              /* item identifier          */
    U8 action;                          /* next action id           */
    U8 icon;                            /* items icon               */
    U8 len;                             /* length of text           */
    U8 pad1;
    U8 pad2;
// Shashi Shekar B.S., a0876501, Feb 4, 2006, DR: OMAPS00061462
#ifdef FF_MMI_SAT_ICON
	SatIconInfo iconInfo;
#endif
} SatItem;

typedef struct
{                                       /* SAT INPUT USER STRING    */
    SatTxt prompt;                      /* prompt string            */
    SatTxt defRsp;                      /* default response         */
    U8 rspMin;                          /* minimal response length  */
    U8 rspMax;                          /* maximal response length  */
    U8 pad1;
    U8 pad2;
} SatInput;

typedef struct
{                                       /* SAT PLAY TONE            */
    SatTxt alpha;                       /* tones alpha tag          */
    U8 tone;                            /* code for tone            */
    U8 durUnit;                         /* code for duration unit   */
    U8 durValue;                        /* duration value           */
    U8 pad;
} SatTone;

typedef struct
{                                       /* SAT SETUP MENU           */
    SatTxt header;                      /* menu header              */
    U8 itemIconQual;                    /* item icon qualifier      */
    U8 nItems;                          /* number of menu items     */
    U8 pad1;
    U8 pad2;
    SatItem items [1];                  /* menu items (min. one)    */
} SatMenu;

typedef struct
{                                       /* SAT SEND SMS             */
    SatTxt info;                        /* user information         */
    SatAddress addr;                    /* address                  */
    SatSmsPdu sms;                      /* SMS TPDU                 */
} SatSMS;

typedef struct
{                                       /* SAT SEND SS              */
    SatTxt info;                        /* user information         */
    SatAddress ss;                      /* SS string                */
} SatSS;

typedef struct
{                                       /* SAT SETUP CALL           */
    SatTxt info;                        /* user information         */
    SatTxt info2;                       /* setup information        */
    SatAddress addr;                    /* address                  */
    SatData bc;                         /* bearer capabilities      */
    SatData sa;                         /* subaddress               */
    U8 durUnit;                         /* redial time unit         */
    U8 durValue;                        /* redial max time          */
    U8 pad1;
    U8 pad2;
} SatCall;

typedef struct
{                                       /* SAT EXEC AT/DTMF         */
    SatTxt info;                        /* user information         */
    SatData cmd;                        /* AT cmd / DTMF sequence   */
} SatExec;

typedef struct
{                                       /* CALL CONTROL RESULT      */
    SatAddress addr;                    /* address                  */
    SatAddress addr2;                   /* address on SMS control   */
    SatData bc;                         /* bearer capabilities      */
    SatData bc2;                        /* bearer capabilities 2    */
    SatData sa;                         /* subaddress               */
    SatTxt info;                        /* alpha information        */
    S32 redialTime;                     /* maximal redial time      */
    S16 callId;                         /* id of new call           */
    U8 bcRepInd;                        /* BC repeat indicator      */
    U8 result;                          /* call control result      */
} SatCcRes;

typedef struct
{                                       /* SAT REFRESH FILES        */
    U16* files;                          /* Pointer to the files list      */
    U16 files_nr;                         /* length of the files list       */
	U8 status;				             /*Status of the refresh procedure */
} SatRefreshFiles;						 /* -1 -> to be done  or       */
										 /* SIM_FU_ERROR,SIM_FU_SUCCESS,SIM_FU_SUCC_ADD */
#if defined(FF_WAP)

typedef struct
{
U8 prov_file_id_len;                               /*length of provisional file ids*/
U8* prov_file_id;                                  /*provisiona file ids */
} ProvFileRef;

typedef struct
{                                               /* SAT LAUNCH BROWSER COMMAND      */
U8 identity;  									/* Browser identity as in GSM 11.14 12.47 */
U8* url;								        /* Universal Res Loc as in GSM 11.14 12.48*/
U8  n_bearer;									/* Number of elements in the bearer list */
U8* bearer;								        /* Bearer list as in GSM 11.14 12.49 (Null terminated)*/
U8  n_prov_file_ref;							/* Number of elements in the prov. file ref. table. */
ProvFileRef prov_file_ref[MFW_MAX_PFP_ELEM];       /* Prov. file ref. list*/ 
SatTxt text_string;								/*Text string as in GSM 11.14 12.15 */
U8 alpha_len;									/*Alpha identifier length as in GSM 11.14 12.2 */
U8* alpha_id;                                   /*Alpha identifier as in GSM 11.14 12.2 */
} SatLaunchBrowser;						 

#endif /*FF_WAP*/


/* SPR#1786 - DS - SAT Class E */

typedef enum
{
    MFW_SAT_EST_NONE = 0,               /* No establishment type given */
    MFW_SAT_EST_IMMEDIATE,             /* Immediate channel establishment */
    MFW_SAT_EST_ONDEMAND             /* On-demand channel establishment */
    
} T_MFW_SAT_EST;

typedef enum
{
    MFW_SAT_CHN_NONE = 0,               /* No channel type given */
    MFW_SAT_CHN_VOICE,                   /* Channel type Voice */
    MFW_SAT_CHN_CSD,                      /* Channel type CSD */
    MFW_SAT_CHN_GPRS                     /* Channel type GPRS */
    
} T_MFW_SAT_CHN;

typedef struct
{
    T_MFW_SAT_CHN channel_type;
    T_MFW_SAT_EST establishment_type;
    SatTxt alpha_id;                                   /* Alpha identifier as in GSM 11.14 section 12.22 */
    U8 dur1Unit;                         /* redial time unit duration 1        */
    U8 dur1Value;                        /* redial max time duration 1         */
    U8 dur2Unit;                         /* redial time unit duration 2        */
    U8 dur2Value;                        /* redial max time duration 2         */
} SatOpenChannel;

typedef struct
{
    SatTxt alpha_id;                                   /* Alpha identifier as in GSM 11.14 section 12.22 */
} SatCloseChannel;

typedef struct
{
    SatTxt alpha_id;                                   /* Alpha identifier as in GSM 11.14 section 12.22 */
} SatSendData;

typedef struct
{
    SatTxt alpha_id;                                   /* Alpha identifier as in GSM 11.14 section 12.22 */
} SatReceiveData;


typedef struct SatCmdTag                /* SAT COMMAND BUFFER       */
{
    U8 number;                          /* command number           */
    U8 type;                            /* command type             */
    U8 qual;                            /* command qualifier        */
    U8 source;                          /* source device            */
    U8 dest;                            /* destination device       */
    U8 pad1;
    U8 pad2;
    U8 pad3;
    union                               /* command data             */
    {
        SatTxt text;                    /* display text             */
        SatInput inp;                   /* input user string        */
        SatTone tone;                   /* play tone                */
        SatMenu menu;                   /* setup menu               */
        SatSMS sms;                     /* send SMS                 */
        SatSS ss;                       /* send SS                  */
        SatCall call;                   /* setup call               */
        SatList events;                 /* setup event list         */
        SatExec cmd;                    /* execute AT/DTMF command  */
        SatCcRes ccres;                 /* call control information */
		SatRefreshFiles refFiles;		/* files to be refreshed    */
        SatData files;                  /* old code for REFRESH*/
#if defined(FF_WAP)
	    SatLaunchBrowser browser;      /* launch browser command */
#endif
        /* SPR#1786 - DS - Added the following SAT Class E commands */
        SatOpenChannel open;            /* open channel command */
        SatCloseChannel close;          /* close channel command */
        SatSendData send;               /* send data command */
        SatReceiveData receive;        /* receive data command */

        /* !!! Does fill now need to be changed? !!! */
        U8 fill [448];                  /* maximal union size       */
    } c;
} SatCmd;

typedef struct MfwSatTag                /* SAT CONTROL BLOCK        */
{
    MfwEvt map;                         /* selection of events      */
    MfwEvt evt;                         /* current event            */
    MfwCb  handler;                     /* event handler            */
    SatCmd *cmd;                        /* event related data       */
    MfwHnd parentWindow;                /* mother of all SAT windows */
    MfwHnd currentWindow;               /* SAT window in use         */
} MfwSat; 

                                        /* SAT COMMAND TYPES        */
#define SatCmdRefresh       0x01        /* refresh command          */
#define SatCmdMoreTime      0x02        /* more time command        */
#define SatCmdPollTime      0x03        /* poll interval command    */
#define SatCmdPollOff       0x04        /* polling off command      */
#define SatCmdEvtList       0x05        /* set event list command   */
#define SatCmdCall          0x10        /* set up call command      */
#define SatCmdSndSS         0x11        /* send SS command          */
#define SatCmdSndUSSD       0x12        /* send USSD command        */
#define SatCmdSndSMS        0x13        /* send SMS command         */
#define SatCmdSndDTMF       0x14        /* send DTMF command        */
#define SatCmdLaunchBrowser 0x15        /*Launch Browser */
#define SatCmdPlayTone      0x20        /* play tone command        */
#define SatCmdDispText      0x21        /* display text command     */
#define SatCmdGetKey        0x22        /* get inkey command        */
#define SatCmdGetString     0x23        /* get input command        */
#define SatCmdSelItem       0x24        /* select item command      */
#define SatCmdSetMenu       0x25        /* set up menu command      */
#define SatCmdLocalInf      0x26        /* provide local info       */
#define SatCmdIdleText      0x28        /* setup idle mode text     */
#define SatCmdExecAT        0x34        /* run AT command           */

/* SPR#1786 - DS - Command types for SAT Class E */
#define SatCmdOpenChannel        0x40        /* Open Channel command           */
#define SatCmdCloseChannel        0x41        /* Close Channel command           */
#define SatCmdReceiveData        0x42        /* Receive Data command           SPR#2508 - DS - Swapped Send and Receive values */
#define SatCmdSendData             0x43        /* Send Data command           */

#define SatCmdEOS           0x81        /* end of proactive session */

                                        /* SAT EVENT FLAGS          */
// Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460
#ifdef FF_MMI_SAT_ICON
#define MfwSatCmdNone       0x00000000  /* SAT No command			*/
#endif
#define MfwSatRefresh       0x00000001  /* refresh SIM fields       */
#define MfwSatTextOut       0x00000002  /* display string           */
#define MfwSatGetKey        0x00000004  /* get user keystroke       */
#define MfwSatGetString     0x00000008  /* get user input           */
#define MfwSatPlayTone      0x00000010  /* play audio tone          */
#define MfwSatSetupMenu     0x00000020  /* setup toolkit menu       */
#define MfwSatSelectItem    0x00000040  /* select menu item         */
#define MfwSatSendSMS       0x00000080  /* send short message       */
#define MfwSatSendSS        0x00000100  /* send service command     */
#define MfwSatCall          0x00000200  /* setup a call             */
#define MfwSatSendUSSD      0x00000400  /* send USSD                */
#define MfwSatSetEvents     0x00000800  /* setup event list         */
#define MfwSatCcRes         0x00001000  /* call control result      */
#define MfwSatCcAlert       0x00002000  /* call control alerting    */
#define MfwSatIdleText      0x00004000  /* setup idle mode text     */
#define MfwSatExecAT        0x00008000  /* run AT command           */
#define MfwSatSendDTMF      0x00010000  /* send DTMF tones          */
#define MfwSatDataRefreshed 0x00020000  /* Sent when data has already been refreshed */
#if defined(FF_WAP)
#define MfwSatLaunchBrowser 0x00040000 /* Launch Browser command */
#endif
/* SPR#1786 - DS - SAT Class E events */
#define MfwSatOpenChannel       0x00080000 /* Open Channel command */
#define MfwSatCloseChannel      0x00100000 /* Close Channel command */
#define MfwSatSendData           0x00200000 /* Send Data command */
#define MfwSatReceiveData       0x00400000 /* Receive Data command */

#define MfwSatErrBusy		0x00800000 /* SPR#2321 - DS - SAT Busy Error */

#define MfwSatSessionEnd    0x80000000  /* session terminated       */

                                        /* SAT DEVICE IDENTITIES    */
#define SatDevKeypad        0x01        /* keypad device            */
#define SatDevDisplay       0x02        /* display device           */
#define SatDevSpeaker       0x03        /* earpiece device          */
#define SatDevSIM           0x81        /* SIM device               */
#define SatDevME            0x82        /* mobile equipment device  */
#define SatDevNet           0x83        /* network device           */

/* SPR#2321 - DS - SAT Class E Device Identities */
#define SatDevCh1	0x21		/* Channel one */
#define SatDevCh2	0x22		/* Channel two */
#define SatDevCh3	0x23		/* Channel three */
#define SatDevCh4	0x24		/* Channel four */
#define SatDevCh5	0x25		/* Channel five */
#define SatDevCh6	0x26		/* Channel six */
#define SatDevCh7	0x27		/* Channel seven */

                                        /* SAT EVENT TYPES FOR MMI  */
#define SatEvtUserAction             0x04        /* user activity            */
#define SatEvtIdleScreen             0x05        /* idle screen available    */
#if defined(FF_WAP)
#define SatEvtBrowserTermination     0x08        /* Sat Browser termination   */
#endif
                                        /* SAT ERROR CODES          */
#define SatResSuccess       0x00        /* performed successsfully  */
#define SatResPartial       0x01        /* ok,partial comprehension */
#define SatResMissing       0x02        /* ok,missing information   */
#define SatResAdditional    0x03        /* ok,additional EFs read   */
#define SatResNoIcon        0x04        /* ok,no icon displayed     */
#define SatResModified      0x05        /* ok,modified by SIM       */
#define SatResUserAbort     0x10        /* terminated by user       */
#define SatResUserBack      0x11        /* backward move by user    */
#define SatResUserNoResp    0x12        /* no response from user    */
#define SatResUserHelp      0x13        /* help request from user   */
#define SatResUserAbortUSSD 0x14        /* USSD terminated by user  */
#define SatResBusyME        0x20        /* ME temporary failure     */
#define SatResBusyNet       0x21        /* Net temporary failure    */
#define SatResReject        0x22        /* user reject call setup   */
#define SatResCleared       0x23        /* call cleared (user/net)  */
#define SatResTimerConflict 0x24        /* conflict on timer state  */
#define SatResCCTemp        0x25        /* CC by SIM: temp failure  */
#define SatResImpossible    0x30        /* ME cannot do it          */
#define SatResUnknownType   0x31        /* type not understood      */
#define SatResUnknownData   0x32        /* data not understood      */
#define SatResUnknownNumber 0x33        /* number not understood    */
#define SatResSSerror       0x34        /* SS return error          */
#define SatResSMSerror      0x35        /* SMS-RP error             */
#define SatResNoValues      0x36        /* missing required values  */
#define SatResUSSDerror     0x37        /* USSD return error        */
#define SatResMultiCard     0x38        /* Multiple card error      */
#define SatResCCPermanent   0x39        /* CC by SIM: perm. failure */

                                        /* SAT ADDITIONAL INFO      */
#define SatResAiNoCause     0x00        /* no specific cause        */
#define SatResAiBusyScreen  0x01        /* screen is busy           */
#define SatResAiBusyCall    0x02        /* ME busy on call          */
#define SatResAiBusySS      0x03        /* ME busy on SS            */
#define SatResAiNoService   0x04        /* no service available     */
#define SatResAiAccess      0x05        /* access control class bar */
#define SatResAiNoRadio     0x06        /* no radio resource        */
#define SatResAiNoSpeech    0x07        /* not in speech call       */
#define SatResAiBusyUSSD    0x08        /* ME busy on USSD          */
#define SatResAiBusyDTMF    0x09        /* ME busy on send DTMF     */

                                        /* SAT MULTICARD INFO       */
#define SatResAiNoReader    0x01        /* no card reader           */
#define SatResAiNoCard      0x02        /* no card                  */
#define SatResAiBusyReader  0x03        /* card reader busy         */
#define SatResAiCardOff     0x04        /* no card power            */
#define SatResAiPDUError    0x05        /* PDU format error         */
#define SatResAiMuteCard    0x06        /* mute card                */
#define SatResAiXmitError   0x07        /* transmission error       */
#define SatResAiProtocol    0x08        /* unsuppoerted protocol    */
#define SatResAiIllReader   0x09        /* invalid card reader      */

                                        /* SAT LAUNCH BROWSER ADDITIONAL INFO      */
#define SatResAiBearerUnavailable  0x01  /* bearer unavailable           */
#define SatResAiBrowserUnavailable 0x02  /* browser unavailable           */
#define SatResAiUnableToReadData  0x03  /* ME unable to read the provisioning data  */

										 /* SAT BROWSER TERMINATION CAUSE CODE   */

#if defined(FF_WAP)
#define SatBrowserTerminCauseUser 0x00
#define SatBrowserTerminCauseError 0x01
#endif
										/* SAT SETUP EVENT LIST FLAGS  */
#define SatEvtUserActionActivated           0x01        /* user activity            */
#define SatEvtIdleScreenActivated           0x02        /* idle screen available    */
#if defined(FF_WAP)
#define SatEvtBrowserTerminateActivated    0x04        /* Browser terminated    */
#endif
                                        /* PROTOTYPES               */
MfwRes satInit (U8 *profile, U8 plen);
MfwRes satExit (void);
MfwHnd satCreate (MfwHnd w, MfwEvt e, MfwCb f, SatCmd *c);
MfwRes satDelete (MfwHnd h);

MfwRes satString (SatCmd *cmd, SatTxt *txt, U8 *res, int rlen);
MfwRes satItem (SatCmd *cmd, U8 itemId, U8 *res, int rlen);
MfwRes satMenuItem (U8 itemId, U8 help);
MfwRes satEvtDownload (U8 evt);
MfwRes satDone (SatCmd *cmd, U8 *res, int rlen);
int satEvtRegistered (int evt); /*SPR#2121 - DS - Check if evt has been registered by SAT Setup Event List command*/

void satAccept (void);
void satReject (void);
void satDisc (void);
void Mfw_SAT_DTMF_EndSession(void); // x0021334 : To test SAT session end - CQ33597

void satSignal (U32 evt, void *data);

void rAT_PercentSATI (S16 len, U8 *sc);

/* BEGIN : Sumit: Neptune */
#ifndef NEPTUNE_BOARD
void rAT_PercentSATN (S16 len, U8 *sc, T_ACI_SATN_CNTRL_TYPE  cntrl_type);
#else
void rAT_PercentSATN  ( SHORT           len,UBYTE          *satCmd);
#endif
/* END SUMIT: Neptune*/

#ifdef FF_SAT_E
void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms,T_ACI_SATA_ADD *addParm);
#else 
void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms);
#endif /* FF_SAT_E */

// Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460
#ifdef FF_MMI_SAT_ICON
void simReadIconData (U8 record_number);
void sim_img_cnf (USHORT error, UBYTE record_number, UBYTE *efimg);
void sim_img_instance_data_cnf (USHORT error, UBYTE *data_instance);
void iconDataUpdate(SatTxt *t, UBYTE width, UBYTE height, char  *dst);
void convert_21_image(UBYTE width, UBYTE height, UBYTE depth, UBYTE *src, UBYTE *palette, UBYTE *dst);
void convert_11_image(UBYTE width, UBYTE height, char *src, char *dst);
#endif

void rAT_PercentSATE (S16 len, U8 *sc);
BOOL satChangeNotify (int ref, T_SIM_FILE_UPDATE_IND *updateInd);
void satUpdateFiles  ( U8 updated, USHORT dataId );
BOOL satRefreshNotification ( int ref, T_SIM_FILE_UPDATE_IND *updateInd);
void satRefreshAbort(void);
#if defined(FF_WAP)
MfwRes satBrowserTerminated(U8 cause);
#endif
void sate_error(T_ACI_CME_ERR error); /* SPR#2321 - DS - SAT error handling */

// Jun 16, 2005    REF: CRR 31543   x0021334
// Issue: SATK: cannot get TR for send ussd command
// Prototype for new function
T_MFW_SS_RETURN satHangup (T_ACI_CMD_SRC sId);
#endif
