diff g23m-aci/aci/cmh_cc.h @ 0:75a11d740a02

initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 00:02:41 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/g23m-aci/aci/cmh_cc.h	Thu Jun 09 00:02:41 2016 +0000
@@ -0,0 +1,275 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  GSM-PS (6147)
+|  Modul   :  CMH
++----------------------------------------------------------------------------- 
+|  Copyright 2002 Texas Instruments Berlin, AG 
+|                 All rights reserved. 
+| 
+|                 This file is confidential and a trade secret of Texas 
+|                 Instruments Berlin, AG 
+|                 The receipt of or possession of this file does not convey 
+|                 any rights to reproduce or disclose its contents or to 
+|                 manufacture, use, or sell anything it may describe, in 
+|                 whole, or in part, without the specific written consent of 
+|                 Texas Instruments Berlin, AG. 
++----------------------------------------------------------------------------- 
+|  Purpose :  Definitions for the command handler of Call Control
++----------------------------------------------------------------------------- 
+*/ 
+
+#ifndef CMH_CC_H
+#define CMH_CC_H
+
+/* #include "cmh.h" */
+
+
+/*==== CONSTANTS ==================================================*/
+
+typedef enum
+{
+  NO_CHLD_ADD_INFO = 0,   /* no additional CHLD info */
+  CHLD_ADD_INFO_RTV_CAL,  /* additional CHLD info, retrieve call */
+  CHLD_ADD_INFO_ACC_CAL,  /* additional CHLD info, accept call */
+  CHLD_ADD_INFO_DIAL_CAL  /* additional CHLD info, dial call */
+} T_CHLD_ADD_INFO;
+
+typedef enum
+{
+  NO_VLD_CC_SIM_QLF = 0,  /* not a valid SIM CC qualifier */
+  CC_SIM_YES,             /* yes, perform SIM CC check */
+  CC_SIM_NO               /* no, do not perform SIM CC check */
+} T_CC_SIM_QLF;
+
+typedef enum
+{
+  TTY_STOP,               /* stop TTY Service */
+  TTY_PAUSE,              /* pause TTY Service (call held/modified) */
+  TTY_TCH,                /* TCH assigned */
+  TTY_START               /* start TTY Service, if possible */
+} T_CC_TTY_ACTION;
+
+typedef enum
+{
+  NO_VLD_CC_CALL_TYPE = -1,
+  VOICE_CALL = 0
+#ifdef FAX_AND_DATA
+  ,
+  TRANS_CALL,
+  NON_TRANS_CALL,
+  FAX_CALL,
+  UNSUP_DATA_CALL
+#endif /* FAX_AND_DATA */
+#ifdef CO_UDP_IP
+  ,
+  UDPIP_CALL
+#endif /* CO_UDP_IP */ 
+#ifdef FF_PPP
+  ,
+  PPP_CALL
+#endif /* FF_PPP */
+#ifdef FF_GPF_TCPIP
+  ,
+  TCPIP_CALL
+#endif /* FF_GPF_TCPIP */
+}
+T_CC_CALL_TYPE;
+
+/*==== TYPES ======================================================*/
+
+
+/*==== PROTOTYPES =================================================*/
+
+/* 
+ * PSA notification events
+ */
+EXTERN void cmhCC_CallConnected   ( SHORT cId );
+EXTERN void cmhCC_CallDisconnected( SHORT cId );
+EXTERN void cmhCC_CallReleased    ( SHORT cId );
+EXTERN void cmhCC_CPIReleaseMsg    ( SHORT cId );
+EXTERN void cmhCC_CPIrejectMsg    ( SHORT cId );
+EXTERN void cmhCC_CallProceeding  ( SHORT cId );
+EXTERN void cmhCC_CallAlerted     ( SHORT cId );
+EXTERN void cmhCC_CallModified    ( SHORT cId );
+EXTERN void cmhCC_IncomingCall    ( SHORT cId );
+/*EXTERN void cmhCC_DisconnectCall  ( SHORT cId );*/ // HM 11-May-2005: Dead code
+EXTERN void cmhCC_Synchronized    ( SHORT cId );  
+EXTERN void cmhCC_CallRetrieved   ( SHORT cId );
+EXTERN void cmhCC_CallHeld        ( SHORT cId );
+EXTERN void cmhCC_RA_Activated    ( SHORT cId );
+EXTERN void cmhCC_RA_Deactivated  ( SHORT cId );
+EXTERN void cmhCC_RA_Modified     ( SHORT cId );
+EXTERN void cmhCC_L2R_Failed      ( void );
+EXTERN void cmhCC_T30_Activated   ( void );
+EXTERN void cmhCC_T30_Deactivated ( void );
+EXTERN void cmhCC_T30_Failed      ( void );
+EXTERN void cmhCC_T30_RmtCaps     ( void );
+EXTERN void cmhCC_SSTransFail     ( SHORT cId );
+
+
+EXTERN void         cmhCC_get_active_als_mode( T_ACI_CMD_SRC srcId, T_ACI_ALS_MOD *mode );
+EXTERN void         cmhCC_init_cldPty     ( T_CLPTY_PRM *cldPty );
+EXTERN BOOL         cmhCC_SendDTMFdig     ( T_ACI_AT_CMD cmd, SHORT cId, CHAR digit, UBYTE mode);
+EXTERN SHORT        cmhCC_find_call_for_DTMF( void );
+EXTERN BOOL         is_call_ok_for_dtmf   ( SHORT cId );
+EXTERN T_ACI_RETURN cmhCC_chkShortString  ( T_ACI_CMD_SRC srcId,
+                                            SHORT         cId,
+                                            T_CLPTY_PRM   *cldPty);
+
+EXTERN void         cmhCC_PrepareCmdEnd   (SHORT cId, UBYTE *cmdBuf, UBYTE *srcBuf);
+
+EXTERN UBYTE        cmhCC_set_speech_serv ( T_CC_CMD_PRM   *pCCCmdPrm); 
+
+#ifdef FAX_AND_DATA
+EXTERN UBYTE        cmhCC_SelCE           ( T_ACI_CBST_CE  ce );
+EXTERN UBYTE        cmhCC_SelServ         ( T_ACI_CBST_NAM name );
+EXTERN UBYTE        cmhCC_SelRate         ( T_ACI_BS_SPEED speed );
+EXTERN UBYTE        cmhCC_SelMT           ( T_ACI_BS_SPEED speed );
+EXTERN UBYTE        cmhCC_SelTransferCap  ( T_ACI_BS_SPEED speed );
+EXTERN UBYTE        cmhCC_SelRateAdaption ( T_ACI_BS_SPEED speed);
+EXTERN UBYTE        cmhCC_SelStopBit      ( T_ACI_CMD_SRC srcId );
+EXTERN UBYTE        cmhCC_SelDataBit      ( T_ACI_CMD_SRC srcId );
+EXTERN UBYTE        cmhCC_SelParity       ( T_ACI_CMD_SRC srcId );
+#endif /* FAX_AND_DATA */
+EXTERN SHORT        cmhCC_GetCallType_from_bearer( void * bearCap );
+#ifdef FAX_AND_DATA
+EXTERN SHORT        cmhCC_GetSrvType      ( void * bearCap );
+EXTERN SHORT        cmhCC_GetDataRate     ( void * bearCap );
+EXTERN SHORT        cmhCC_GetParity       ( void * bearCap );
+EXTERN SHORT        cmhCC_GetFormat       ( void * bearCap );
+#endif /* FAX_AND_DATA */
+EXTERN T_ACI_CLASS  cmhCC_GetCallClass    ( SHORT cId );
+EXTERN T_ACI_TOA*   cmhCC_ctbGetCldNumTyp ( SHORT cId,
+                                            T_ACI_TOA * pToaBuf );
+EXTERN T_ACI_TOS*   cmhCC_ctbGetCldSubTyp ( SHORT cId,
+                                            T_ACI_TOS * pTosBuf );
+EXTERN T_ACI_TOA*   cmhCC_ctbGetClrNumTyp ( SHORT cId,
+                                            T_ACI_TOA * pToaBuf );
+EXTERN T_ACI_TOS*   cmhCC_ctbGetClrSubTyp ( SHORT cId,
+                                            T_ACI_TOS * pTosBuf );
+EXTERN T_ACI_TOA*   cmhCC_ctbGetRdrNumTyp ( SHORT cId, 
+                                            T_ACI_TOA * pToaBuf );
+EXTERN T_ACI_TOS*   cmhCC_ctbGetRdrSubTyp ( SHORT cId, 
+                                            T_ACI_TOS * pTosBuf );
+EXTERN void         cmhCC_SndDiscRsn      ( SHORT cId );
+EXTERN BOOL         cmhCC_ChckInCallMdfy  ( SHORT cId, UBYTE cmd );
+EXTERN void         cmhCC_flagCall        ( SHORT cId,
+                                            USHORT * flags );
+EXTERN BOOL         cmhCC_tstAndUnflagCall( SHORT cId,
+                                            USHORT * flags );
+EXTERN void         cmhCC_ClearCall       ( SHORT cId, 
+                                            USHORT cs,
+                                            T_ACI_CMD_SRC srcId,
+                                            UBYTE cmd, 
+                                            SHORT *waitId);
+EXTERN void         cmhCC_NewCall         ( SHORT cId, 
+                                            T_ACI_CMD_SRC srcId,
+                                            T_ACI_AT_CMD cmd );
+EXTERN void         cmhCC_RetrieveCall    ( SHORT cId,
+                                            T_ACI_CMD_SRC srcId );
+EXTERN void         cmhCC_AcceptCall      ( SHORT cId, 
+                                            T_ACI_CMD_SRC srcId,
+                                            T_ACI_AT_CMD cmd );
+EXTERN void         cmhCC_HoldCall        ( SHORT cId, 
+                                            T_ACI_CMD_SRC srcId, 
+                                            T_ACI_AT_CMD cmd );
+EXTERN BOOL         cmhCC_atdsendok       ( SHORT cId );
+
+EXTERN void         send_CSSX_notification(SHORT ctbIdx,
+                                            T_ACI_CSSX_CODE cssx_code,
+                                            SHORT           index,
+                                            CHAR            *number,
+                                            T_ACI_TOA       *toa,
+                                            CHAR            *subaddr,
+                                            T_ACI_TOS       *tos);
+
+EXTERN void         cmhrat_ccbs           ( UBYTE           srcId,
+                                            T_ACI_CCBS_IND  ccbs_ind,
+                                            T_ACI_CCBS_STAT status,
+                                            T_ACI_CCBS_SET  *setting );
+EXTERN T_CC_CALL_TYPE cmhCC_getcalltype   ( SHORT cId );
+EXTERN void         cmhCC_NotifySS        ( SHORT cId,
+                                            T_NOTIFY_SS_INV *ntfySS );
+EXTERN void         cmhCC_CheckSS         ( SHORT cId );
+EXTERN void         cmhCC_MPTYBuild       ( SHORT cId,
+                                            T_BUILD_MPTY_RES *bldMPTY );
+EXTERN void         cmhCC_MPTYSplit       ( SHORT cId,
+                                            T_SPLIT_MPTY_RES *splMPTY );
+EXTERN void         cmhCC_MPTYHeld        ( SHORT cId,
+                                            T_HOLD_MPTY_RES *hldMPTY );
+EXTERN void         cmhCC_MPTYRetrieved   ( SHORT cId,
+                                            T_RETRIEVE_MPTY_RES *rtvMPTY );
+EXTERN void         cmhCC_MPTYTimeout     ( void );
+EXTERN void         cmhCC_ECTTimeout      ( void );
+EXTERN void         cmhCC_CCBSRegistered  ( SHORT cId,
+                                            T_ACC_REGISTER_CC_ENTRY_RES *CCBSreg );
+EXTERN void         cmhCC_CDRegistered    ( SHORT cId );
+EXTERN T_ACI_RETURN cmhCC_chkKeySeq       ( T_ACI_CMD_SRC srcId,
+                                            T_CLPTY_PRM *cldPty,
+                                            T_ACI_D_TOC *callType,
+                                            T_ACI_D_CLIR_OVRD *CLIRovrd,
+                                            T_CC_SIM_QLF ccSIMQlf );
+EXTERN T_ACI_RETURN cmhCC_Dial            ( T_ACI_CMD_SRC srcId,
+                                            T_CLPTY_PRM     * cldPty,
+                                            T_ACI_D_CLIR_OVRD clirOvrd,
+                                            T_ACI_D_CUG_CTRL  cugCtrl,
+                                            T_ACI_D_TOC       callType );
+EXTERN T_ACI_RETURN cmhCC_fillSetupPrm    ( SHORT              cId,
+                                            T_ACI_CMD_SRC      srcId,
+                                            T_CLPTY_PRM       *cldPty,
+                                            T_MNCC_bcpara     *bc,
+                                            UBYTE              prio,
+                                            T_ACI_D_CLIR_OVRD  clirOvrd,
+                                            T_ACI_D_CUG_CTRL   cugCtrl,
+                                            T_ACI_D_TOC        callType );
+EXTERN void         cmhCC_chkDTMFDig      ( CHAR  *num,
+                                            SHORT cId,
+                                            USHORT length,
+                                            BOOL within_dial_string );
+EXTERN void         cmhCC_DTMFsent        ( SHORT cId );
+EXTERN void         cmhCC_DTMFstopped     ( SHORT cId );
+EXTERN BOOL         is_digit_dtmf_separator(CHAR digit);
+#ifdef FF_TTY
+EXTERN T_ACI_CTTY_TRX cmhCC_getTTYtrx_state (int ttyTrxState);
+EXTERN void         cmhCC_notifyTTY       ( T_ACI_CTTY_NEG neg,
+                                            T_ACI_CTTY_TRX trx );
+EXTERN void         cmhCC_TTY_Control     ( SHORT cId, UBYTE action );
+#else
+#define cmhCC_TTY_Control(_x_,_y_)
+#endif
+
+EXTERN void cmhCC_ChngWaitingToIncoming   ( void );
+EXTERN void cmhCC_checkALS_Support        ( );
+EXTERN void cmhCC_checkALS_Support_cb     ( SHORT aId );
+EXTERN void cmhCC_checkALS_Support_2      ( );
+EXTERN void cmhCC_checkALS_Support_cb_2   ( SHORT aId );
+GLOBAL void cmhCC_checkALS_Support_exec   ( UBYTE flag );
+
+EXTERN T_ACI_RETURN cmhCC_sendFie( T_ACI_FAC_DIR tDirection,
+                                      SHORT         cId,
+                                      T_MNCC_fac_inf    *fie );
+#if defined(_TARGET_)
+EXTERN T_ACI_RETURN cmhCC_rd_mode_FFS(T_ACI_CC_REDIAL_MODE rdl_mode,
+                                      T_ACI_CC_RDL_FFS ffs_mode);
+#endif /* _TARGET_ */
+EXTERN void cmhCC_redialTimeout ( void );
+EXTERN void cmhCC_satTimeout (void );
+EXTERN void cmhCC_redialCheck(SHORT cId);
+EXTERN T_ACI_RETURN cmhCC_redialChkBlackl(SHORT cId);
+EXTERN void cmhCC_CheckRedialTimer( BOOL sim_toolkit_enable );
+/*==== EXPORT =====================================================*/
+
+#ifdef CMH_CCF_C
+
+GLOBAL T_CHLD_ADD_INFO CHLDaddInfo;
+GLOBAL T_ACI_CC_REDIAL_PAR rdlPrm;
+#else
+
+EXTERN T_CHLD_ADD_INFO CHLDaddInfo;
+EXTERN T_ACI_CC_REDIAL_PAR rdlPrm;
+#endif  /* CMH_CCF_C */
+
+
+#endif /* CMH_CC_H */
+
+/*==== EOF =======================================================*/