⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mfw_cm.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
+--------------------------------------------------------------------+
| PROJECT: MMI-Framework (8417)         $Workfile:: mfw_cm.h        $|
| $Author: root $Revision: 1.1.1.1 $|
| CREATED: 3.11.98                      $Modtime:: 21.03.00 19:26   $|
| STATE  : code                                                      |
+--------------------------------------------------------------------+

   MODULE  : MFW_CM

   PURPOSE : This modul contains the definition for call management.


   $History:: mfw_cm.h                                              $
 * 
 * *****************  Version 42  *****************
 * User: Vo           Date: 24.03.00   Time: 10:23
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * chang define value
 * 
 * *****************  Version 41  *****************
 * User: Vo           Date: 15.03.00   Time: 18:17
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * New: Remote call control and Abort CM command
 * 
 * *****************  Version 40  *****************
 * User: Vo           Date: 22.02.00   Time: 14:03
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * 
 * *****************  Version 39  *****************
 * User: Vo           Date: 17.02.00   Time: 19:06
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * 
 * *****************  Version 38  *****************
 * User: Vo           Date: 20.01.00   Time: 13:01
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * New: Manage fax/data/combinated call
 * New: New event CM_REDIAL_STOP to indicate that the reason of
 * failed connection is outside of defined category.
 * 
 * *****************  Version 37  *****************
 * User: Le           Date: 13.12.99   Time: 8:50
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * 
 * *****************  Version 36  *****************
 * User: Vo           Date: 11.11.99   Time: 14:22
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * New event and command define for DTMF tone
 * New prototype for requesting of autoredial mode
 * 
 * *****************  Version 35  *****************
 * User: Vo           Date: 10.09.99   Time: 18:36
 * Updated in $/GSM/DEV/MS/SRC/MFW
 * new prototype
 * 
 * *****************  Version 34  *****************
 * User: Vo           Date: 30.08.99   Time: 13:53
 * Updated in $/GSM/DEV/MS/SRC/MFW
 * new event, parameter for setting of AoC value
 * 
 * *****************  Version 33  *****************
 * User: Vo           Date: 9.08.99    Time: 12:00
 * Updated in $/GSM/DEV/MS/SRC/MFW
 * change definition (length of number (161 to 41))
 *  new return value "CM_CTRL_STR"
 *  new cm command: "CM_SWAP_MULTIPARTY"
 * 
 * *****************  Version 32  *****************
 * User: Vo           Date: 21.07.99   Time: 14:39
 * Updated in $/GSM/DEV/MS/SRC/MFW
 * 
 * *****************  Version 31  *****************
 * User: Vo           Date: 16.07.99   Time: 10:32
 * Updated in $/GSM/DEV/MS/SRC/MFW
 * 
 * *****************  Version 30  *****************
 * User: Vo           Date: 9.07.99    Time: 14:31
 * Updated in $/GSM/DEV/MS/SRC/MFW
 * 
 * *****************  Version 29  *****************
 * User: Vo           Date: 2.07.99    Time: 18:25
 * Updated in $/GSM/DEV/MS/SRC/MFW
 * 
 * *****************  Version 28  *****************
 * User: Vo           Date: 22.06.99   Time: 8:54
 * Updated in $/GSM/DEV/MS/SRC/MFW
 * 
 *
 * *****************  Version 1  *****************
 * User: Vo           Date: 20.11.98   Time: 13:40
 * Created in $/GSM/DEV/MS/SRC/MFW
 * Call Management

*/

#ifndef DEF_MFW_CM_HEADER
#define DEF_MFW_CM_HEADER



/* #include "phb.h" RSA 20/12/01 - Removed */
#include"mfw_phb.h"

#define MFW_STRING_LEN	   161
#define MFW_NUM_LEN         41
#define MFW_TAG_LEN         21
#define MFW_SUBADR_LEN      21
#define MAX_LEN             21
#define MAX_CURRENCY         5

/*
 * events are organised as bitmaps
 */
#define E_CM_OK                 0x0001
#define E_CM_CW                 0x0002
#define E_CM_CONNECT            0x0004
#define E_CM_CONNECT_ACK        0x0008
#define E_CM_DISCONNECT         0x0010
#define E_CM_COMMAND            0x0020
#define E_CM_NOTIFY             0x0040
#define E_CM_REDIAL             0x0080
#define E_CM_COLP               0x0100
#define E_CM_RING_OFF           0x0200
#define E_CM_MO_RES             0x0400
#define E_CM_CPI                0x0800
#define E_CM_TIMER_EVERY_SECOND 0x1000
#define E_CM_AOC                0x2000
#define E_CM_AOC_CNF            0x4000
#define E_CM_DTMF               0x8000
#define E_CM_WAP_CALL_CONNECTED   0x10000
#define E_CM_CTYI				0x20000	/* SPR#1352 - SH */
/* glowig,2004-06-10, import from TCS2112 */
/* Marcus: CCBS: 14/11/2002: Start */
#define E_CM_CCBS               0x40000
/* Marcus: CCBS: 14/11/2002: End */
#define E_CM_CALL_DEFLECT_STATUS   0x80000 /*SPR 1392*/
#define E_CM_DISCONNECT_ALL 0x100000
/* glowing,2004-06-10, end of import */
#define E_CM_ALL_SERVICES    0xFFFFFF

/* Possible service code for a call number */
#define CM_OK          1        /* A mobile originated call attempt has been started.   */
#define CM_EC          2        /* A mobile originated emergency call has been started. */
#define CM_SIM         3        /* The number has started a SIM control procedure.      */
#define CM_SS          4        /* The number has started a supplementary service.      */
#define CM_USSD        5        /* The number has started an unstructured SS.           */
#define CM_MMI         6        /* The number define a MMI specific procedure.          */
#define CM_ERROR       7        /* The number can not procedured.                       */
#define CM_BLACKLIST   8        /* The number is blacklisted.                           */
#define CM_NO_REG      9        /* The network is not registered.                       */
#define CM_NO_SERVICE 10        /* The service type of network is NO_SERVICE.           */
#define CM_NO_CARRIER 11        /* No connection because of no carrier                  */
#define CM_NO_AOC     12        /* NO advice of charge information available            */
#define CM_BUSY       13        /* No connection because of user busy                   */
#define CM_NO_ANSWER  14        /* No connection because of no answering                */
#define CM_CTRL_STR   15        /* control string									    */
#define CM_ACM_MAX    16        /* ACM reachs maximal value                             */
#define CM_CFDN_ERR   17        /* check FDN number error                               */
#define CM_CBDN_ERR   18        /* check BDN number error                               */
#define CM_2CALLS_ALREADY_ERR 19/* 2 calls already, we can not perform a third outgoing call */
#define CM_CLI		    20        /* CLI command complete */

/* Definition for advice of charge */
#define CM_AOC_UNKNOWN   0
#define CM_AOC_INFO     20      /* AoC information from the network.  */
#define CM_AOC_PUCT     21      /* PUCT is requested by MMI logic.    */
#define CM_AOC_ACMMAX   22      /* ACM max is requested by MMI logic. */
#define CM_AOC_ACM      23      /* ACM is requested by MMI logic.     */
#define CM_AOC_CCM      24      /* CCM is requested by MMI logic.     */
#define CM_AOC_TIMERS   25      /* AoC timer values are requested.    */
#define CM_AOC_CCM_PUCT 26      /* CCM using PUCT                     */
#define CM_AOC_ACM_PUCT 27      /* ACM using PUCT                     */
#define CM_AOC_RAW_PUCT 28      /* RAW PUCT                           */

/* Definition for redialing */
#define CM_REDIAL_OFF        0  /* no redialing                       */
#define CM_REDIAL_AUTO       1  /* automatic redialing                */
#define CM_REDIAL_MANU       2  /* manual redialing                   */

#define CM_REDIAL_BLACKLIST   33  /* reset blacklist                  */
#define CM_REDIAL_NO_SERVICE  34  /* mobile out the cell              */
#define CM_REDIAL_INCOMING    35  /* redial abort because of incoming call */
#define CM_REDIAL_ABORTED     36  /* abort redial fromm MMI           */
#define CM_REDIAL_STARTED     37  /* start autoredial                 */
#define CM_REDIAL_ATTEMPT     38  /* start redial call                */
#define CM_REDIAL_BLACKLISTED 39  /* Redialing number is blacklisted  */
#define CM_REDIAL_OUTGOING    40  /* redial abort because of outgoing call */
#define CM_REDIAL_SUCCESS     41  /* Redialing is successful          */
#define CM_REDIAL_STOP        42  /* Stop redialing (outside of category) */

/* definition of commands for call related supplementary service */
#define CM_COMMAND_UNKNOWN        0
#define CM_HOLD                   1  /* initiate call hold                 */
#define CM_RETRIEVE               2  /* initiate call retrieve             */
#define CM_BUILD_MULTIPARTY       3  /* build a multiparty                 */
#define CM_HOLD_MULTIPARTY        4  /* set multiparty on hold             */
#define CM_RETRIEVE_MULTIPARTY    5  /* set multiparty on active           */
#define CM_SPLIT_MULTIPARTY       6  /* split a multiparty                 */
#define CM_ETC                    7  /* enable explicit call transfer      */
#define CM_CALL_DEFLECTION        8  /* redirection of incomming call      */
#define CM_CCBS                   9  /* completion on call busy subscriber */
#define CM_MODIFY                10  /* initiate in-call modification      */
#define CM_DTMF_ACTIVE           11  /* enable DTMF signalling             */
#define CM_DTMF_INACTIVE         12  /* disable DTMF signalling            */
#define CM_SWAP                  13  /* swap of two calls                  */
#define CM_SWAP_MULTIPARTY       14
#define CM_DTMF_AUTO             15  /* DTMF signalling with defined length of tones */


#define CM_DISCONNECT_ALL_RESULT_ERROR 0
#define CM_DISCONNECT_ALL_RESULT_OK 1



#define MIN_DURATION_1   	7000		/* time of the 1th redialing        */
#define MIN_DURATION_2_4	70000		/* time of the 2th to 4st redialing  */
#define MIN_DURATION_5  	200000		/* time of the 5th or over redialing */



typedef enum              /* definition of the result */
{
  CM_AOC_CONF_UNKNOWN,
  CM_AOC_CONF_OK,
  CM_AOC_CONF_SIMPIN2REQ,
  CM_AOC_CONF_WRONGPASSWD,
  CM_AOC_CONF_OPNOTALLOW,
  CM_AOC_CONF_ACMRESETNEEDED
} T_MFW_AOC_CNF_RES;

typedef enum              /* type of call progress information */
{
  CPI_TYPE_UNKNOWN = -1,
  CPI_TYPE_SETUP,       /* call setup      */
  CPI_TYPE_DISC,        /* call disconnect */
  CPI_TYPE_ALERT,       /* call alerting   */
  CPI_TYPE_PROC,        /* call proceeding */
  CPI_TYPE_SYNC         /* TCH assigment   */
} T_MFW_CPI_TYPE;

typedef enum              /* inband tone */
{
  CPI_IBT_UNKNOWN = -1,
  CPI_IBT_FALSE,
  CPI_IBT_TRUE
} T_MFW_CPI_IBT;

typedef enum              /* TCH */
{
  CPI_TCH_UNKNOWN = -1,
  CPI_TCH_FALSE,
  CPI_TCH_TRUE
} T_MFW_CPI_TCH;

typedef enum            /* type of call    */
{
  NONE_TYPE,
  VOICE_CALL,
  AuxVOICE_CALL,
  DATA_CALL,
  FAX_CALL,
  VFD_VOICE,       /* voice followed data, voice mode    */
  VAD_VOICE,       /* voice alternating data, voice mode */
  VAF_VOICE,       /* voice alternating fax, voice mode  */
  VFD_DATA,        /* voice followed data, data mode     */
  VAD_DATA,        /* voice alternating data, data mode  */
  VAF_FAX          /* voice alternating fax, fax mode    */
} T_MFW_CM_CALL_TYPE;

/* Result of operation */
typedef enum
{
  NotPresent,
  Present
} T_MFW_CM_RESULT;

/* Call status */
typedef enum
{
  NOT_PRESENT,
  CALL_HELD,
  CALL_ACTIVE,
  CALL_DEACTIVE,
  CALL_WAIT,
  CALL_DIAL,
  CALL_ALERT
} T_MFW_CM_CALL_STAT;

/* Bearer parameter */
typedef enum    /* data rate */
{
  SPEED_300,
  SPEED_1200,
  SPEED_2400,
  SPEED_4800,
  SPEED_9600,
  SPEED_14400
} T_MFW_CM_DATA_SPEED;

typedef enum   /* bearer service */
{
  Asynch,
  Synch
} T_MFW_CM_BS;

typedef enum   /* connection element */
{
  Transparent,
  NonTransparent
} T_MFW_CM_CE;

typedef enum   /* connection element */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -