id-32.txt
来自「用语音卡获取主叫显示的示例程序,只实现了FSK主叫号码的识别」· 文本 代码 · 共 89 行
TXT
89 行
关于主叫号码的说明(WIN 95&NT 32位)
一、C语言函数调用:
1、BOOL WINAPI IsSupportCallerID(void);
功能: 判断该卡是否支持Caller-ID功能。
参数: 无
返回值:TRUE 支持
FALSE 不支持
例:
2、void WINAPI ResetCallerIDBuffer(WORD wChnlNo);
功能: 初始化某路的Caller-ID缓冲区。
参数: ChannelNo 通道号
返回值:无
例:
ResetCallerIDBuffer(ChannelNo);
3、WORD WINAPI GetCallerIDStr (WORD wChnlNo, LPSTR IDStr);
功能: 获得Caller-ID的内容。
参数: ChannelNo 通道号
返回值: 接收的情况
#DEFEIN ID_STEP_NONE 0 //未收到任何信息
#DEFEIN ID_STEP_HEAD 1 //正在接收头信息
#DEFEIN ID_STEP_ID 2 //正在接收ID号码
#DEFEIN ID_STEP_OK 3 //接收完毕,正确
#DEFEIN ID_STEP_FAIL 4 //接收完毕,较验错误
当返回值等于3或4时,CallerIdStr 中存有接收到的CallerID。
例:
char IDStr[MAX_CHANNEL_NO][MAX_CALLER_ID_NO];
......
r = GetCallerIDStr(ChannelNo,IDStr[ChannelNo]);
if ( r == ID_STEP_OK ) {
sprintf ( DispStr, "Channel = %d, Get Caller ID : [%s]\n",
ChannelNo, IDStr[ChannelNo] );
break;
}
......
3、WORD WINAPI GetCallerIDRawStr (WORD wChnlNo, LPSTR IDRawStr);
功能: 获得C收到的Caller-ID的原始内容。
参数: ChannelNo 通道号
返回值:目前已经收到的CallerID的个数。
CallerISRawStr 字符串,存有接收到的CallerID原始信息串。
说明: 在CallerIDRawStr中,存有已接收到 CallerID信息
例:
char IDStr[MAX_CHANNEL_NO][MAX_CALLER_ID_NO];
......
r = GetCallerIDRawStr (TestChnl,IDStr[TestChnl]);
if ( r != 0) {
sprintf ( DispStr, "Get Caller's ID (RAW): Total = %d, ", r );
for ( i = 0; i < r; i ++ )
sprintf ( DispStr, "%X ", IDStr[TestChnl][i] );
count = r;
}
说明:
一般情况下,只需要配合使用以下的两个函数即可:
2、void ResetCallerIDBuffer(int ChannelNo);
3、int GetCallerIDStr(int ChannelNo, char far *IDStr);
三、C示范程序ID.EXE:(用VC 2.0编写)
本程序用来演示有关收主叫号码(Caller ID)的C语言函数,用户可以参考来修改自己的程序。
本程序也可以用来测试T5ID卡的硬件(收主叫部分)。
1、文件组成:
ID.MAK
ID.C
..\voc\HELLO.VOC
2、插入外线模块,接入电话线路,运行程序ID;当振铃后,会将收到的主叫号码显示在屏幕上,然后放一句提示音,最后挂机。
3、对于内线模块,摘机后仅仅放一句提示音。
4、注意ResetCallerIDBuffer( )函数的位置。有两处,一处是在主循环之前;另一处是在一次流程完毕,进行挂机HangUp( )时调用。
四、自测程序IDCHK.EXE:(用VC 2.0编写)
当你的电话线路不传送主叫号码(Caller ID)时,可以用本程序来测试T5ID卡的硬件(收主叫部分)
1、文件组成:
IDCHK.MAK
IDCHK.C
..\voc\IDCHK.VOC
2、插入内线模块,接入内线电源,运行程序IDCHK;将对所有插内线模块的通道进行测收到的号码应该是1234567890。
3、注意:
确保内线模块和内线电源能正常工作(可以用DEMO下的程序来试一下)。
内线通道上不必接入电话机。
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?