📄 ccdef.h
字号:
#ifndef __CC_DEFINE_H_
#define __CC_DEFINE_H_
#define CALL_NO_L 0x01
#define MAX_CRV 127
#define CC_TBL_MAX 2
#define CC_L2_TBL_MAX 16
#define CC_L4_TBL_MAX 16
#define CC_FMT_SZ 4
//event source
#define CALL_L2 0
#define CALL_MNG 1
/* CC state */
#define CC_STS_CNT 20
#define ST_NULL 0
#define ST_CALINT 1
#define ST_OVRSND 2
#define ST_OUTCAL 3
#define ST_CALDLV 4
#define ST_CALPRS 6
#define ST_CALRCV 7
#define ST_CONREQ 8
#define ST_INCCAL 9
#define ST_ACTV 10
#define ST_DSCREQ 11
#define ST_DSCIND 12
#define ST_RELREQ 19
#define STATE_SAME 0xff
/* cc message type*/
/* used in call establishment phase*/
#define L2CC_ALERT 0x01 /* call alert message */
#define L2CC_CALLPROC 0x02 /* call proceeding message */
#define L2CC_PROG 0x03 /* call progress message */
#define L2CC_SETUP 0x05 /* call setup message */
#define L2CC_CONN 0x07 /* call connect message */
#define L2CC_SETUPACK 0x0D /* call setup acknowledge message */
#define L2CC_CONNACK 0x0F /* call connect acknowledge message */
/* used in communication phase */
#define L2_USER 0x20 /* call user information message*/
/* used call clearing phase */
#define L2CC_DISC 0x45 /* call disconnect message */
#define L2CC_REL 0x4D /* call release message */
#define L2CC_RELCOMP 0x5A /* call release complete message*/
/* other message */
#define L2CC_FAC 0x62 /* call faclity message */
#define L2_OPTMIN 0x64 /* call minimum option message */
#define L2_OPTMAX 0x6C /* call maxinum option message*/
#define L2CC_NOTIFY 0x6E /* call notify message */
#define L2CC_STATENQ 0x75 /* call status enquiry message */
#define L2CC_INFO 0x7B /* call information message */
#define L2CC_STAT 0x7D /* call status message */
//send message to L2
#define CCL2_ALERT L2CC_ALERT //message from L2 send to CC
#define CCL2_PROCEED L2CC_CALLPROC
#define CCL2_PROGRESS L2CC_PROG
#define CCL2_SETUP L2CC_SETUP
#define CCL2_CONNECT L2CC_CONN
#define CCL2_SETUP_ACK L2CC_SETUPACK
#define CCL2_CONNECT_ACK L2CC_CONNACK
#define CCL2_DISCONNECT L2CC_DISC
#define CCL2_RELEASE L2CC_REL
#define CCL2_RELEASE_COMPLETE L2CC_RELCOMP
#define CCL2_FACILITY L2CC_FAC
#define CCL2_STATE_ENQUIRY L2CC_STATENQ
#define CCL2_INFO L2CC_INFO
#define CCL2_STATE L2CC_STAT
//single information element
#define SINGLE_TBL_MAX 4
#define LOCK_SHIFT 0x90
#define MORE_DATA 0xA0
#define SNED_COMPLETE 0xA1
#define REPEAT_IND 0xD0
/* code0 information element */
#define CODESET0_TBL_MAX 16
#define BEARER_CAPABILITY 0x04
#define CAUSE 0x08
#define CALL_STATE 0x14
#define FACILITY 0x1C
#define PROGRESS_IND 0x1E
#define NOTIFICATION_IND 0x27
#define DISPLAY 0x28
#define KEYPAD_FACILITY 0x2C
#define SINGAL 0x34
#define CALLING_PARTY_NUMBER 0x6C
#define CALLING_PARTY_SUBADDRESS 0x6D
#define CALLED_PARTY_NUMBER 0x70
#define CALLED_PARTY_SUBADDRESS 0x71
#define REDIRECTING_NUMBER 0x74
#define LOW_LAYER_CAPIBILITY 0x7C
#define HIGH_LAYER_CAPBILITY 0x7D
#define USER_USER 0x7E
#define DDI_SAB 0x7F //this is a new information element(RCR_STD 28 have not)
/* code5 information element */
#define CODESET5_TBL_MAX 4
#define CHARGE_ADVICE 0x01
#define PS_IDENTITY 0x41
#define MAN_CALL_ORIGINATION_IND 0x42
#define COMMUNICATION_TYPE 0x43
// codeset id
#define SHIFT0 0x00
#define SHIFT5 0x05
#define SHIFT6 0x06
#define SHIFT7 0x07
//cc version
#define V1 0x01
#define V2 0x02
#define V3 0x04
#define V23 (V2 | V3)
#define V123 (V1 | V2 | V3)
//apply object
#define PRIVATE 0x01
#define PUBLIC 0x02
#define PUB_PRI (PRIVATE | PUBLIC)
//link direction
#define UP 0x01
#define DN 0x02
#define UD (UP | DN)
//information element classification
#define OPTION 0
#define MANDA 1
#define RECALL_MANDA 2
//Single information elemetn have 2 types, type 1 information element shows the information element
//identifier at bit 5,6,7. When bit 7.6.5 is "010",they assure type 2 information element.
#define TYP1 0xF0
#define TYP2 0xFF
#define BUN_DEF_LEN 12
//message include information element count
#define SETUP_ELEMENT_CNT 22
#define ALERT_ELEMENT_CNT 6
#define PROGRESS_ELEMENT_CNT 5
#define PROCEED_ELEMENT_CNT 3
#define CONNECT_ELEMENT_CNT 8
#define CONNECT_ACK_ELEMENT_CNT 2
#define SETUP_ACK_ELEMENT_CNT 4
#define DISCONNECT_ELEMENT_CNT 9
#define RELEASE_ELEMENT_CNT 6
#define RELEASE_COMP_ELEMENT_CNT 6
#define FACILITY_ELEMENT_CNT 2
#define STATE_ENQUIRY_ELEMENT_CNT 1
#define INFORMATION_ELEMENT_CNT 7
#define NOTIFY_ELEMENT_CNT 2
#define STATE_ELEMENT_CNT 3
#define USER_ELEMENT_CNT 1
#define TC303P (U2)0xc3
#define TC305P (U2)0xc5
#define TC308P (U2)0xc8
#define TC313P (U2)0xcd
#define TC303ON 0x01
#define TC305ON 0x02
#define TC308ON 0x04
#define TC313ON 0x08
#define TCMONION 0x10
#ifndef NULL
#define NULL ((void *)0)
#endif
#ifdef _ON_SANYO_
extern unsigned char Sys_work[];
#define SYS_WORK ((CC_SYSWRK *)Sys_work)
#else
#define SYS_WORK ((CC_SYSWRK *)&cc_syswork)
#endif
#define IN_DLDEVT ((CC_DLDEVT *)SYS_WORK->in_evt)
#define OUT_DLDEVT ((CC_DLDEVT *)SYS_WORK->out_evt)
#define IN_PRIEVT ((CC_PRIEVT *)SYS_WORK->in_evt)
#define OUT_PRIEVT ((CC_PRIEVT *)SYS_WORK->out_evt)
#define IN_MSGDAT ((CC_MSGDAT *)IN_DLDEVT->msg_adr)
#define OUT_MSGDAT ((CC_MSGDAT *)OUT_DLDEVT->msg_adr)
#endif /* __CC_DEFINE_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -