700 lines
29 KiB
C
700 lines
29 KiB
C
![]() |
|
||
|
/*
|
||
|
*
|
||
|
Copyright (c) Eicon Networks, 2002.
|
||
|
*
|
||
|
This source file is supplied for the use with
|
||
|
Eicon Networks range of DIVA Server Adapters.
|
||
|
*
|
||
|
Eicon File Revision : 2.1
|
||
|
*
|
||
|
This program is free software; you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation; either version 2, or (at your option)
|
||
|
any later version.
|
||
|
*
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
|
||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
See the GNU General Public License for more details.
|
||
|
*
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, write to the Free Software
|
||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||
|
*
|
||
|
*/
|
||
|
#ifndef _INC_CAPI20
|
||
|
#define _INC_CAPI20
|
||
|
/* operations on message queues */
|
||
|
/* the common device type for CAPI20 drivers */
|
||
|
#define FILE_DEVICE_CAPI20 0x8001
|
||
|
/* DEVICE_CONTROL codes for user and kernel mode applications */
|
||
|
#define CAPI20_CTL_REGISTER 0x0801
|
||
|
#define CAPI20_CTL_RELEASE 0x0802
|
||
|
#define CAPI20_CTL_GET_MANUFACTURER 0x0805
|
||
|
#define CAPI20_CTL_GET_VERSION 0x0806
|
||
|
#define CAPI20_CTL_GET_SERIAL 0x0807
|
||
|
#define CAPI20_CTL_GET_PROFILE 0x0808
|
||
|
/* INTERNAL_DEVICE_CONTROL codes for kernel mode applicatios only */
|
||
|
#define CAPI20_CTL_PUT_MESSAGE 0x0803
|
||
|
#define CAPI20_CTL_GET_MESSAGE 0x0804
|
||
|
/* the wrapped codes as required by the system */
|
||
|
#define CAPI_CTL_CODE(f,m) CTL_CODE(FILE_DEVICE_CAPI20,f,m,FILE_ANY_ACCESS)
|
||
|
#define IOCTL_CAPI_REGISTER CAPI_CTL_CODE(CAPI20_CTL_REGISTER,METHOD_BUFFERED)
|
||
|
#define IOCTL_CAPI_RELEASE CAPI_CTL_CODE(CAPI20_CTL_RELEASE,METHOD_BUFFERED)
|
||
|
#define IOCTL_CAPI_GET_MANUFACTURER CAPI_CTL_CODE(CAPI20_CTL_GET_MANUFACTURER,METHOD_BUFFERED)
|
||
|
#define IOCTL_CAPI_GET_VERSION CAPI_CTL_CODE(CAPI20_CTL_GET_VERSION,METHOD_BUFFERED)
|
||
|
#define IOCTL_CAPI_GET_SERIAL CAPI_CTL_CODE(CAPI20_CTL_GET_SERIAL,METHOD_BUFFERED)
|
||
|
#define IOCTL_CAPI_GET_PROFILE CAPI_CTL_CODE(CAPI20_CTL_GET_PROFILE,METHOD_BUFFERED)
|
||
|
#define IOCTL_CAPI_PUT_MESSAGE CAPI_CTL_CODE(CAPI20_CTL_PUT_MESSAGE,METHOD_BUFFERED)
|
||
|
#define IOCTL_CAPI_GET_MESSAGE CAPI_CTL_CODE(CAPI20_CTL_GET_MESSAGE,METHOD_BUFFERED)
|
||
|
struct divas_capi_register_params {
|
||
|
word MessageBufferSize;
|
||
|
word maxLogicalConnection;
|
||
|
word maxBDataBlocks;
|
||
|
word maxBDataLen;
|
||
|
};
|
||
|
struct divas_capi_version {
|
||
|
word CapiMajor;
|
||
|
word CapiMinor;
|
||
|
word ManuMajor;
|
||
|
word ManuMinor;
|
||
|
};
|
||
|
typedef struct api_profile_s {
|
||
|
word Number;
|
||
|
word Channels;
|
||
|
dword Global_Options;
|
||
|
dword B1_Protocols;
|
||
|
dword B2_Protocols;
|
||
|
dword B3_Protocols;
|
||
|
} API_PROFILE;
|
||
|
/* ISDN Common API message types */
|
||
|
#define _ALERT_R 0x8001
|
||
|
#define _CONNECT_R 0x8002
|
||
|
#define _CONNECT_I 0x8202
|
||
|
#define _CONNECT_ACTIVE_I 0x8203
|
||
|
#define _DISCONNECT_R 0x8004
|
||
|
#define _DISCONNECT_I 0x8204
|
||
|
#define _LISTEN_R 0x8005
|
||
|
#define _INFO_R 0x8008
|
||
|
#define _INFO_I 0x8208
|
||
|
#define _SELECT_B_REQ 0x8041
|
||
|
#define _FACILITY_R 0x8080
|
||
|
#define _FACILITY_I 0x8280
|
||
|
#define _CONNECT_B3_R 0x8082
|
||
|
#define _CONNECT_B3_I 0x8282
|
||
|
#define _CONNECT_B3_ACTIVE_I 0x8283
|
||
|
#define _DISCONNECT_B3_R 0x8084
|
||
|
#define _DISCONNECT_B3_I 0x8284
|
||
|
#define _DATA_B3_R 0x8086
|
||
|
#define _DATA_B3_I 0x8286
|
||
|
#define _RESET_B3_R 0x8087
|
||
|
#define _RESET_B3_I 0x8287
|
||
|
#define _CONNECT_B3_T90_ACTIVE_I 0x8288
|
||
|
#define _MANUFACTURER_R 0x80ff
|
||
|
#define _MANUFACTURER_I 0x82ff
|
||
|
/* OR this to convert a REQUEST to a CONFIRM */
|
||
|
#define CONFIRM 0x0100
|
||
|
/* OR this to convert a INDICATION to a RESPONSE */
|
||
|
#define RESPONSE 0x0100
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* diehl isdn private MANUFACTURER codes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define _DI_MANU_ID 0x44444944
|
||
|
#define _DI_ASSIGN_PLCI 0x0001
|
||
|
#define _DI_ADV_CODEC 0x0002
|
||
|
#define _DI_DSP_CTRL 0x0003
|
||
|
#define _DI_SIG_CTRL 0x0004
|
||
|
#define _DI_RXT_CTRL 0x0005
|
||
|
#define _DI_IDI_CTRL 0x0006
|
||
|
#define _DI_CFG_CTRL 0x0007
|
||
|
#define _DI_REMOVE_CODEC 0x0008
|
||
|
#define _DI_OPTIONS_REQUEST 0x0009
|
||
|
#define _DI_SSEXT_CTRL 0x000a
|
||
|
#define _DI_NEGOTIATE_B3 0x000b
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* parameter structures */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* ALERT-REQUEST */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* Additional Info */
|
||
|
} _ALT_REQP;
|
||
|
/* ALERT-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _ALT_CONP;
|
||
|
/* CONNECT-REQUEST */
|
||
|
typedef struct {
|
||
|
word CIP_Value;
|
||
|
byte structs[1]; /* Called party number,
|
||
|
Called party subaddress,
|
||
|
Calling party number,
|
||
|
Calling party subaddress,
|
||
|
B_protocol,
|
||
|
BC,
|
||
|
LLC,
|
||
|
HLC,
|
||
|
Additional Info */
|
||
|
} _CON_REQP;
|
||
|
/* CONNECT-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _CON_CONP;
|
||
|
/* CONNECT-INDICATION */
|
||
|
typedef struct {
|
||
|
word CIP_Value;
|
||
|
byte structs[1]; /* Called party number,
|
||
|
Called party subaddress,
|
||
|
Calling party number,
|
||
|
Calling party subaddress,
|
||
|
BC,
|
||
|
LLC,
|
||
|
HLC,
|
||
|
Additional Info */
|
||
|
} _CON_INDP;
|
||
|
/* CONNECT-RESPONSE */
|
||
|
typedef struct {
|
||
|
word Accept;
|
||
|
byte structs[1]; /* B_protocol,
|
||
|
Connected party number,
|
||
|
Connected party subaddress,
|
||
|
LLC */
|
||
|
} _CON_RESP;
|
||
|
/* CONNECT-ACTIVE-INDICATION */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* Connected party number,
|
||
|
Connected party subaddress,
|
||
|
LLC */
|
||
|
} _CON_A_INDP;
|
||
|
/* CONNECT-ACTIVE-RESPONSE */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* empty */
|
||
|
} _CON_A_RESP;
|
||
|
/* DISCONNECT-REQUEST */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* Additional Info */
|
||
|
} _DIS_REQP;
|
||
|
/* DISCONNECT-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _DIS_CONP;
|
||
|
/* DISCONNECT-INDICATION */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _DIS_INDP;
|
||
|
/* DISCONNECT-RESPONSE */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* empty */
|
||
|
} _DIS_RESP;
|
||
|
/* LISTEN-REQUEST */
|
||
|
typedef struct {
|
||
|
dword Info_Mask;
|
||
|
dword CIP_Mask;
|
||
|
byte structs[1]; /* Calling party number,
|
||
|
Calling party subaddress */
|
||
|
} _LIS_REQP;
|
||
|
/* LISTEN-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _LIS_CONP;
|
||
|
/* INFO-REQUEST */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* Called party number,
|
||
|
Additional Info */
|
||
|
} _INF_REQP;
|
||
|
/* INFO-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _INF_CONP;
|
||
|
/* INFO-INDICATION */
|
||
|
typedef struct {
|
||
|
word Number;
|
||
|
byte structs[1]; /* Info element */
|
||
|
} _INF_INDP;
|
||
|
/* INFO-RESPONSE */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* empty */
|
||
|
} _INF_RESP;
|
||
|
/* SELECT-B-REQUEST */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* B-protocol */
|
||
|
} _SEL_B_REQP;
|
||
|
/* SELECT-B-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _SEL_B_CONP;
|
||
|
/* FACILITY-REQUEST */
|
||
|
typedef struct {
|
||
|
word Selector;
|
||
|
byte structs[1]; /* Facility parameters */
|
||
|
} _FAC_REQP;
|
||
|
/* FACILITY-CONFIRM STRUCT FOR SUPPLEMENT. SERVICES */
|
||
|
typedef struct {
|
||
|
byte struct_length;
|
||
|
word function;
|
||
|
byte length;
|
||
|
word SupplementaryServiceInfo;
|
||
|
dword SupportedServices;
|
||
|
} _FAC_CON_STRUCTS;
|
||
|
/* FACILITY-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
word Selector;
|
||
|
byte structs[1]; /* Facility parameters */
|
||
|
} _FAC_CONP;
|
||
|
/* FACILITY-INDICATION */
|
||
|
typedef struct {
|
||
|
word Selector;
|
||
|
byte structs[1]; /* Facility parameters */
|
||
|
} _FAC_INDP;
|
||
|
/* FACILITY-RESPONSE */
|
||
|
typedef struct {
|
||
|
word Selector;
|
||
|
byte structs[1]; /* Facility parameters */
|
||
|
} _FAC_RESP;
|
||
|
/* CONNECT-B3-REQUEST */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _CON_B3_REQP;
|
||
|
/* CONNECT-B3-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _CON_B3_CONP;
|
||
|
/* CONNECT-B3-INDICATION */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _CON_B3_INDP;
|
||
|
/* CONNECT-B3-RESPONSE */
|
||
|
typedef struct {
|
||
|
word Accept;
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _CON_B3_RESP;
|
||
|
/* CONNECT-B3-ACTIVE-INDICATION */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _CON_B3_A_INDP;
|
||
|
/* CONNECT-B3-ACTIVE-RESPONSE */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* empty */
|
||
|
} _CON_B3_A_RESP;
|
||
|
/* DISCONNECT-B3-REQUEST */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _DIS_B3_REQP;
|
||
|
/* DISCONNECT-B3-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _DIS_B3_CONP;
|
||
|
/* DISCONNECT-B3-INDICATION */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _DIS_B3_INDP;
|
||
|
/* DISCONNECT-B3-RESPONSE */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* empty */
|
||
|
} _DIS_B3_RESP;
|
||
|
/* DATA-B3-REQUEST */
|
||
|
typedef struct {
|
||
|
dword Data;
|
||
|
word Data_Length;
|
||
|
word Number;
|
||
|
word Flags;
|
||
|
} _DAT_B3_REQP;
|
||
|
/* DATA-B3-REQUEST 64 BIT Systems */
|
||
|
typedef struct {
|
||
|
dword Data;
|
||
|
word Data_Length;
|
||
|
word Number;
|
||
|
word Flags;
|
||
|
void *pData;
|
||
|
} _DAT_B3_REQ64P;
|
||
|
/* DATA-B3-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Number;
|
||
|
word Info;
|
||
|
} _DAT_B3_CONP;
|
||
|
/* DATA-B3-INDICATION */
|
||
|
typedef struct {
|
||
|
dword Data;
|
||
|
word Data_Length;
|
||
|
word Number;
|
||
|
word Flags;
|
||
|
} _DAT_B3_INDP;
|
||
|
/* DATA-B3-INDICATION 64 BIT Systems */
|
||
|
typedef struct {
|
||
|
dword Data;
|
||
|
word Data_Length;
|
||
|
word Number;
|
||
|
word Flags;
|
||
|
void *pData;
|
||
|
} _DAT_B3_IND64P;
|
||
|
/* DATA-B3-RESPONSE */
|
||
|
typedef struct {
|
||
|
word Number;
|
||
|
} _DAT_B3_RESP;
|
||
|
/* RESET-B3-REQUEST */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _RES_B3_REQP;
|
||
|
/* RESET-B3-CONFIRM */
|
||
|
typedef struct {
|
||
|
word Info;
|
||
|
} _RES_B3_CONP;
|
||
|
/* RESET-B3-INDICATION */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _RES_B3_INDP;
|
||
|
/* RESET-B3-RESPONSE */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* empty */
|
||
|
} _RES_B3_RESP;
|
||
|
/* CONNECT-B3-T90-ACTIVE-INDICATION */
|
||
|
typedef struct {
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _CON_B3_T90_A_INDP;
|
||
|
/* CONNECT-B3-T90-ACTIVE-RESPONSE */
|
||
|
typedef struct {
|
||
|
word Reject;
|
||
|
byte structs[1]; /* NCPI */
|
||
|
} _CON_B3_T90_A_RESP;
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* message structure */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
typedef struct _API_MSG CAPI_MSG;
|
||
|
typedef struct _MSG_HEADER CAPI_MSG_HEADER;
|
||
|
struct _API_MSG {
|
||
|
struct _MSG_HEADER {
|
||
|
word length;
|
||
|
word appl_id;
|
||
|
word command;
|
||
|
word number;
|
||
|
byte controller;
|
||
|
byte plci;
|
||
|
word ncci;
|
||
|
} header;
|
||
|
union {
|
||
|
_ALT_REQP alert_req;
|
||
|
_ALT_CONP alert_con;
|
||
|
_CON_REQP connect_req;
|
||
|
_CON_CONP connect_con;
|
||
|
_CON_INDP connect_ind;
|
||
|
_CON_RESP connect_res;
|
||
|
_CON_A_INDP connect_a_ind;
|
||
|
_CON_A_RESP connect_a_res;
|
||
|
_DIS_REQP disconnect_req;
|
||
|
_DIS_CONP disconnect_con;
|
||
|
_DIS_INDP disconnect_ind;
|
||
|
_DIS_RESP disconnect_res;
|
||
|
_LIS_REQP listen_req;
|
||
|
_LIS_CONP listen_con;
|
||
|
_INF_REQP info_req;
|
||
|
_INF_CONP info_con;
|
||
|
_INF_INDP info_ind;
|
||
|
_INF_RESP info_res;
|
||
|
_SEL_B_REQP select_b_req;
|
||
|
_SEL_B_CONP select_b_con;
|
||
|
_FAC_REQP facility_req;
|
||
|
_FAC_CONP facility_con;
|
||
|
_FAC_INDP facility_ind;
|
||
|
_FAC_RESP facility_res;
|
||
|
_CON_B3_REQP connect_b3_req;
|
||
|
_CON_B3_CONP connect_b3_con;
|
||
|
_CON_B3_INDP connect_b3_ind;
|
||
|
_CON_B3_RESP connect_b3_res;
|
||
|
_CON_B3_A_INDP connect_b3_a_ind;
|
||
|
_CON_B3_A_RESP connect_b3_a_res;
|
||
|
_DIS_B3_REQP disconnect_b3_req;
|
||
|
_DIS_B3_CONP disconnect_b3_con;
|
||
|
_DIS_B3_INDP disconnect_b3_ind;
|
||
|
_DIS_B3_RESP disconnect_b3_res;
|
||
|
_DAT_B3_REQP data_b3_req;
|
||
|
_DAT_B3_REQ64P data_b3_req64;
|
||
|
_DAT_B3_CONP data_b3_con;
|
||
|
_DAT_B3_INDP data_b3_ind;
|
||
|
_DAT_B3_IND64P data_b3_ind64;
|
||
|
_DAT_B3_RESP data_b3_res;
|
||
|
_RES_B3_REQP reset_b3_req;
|
||
|
_RES_B3_CONP reset_b3_con;
|
||
|
_RES_B3_INDP reset_b3_ind;
|
||
|
_RES_B3_RESP reset_b3_res;
|
||
|
_CON_B3_T90_A_INDP connect_b3_t90_a_ind;
|
||
|
_CON_B3_T90_A_RESP connect_b3_t90_a_res;
|
||
|
byte b[200];
|
||
|
} info;
|
||
|
};
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* non-fatal errors */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define _NCPI_IGNORED 0x0001
|
||
|
#define _FLAGS_IGNORED 0x0002
|
||
|
#define _ALERT_IGNORED 0x0003
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* API function error codes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define GOOD 0x0000
|
||
|
#define _TOO_MANY_APPLICATIONS 0x1001
|
||
|
#define _BLOCK_TOO_SMALL 0x1002
|
||
|
#define _BUFFER_TOO_BIG 0x1003
|
||
|
#define _MSG_BUFFER_TOO_SMALL 0x1004
|
||
|
#define _TOO_MANY_CONNECTIONS 0x1005
|
||
|
#define _REG_CAPI_BUSY 0x1007
|
||
|
#define _REG_RESOURCE_ERROR 0x1008
|
||
|
#define _REG_CAPI_NOT_INSTALLED 0x1009
|
||
|
#define _WRONG_APPL_ID 0x1101
|
||
|
#define _BAD_MSG 0x1102
|
||
|
#define _QUEUE_FULL 0x1103
|
||
|
#define _GET_NO_MSG 0x1104
|
||
|
#define _MSG_LOST 0x1105
|
||
|
#define _WRONG_NOTIFY 0x1106
|
||
|
#define _CAPI_BUSY 0x1107
|
||
|
#define _RESOURCE_ERROR 0x1108
|
||
|
#define _CAPI_NOT_INSTALLED 0x1109
|
||
|
#define _NO_EXTERNAL_EQUIPMENT 0x110a
|
||
|
#define _ONLY_EXTERNAL_EQUIPMENT 0x110b
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* addressing/coding error codes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define _WRONG_STATE 0x2001
|
||
|
#define _WRONG_IDENTIFIER 0x2002
|
||
|
#define _OUT_OF_PLCI 0x2003
|
||
|
#define _OUT_OF_NCCI 0x2004
|
||
|
#define _OUT_OF_LISTEN 0x2005
|
||
|
#define _OUT_OF_FAX 0x2006
|
||
|
#define _WRONG_MESSAGE_FORMAT 0x2007
|
||
|
#define _OUT_OF_INTERCONNECT_RESOURCES 0x2008
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* configuration error codes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define _B1_NOT_SUPPORTED 0x3001
|
||
|
#define _B2_NOT_SUPPORTED 0x3002
|
||
|
#define _B3_NOT_SUPPORTED 0x3003
|
||
|
#define _B1_PARM_NOT_SUPPORTED 0x3004
|
||
|
#define _B2_PARM_NOT_SUPPORTED 0x3005
|
||
|
#define _B3_PARM_NOT_SUPPORTED 0x3006
|
||
|
#define _B_STACK_NOT_SUPPORTED 0x3007
|
||
|
#define _NCPI_NOT_SUPPORTED 0x3008
|
||
|
#define _CIP_NOT_SUPPORTED 0x3009
|
||
|
#define _FLAGS_NOT_SUPPORTED 0x300a
|
||
|
#define _FACILITY_NOT_SUPPORTED 0x300b
|
||
|
#define _DATA_LEN_NOT_SUPPORTED 0x300c
|
||
|
#define _RESET_NOT_SUPPORTED 0x300d
|
||
|
#define _SUPPLEMENTARY_SERVICE_NOT_SUPPORTED 0x300e
|
||
|
#define _REQUEST_NOT_ALLOWED_IN_THIS_STATE 0x3010
|
||
|
#define _FACILITY_SPECIFIC_FUNCTION_NOT_SUPP 0x3011
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* reason codes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define _L1_ERROR 0x3301
|
||
|
#define _L2_ERROR 0x3302
|
||
|
#define _L3_ERROR 0x3303
|
||
|
#define _OTHER_APPL_CONNECTED 0x3304
|
||
|
#define _CAPI_GUARD_ERROR 0x3305
|
||
|
#define _L3_CAUSE 0x3400
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* b3 reason codes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define _B_CHANNEL_LOST 0x3301
|
||
|
#define _B2_ERROR 0x3302
|
||
|
#define _B3_ERROR 0x3303
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* fax error codes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define _FAX_NO_CONNECTION 0x3311
|
||
|
#define _FAX_TRAINING_ERROR 0x3312
|
||
|
#define _FAX_REMOTE_REJECT 0x3313
|
||
|
#define _FAX_REMOTE_ABORT 0x3314
|
||
|
#define _FAX_PROTOCOL_ERROR 0x3315
|
||
|
#define _FAX_TX_UNDERRUN 0x3316
|
||
|
#define _FAX_RX_OVERFLOW 0x3317
|
||
|
#define _FAX_LOCAL_ABORT 0x3318
|
||
|
#define _FAX_PARAMETER_ERROR 0x3319
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* line interconnect error codes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define _LI_USER_INITIATED 0x0000
|
||
|
#define _LI_LINE_NO_LONGER_AVAILABLE 0x3805
|
||
|
#define _LI_INTERCONNECT_NOT_ESTABLISHED 0x3806
|
||
|
#define _LI_LINES_NOT_COMPATIBLE 0x3807
|
||
|
#define _LI2_USER_INITIATED 0x0000
|
||
|
#define _LI2_PLCI_HAS_NO_BCHANNEL 0x3800
|
||
|
#define _LI2_LINES_NOT_COMPATIBLE 0x3801
|
||
|
#define _LI2_NOT_IN_SAME_INTERCONNECTION 0x3802
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* global options */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define GL_INTERNAL_CONTROLLER_SUPPORTED 0x00000001L
|
||
|
#define GL_EXTERNAL_EQUIPMENT_SUPPORTED 0x00000002L
|
||
|
#define GL_HANDSET_SUPPORTED 0x00000004L
|
||
|
#define GL_DTMF_SUPPORTED 0x00000008L
|
||
|
#define GL_SUPPLEMENTARY_SERVICES_SUPPORTED 0x00000010L
|
||
|
#define GL_CHANNEL_ALLOCATION_SUPPORTED 0x00000020L
|
||
|
#define GL_BCHANNEL_OPERATION_SUPPORTED 0x00000040L
|
||
|
#define GL_LINE_INTERCONNECT_SUPPORTED 0x00000080L
|
||
|
#define GL_ECHO_CANCELLER_SUPPORTED 0x00000100L
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* protocol selection */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define B1_HDLC 0
|
||
|
#define B1_TRANSPARENT 1
|
||
|
#define B1_V110_ASYNC 2
|
||
|
#define B1_V110_SYNC 3
|
||
|
#define B1_T30 4
|
||
|
#define B1_HDLC_INVERTED 5
|
||
|
#define B1_TRANSPARENT_R 6
|
||
|
#define B1_MODEM_ALL_NEGOTIATE 7
|
||
|
#define B1_MODEM_ASYNC 8
|
||
|
#define B1_MODEM_SYNC_HDLC 9
|
||
|
#define B2_X75 0
|
||
|
#define B2_TRANSPARENT 1
|
||
|
#define B2_SDLC 2
|
||
|
#define B2_LAPD 3
|
||
|
#define B2_T30 4
|
||
|
#define B2_PPP 5
|
||
|
#define B2_TRANSPARENT_NO_CRC 6
|
||
|
#define B2_MODEM_EC_COMPRESSION 7
|
||
|
#define B2_X75_V42BIS 8
|
||
|
#define B2_V120_ASYNC 9
|
||
|
#define B2_V120_ASYNC_V42BIS 10
|
||
|
#define B2_V120_BIT_TRANSPARENT 11
|
||
|
#define B2_LAPD_FREE_SAPI_SEL 12
|
||
|
#define B3_TRANSPARENT 0
|
||
|
#define B3_T90NL 1
|
||
|
#define B3_ISO8208 2
|
||
|
#define B3_X25_DCE 3
|
||
|
#define B3_T30 4
|
||
|
#define B3_T30_WITH_EXTENSIONS 5
|
||
|
#define B3_RESERVED 6
|
||
|
#define B3_MODEM 7
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* facility definitions */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define SELECTOR_HANDSET 0
|
||
|
#define SELECTOR_DTMF 1
|
||
|
#define SELECTOR_V42BIS 2
|
||
|
#define SELECTOR_SU_SERV 3
|
||
|
#define SELECTOR_POWER_MANAGEMENT 4
|
||
|
#define SELECTOR_LINE_INTERCONNECT 5
|
||
|
#define SELECTOR_ECHO_CANCELLER 6
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* supplementary services definitions */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define S_GET_SUPPORTED_SERVICES 0x0000
|
||
|
#define S_LISTEN 0x0001
|
||
|
#define S_HOLD 0x0002
|
||
|
#define S_RETRIEVE 0x0003
|
||
|
#define S_SUSPEND 0x0004
|
||
|
#define S_RESUME 0x0005
|
||
|
#define S_ECT 0x0006
|
||
|
#define S_3PTY_BEGIN 0x0007
|
||
|
#define S_3PTY_END 0x0008
|
||
|
#define S_CALL_DEFLECTION 0x000d
|
||
|
#define S_CALL_FORWARDING_START 0x0009
|
||
|
#define S_CALL_FORWARDING_STOP 0x000a
|
||
|
#define S_INTERROGATE_DIVERSION 0x000b /* or interrogate parameters */
|
||
|
#define S_INTERROGATE_NUMBERS 0x000c
|
||
|
#define S_CCBS_REQUEST 0x000f
|
||
|
#define S_CCBS_DEACTIVATE 0x0010
|
||
|
#define S_CCBS_INTERROGATE 0x0011
|
||
|
#define S_CCBS_CALL 0x0012
|
||
|
#define S_MWI_ACTIVATE 0x0013
|
||
|
#define S_MWI_DEACTIVATE 0x0014
|
||
|
#define S_CONF_BEGIN 0x0017
|
||
|
#define S_CONF_ADD 0x0018
|
||
|
#define S_CONF_SPLIT 0x0019
|
||
|
#define S_CONF_DROP 0x001a
|
||
|
#define S_CONF_ISOLATE 0x001b
|
||
|
#define S_CONF_REATTACH 0x001c
|
||
|
#define S_CCBS_ERASECALLLINKAGEID 0x800d
|
||
|
#define S_CCBS_STOP_ALERTING 0x8012
|
||
|
#define S_CCBS_INFO_RETAIN 0x8013
|
||
|
#define S_MWI_INDICATE 0x8014
|
||
|
#define S_CONF_PARTYDISC 0x8016
|
||
|
#define S_CONF_NOTIFICATION 0x8017
|
||
|
/* Service Masks */
|
||
|
#define MASK_HOLD_RETRIEVE 0x00000001
|
||
|
#define MASK_TERMINAL_PORTABILITY 0x00000002
|
||
|
#define MASK_ECT 0x00000004
|
||
|
#define MASK_3PTY 0x00000008
|
||
|
#define MASK_CALL_FORWARDING 0x00000010
|
||
|
#define MASK_CALL_DEFLECTION 0x00000020
|
||
|
#define MASK_MWI 0x00000100
|
||
|
#define MASK_CCNR 0x00000200
|
||
|
#define MASK_CONF 0x00000400
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* dtmf definitions */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define DTMF_LISTEN_START 1
|
||
|
#define DTMF_LISTEN_STOP 2
|
||
|
#define DTMF_DIGITS_SEND 3
|
||
|
#define DTMF_SUCCESS 0
|
||
|
#define DTMF_INCORRECT_DIGIT 1
|
||
|
#define DTMF_UNKNOWN_REQUEST 2
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* line interconnect definitions */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define LI_GET_SUPPORTED_SERVICES 0
|
||
|
#define LI_REQ_CONNECT 1
|
||
|
#define LI_REQ_DISCONNECT 2
|
||
|
#define LI_IND_CONNECT_ACTIVE 1
|
||
|
#define LI_IND_DISCONNECT 2
|
||
|
#define LI_FLAG_CONFERENCE_A_B ((dword) 0x00000001L)
|
||
|
#define LI_FLAG_CONFERENCE_B_A ((dword) 0x00000002L)
|
||
|
#define LI_FLAG_MONITOR_A ((dword) 0x00000004L)
|
||
|
#define LI_FLAG_MONITOR_B ((dword) 0x00000008L)
|
||
|
#define LI_FLAG_ANNOUNCEMENT_A ((dword) 0x00000010L)
|
||
|
#define LI_FLAG_ANNOUNCEMENT_B ((dword) 0x00000020L)
|
||
|
#define LI_FLAG_MIX_A ((dword) 0x00000040L)
|
||
|
#define LI_FLAG_MIX_B ((dword) 0x00000080L)
|
||
|
#define LI_CONFERENCING_SUPPORTED ((dword) 0x00000001L)
|
||
|
#define LI_MONITORING_SUPPORTED ((dword) 0x00000002L)
|
||
|
#define LI_ANNOUNCEMENTS_SUPPORTED ((dword) 0x00000004L)
|
||
|
#define LI_MIXING_SUPPORTED ((dword) 0x00000008L)
|
||
|
#define LI_CROSS_CONTROLLER_SUPPORTED ((dword) 0x00000010L)
|
||
|
#define LI2_GET_SUPPORTED_SERVICES 0
|
||
|
#define LI2_REQ_CONNECT 1
|
||
|
#define LI2_REQ_DISCONNECT 2
|
||
|
#define LI2_IND_CONNECT_ACTIVE 1
|
||
|
#define LI2_IND_DISCONNECT 2
|
||
|
#define LI2_FLAG_INTERCONNECT_A_B ((dword) 0x00000001L)
|
||
|
#define LI2_FLAG_INTERCONNECT_B_A ((dword) 0x00000002L)
|
||
|
#define LI2_FLAG_MONITOR_B ((dword) 0x00000004L)
|
||
|
#define LI2_FLAG_MIX_B ((dword) 0x00000008L)
|
||
|
#define LI2_FLAG_MONITOR_X ((dword) 0x00000010L)
|
||
|
#define LI2_FLAG_MIX_X ((dword) 0x00000020L)
|
||
|
#define LI2_FLAG_LOOP_B ((dword) 0x00000040L)
|
||
|
#define LI2_FLAG_LOOP_PC ((dword) 0x00000080L)
|
||
|
#define LI2_FLAG_LOOP_X ((dword) 0x00000100L)
|
||
|
#define LI2_CROSS_CONTROLLER_SUPPORTED ((dword) 0x00000001L)
|
||
|
#define LI2_ASYMMETRIC_SUPPORTED ((dword) 0x00000002L)
|
||
|
#define LI2_MONITORING_SUPPORTED ((dword) 0x00000004L)
|
||
|
#define LI2_MIXING_SUPPORTED ((dword) 0x00000008L)
|
||
|
#define LI2_REMOTE_MONITORING_SUPPORTED ((dword) 0x00000010L)
|
||
|
#define LI2_REMOTE_MIXING_SUPPORTED ((dword) 0x00000020L)
|
||
|
#define LI2_B_LOOPING_SUPPORTED ((dword) 0x00000040L)
|
||
|
#define LI2_PC_LOOPING_SUPPORTED ((dword) 0x00000080L)
|
||
|
#define LI2_X_LOOPING_SUPPORTED ((dword) 0x00000100L)
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* echo canceller definitions */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#define EC_GET_SUPPORTED_SERVICES 0
|
||
|
#define EC_ENABLE_OPERATION 1
|
||
|
#define EC_DISABLE_OPERATION 2
|
||
|
#define EC_ENABLE_NON_LINEAR_PROCESSING 0x0001
|
||
|
#define EC_DO_NOT_REQUIRE_REVERSALS 0x0002
|
||
|
#define EC_DETECT_DISABLE_TONE 0x0004
|
||
|
#define EC_ENABLE_ADAPTIVE_PREDELAY 0x0008
|
||
|
#define EC_NON_LINEAR_PROCESSING_SUPPORTED 0x0001
|
||
|
#define EC_BYPASS_ON_ANY_2100HZ_SUPPORTED 0x0002
|
||
|
#define EC_BYPASS_ON_REV_2100HZ_SUPPORTED 0x0004
|
||
|
#define EC_ADAPTIVE_PREDELAY_SUPPORTED 0x0008
|
||
|
#define EC_BYPASS_INDICATION 1
|
||
|
#define EC_BYPASS_DUE_TO_CONTINUOUS_2100HZ 1
|
||
|
#define EC_BYPASS_DUE_TO_REVERSED_2100HZ 2
|
||
|
#define EC_BYPASS_RELEASED 3
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/* function prototypes */
|
||
|
/*------------------------------------------------------------------*/
|
||
|
/*------------------------------------------------------------------*/
|
||
|
#endif /* _INC_CAPI20 */
|