📄 mfw_cm.h
字号:
/*
+--------------------------------------------------------------------+
| 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 + -