⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcicard.pas

📁 由内线接电话终端
💻 PAS
📖 第 1 页 / 共 3 页
字号:
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 + -