Path: blob/master/drivers/isdn/hardware/eicon/divacapi.h
15115 views
1/*2*3Copyright (c) Eicon Networks, 2002.4*5This source file is supplied for the use with6Eicon Networks range of DIVA Server Adapters.7*8Eicon File Revision : 2.19*10This program is free software; you can redistribute it and/or modify11it under the terms of the GNU General Public License as published by12the Free Software Foundation; either version 2, or (at your option)13any later version.14*15This program is distributed in the hope that it will be useful,16but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY17implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.18See the GNU General Public License for more details.19*20You should have received a copy of the GNU General Public License21along with this program; if not, write to the Free Software22Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.23*24*/2526/*#define DEBUG */272829303132333435363738#define IMPLEMENT_DTMF 139#define IMPLEMENT_LINE_INTERCONNECT2 140#define IMPLEMENT_ECHO_CANCELLER 141#define IMPLEMENT_RTP 142#define IMPLEMENT_T38 143#define IMPLEMENT_FAX_SUB_SEP_PWD 144#define IMPLEMENT_V18 145#define IMPLEMENT_DTMF_TONE 146#define IMPLEMENT_PIAFS 147#define IMPLEMENT_FAX_PAPER_FORMATS 148#define IMPLEMENT_VOWN 149#define IMPLEMENT_CAPIDTMF 150#define IMPLEMENT_FAX_NONSTANDARD 151#define VSWITCH_SUPPORT 1525354#define IMPLEMENT_LINE_INTERCONNECT 055#define IMPLEMENT_MARKED_OK_AFTER_FC 15657#include "capidtmf.h"5859/*------------------------------------------------------------------*/60/* Common API internal definitions */61/*------------------------------------------------------------------*/6263#define MAX_APPL 24064#define MAX_NCCI 1276566#define MSG_IN_QUEUE_SIZE ((4096 + 3) & 0xfffc) /* must be multiple of 4 */676869#define MSG_IN_OVERHEAD sizeof(APPL *)7071#define MAX_NL_CHANNEL 25572#define MAX_DATA_B3 873#define MAX_DATA_ACK MAX_DATA_B374#define MAX_MULTI_IE 675#define MAX_MSG_SIZE 25676#define MAX_MSG_PARMS 1077#define MAX_CPN_MASK_SIZE 1678#define MAX_MSN_CONFIG 1079#define EXT_CONTROLLER 0x8080#define CODEC 0x0181#define CODEC_PERMANENT 0x0282#define ADV_VOICE 0x0383#define MAX_CIP_TYPES 5 /* kind of CIP types for group optimization */84#define C_IND_MASK_DWORDS ((MAX_APPL+32) >> 5)858687#define FAX_CONNECT_INFO_BUFFER_SIZE 25688#define NCPI_BUFFER_SIZE 2568990#define MAX_CHANNELS_PER_PLCI 891#define MAX_INTERNAL_COMMAND_LEVELS 492#define INTERNAL_REQ_BUFFER_SIZE 2729394#define INTERNAL_IND_BUFFER_SIZE 7689596#define DTMF_PARAMETER_BUFFER_SIZE 1297#define ADV_VOICE_COEF_BUFFER_SIZE 509899#define LI_PLCI_B_QUEUE_ENTRIES 256100101102103typedef struct _APPL APPL;104typedef struct _PLCI PLCI;105typedef struct _NCCI NCCI;106typedef struct _DIVA_CAPI_ADAPTER DIVA_CAPI_ADAPTER;107typedef struct _DATA_B3_DESC DATA_B3_DESC;108typedef struct _DATA_ACK_DESC DATA_ACK_DESC;109typedef struct manufacturer_profile_s MANUFACTURER_PROFILE;110typedef struct fax_ncpi_s FAX_NCPI;111typedef struct api_parse_s API_PARSE;112typedef struct api_save_s API_SAVE;113typedef struct msn_config_s MSN_CONFIG;114typedef struct msn_config_max_s MSN_CONFIG_MAX;115typedef struct msn_ld_s MSN_LD;116117struct manufacturer_profile_s {118dword private_options;119dword rtp_primary_payloads;120dword rtp_additional_payloads;121};122123struct fax_ncpi_s {124word options;125word format;126};127128struct msn_config_s {129byte msn[MAX_CPN_MASK_SIZE];130};131132struct msn_config_max_s {133MSN_CONFIG msn_conf[MAX_MSN_CONFIG];134};135136struct msn_ld_s {137dword low;138dword high;139};140141struct api_parse_s {142word length;143byte * info;144};145146struct api_save_s {147API_PARSE parms[MAX_MSG_PARMS+1];148byte info[MAX_MSG_SIZE];149};150151struct _DATA_B3_DESC {152word Handle;153word Number;154word Flags;155word Length;156void * P;157};158159struct _DATA_ACK_DESC {160word Handle;161word Number;162};163164typedef void (* t_std_internal_command)(dword Id, PLCI *plci, byte Rc);165166/************************************************************************/167/* Don't forget to adapt dos.asm after changing the _APPL structure!!!! */168struct _APPL {169word Id;170word NullCREnable;171word CDEnable;172dword S_Handle;173174175176177178179LIST_ENTRY s_function;180dword s_context;181word s_count;182APPL * s_next;183byte * xbuffer_used;184void ** xbuffer_internal;185void ** xbuffer_ptr;186187188189190191192byte * queue;193word queue_size;194word queue_free;195word queue_read;196word queue_write;197word queue_signal;198byte msg_lost;199byte appl_flags;200word Number;201202word MaxBuffer;203byte MaxNCCI;204byte MaxNCCIData;205word MaxDataLength;206word NCCIDataFlowCtrlTimer;207byte * ReceiveBuffer;208word * DataNCCI;209word * DataFlags;210};211212213struct _PLCI {214ENTITY Sig;215ENTITY NL;216word RNum;217word RFlags;218BUFFERS RData[2];219BUFFERS XData[1];220BUFFERS NData[2];221222DIVA_CAPI_ADAPTER *adapter;223APPL *appl;224PLCI *relatedPTYPLCI;225byte Id;226byte State;227byte sig_req;228byte nl_req;229byte SuppState;230byte channels;231byte tel;232byte B1_resource;233byte B2_prot;234byte B3_prot;235236word command;237word m_command;238word internal_command;239word number;240word req_in_start;241word req_in;242word req_out;243word msg_in_write_pos;244word msg_in_read_pos;245word msg_in_wrap_pos;246247void * data_sent_ptr;248byte data_sent;249byte send_disc;250byte sig_global_req;251byte sig_remove_id;252byte nl_global_req;253byte nl_remove_id;254byte b_channel;255byte adv_nl;256byte manufacturer;257byte call_dir;258byte hook_state;259byte spoofed_msg;260byte ptyState;261byte cr_enquiry;262word hangup_flow_ctrl_timer;263264word ncci_ring_list;265byte inc_dis_ncci_table[MAX_CHANNELS_PER_PLCI];266t_std_internal_command internal_command_queue[MAX_INTERNAL_COMMAND_LEVELS];267dword c_ind_mask_table[C_IND_MASK_DWORDS];268dword group_optimization_mask_table[C_IND_MASK_DWORDS];269byte RBuffer[200];270dword msg_in_queue[MSG_IN_QUEUE_SIZE/sizeof(dword)];271API_SAVE saved_msg;272API_SAVE B_protocol;273byte fax_connect_info_length;274byte fax_connect_info_buffer[FAX_CONNECT_INFO_BUFFER_SIZE];275byte fax_edata_ack_length;276word nsf_control_bits;277byte ncpi_state;278byte ncpi_buffer[NCPI_BUFFER_SIZE];279280byte internal_req_buffer[INTERNAL_REQ_BUFFER_SIZE];281byte internal_ind_buffer[INTERNAL_IND_BUFFER_SIZE + 3];282dword requested_options_conn;283dword requested_options;284word B1_facilities;285API_SAVE *adjust_b_parms_msg;286word adjust_b_facilities;287word adjust_b_command;288word adjust_b_ncci;289word adjust_b_mode;290word adjust_b_state;291byte adjust_b_restore;292293byte dtmf_rec_active;294word dtmf_rec_pulse_ms;295word dtmf_rec_pause_ms;296byte dtmf_send_requests;297word dtmf_send_pulse_ms;298word dtmf_send_pause_ms;299word dtmf_cmd;300word dtmf_msg_number_queue[8];301byte dtmf_parameter_length;302byte dtmf_parameter_buffer[DTMF_PARAMETER_BUFFER_SIZE];303304305t_capidtmf_state capidtmf_state;306307308byte li_bchannel_id; /* BRI: 1..2, PRI: 1..32 */309byte li_channel_bits;310byte li_notify_update;311word li_cmd;312word li_write_command;313word li_write_channel;314word li_plci_b_write_pos;315word li_plci_b_read_pos;316word li_plci_b_req_pos;317dword li_plci_b_queue[LI_PLCI_B_QUEUE_ENTRIES];318319320word ec_cmd;321word ec_idi_options;322word ec_tail_length;323324325byte tone_last_indication_code;326327byte vswitchstate;328byte vsprot;329byte vsprotdialect;330byte notifiedcall; /* Flag if it is a spoofed call */331332int rx_dma_descriptor;333dword rx_dma_magic;334};335336337struct _NCCI {338byte data_out;339byte data_pending;340byte data_ack_out;341byte data_ack_pending;342DATA_B3_DESC DBuffer[MAX_DATA_B3];343DATA_ACK_DESC DataAck[MAX_DATA_ACK];344};345346347struct _DIVA_CAPI_ADAPTER {348IDI_CALL request;349byte Id;350byte max_plci;351byte max_listen;352byte listen_active;353PLCI *plci;354byte ch_ncci[MAX_NL_CHANNEL+1];355byte ncci_ch[MAX_NCCI+1];356byte ncci_plci[MAX_NCCI+1];357byte ncci_state[MAX_NCCI+1];358byte ncci_next[MAX_NCCI+1];359NCCI ncci[MAX_NCCI+1];360361byte ch_flow_control[MAX_NL_CHANNEL+1]; /* Used by XON protocol */362byte ch_flow_control_pending;363byte ch_flow_plci[MAX_NL_CHANNEL+1];364int last_flow_control_ch;365366dword Info_Mask[MAX_APPL];367dword CIP_Mask[MAX_APPL];368369dword Notification_Mask[MAX_APPL];370PLCI *codec_listen[MAX_APPL];371dword requested_options_table[MAX_APPL];372API_PROFILE profile;373MANUFACTURER_PROFILE man_profile;374dword manufacturer_features;375376byte AdvCodecFLAG;377PLCI *AdvCodecPLCI;378PLCI *AdvSignalPLCI;379APPL *AdvSignalAppl;380byte TelOAD[23];381byte TelOSA[23];382byte scom_appl_disable;383PLCI *automatic_lawPLCI;384byte automatic_law;385byte u_law;386387byte adv_voice_coef_length;388byte adv_voice_coef_buffer[ADV_VOICE_COEF_BUFFER_SIZE];389390byte li_pri;391byte li_channels;392word li_base;393394byte adapter_disabled;395byte group_optimization_enabled; /* use application groups if enabled */396dword sdram_bar;397byte flag_dynamic_l1_down; /* for hunt groups:down layer 1 if no appl present*/398byte FlowControlIdTable[256];399byte FlowControlSkipTable[256];400void* os_card; /* pointer to associated OS dependent adapter structure */401};402403404/*------------------------------------------------------------------*/405/* Application flags */406/*------------------------------------------------------------------*/407408#define APPL_FLAG_OLD_LI_SPEC 0x01409#define APPL_FLAG_PRIV_EC_SPEC 0x02410411412/*------------------------------------------------------------------*/413/* API parameter definitions */414/*------------------------------------------------------------------*/415416#define X75_TTX 1 /* x.75 for ttx */417#define TRF 2 /* transparent with hdlc framing */418#define TRF_IN 3 /* transparent with hdlc fr. inc. */419#define SDLC 4 /* sdlc, sna layer-2 */420#define X75_BTX 5 /* x.75 for btx */421#define LAPD 6 /* lapd (Q.921) */422#define X25_L2 7 /* x.25 layer-2 */423#define V120_L2 8 /* V.120 layer-2 protocol */424#define V42_IN 9 /* V.42 layer-2 protocol, incomming */425#define V42 10 /* V.42 layer-2 protocol */426#define MDM_ATP 11 /* AT Parser built in the L2 */427#define X75_V42BIS 12 /* ISO7776 (X.75 SLP) modified to support V.42 bis compression */428#define RTPL2_IN 13 /* RTP layer-2 protocol, incomming */429#define RTPL2 14 /* RTP layer-2 protocol */430#define V120_V42BIS 15 /* V.120 layer-2 protocol supporting V.42 bis compression */431432#define T70NL 1433#define X25PLP 2434#define T70NLX 3435#define TRANSPARENT_NL 4436#define ISO8208 5437#define T30 6438439440/*------------------------------------------------------------------*/441/* FAX interface to IDI */442/*------------------------------------------------------------------*/443444#define CAPI_MAX_HEAD_LINE_SPACE 89445#define CAPI_MAX_DATE_TIME_LENGTH 18446447#define T30_MAX_STATION_ID_LENGTH 20448#define T30_MAX_SUBADDRESS_LENGTH 20449#define T30_MAX_PASSWORD_LENGTH 20450451typedef struct t30_info_s T30_INFO;452struct t30_info_s {453byte code;454byte rate_div_2400;455byte resolution;456byte data_format;457byte pages_low;458byte pages_high;459byte operating_mode;460byte control_bits_low;461byte control_bits_high;462byte feature_bits_low;463byte feature_bits_high;464byte recording_properties;465byte universal_6;466byte universal_7;467byte station_id_len;468byte head_line_len;469byte station_id[T30_MAX_STATION_ID_LENGTH];470/* byte head_line[]; */471/* byte sub_sep_length; */472/* byte sub_sep_field[]; */473/* byte pwd_length; */474/* byte pwd_field[]; */475/* byte nsf_info_length; */476/* byte nsf_info_field[]; */477};478479480#define T30_RESOLUTION_R8_0385 0x00481#define T30_RESOLUTION_R8_0770_OR_200 0x01482#define T30_RESOLUTION_R8_1540 0x02483#define T30_RESOLUTION_R16_1540_OR_400 0x04484#define T30_RESOLUTION_R4_0385_OR_100 0x08485#define T30_RESOLUTION_300_300 0x10486#define T30_RESOLUTION_INCH_BASED 0x40487#define T30_RESOLUTION_METRIC_BASED 0x80488489#define T30_RECORDING_WIDTH_ISO_A4 0490#define T30_RECORDING_WIDTH_ISO_B4 1491#define T30_RECORDING_WIDTH_ISO_A3 2492#define T30_RECORDING_WIDTH_COUNT 3493494#define T30_RECORDING_LENGTH_ISO_A4 0495#define T30_RECORDING_LENGTH_ISO_B4 1496#define T30_RECORDING_LENGTH_UNLIMITED 2497#define T30_RECORDING_LENGTH_COUNT 3498499#define T30_MIN_SCANLINE_TIME_00_00_00 0500#define T30_MIN_SCANLINE_TIME_05_05_05 1501#define T30_MIN_SCANLINE_TIME_10_05_05 2502#define T30_MIN_SCANLINE_TIME_10_10_10 3503#define T30_MIN_SCANLINE_TIME_20_10_10 4504#define T30_MIN_SCANLINE_TIME_20_20_20 5505#define T30_MIN_SCANLINE_TIME_40_20_20 6506#define T30_MIN_SCANLINE_TIME_40_40_40 7507#define T30_MIN_SCANLINE_TIME_RES_8 8508#define T30_MIN_SCANLINE_TIME_RES_9 9509#define T30_MIN_SCANLINE_TIME_RES_10 10510#define T30_MIN_SCANLINE_TIME_10_10_05 11511#define T30_MIN_SCANLINE_TIME_20_10_05 12512#define T30_MIN_SCANLINE_TIME_20_20_10 13513#define T30_MIN_SCANLINE_TIME_40_20_10 14514#define T30_MIN_SCANLINE_TIME_40_40_20 15515#define T30_MIN_SCANLINE_TIME_COUNT 16516517#define T30_DATA_FORMAT_SFF 0518#define T30_DATA_FORMAT_ASCII 1519#define T30_DATA_FORMAT_NATIVE 2520#define T30_DATA_FORMAT_COUNT 3521522523#define T30_OPERATING_MODE_STANDARD 0524#define T30_OPERATING_MODE_CLASS2 1525#define T30_OPERATING_MODE_CLASS1 2526#define T30_OPERATING_MODE_CAPI 3527#define T30_OPERATING_MODE_CAPI_NEG 4528#define T30_OPERATING_MODE_COUNT 5529530/* EDATA transmit messages */531#define EDATA_T30_DIS 0x01532#define EDATA_T30_FTT 0x02533#define EDATA_T30_MCF 0x03534#define EDATA_T30_PARAMETERS 0x04535536/* EDATA receive messages */537#define EDATA_T30_DCS 0x81538#define EDATA_T30_TRAIN_OK 0x82539#define EDATA_T30_EOP 0x83540#define EDATA_T30_MPS 0x84541#define EDATA_T30_EOM 0x85542#define EDATA_T30_DTC 0x86543#define EDATA_T30_PAGE_END 0x87 /* Indicates end of page data. Reserved, but not implemented ! */544#define EDATA_T30_EOP_CAPI 0x88545546547#define T30_SUCCESS 0548#define T30_ERR_NO_DIS_RECEIVED 1549#define T30_ERR_TIMEOUT_NO_RESPONSE 2550#define T30_ERR_RETRY_NO_RESPONSE 3551#define T30_ERR_TOO_MANY_REPEATS 4552#define T30_ERR_UNEXPECTED_MESSAGE 5553#define T30_ERR_UNEXPECTED_DCN 6554#define T30_ERR_DTC_UNSUPPORTED 7555#define T30_ERR_ALL_RATES_FAILED 8556#define T30_ERR_TOO_MANY_TRAINS 9557#define T30_ERR_RECEIVE_CORRUPTED 10558#define T30_ERR_UNEXPECTED_DISC 11559#define T30_ERR_APPLICATION_DISC 12560#define T30_ERR_INCOMPATIBLE_DIS 13561#define T30_ERR_INCOMPATIBLE_DCS 14562#define T30_ERR_TIMEOUT_NO_COMMAND 15563#define T30_ERR_RETRY_NO_COMMAND 16564#define T30_ERR_TIMEOUT_COMMAND_TOO_LONG 17565#define T30_ERR_TIMEOUT_RESPONSE_TOO_LONG 18566#define T30_ERR_NOT_IDENTIFIED 19567#define T30_ERR_SUPERVISORY_TIMEOUT 20568#define T30_ERR_TOO_LONG_SCAN_LINE 21569/* #define T30_ERR_RETRY_NO_PAGE_AFTER_MPS 22 */570#define T30_ERR_RETRY_NO_PAGE_RECEIVED 23571#define T30_ERR_RETRY_NO_DCS_AFTER_FTT 24572#define T30_ERR_RETRY_NO_DCS_AFTER_EOM 25573#define T30_ERR_RETRY_NO_DCS_AFTER_MPS 26574#define T30_ERR_RETRY_NO_DCN_AFTER_MCF 27575#define T30_ERR_RETRY_NO_DCN_AFTER_RTN 28576#define T30_ERR_RETRY_NO_CFR 29577#define T30_ERR_RETRY_NO_MCF_AFTER_EOP 30578#define T30_ERR_RETRY_NO_MCF_AFTER_EOM 31579#define T30_ERR_RETRY_NO_MCF_AFTER_MPS 32580#define T30_ERR_SUB_SEP_UNSUPPORTED 33581#define T30_ERR_PWD_UNSUPPORTED 34582#define T30_ERR_SUB_SEP_PWD_UNSUPPORTED 35583#define T30_ERR_INVALID_COMMAND_FRAME 36584#define T30_ERR_UNSUPPORTED_PAGE_CODING 37585#define T30_ERR_INVALID_PAGE_CODING 38586#define T30_ERR_INCOMPATIBLE_PAGE_CONFIG 39587#define T30_ERR_TIMEOUT_FROM_APPLICATION 40588#define T30_ERR_V34FAX_NO_REACTION_ON_MARK 41589#define T30_ERR_V34FAX_TRAINING_TIMEOUT 42590#define T30_ERR_V34FAX_UNEXPECTED_V21 43591#define T30_ERR_V34FAX_PRIMARY_CTS_ON 44592#define T30_ERR_V34FAX_TURNAROUND_POLLING 45593#define T30_ERR_V34FAX_V8_INCOMPATIBILITY 46594595596#define T30_CONTROL_BIT_DISABLE_FINE 0x0001597#define T30_CONTROL_BIT_ENABLE_ECM 0x0002598#define T30_CONTROL_BIT_ECM_64_BYTES 0x0004599#define T30_CONTROL_BIT_ENABLE_2D_CODING 0x0008600#define T30_CONTROL_BIT_ENABLE_T6_CODING 0x0010601#define T30_CONTROL_BIT_ENABLE_UNCOMPR 0x0020602#define T30_CONTROL_BIT_ACCEPT_POLLING 0x0040603#define T30_CONTROL_BIT_REQUEST_POLLING 0x0080604#define T30_CONTROL_BIT_MORE_DOCUMENTS 0x0100605#define T30_CONTROL_BIT_ACCEPT_SUBADDRESS 0x0200606#define T30_CONTROL_BIT_ACCEPT_SEL_POLLING 0x0400607#define T30_CONTROL_BIT_ACCEPT_PASSWORD 0x0800608#define T30_CONTROL_BIT_ENABLE_V34FAX 0x1000609#define T30_CONTROL_BIT_EARLY_CONNECT 0x2000610611#define T30_CONTROL_BIT_ALL_FEATURES (T30_CONTROL_BIT_ENABLE_ECM | T30_CONTROL_BIT_ENABLE_2D_CODING | T30_CONTROL_BIT_ENABLE_T6_CODING | T30_CONTROL_BIT_ENABLE_UNCOMPR | T30_CONTROL_BIT_ENABLE_V34FAX)612613#define T30_FEATURE_BIT_FINE 0x0001614#define T30_FEATURE_BIT_ECM 0x0002615#define T30_FEATURE_BIT_ECM_64_BYTES 0x0004616#define T30_FEATURE_BIT_2D_CODING 0x0008617#define T30_FEATURE_BIT_T6_CODING 0x0010618#define T30_FEATURE_BIT_UNCOMPR_ENABLED 0x0020619#define T30_FEATURE_BIT_POLLING 0x0040620#define T30_FEATURE_BIT_MORE_DOCUMENTS 0x0100621#define T30_FEATURE_BIT_V34FAX 0x1000622623624#define T30_NSF_CONTROL_BIT_ENABLE_NSF 0x0001625#define T30_NSF_CONTROL_BIT_RAW_INFO 0x0002626#define T30_NSF_CONTROL_BIT_NEGOTIATE_IND 0x0004627#define T30_NSF_CONTROL_BIT_NEGOTIATE_RESP 0x0008628629#define T30_NSF_ELEMENT_NSF_FIF 0x00630#define T30_NSF_ELEMENT_NSC_FIF 0x01631#define T30_NSF_ELEMENT_NSS_FIF 0x02632#define T30_NSF_ELEMENT_COMPANY_NAME 0x03633634635/*------------------------------------------------------------------*/636/* Analog modem definitions */637/*------------------------------------------------------------------*/638639typedef struct async_s ASYNC_FORMAT;640struct async_s {641unsigned pe: 1;642unsigned parity:2;643unsigned spare: 2;644unsigned stp: 1;645unsigned ch_len:2; /* 3th octett in CAI */646};647648649/*------------------------------------------------------------------*/650/* PLCI/NCCI states */651/*------------------------------------------------------------------*/652653#define IDLE 0654#define OUTG_CON_PENDING 1655#define INC_CON_PENDING 2656#define INC_CON_ALERT 3657#define INC_CON_ACCEPT 4658#define INC_ACT_PENDING 5659#define LISTENING 6660#define CONNECTED 7661#define OUTG_DIS_PENDING 8662#define INC_DIS_PENDING 9663#define LOCAL_CONNECT 10664#define INC_RES_PENDING 11665#define OUTG_RES_PENDING 12666#define SUSPENDING 13667#define ADVANCED_VOICE_SIG 14668#define ADVANCED_VOICE_NOSIG 15669#define RESUMING 16670#define INC_CON_CONNECTED_ALERT 17671#define OUTG_REJ_PENDING 18672673674/*------------------------------------------------------------------*/675/* auxiliary states for supplementary services */676/*------------------------------------------------------------------*/677678#define IDLE 0679#define HOLD_REQUEST 1680#define HOLD_INDICATE 2681#define CALL_HELD 3682#define RETRIEVE_REQUEST 4683#define RETRIEVE_INDICATION 5684685/*------------------------------------------------------------------*/686/* Capi IE + Msg types */687/*------------------------------------------------------------------*/688#define ESC_CAUSE 0x800|CAU /* Escape cause element */689#define ESC_MSGTYPE 0x800|MSGTYPEIE /* Escape message type */690#define ESC_CHI 0x800|CHI /* Escape channel id */691#define ESC_LAW 0x800|BC /* Escape law info */692#define ESC_CR 0x800|CRIE /* Escape CallReference */693#define ESC_PROFILE 0x800|PROFILEIE /* Escape profile */694#define ESC_SSEXT 0x800|SSEXTIE /* Escape Supplem. Serv.*/695#define ESC_VSWITCH 0x800|VSWITCHIE /* Escape VSwitch */696#define CST 0x14 /* Call State i.e. */697#define PI 0x1E /* Progress Indicator */698#define NI 0x27 /* Notification Ind */699#define CONN_NR 0x4C /* Connected Number */700#define CONG_RNR 0xBF /* Congestion RNR */701#define CONG_RR 0xB0 /* Congestion RR */702#define RESERVED 0xFF /* Res. for future use */703#define ON_BOARD_CODEC 0x02 /* external controller */704#define HANDSET 0x04 /* Codec+Handset(Pro11) */705#define HOOK_SUPPORT 0x01 /* activate Hook signal */706#define SCR 0x7a /* unscreened number */707708#define HOOK_OFF_REQ 0x9001 /* internal conn req */709#define HOOK_ON_REQ 0x9002 /* internal disc req */710#define SUSPEND_REQ 0x9003 /* internal susp req */711#define RESUME_REQ 0x9004 /* internal resume req */712#define USELAW_REQ 0x9005 /* internal law req */713#define LISTEN_SIG_ASSIGN_PEND 0x9006714#define PERM_LIST_REQ 0x900a /* permanent conn DCE */715#define C_HOLD_REQ 0x9011716#define C_RETRIEVE_REQ 0x9012717#define C_NCR_FAC_REQ 0x9013718#define PERM_COD_ASSIGN 0x9014719#define PERM_COD_CALL 0x9015720#define PERM_COD_HOOK 0x9016721#define PERM_COD_CONN_PEND 0x9017 /* wait for connect_con */722#define PTY_REQ_PEND 0x9018723#define CD_REQ_PEND 0x9019724#define CF_START_PEND 0x901a725#define CF_STOP_PEND 0x901b726#define ECT_REQ_PEND 0x901c727#define GETSERV_REQ_PEND 0x901d728#define BLOCK_PLCI 0x901e729#define INTERR_NUMBERS_REQ_PEND 0x901f730#define INTERR_DIVERSION_REQ_PEND 0x9020731#define MWI_ACTIVATE_REQ_PEND 0x9021732#define MWI_DEACTIVATE_REQ_PEND 0x9022733#define SSEXT_REQ_COMMAND 0x9023734#define SSEXT_NC_REQ_COMMAND 0x9024735#define START_L1_SIG_ASSIGN_PEND 0x9025736#define REM_L1_SIG_ASSIGN_PEND 0x9026737#define CONF_BEGIN_REQ_PEND 0x9027738#define CONF_ADD_REQ_PEND 0x9028739#define CONF_SPLIT_REQ_PEND 0x9029740#define CONF_DROP_REQ_PEND 0x902a741#define CONF_ISOLATE_REQ_PEND 0x902b742#define CONF_REATTACH_REQ_PEND 0x902c743#define VSWITCH_REQ_PEND 0x902d744#define GET_MWI_STATE 0x902e745#define CCBS_REQUEST_REQ_PEND 0x902f746#define CCBS_DEACTIVATE_REQ_PEND 0x9030747#define CCBS_INTERROGATE_REQ_PEND 0x9031748749#define NO_INTERNAL_COMMAND 0750#define DTMF_COMMAND_1 1751#define DTMF_COMMAND_2 2752#define DTMF_COMMAND_3 3753#define MIXER_COMMAND_1 4754#define MIXER_COMMAND_2 5755#define MIXER_COMMAND_3 6756#define ADV_VOICE_COMMAND_CONNECT_1 7757#define ADV_VOICE_COMMAND_CONNECT_2 8758#define ADV_VOICE_COMMAND_CONNECT_3 9759#define ADV_VOICE_COMMAND_DISCONNECT_1 10760#define ADV_VOICE_COMMAND_DISCONNECT_2 11761#define ADV_VOICE_COMMAND_DISCONNECT_3 12762#define ADJUST_B_RESTORE_1 13763#define ADJUST_B_RESTORE_2 14764#define RESET_B3_COMMAND_1 15765#define SELECT_B_COMMAND_1 16766#define FAX_CONNECT_INFO_COMMAND_1 17767#define FAX_CONNECT_INFO_COMMAND_2 18768#define FAX_ADJUST_B23_COMMAND_1 19769#define FAX_ADJUST_B23_COMMAND_2 20770#define EC_COMMAND_1 21771#define EC_COMMAND_2 22772#define EC_COMMAND_3 23773#define RTP_CONNECT_B3_REQ_COMMAND_1 24774#define RTP_CONNECT_B3_REQ_COMMAND_2 25775#define RTP_CONNECT_B3_REQ_COMMAND_3 26776#define RTP_CONNECT_B3_RES_COMMAND_1 27777#define RTP_CONNECT_B3_RES_COMMAND_2 28778#define RTP_CONNECT_B3_RES_COMMAND_3 29779#define HOLD_SAVE_COMMAND_1 30780#define RETRIEVE_RESTORE_COMMAND_1 31781#define FAX_DISCONNECT_COMMAND_1 32782#define FAX_DISCONNECT_COMMAND_2 33783#define FAX_DISCONNECT_COMMAND_3 34784#define FAX_EDATA_ACK_COMMAND_1 35785#define FAX_EDATA_ACK_COMMAND_2 36786#define FAX_CONNECT_ACK_COMMAND_1 37787#define FAX_CONNECT_ACK_COMMAND_2 38788#define STD_INTERNAL_COMMAND_COUNT 39789790#define UID 0x2d /* User Id for Mgmt */791792#define CALL_DIR_OUT 0x01 /* call direction of initial call */793#define CALL_DIR_IN 0x02794#define CALL_DIR_ORIGINATE 0x04 /* DTE/DCE direction according to */795#define CALL_DIR_ANSWER 0x08 /* state of B-Channel Operation */796#define CALL_DIR_FORCE_OUTG_NL 0x10 /* for RESET_B3 reconnect, after DISC_B3... */797798#define AWAITING_MANUF_CON 0x80 /* command spoofing flags */799#define SPOOFING_REQUIRED 0xff800#define AWAITING_SELECT_B 0xef801802/*------------------------------------------------------------------*/803/* B_CTRL / DSP_CTRL */804/*------------------------------------------------------------------*/805806#define DSP_CTRL_OLD_SET_MIXER_COEFFICIENTS 0x01807#define DSP_CTRL_SET_BCHANNEL_PASSIVATION_BRI 0x02808#define DSP_CTRL_SET_DTMF_PARAMETERS 0x03809810#define MANUFACTURER_FEATURE_SLAVE_CODEC 0x00000001L811#define MANUFACTURER_FEATURE_FAX_MORE_DOCUMENTS 0x00000002L812#define MANUFACTURER_FEATURE_HARDDTMF 0x00000004L813#define MANUFACTURER_FEATURE_SOFTDTMF_SEND 0x00000008L814#define MANUFACTURER_FEATURE_DTMF_PARAMETERS 0x00000010L815#define MANUFACTURER_FEATURE_SOFTDTMF_RECEIVE 0x00000020L816#define MANUFACTURER_FEATURE_FAX_SUB_SEP_PWD 0x00000040L817#define MANUFACTURER_FEATURE_V18 0x00000080L818#define MANUFACTURER_FEATURE_MIXER_CH_CH 0x00000100L819#define MANUFACTURER_FEATURE_MIXER_CH_PC 0x00000200L820#define MANUFACTURER_FEATURE_MIXER_PC_CH 0x00000400L821#define MANUFACTURER_FEATURE_MIXER_PC_PC 0x00000800L822#define MANUFACTURER_FEATURE_ECHO_CANCELLER 0x00001000L823#define MANUFACTURER_FEATURE_RTP 0x00002000L824#define MANUFACTURER_FEATURE_T38 0x00004000L825#define MANUFACTURER_FEATURE_TRANSP_DELIVERY_CONF 0x00008000L826#define MANUFACTURER_FEATURE_XONOFF_FLOW_CONTROL 0x00010000L827#define MANUFACTURER_FEATURE_OOB_CHANNEL 0x00020000L828#define MANUFACTURER_FEATURE_IN_BAND_CHANNEL 0x00040000L829#define MANUFACTURER_FEATURE_IN_BAND_FEATURE 0x00080000L830#define MANUFACTURER_FEATURE_PIAFS 0x00100000L831#define MANUFACTURER_FEATURE_DTMF_TONE 0x00200000L832#define MANUFACTURER_FEATURE_FAX_PAPER_FORMATS 0x00400000L833#define MANUFACTURER_FEATURE_OK_FC_LABEL 0x00800000L834#define MANUFACTURER_FEATURE_VOWN 0x01000000L835#define MANUFACTURER_FEATURE_XCONNECT 0x02000000L836#define MANUFACTURER_FEATURE_DMACONNECT 0x04000000L837#define MANUFACTURER_FEATURE_AUDIO_TAP 0x08000000L838#define MANUFACTURER_FEATURE_FAX_NONSTANDARD 0x10000000L839840/*------------------------------------------------------------------*/841/* DTMF interface to IDI */842/*------------------------------------------------------------------*/843844845#define DTMF_DIGIT_TONE_LOW_GROUP_697_HZ 0x00846#define DTMF_DIGIT_TONE_LOW_GROUP_770_HZ 0x01847#define DTMF_DIGIT_TONE_LOW_GROUP_852_HZ 0x02848#define DTMF_DIGIT_TONE_LOW_GROUP_941_HZ 0x03849#define DTMF_DIGIT_TONE_LOW_GROUP_MASK 0x03850#define DTMF_DIGIT_TONE_HIGH_GROUP_1209_HZ 0x00851#define DTMF_DIGIT_TONE_HIGH_GROUP_1336_HZ 0x04852#define DTMF_DIGIT_TONE_HIGH_GROUP_1477_HZ 0x08853#define DTMF_DIGIT_TONE_HIGH_GROUP_1633_HZ 0x0c854#define DTMF_DIGIT_TONE_HIGH_GROUP_MASK 0x0c855#define DTMF_DIGIT_TONE_CODE_0 0x07856#define DTMF_DIGIT_TONE_CODE_1 0x00857#define DTMF_DIGIT_TONE_CODE_2 0x04858#define DTMF_DIGIT_TONE_CODE_3 0x08859#define DTMF_DIGIT_TONE_CODE_4 0x01860#define DTMF_DIGIT_TONE_CODE_5 0x05861#define DTMF_DIGIT_TONE_CODE_6 0x09862#define DTMF_DIGIT_TONE_CODE_7 0x02863#define DTMF_DIGIT_TONE_CODE_8 0x06864#define DTMF_DIGIT_TONE_CODE_9 0x0a865#define DTMF_DIGIT_TONE_CODE_STAR 0x03866#define DTMF_DIGIT_TONE_CODE_HASHMARK 0x0b867#define DTMF_DIGIT_TONE_CODE_A 0x0c868#define DTMF_DIGIT_TONE_CODE_B 0x0d869#define DTMF_DIGIT_TONE_CODE_C 0x0e870#define DTMF_DIGIT_TONE_CODE_D 0x0f871872#define DTMF_UDATA_REQUEST_SEND_DIGITS 16873#define DTMF_UDATA_REQUEST_ENABLE_RECEIVER 17874#define DTMF_UDATA_REQUEST_DISABLE_RECEIVER 18875#define DTMF_UDATA_INDICATION_DIGITS_SENT 16876#define DTMF_UDATA_INDICATION_DIGITS_RECEIVED 17877#define DTMF_UDATA_INDICATION_MODEM_CALLING_TONE 18878#define DTMF_UDATA_INDICATION_FAX_CALLING_TONE 19879#define DTMF_UDATA_INDICATION_ANSWER_TONE 20880881#define UDATA_REQUEST_MIXER_TAP_DATA 27882#define UDATA_INDICATION_MIXER_TAP_DATA 27883884#define DTMF_LISTEN_ACTIVE_FLAG 0x01885#define DTMF_SEND_DIGIT_FLAG 0x01886887888/*------------------------------------------------------------------*/889/* Mixer interface to IDI */890/*------------------------------------------------------------------*/891892893#define LI2_FLAG_PCCONNECT_A_B 0x40000000894#define LI2_FLAG_PCCONNECT_B_A 0x80000000895896#define MIXER_BCHANNELS_BRI 2897#define MIXER_IC_CHANNELS_BRI MIXER_BCHANNELS_BRI898#define MIXER_IC_CHANNEL_BASE MIXER_BCHANNELS_BRI899#define MIXER_CHANNELS_BRI (MIXER_BCHANNELS_BRI + MIXER_IC_CHANNELS_BRI)900#define MIXER_CHANNELS_PRI 32901902typedef struct li_config_s LI_CONFIG;903904struct xconnect_card_address_s {905dword low;906dword high;907};908909struct xconnect_transfer_address_s {910struct xconnect_card_address_s card_address;911dword offset;912};913914struct li_config_s {915DIVA_CAPI_ADAPTER *adapter;916PLCI *plci;917struct xconnect_transfer_address_s send_b;918struct xconnect_transfer_address_s send_pc;919byte *flag_table; /* dword aligned and sized */920byte *coef_table; /* dword aligned and sized */921byte channel;922byte curchnl;923byte chflags;924};925926extern LI_CONFIG *li_config_table;927extern word li_total_channels;928929#define LI_CHANNEL_INVOLVED 0x01930#define LI_CHANNEL_ACTIVE 0x02931#define LI_CHANNEL_TX_DATA 0x04932#define LI_CHANNEL_RX_DATA 0x08933#define LI_CHANNEL_CONFERENCE 0x10934#define LI_CHANNEL_ADDRESSES_SET 0x80935936#define LI_CHFLAG_MONITOR 0x01937#define LI_CHFLAG_MIX 0x02938#define LI_CHFLAG_LOOP 0x04939940#define LI_FLAG_INTERCONNECT 0x01941#define LI_FLAG_MONITOR 0x02942#define LI_FLAG_MIX 0x04943#define LI_FLAG_PCCONNECT 0x08944#define LI_FLAG_CONFERENCE 0x10945#define LI_FLAG_ANNOUNCEMENT 0x20946947#define LI_COEF_CH_CH 0x01948#define LI_COEF_CH_PC 0x02949#define LI_COEF_PC_CH 0x04950#define LI_COEF_PC_PC 0x08951#define LI_COEF_CH_CH_SET 0x10952#define LI_COEF_CH_PC_SET 0x20953#define LI_COEF_PC_CH_SET 0x40954#define LI_COEF_PC_PC_SET 0x80955956#define LI_REQ_SILENT_UPDATE 0xffff957958#define LI_PLCI_B_LAST_FLAG ((dword) 0x80000000L)959#define LI_PLCI_B_DISC_FLAG ((dword) 0x40000000L)960#define LI_PLCI_B_SKIP_FLAG ((dword) 0x20000000L)961#define LI_PLCI_B_FLAG_MASK ((dword) 0xe0000000L)962963#define UDATA_REQUEST_SET_MIXER_COEFS_BRI 24964#define UDATA_REQUEST_SET_MIXER_COEFS_PRI_SYNC 25965#define UDATA_REQUEST_SET_MIXER_COEFS_PRI_ASYN 26966#define UDATA_INDICATION_MIXER_COEFS_SET 24967968#define MIXER_FEATURE_ENABLE_TX_DATA 0x0001969#define MIXER_FEATURE_ENABLE_RX_DATA 0x0002970971#define MIXER_COEF_LINE_CHANNEL_MASK 0x1f972#define MIXER_COEF_LINE_FROM_PC_FLAG 0x20973#define MIXER_COEF_LINE_TO_PC_FLAG 0x40974#define MIXER_COEF_LINE_ROW_FLAG 0x80975976#define UDATA_REQUEST_XCONNECT_FROM 28977#define UDATA_INDICATION_XCONNECT_FROM 28978#define UDATA_REQUEST_XCONNECT_TO 29979#define UDATA_INDICATION_XCONNECT_TO 29980981#define XCONNECT_CHANNEL_PORT_B 0x0000982#define XCONNECT_CHANNEL_PORT_PC 0x8000983#define XCONNECT_CHANNEL_PORT_MASK 0x8000984#define XCONNECT_CHANNEL_NUMBER_MASK 0x7fff985#define XCONNECT_CHANNEL_PORT_COUNT 2986987#define XCONNECT_SUCCESS 0x0000988#define XCONNECT_ERROR 0x0001989990991/*------------------------------------------------------------------*/992/* Echo canceller interface to IDI */993/*------------------------------------------------------------------*/994995996#define PRIVATE_ECHO_CANCELLER 0997998#define PRIV_SELECTOR_ECHO_CANCELLER 2559991000#define EC_ENABLE_OPERATION 11001#define EC_DISABLE_OPERATION 21002#define EC_FREEZE_COEFFICIENTS 31003#define EC_RESUME_COEFFICIENT_UPDATE 41004#define EC_RESET_COEFFICIENTS 510051006#define EC_DISABLE_NON_LINEAR_PROCESSING 0x00011007#define EC_DO_NOT_REQUIRE_REVERSALS 0x00021008#define EC_DETECT_DISABLE_TONE 0x000410091010#define EC_SUCCESS 01011#define EC_UNSUPPORTED_OPERATION 110121013#define EC_BYPASS_DUE_TO_CONTINUOUS_2100HZ 11014#define EC_BYPASS_DUE_TO_REVERSED_2100HZ 21015#define EC_BYPASS_RELEASED 310161017#define DSP_CTRL_SET_LEC_PARAMETERS 0x0510181019#define LEC_ENABLE_ECHO_CANCELLER 0x00011020#define LEC_ENABLE_2100HZ_DETECTOR 0x00021021#define LEC_REQUIRE_2100HZ_REVERSALS 0x00041022#define LEC_MANUAL_DISABLE 0x00081023#define LEC_ENABLE_NONLINEAR_PROCESSING 0x00101024#define LEC_FREEZE_COEFFICIENTS 0x00201025#define LEC_RESET_COEFFICIENTS 0x800010261027#define LEC_MAX_SUPPORTED_TAIL_LENGTH 3210281029#define LEC_UDATA_INDICATION_DISABLE_DETECT 910301031#define LEC_DISABLE_TYPE_CONTIGNUOUS_2100HZ 0x001032#define LEC_DISABLE_TYPE_REVERSED_2100HZ 0x011033#define LEC_DISABLE_RELEASED 0x02103410351036/*------------------------------------------------------------------*/1037/* RTP interface to IDI */1038/*------------------------------------------------------------------*/103910401041#define B1_RTP 311042#define B2_RTP 311043#define B3_RTP 3110441045#define PRIVATE_RTP 110461047#define RTP_PRIM_PAYLOAD_PCMU_8000 01048#define RTP_PRIM_PAYLOAD_1016_8000 11049#define RTP_PRIM_PAYLOAD_G726_32_8000 21050#define RTP_PRIM_PAYLOAD_GSM_8000 31051#define RTP_PRIM_PAYLOAD_G723_8000 41052#define RTP_PRIM_PAYLOAD_DVI4_8000 51053#define RTP_PRIM_PAYLOAD_DVI4_16000 61054#define RTP_PRIM_PAYLOAD_LPC_8000 71055#define RTP_PRIM_PAYLOAD_PCMA_8000 81056#define RTP_PRIM_PAYLOAD_G722_16000 91057#define RTP_PRIM_PAYLOAD_QCELP_8000 121058#define RTP_PRIM_PAYLOAD_G728_8000 141059#define RTP_PRIM_PAYLOAD_G729_8000 181060#define RTP_PRIM_PAYLOAD_GSM_HR_8000 301061#define RTP_PRIM_PAYLOAD_GSM_EFR_8000 3110621063#define RTP_ADD_PAYLOAD_BASE 321064#define RTP_ADD_PAYLOAD_RED 321065#define RTP_ADD_PAYLOAD_CN_8000 331066#define RTP_ADD_PAYLOAD_DTMF 3410671068#define RTP_SUCCESS 01069#define RTP_ERR_SSRC_OR_PAYLOAD_CHANGE 110701071#define UDATA_REQUEST_RTP_RECONFIGURE 641072#define UDATA_INDICATION_RTP_CHANGE 651073#define BUDATA_REQUEST_QUERY_RTCP_REPORT 11074#define BUDATA_INDICATION_RTCP_REPORT 110751076#define RTP_CONNECT_OPTION_DISC_ON_SSRC_CHANGE 0x00000001L1077#define RTP_CONNECT_OPTION_DISC_ON_PT_CHANGE 0x00000002L1078#define RTP_CONNECT_OPTION_DISC_ON_UNKNOWN_PT 0x00000004L1079#define RTP_CONNECT_OPTION_NO_SILENCE_TRANSMIT 0x00010000L10801081#define RTP_PAYLOAD_OPTION_VOICE_ACTIVITY_DETECT 0x00011082#define RTP_PAYLOAD_OPTION_DISABLE_POST_FILTER 0x00021083#define RTP_PAYLOAD_OPTION_G723_LOW_CODING_RATE 0x010010841085#define RTP_PACKET_FILTER_IGNORE_UNKNOWN_SSRC 0x00000001L10861087#define RTP_CHANGE_FLAG_SSRC_CHANGE 0x00000001L1088#define RTP_CHANGE_FLAG_PAYLOAD_TYPE_CHANGE 0x00000002L1089#define RTP_CHANGE_FLAG_UNKNOWN_PAYLOAD_TYPE 0x00000004L109010911092/*------------------------------------------------------------------*/1093/* T.38 interface to IDI */1094/*------------------------------------------------------------------*/109510961097#define B1_T38 301098#define B2_T38 301099#define B3_T38 3011001101#define PRIVATE_T38 2110211031104/*------------------------------------------------------------------*/1105/* PIAFS interface to IDI */1106/*------------------------------------------------------------------*/110711081109#define B1_PIAFS 291110#define B2_PIAFS 2911111112#define PRIVATE_PIAFS 2911131114/*1115B2 configuration for PIAFS:1116+---------------------+------+-----------------------------------------+1117| PIAFS Protocol | byte | Bit 1 - Protocol Speed |1118| Speed configuration | | 0 - 32K |1119| | | 1 - 64K (default) |1120| | | Bit 2 - Variable Protocol Speed |1121| | | 0 - Speed is fix |1122| | | 1 - Speed is variable (default) |1123+---------------------+------+-----------------------------------------+1124| Direction | word | Enable compression/decompression for |1125| | | 0: All direction |1126| | | 1: disable outgoing data |1127| | | 2: disable incomming data |1128| | | 3: disable both direction (default) |1129+---------------------+------+-----------------------------------------+1130| Number of code | word | Parameter P1 of V.42bis in accordance |1131| words | | with V.42bis |1132+---------------------+------+-----------------------------------------+1133| Maximum String | word | Parameter P2 of V.42bis in accordance |1134| Length | | with V.42bis |1135+---------------------+------+-----------------------------------------+1136| control (UDATA) | byte | enable PIAFS control communication |1137| abilities | | |1138+---------------------+------+-----------------------------------------+1139*/1140#define PIAFS_UDATA_ABILITIES 0x8011411142/*------------------------------------------------------------------*/1143/* FAX SUB/SEP/PWD extension */1144/*------------------------------------------------------------------*/114511461147#define PRIVATE_FAX_SUB_SEP_PWD 31148114911501151/*------------------------------------------------------------------*/1152/* V.18 extension */1153/*------------------------------------------------------------------*/115411551156#define PRIVATE_V18 41157115811591160/*------------------------------------------------------------------*/1161/* DTMF TONE extension */1162/*------------------------------------------------------------------*/116311641165#define DTMF_GET_SUPPORTED_DETECT_CODES 0xf81166#define DTMF_GET_SUPPORTED_SEND_CODES 0xf91167#define DTMF_LISTEN_TONE_START 0xfa1168#define DTMF_LISTEN_TONE_STOP 0xfb1169#define DTMF_SEND_TONE 0xfc1170#define DTMF_LISTEN_MF_START 0xfd1171#define DTMF_LISTEN_MF_STOP 0xfe1172#define DTMF_SEND_MF 0xff11731174#define DTMF_MF_DIGIT_TONE_CODE_1 0x101175#define DTMF_MF_DIGIT_TONE_CODE_2 0x111176#define DTMF_MF_DIGIT_TONE_CODE_3 0x121177#define DTMF_MF_DIGIT_TONE_CODE_4 0x131178#define DTMF_MF_DIGIT_TONE_CODE_5 0x141179#define DTMF_MF_DIGIT_TONE_CODE_6 0x151180#define DTMF_MF_DIGIT_TONE_CODE_7 0x161181#define DTMF_MF_DIGIT_TONE_CODE_8 0x171182#define DTMF_MF_DIGIT_TONE_CODE_9 0x181183#define DTMF_MF_DIGIT_TONE_CODE_0 0x191184#define DTMF_MF_DIGIT_TONE_CODE_K1 0x1a1185#define DTMF_MF_DIGIT_TONE_CODE_K2 0x1b1186#define DTMF_MF_DIGIT_TONE_CODE_KP 0x1c1187#define DTMF_MF_DIGIT_TONE_CODE_S1 0x1d1188#define DTMF_MF_DIGIT_TONE_CODE_ST 0x1e11891190#define DTMF_DIGIT_CODE_COUNT 161191#define DTMF_MF_DIGIT_CODE_BASE DSP_DTMF_DIGIT_CODE_COUNT1192#define DTMF_MF_DIGIT_CODE_COUNT 151193#define DTMF_TOTAL_DIGIT_CODE_COUNT (DSP_MF_DIGIT_CODE_BASE + DSP_MF_DIGIT_CODE_COUNT)11941195#define DTMF_TONE_DIGIT_BASE 0x8011961197#define DTMF_SIGNAL_NO_TONE (DTMF_TONE_DIGIT_BASE + 0)1198#define DTMF_SIGNAL_UNIDENTIFIED_TONE (DTMF_TONE_DIGIT_BASE + 1)11991200#define DTMF_SIGNAL_DIAL_TONE (DTMF_TONE_DIGIT_BASE + 2)1201#define DTMF_SIGNAL_PABX_INTERNAL_DIAL_TONE (DTMF_TONE_DIGIT_BASE + 3)1202#define DTMF_SIGNAL_SPECIAL_DIAL_TONE (DTMF_TONE_DIGIT_BASE + 4) /* stutter dial tone */1203#define DTMF_SIGNAL_SECOND_DIAL_TONE (DTMF_TONE_DIGIT_BASE + 5)1204#define DTMF_SIGNAL_RINGING_TONE (DTMF_TONE_DIGIT_BASE + 6)1205#define DTMF_SIGNAL_SPECIAL_RINGING_TONE (DTMF_TONE_DIGIT_BASE + 7)1206#define DTMF_SIGNAL_BUSY_TONE (DTMF_TONE_DIGIT_BASE + 8)1207#define DTMF_SIGNAL_CONGESTION_TONE (DTMF_TONE_DIGIT_BASE + 9) /* reorder tone */1208#define DTMF_SIGNAL_SPECIAL_INFORMATION_TONE (DTMF_TONE_DIGIT_BASE + 10)1209#define DTMF_SIGNAL_COMFORT_TONE (DTMF_TONE_DIGIT_BASE + 11)1210#define DTMF_SIGNAL_HOLD_TONE (DTMF_TONE_DIGIT_BASE + 12)1211#define DTMF_SIGNAL_RECORD_TONE (DTMF_TONE_DIGIT_BASE + 13)1212#define DTMF_SIGNAL_CALLER_WAITING_TONE (DTMF_TONE_DIGIT_BASE + 14)1213#define DTMF_SIGNAL_CALL_WAITING_TONE (DTMF_TONE_DIGIT_BASE + 15)1214#define DTMF_SIGNAL_PAY_TONE (DTMF_TONE_DIGIT_BASE + 16)1215#define DTMF_SIGNAL_POSITIVE_INDICATION_TONE (DTMF_TONE_DIGIT_BASE + 17)1216#define DTMF_SIGNAL_NEGATIVE_INDICATION_TONE (DTMF_TONE_DIGIT_BASE + 18)1217#define DTMF_SIGNAL_WARNING_TONE (DTMF_TONE_DIGIT_BASE + 19)1218#define DTMF_SIGNAL_INTRUSION_TONE (DTMF_TONE_DIGIT_BASE + 20)1219#define DTMF_SIGNAL_CALLING_CARD_SERVICE_TONE (DTMF_TONE_DIGIT_BASE + 21)1220#define DTMF_SIGNAL_PAYPHONE_RECOGNITION_TONE (DTMF_TONE_DIGIT_BASE + 22)1221#define DTMF_SIGNAL_CPE_ALERTING_SIGNAL (DTMF_TONE_DIGIT_BASE + 23)1222#define DTMF_SIGNAL_OFF_HOOK_WARNING_TONE (DTMF_TONE_DIGIT_BASE + 24)12231224#define DTMF_SIGNAL_INTERCEPT_TONE (DTMF_TONE_DIGIT_BASE + 63)12251226#define DTMF_SIGNAL_MODEM_CALLING_TONE (DTMF_TONE_DIGIT_BASE + 64)1227#define DTMF_SIGNAL_FAX_CALLING_TONE (DTMF_TONE_DIGIT_BASE + 65)1228#define DTMF_SIGNAL_ANSWER_TONE (DTMF_TONE_DIGIT_BASE + 66)1229#define DTMF_SIGNAL_REVERSED_ANSWER_TONE (DTMF_TONE_DIGIT_BASE + 67)1230#define DTMF_SIGNAL_ANSAM_TONE (DTMF_TONE_DIGIT_BASE + 68)1231#define DTMF_SIGNAL_REVERSED_ANSAM_TONE (DTMF_TONE_DIGIT_BASE + 69)1232#define DTMF_SIGNAL_BELL103_ANSWER_TONE (DTMF_TONE_DIGIT_BASE + 70)1233#define DTMF_SIGNAL_FAX_FLAGS (DTMF_TONE_DIGIT_BASE + 71)1234#define DTMF_SIGNAL_G2_FAX_GROUP_ID (DTMF_TONE_DIGIT_BASE + 72)1235#define DTMF_SIGNAL_HUMAN_SPEECH (DTMF_TONE_DIGIT_BASE + 73)1236#define DTMF_SIGNAL_ANSWERING_MACHINE_390 (DTMF_TONE_DIGIT_BASE + 74)12371238#define DTMF_MF_LISTEN_ACTIVE_FLAG 0x021239#define DTMF_SEND_MF_FLAG 0x021240#define DTMF_TONE_LISTEN_ACTIVE_FLAG 0x041241#define DTMF_SEND_TONE_FLAG 0x0412421243#define PRIVATE_DTMF_TONE 5124412451246/*------------------------------------------------------------------*/1247/* FAX paper format extension */1248/*------------------------------------------------------------------*/124912501251#define PRIVATE_FAX_PAPER_FORMATS 61252125312541255/*------------------------------------------------------------------*/1256/* V.OWN extension */1257/*------------------------------------------------------------------*/125812591260#define PRIVATE_VOWN 71261126212631264/*------------------------------------------------------------------*/1265/* FAX non-standard facilities extension */1266/*------------------------------------------------------------------*/126712681269#define PRIVATE_FAX_NONSTANDARD 81270127112721273/*------------------------------------------------------------------*/1274/* Advanced voice */1275/*------------------------------------------------------------------*/12761277#define ADV_VOICE_WRITE_ACTIVATION 01278#define ADV_VOICE_WRITE_DEACTIVATION 11279#define ADV_VOICE_WRITE_UPDATE 212801281#define ADV_VOICE_OLD_COEF_COUNT 61282#define ADV_VOICE_NEW_COEF_BASE (ADV_VOICE_OLD_COEF_COUNT * sizeof(word))12831284/*------------------------------------------------------------------*/1285/* B1 resource switching */1286/*------------------------------------------------------------------*/12871288#define B1_FACILITY_LOCAL 0x011289#define B1_FACILITY_MIXER 0x021290#define B1_FACILITY_DTMFX 0x041291#define B1_FACILITY_DTMFR 0x081292#define B1_FACILITY_VOICE 0x101293#define B1_FACILITY_EC 0x2012941295#define ADJUST_B_MODE_SAVE 0x00011296#define ADJUST_B_MODE_REMOVE_L23 0x00021297#define ADJUST_B_MODE_SWITCH_L1 0x00041298#define ADJUST_B_MODE_NO_RESOURCE 0x00081299#define ADJUST_B_MODE_ASSIGN_L23 0x00101300#define ADJUST_B_MODE_USER_CONNECT 0x00201301#define ADJUST_B_MODE_CONNECT 0x00401302#define ADJUST_B_MODE_RESTORE 0x008013031304#define ADJUST_B_START 01305#define ADJUST_B_SAVE_MIXER_1 11306#define ADJUST_B_SAVE_DTMF_1 21307#define ADJUST_B_REMOVE_L23_1 31308#define ADJUST_B_REMOVE_L23_2 41309#define ADJUST_B_SAVE_EC_1 51310#define ADJUST_B_SAVE_DTMF_PARAMETER_1 61311#define ADJUST_B_SAVE_VOICE_1 71312#define ADJUST_B_SWITCH_L1_1 81313#define ADJUST_B_SWITCH_L1_2 91314#define ADJUST_B_RESTORE_VOICE_1 101315#define ADJUST_B_RESTORE_VOICE_2 111316#define ADJUST_B_RESTORE_DTMF_PARAMETER_1 121317#define ADJUST_B_RESTORE_DTMF_PARAMETER_2 131318#define ADJUST_B_RESTORE_EC_1 141319#define ADJUST_B_RESTORE_EC_2 151320#define ADJUST_B_ASSIGN_L23_1 161321#define ADJUST_B_ASSIGN_L23_2 171322#define ADJUST_B_CONNECT_1 181323#define ADJUST_B_CONNECT_2 191324#define ADJUST_B_CONNECT_3 201325#define ADJUST_B_CONNECT_4 211326#define ADJUST_B_RESTORE_DTMF_1 221327#define ADJUST_B_RESTORE_DTMF_2 231328#define ADJUST_B_RESTORE_MIXER_1 241329#define ADJUST_B_RESTORE_MIXER_2 251330#define ADJUST_B_RESTORE_MIXER_3 261331#define ADJUST_B_RESTORE_MIXER_4 271332#define ADJUST_B_RESTORE_MIXER_5 281333#define ADJUST_B_RESTORE_MIXER_6 291334#define ADJUST_B_RESTORE_MIXER_7 301335#define ADJUST_B_END 3113361337/*------------------------------------------------------------------*/1338/* XON Protocol def's */1339/*------------------------------------------------------------------*/1340#define N_CH_XOFF 0x011341#define N_XON_SENT 0x021342#define N_XON_REQ 0x041343#define N_XON_CONNECT_IND 0x081344#define N_RX_FLOW_CONTROL_MASK 0x3f1345#define N_OK_FC_PENDING 0x801346#define N_TX_FLOW_CONTROL_MASK 0xc013471348/*------------------------------------------------------------------*/1349/* NCPI state */1350/*------------------------------------------------------------------*/1351#define NCPI_VALID_CONNECT_B3_IND 0x011352#define NCPI_VALID_CONNECT_B3_ACT 0x021353#define NCPI_VALID_DISC_B3_IND 0x041354#define NCPI_CONNECT_B3_ACT_SENT 0x081355#define NCPI_NEGOTIATE_B3_SENT 0x101356#define NCPI_MDM_CTS_ON_RECEIVED 0x401357#define NCPI_MDM_DCD_ON_RECEIVED 0x8013581359/*------------------------------------------------------------------*/136013611362