📄 pcicard.pas
字号:
unit pcicard;
interface
const
//#define WORKBORDNUM 16 //每机箱最大板数目
WORKBORDNUM = 16;
//#define MAXEXCHLINE 2048 //最大线路数目
MAXEXCHLINE = 2048;
//#define MAXVOCINDEX 4096 //最大内存索引放音的索引数目
MAXVOCINDEX = 4096;
//#define CARDHARDWARE_SLAT4 1 //4线模拟卡
// CARDHARDWARE_SLAT4 = 1;
//#define CARDHARDWARE_DT256 2 //240线数字卡
CARDHARDWARE_DT256 = 2;
//#define CARDHARDWARE_SLAT24 3 //24线模拟卡
CARDHARDWARE_SLAT24 = 3;
/////////////////定义通道类别
//#define CHCLASS_NONE 0x00 //空线路类型
CHCLASS_NONE =$00;
//#define CHCLASS_DT 0x08 //数字线
CHCLASS_DT =$08;
//#define CHCLASS_AT 0x10 //模拟线
CHCLASS_AT =$10;
/////////////////定义通道类型
//#define CHTYPE_DTNO1 0x09 //数字中继中国一号信令
CHTYPE_DTNO1 =$09;
//#define CHTYPE_DTNO7 0x0A //数字中继中国七号信令
CHTYPE_DTNO7 =$0A;
//#define CHTYPE_DTDSS1 0x0B //数字中继ISDN PRI(30B+D)
CHTYPE_DTDSS1 =$0B;
//#define CHTYPE_DTNO7ISUP 0x0C //数字中继中国七号信令(ISUP)
CHTYPE_DTNO7ISUP=$0C;
//#define CHTYPE_TB 0x11 //模拟中继外线(普通市话线),接电信局
CHTYPE_TB =$11;
//#define CHTYPE_AGENT 0x12 //模拟中继内线(座席线),接电话机
CHTYPE_AGENT =$12;
//#define CHTYPE_HB 0x13 //模拟中继高阻线(监控线),与电话线/电话机相并联
CHTYPE_HB =$13;
/////////////////定义资源类型
RESTYPE_VOCPCM =$01;
RESTYPE_DTMF =$02;
RESTYPE_FAX =$03;
RESTYPE_FSK =$04;
RESTYPE_MODEM =$05;
RESTYPE_HDLC =$06;
RESTYPE_CAS =$07;
RESTYPE_MFC =$1f;
RESTYPE_CONF =$19; //电话会议室资源
RESTYPE_CONFCH =$1A; //电话会议通道资源
RESTYPE_ECONF =$1B; //增强电话会议室资源
RESTYPE_ECONFCH =$1C; //增强电话会议通道资源
/////////////////定义资源参数
//#define RESPAR_NONE 0x00 //
RESPAR_NONE = $00;
//#define RESPAR_DTMFSTOP 0x01 //收到DTMF时停止录或放音
RESPAR_DTMFSTOP = $01;
//#define RESPAR_RAGC 0x02 //录音使用自动增益控制
RESPAR_RAGC = $02;
//#define RESPAR_RWAITP 0x40 //等待放音结束后才开始录音
RESPAR_RWAITP = $40;
//#define RESPAR_PLOOPMSG 0x20 //这是一个循环放音消息
RESPAR_PLOOPMSG = $20;
//#define RESPAR_PFIRSTMSG 0x40 //这是第一个放音消息
RESPAR_PFIRSTMSG = $40;
//#define RESPAR_PLASTMSG 0x80 //这是最后一个放音消息
RESPAR_PLASTMSG = $80;
//#define RESPAR_RAPPEND 0x80 //录音时追加到原文件末尾
RESPAR_RAPPEND = $80 ;//录音时追加到原文件末尾
////////////////定义资源停止工作原因
//#define RESTOP_DTMF 0x01 //收到DTMF停止
RESTOP_DTMF = $01;
//#define RESTOP_USER 0x02 //用户停止
RESTOP_USER = $02;
//#define RESTOP_FINISH 0x03 //自然结束停止
RESTOP_FINISH = $03;
//#define RESTOP_COMMERR 0x04 //握手或通讯失败停止
RESTOP_COMMERR = $4;
//#define RESTOP_CHREL 0x05 //对应的线路通道释放
RESTOP_CHREL = $05;
//#define RESTOP_FILERR 0x06 //文件写错误
RESTOP_FILERR = $06;
////////定义文件放音的文件格式
//#define PFDATA_ALAW 0x00 //标准alaw pcm 无格式文件
PFDATA_ALAW =$00;
//#define PFDATA_WAVE 0x01 //windows .WAV文件
PFDATA_WAVE =$01;
//#define PFDATA_CLADPCM 0x02 //cirrus logic adpcm(32kbps) 无格式文件
PFDATA_CLADPCM =$02;
PFDATA_G7231 =$3;
PFDATA_DLGVOX6K =$4; //dialogic vox 6K sample
PFDATA_DLGVOX8K =$5; //dialogic vox 8K sample
//#define PF_OFFSETPFILE 0x80 //是否指定播放文件的起始位置(毫秒)
PF_OFFSETPFILE =$80; //是否指定播放文件的起始位置(毫秒)
////////定义传真文件的编码格式
FAXFILE_NOFORMAT =$00; //无格式文件,普通分辨率,一维编码
FAXFILE_TIFF =$01; //TIFF传真文件
////////定义传真数据的宽度
FAXVRES_LOW =$00; //普通垂直分辨率(98/英寸)
FAXVRES_HIGH =$20; //高垂直分辨率(196/英寸)
FAXWIDTH_A4 =$00; //1728点宽
FAXWIDTH_A3 =$40; //2432点宽
FAXWIDTH_B4 =$80; //2048点宽
MODEM_ANS =0; //应答
MODEM_CALL =1; //呼叫
/////////定义常数
MSGFROMECONF =1; //消息来源于增强型会议
/////////////////定义消息,可用于下传也用于上传
/////////////////////////////////////////////////////////////////////////////0
//#define MSG_NULL 0 //空消息,消息无意义,DataLen仍旧有意义
MSG_NULL =0;
/////////////////////////////////////////////////////////////////////////////1
//#define MSG_RELEASE 1 //通道释放
MSG_RELEASE =1;
// #define F_R_NORMAL 0 //正常释放
F_R_NORMAL =0;
// #define F_R_CALLOUTERR 1 //呼出失败释放
F_R_CALLOUTERR =1;
// #define P_R_NODIALTONE 1 //没有检测到拨号音
P_R_NODIALTONE =1;
// #define P_R_NOANSWER 2 //没有响应
P_R_NOANSWER =2;
// #define P_R_RINGTIMEOUT 3 //振铃超时 (无人接)
P_R_RINGTIMEOUT =3;
// #define P_R_LINEUSED 4 //线路正被对方占用或没有复位完成
P_R_LINEUSED =4;
// #define P_R_CONGESTION 12 //设备拥塞
P_R_CONGESTION =12;
// #define P_R_INCOMPLETE 15 //地址不全
P_R_INCOMPLETE =15;
// #define P_R_FAILURE 16 //呼叫故障
P_R_FAILURE =16;
// #define P_R_CALLBARRING 18 //接入拒绝
P_R_CALLBARRING =18;
// #define P_R_BUSYLOCAL 19 //市话忙
P_R_BUSYLOCAL =19;
// #define P_R_BUSYDDD 20 //长话忙
P_R_BUSYDDD =20;
// #define P_R_NULLDN 22 //空号
P_R_NULLDN =22;
// #define P_R_NODIGITALPATH 26 //没有数字通路
P_R_NODIGITALPATH =26;
// #define F_R_CALLINTERM 2 //呼入终止(主叫方终止呼叫)
F_R_CALLINTERM =2;
/////////////////////////////////////////////////////////////////////////////2
//#define MSG_CALL 2 //通道呼出/或有呼入
MSG_CALL =2;
// #define F_C_NORMAL 0 //普通呼叫
F_C_NORMAL =0;
// #define P_C_NORMAL 0 //AT=检测dialtone,AGENT=标准振铃声+FSK主叫发送
P_C_NORMAL =0;
// #define P_C_1 1 //AT=不检测dialtone;AGENT=标准振铃声+DTMF主叫发送
P_C_1 =1;
// #define P_C_2 2 //AGENT=第2种振铃声+DTMF主叫发送
P_C_2 =2;
// #define P_C_3 3 //AGENT=第3种振铃声+DTMF主叫发送
P_C_3 =3;
// #define P_C_4 4 //AGENT=第4种振铃声+DTMF主叫发送
P_C_4 =4;
// #define F_C_OVLP 1 //重叠呼叫
F_C_OVLP =1;
/////////////////////////////////////////////////////////////////////////////3
//#define MSG_CALLEDACK 3 //被叫摘机应答
MSG_CALLEDACK =3;
/////////////////////////////////////////////////////////////////////////////4
//#define MSG_FLASH 4 //拍叉簧
MSG_FLASH =4;
/////////////////////////////////////////////////////////////////////////////5
//#define MSG_ACM 5 //上传消息本方呼出成功(对方已经振铃),有可能收不到该消息而直接收到Connect消息
MSG_ACM =5; //下传消息给对方(呼叫方)发地址全(特殊情况下用)
/////////////////////////////////////////////////////////////////////////////6up
//#define UPMSG_CALLOUTCHANNEL 6 //上传消息分配到的呼出通道
UPMSG_CALLOUTCHANNEL =6;
// #define F_CC_NORMAL 0 //分配到呼出通道(=ChIndex)
F_CC_NORMAL =0;
// #define F_CC_NOCHANNEL 1 //分配不到呼出通道(ChIndex)
F_CC_NOCHANNEL =1;
// #define P_CC_CHBUSY 1 //通道使用中
P_CC_CHBUSY =1;
// #define P_CC_CHCALLMASK 2 //在配置中通道呼出被禁止
P_CC_CHCALLMASK =2;
// #define P_CC_CHNOTEXIST 3 //通道号不存在
P_CC_CHNOTEXIST =3;
// #define P_CC_PCMNOSYN 4 //数字线端口没有同步
P_CC_PCMNOSYN =4;
// #define P_CC_CANNOTASSIGNCH 5 //不支持用户设置的呼出通道指定方式
P_CC_CANNOTASSIGNCH =5;
// #define P_CC_REMOTENOANSWER 6 //对方没有响应
P_CC_REMOTENOANSWER =6;
P_CC_DPCUNAVAILABLE =7; //DPC不可到达
P_CC_ADDRESSERR =8; //号码设置错误
// #define F_CC_HANDLE 2 //分配到呼出句柄(ChIndex),用于数字线的重叠呼叫
F_CC_HANDLE =2;
/////////////////////////////////////////////////////////////////////////////6down
//#define DOWNMSG_ROUTER 6 //通道交换命令
DOWNMSG_ROUTER =6;
//#define F_R_SILENCE 0 //通道输出静音
F_R_SILENCE =0;
// #define F_R_MONITOR 1 //单向监听
F_R_MONITOR =1;
// #define F_R_TALK 2 //双向通话
F_R_TALK =2;
F_R_TALK_RP =3;
F_R_MONITOR_P =4;
F_R_TRANSTO_CT =13; //直接发送到CT总线一个时隙
// #define F_R_MONITOR_CT 14 //直接监听CT总线一个时隙
F_R_MONITOR_CT =14; //直接监听CT总线一个时隙
/////////////////////////////////////////////////////////////////////////////7
//#define MSG_CONF 7 //会议
MSG_CONF =7;
// #define F_CF_CREATE 1 //请求电话会议资源
F_CF_CREATE =1;
// #define F_CF_CLOSE 2 //关闭电话会议资源
F_CF_CLOSE =2;
// #define F_CF_LINKCH 3 //连接电话会议通道到线路通道
F_CF_LINKCH =3;
// #define F_CF_UNLINKCH 4 //断开电话会议通道到线路通道的连接
F_CF_UNLINKCH =4;
// #define F_ECF_MONITOR 5 //单向旁听会议,逻辑通道单向联到会议室旁听
F_CF_MONITOR =5; //所有旁听将会只占用一路会议通道资源(旁听整个会议)
// #define F_CF_PARAM 15 //设置会议参数(增强会议)
F_CF_PARAM =6; //设置会议参数(增强会议)
// #define D_ECF_USEAGC 0x40//使用自动增益控制
D_ECF_USEAGC =$80;
// #define D_ECF_CHNUMASK 0x3F//会议室大小掩码
D_ECF_CHNUMASK =$7F;
/////////////////////////////////////////////////////////////////////////////8
//#define MSG_ONOFF 8 //通道关闭/打开(不许使用/可以使用)
MSG_ONOFF =8;
// #define F_OF_OFF 0 //关闭
F_OF_OFF =0;
// #define F_OF_ON 1 //打开
F_OF_ON =1;
/////////////////////////////////////////////////////////////////////////////9down
//#define DOWNMSG_SETPARAM 9 //下传消息设置通道参数
DOWNMSG_SETPARAM =9;
UPMSG_PARAMERROR =9; //上传消息设置参数有错误
F_PM_SLOT =15; //物理时隙位置
/////////////////////////////////////////////////////////////////////////////10up
//#define UPMSG_ALARM 10 //上传消息线路告警(软故障)
UPMSG_ALARM =10;
F_AM_CH =0; //通道告警
P_AM_NO1_CHREOK =0; //线路正常(空闲)
P_AM_NO1_CHREMOTEBLOCK =1; //远端闭塞
P_AM_NO1_CHCONFUSE =2; //100:呼出线路收到对方占用
P_AM_NO1_CHNOCONFIRM =3; //101:呼出时对方占用证实时间太长(>200ms)
P_AM_NO1_CHERRORREL1 =4; //102:呼出时对方占用证实后并且在摘机前不正常地释放了线路(>2s)
P_AM_NO1_CHERRORREL2 =5; //103:呼出时对方摘机后不正常地释放了线路
P_AM_TB_OK =0; //外线上直流电压恢复正常
P_AM_TB_NOPOWER =6; //外线上没有直流电压(掉线或短路)
F_AM_PCMSYN =1; //PCM同步告警
P_AM_SYNOK =0; //同步正常
P_AM_SYNNOCARRY =1; //接收无载波
P_AM_SYNFAS =2; //接收FAS同步错误
P_AM_SYNCAS =3; //接收CAS MF同步错误(只在CAS方式下)
P_AM_SYNSLIP =4; //弹性缓冲区滑动
P_AM_SYNALARMA =5; //远端A位告警
P_AM_SYNALARMY =6; //远端CAS MF Y位告警(只在CAS方式下)
P_AM_SYNALLONE =7; //接收全1错误
P_AM_SYNJITTER =8; //抖动消除电路告警
/////////////////////////////////////////////////////////////////////////////11ip
//#define UPMSG_DAMAGE 11 //上传消息硬件板故障(硬故障)
UPMSG_DAMAGE =11;
/////////////////热插拔消息
/////////////////////////////////////////////////////////////////////////////12
//#define MSG_PnP 12 //板插入拔除消息
MSG_PnP =12;
// #define F_PnP_PLUG 1 //上传消息板插入
F_PnP_PLUG =1;
// #define F_PnP_QUERYPULL 2 //上传消息希望拔除
F_PnP_QUERYPULL =2;
// #define F_PnP_PULL 3 //上传消息板拔除
F_PnP_PULL =3;
// #define F_PnP_USE 4 //下传消息使用板
F_PnP_USE =4;
// #define F_PnP_UNUSE 5 //下传消息停止使用板(允许拔除)
F_PnP_UNUSE =5;
MSG_USERDATA =13; //用户直接收发信令相关的消息包
/////////////////////////////////////////////////////////////////////////////14up
//#define UPMSG_SYNREF 14 //同步参考
UPMSG_SYNREF =14;
/////////////////多媒体消息
/////////////////////////////////////////////////////////////////////////////14down
//#define DOWNMSG_ADDINDEX 14 //添加一条内存索引(文件形式)
DOWNMSG_ADDINDEX =14;
/////////////////////////////////////////////////////////////////////////////15
//#define MSG_MEDIA 15 //多媒体消息(如语音,传真,FSK等)
MSG_MEDIA =15;
// #define F_MEDIA_None 0 //空
F_MEDIA_None =0;
// #define F_MEDIA_Tx_Release 1 //释放发送资源
F_MEDIA_Tx_Release =1;
// #define F_MEDIA_Rx_Release 2 //释放接收资源
F_MEDIA_Rx_Release =2;
// #define F_MEDIA_Tx_File 4 //发送文件
F_MEDIA_Tx_File =4;
// #define F_MEDIA_Tx_Memory 5 //发送内存
F_MEDIA_Tx_Memory =5;
// #define F_MEDIA_Tx_Index 6 //发送内存索引
F_MEDIA_Tx_Index =6;
// #define F_MEDIA_Tx_TTStr 7 //文本串
F_MEDIA_Tx_TTStr =7;
// #define F_MEDIA_Tx_TTSFile 8 //文本文件
F_MEDIA_Tx_TTSFile =8;
// #define F_MEDIA_Tx_DTMF 9 //发送 dtmf
F_MEDIA_Tx_DTMF =9;
// #define F_MEDIA_Tx_CPSign 10 //播放信号音
F_MEDIA_Tx_CPSign =10;
// #define F_MEDIA_Rx_File 12 //接收到文件
F_MEDIA_Rx_File =12;
// #define F_MEDIA_Rx_Memory 13 //分配资源并以内存方式接收
F_MEDIA_Rx_Memory =13;
// #define F_MEDIA_Rx_Pause 14 //接收暂停
F_MEDIA_Rx_Pause =14;
// #define F_MEDIA_Rx_Resume 15 //接收重新开始
F_MEDIA_Rx_Resume =15;
F_MEDIA_SetParam =11; //设置指定通道的媒体参数(下发)
F_MEDIA_Error =11;
P_MEDIA_AllocOk =0; //分配成功
P_MEDIA_AllocErr =1; //分配错误
P_MEDIA_BusyErr =2; //使用中
P_MEDIA_FullErr =3; //资源满,无法接受新命令(当前命令被丢掉)
P_MEDIA_TypeErr =4; //错误的资源类型号(可能通道操作的前一种资源还没有释放)
P_MEDIA_FuncErr =5; //不支持的资源操作方式
P_MEDIA_FileErr =6; //文件错误
//#define MAXCALLLEN 32 //最大主叫被叫号码长度
MAXCALLLEN =32;
///////////数字中继同步状态
//#define ALARMSYNOK 0 //同步正常
ALARMSYNOK =0;
//#define ALARMSYNNOCARRY 1 //接收无载波
ALARMSYNNOCARRY =1;
//#define ALARMSYNFAS 2 //接收FAS同步错误
ALARMSYNFAS =2;
//#define ALARMSYNCAS 3 //接收CAS MF同步错误(只在CAS方式下)
ALARMSYNCAS =3;
//#define ALARMSYNSLIP 4 //弹性缓冲区滑动
ALARMSYNSLIP =4;
//#define ALARMSYNALARMA 5 //远端A位告警
ALARMSYNALARMA =5;
//#define ALARMSYNALARMY 6 //远端CAS MF Y位告警(只在CAS方式下)
ALARMSYNALARMY =6;
//#define ALARMSYNALLONE 7 //接收全1错误
ALARMSYNALLONE =7;
//#define ALARMSYNJITTER 8 //抖动消除电路告警
ALARMSYNJITTER =8;
function IsCLASS_DT(chtype:word):Boolean;
{ return ((chtype & CHCLASS_DT) == CHCLASS_DT);}
function IsCLASS_AT(chtype:word):Boolean;
{ return ((chtype & CHCLASS_AT) == CHCLASS_AT);}
function IsCLASS_NONE(chtype:word):Boolean;
{ return ((chtype & CHCLASS_NONE) == CHCLASS_NONE);}
/////////////////定义消息结构
type
RMSG = packed record //用于传送消息,分短结构(8字节长)和长结构(264字节长).
MsgTypeFunction : byte; //消息类型(低4bit)+功能(高4bit)
Param : byte; //参数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -