当前位置: 电话机 >> 电话机优势 >> 子佩CC301语音盒二次开发SDK帮助
1.1编写此文件目的
说明怎么样通过API控制CC,以便第三方软件能更好利用CC(如:CRM系统,办公软件等)无缝连接。
建议选择WORD菜单的”视图”-”文档结构图”的方式来浏览该文档的结构图
1.2通用说明
l以下提到的‘PSTN’为公共电话交换网,也就为接在设备line口的线路。
l以下提到的话机/电话机为接在设备phone口的设备(如:普通模拟电话机/模拟交换机)。
l以下提到的内线也就为接在phone的设备(如:普通模拟电话机/模拟交换机)。
l以下提到的PC为接着CC设备的电脑。
l以下提到的参数类型
BRIINT64-表示有符号64bit(8字节)
BRIINT32-表示有符号32bit(4字节)
BRIUINT32-表示无符号32bit(4字节)
BRIINT16-表示有符号16bit(2字节)
BRIUINT16-表示有符号16bit(2字节)
BRIBYTE8-表示无符号8bit(1字节)
BRICHAR8-表示有符号8bit(1字节)
BRIPCHAR8-表示字符串指针(ANSI)
BRIPSHORT16-表示字符串指针(UNICODE)
l以下提到的[in]表示该参数为输入。
l以下提到的[out]表示该参数为输出。
l以下提到的[in,out]表示该参数为输入也可以做输出。
l以下提到的音量设置里的默认音量都为,如果设置为表示把音量放大一倍,如果为50就表示缩小一半,如果设置为0就表示为静音,如果为00就表示把音量放大倍。
1.3开发时需要注意的细节
1.不同的编译器对int,long的字长定义不一样,
如:有些int为32位,有些int为16位
有些long为32位,有些long为64位
-使用前请仔细查阅该编译器说明
2.使用保留的参数值时都必须使用0,保留的字符参数为空字符,如:””
3.最后一次函数执行的错误可以使用QNV_GetLastError来获取,返回32位的错误值,具体错误原因查看错误文档定义。
函数原型:BRIINT32BRISDKLIBAPIQNV_GetLastError();
1.4安装驱动
方式一:插入设备,windows会提示有新硬件插入,根据windows向导选择driver目录下相应的驱动。
方式二:插入设备,windows会提示有新硬件插入,取消该窗口,执行开发包driver目录下相应的驱动
备注:
当安装好驱动后,如果在主机换USB口后如果windows提示有新硬件插入,需要重新安装.
2接口函数
2.1打开设备(QNV_OpenDevice)
2.1.1功能描述(Description)
打开CC设备/声卡模块/网络通讯模块
2.1.2函数原型(Function)
2.1.3返回值(ReturnValues)
大于0表示成功,其它表示失败.
2.1.4参数描述(Parametersdescription)
uDevType
[in]指定需要打开的设备类型
2.1.4.1打开CC设备模块ODT_LBRIDGE
功能描述(Description)
打开CC设备模块
参数介绍(Parameters)
[in]nValue
打开cc设备参数
0—打开所有CC设备
其它—打开指定数量的CC设备
[in]pValue–保留
返回值(ReturnValues)
小于0表示失败,其它返回打开的设备数量
备注(Remarks)
无
例如(Example)
QNV_OpenDevice(ODT_LBRIDGE,0,0);
-打开全部CC设备
QNV_OpenDevice(ODT_LBRIDGE,16,0);
-打开最前面16个CC设备,如果设备少与16个就返回实际一共打开的数量
2.1.4.2打开声卡模块ODT_SOUND
功能描述(Description)
打开声卡模块
参数介绍(Parameters)
[in]nValue–保留
[in]pValue–保留
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
无
例如(Example)
QNV_OpenDevice(ODT_SOUND,0,0);
2.1.4.3打开网络CC模块ODT_CC
功能描述(Description)
打开网络即时消息/P2P语音/文件的CC模块
参数介绍(Parameters)
[in]nValue–保留
[in]pValue
指定CC模块的license字符
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-非特殊需求的用户使用”quniccub_x”为license
例如(Example)
QNV_OpenDevice(ODT_CC,0,“quniccub_x”);
2.1.5相关函数(SeeAlso)
QNV_CloseDevice
2.2关闭设备(QNV_CloseDevice)
2.2.1功能描述(Description)
关闭指定的设备模块
2.2.2函数原型(Function)
2.2.3返回值(ReturnValues)
有符号32bit位,大于0表示成功,其它表示失败.
2.2.4参数描述(Parametersdescription)
uDevType
[in]指定需要打开的设备类型
2.2.4.1关闭CC设备模块ODT_LBRIDGE
功能描述(Description)
关闭CC设备模块
参数介绍(Parameters)
[in]nValue–保留
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
无
例如(Example)
QNV_CloseDevice(ODT_LBRIDGE,0);
2.2.4.2关闭声卡模块ODT_SOUND
功能描述(Description)
关闭声卡模块
参数介绍(Parameters)
[in]nValue–保留
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
无
例如(Example)
QNV_CloseDevice(ODT_SOUND,0);
2.2.4.3关闭网络CC模块ODT_CC
功能描述(Description)
网络即时消息/P2P语音/文件的CC模块
参数介绍(Parameters)
[in]nValue–保留
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
无
例如(Example)
QNV_CloseDevice(ODT_CC,0);
2.2.4.4关闭指定的通道ODT_CHANNEL
功能描述(Description)
关闭指定的通道
参数介绍(Parameters)
[in]nValue–保留
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
无
例如(Example)
QNV_CloseDevice(ODT_CHANNEL,1);
-关闭通道1(第2个通道)
2.3获取设备信息(QNV_DevInfo)
2.3.1功能描述(Description)
获取设备信息
2.3.2函数原型(Function)
2.3.3返回值(ReturnValues)
有符号32bit位
-小于等于0表示失败。
-其它表示成功
2.3.4参数描述(Parametersdescription)
nChannelID
[in]指定需要获取信息的通道号/USB模块ID
–第一个通道nChannelID为0,依次递增
uDevInfoType
[in]指定需要获取信息的参数类型值
2.3.4.1获取USB模块类型QNV_DEVINFO_GETCHIPTYPE
功能描述(Description)
获取USB模块类型
返回值(ReturnValues)
小于等于0表示失败,其它表示USB的模块类型
备注(Remarks)
该功能保留
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETCHIPTYPE);
2.3.4.2获取USB模块数量QNV_DEVINFO_GETCHIPS
功能描述(Description)
获取USB模块数量
返回值(ReturnValues)
小于0表示失败,其它返回打开的设备里总共有几个USB芯片
备注(Remarks)
-该值等同于最后一个通道的设备ID+1.(QNV_DEVINFO_GETDEVID)
-某些设备的一个USB芯片具有2个通道,当一个USB芯片只有一个通道时,设备ID就是通道ID
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETCHIPS);
2.3.4.3获取通道类型QNV_DEVINFO_GETTYPE
功能描述(Description)
获取通道类型
返回值(ReturnValues)
小于0表示失败,其它返回设备的类型ID,具体ID所指定的信息查看相关定义
备注(Remarks)
无
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETTYPE);
2.3.4.4获取通道功能模块QNV_DEVINFO_GETMODULE
功能描述(Description)
获取通道功能模块
返回值(ReturnValues)
小于0表示失败,返回设备拥有的功能模块
备注(Remarks)
功能模块如:(详细信息查看专门的设备功能模块定义)
DEVMODULE_DOPLAY
…
DEVMODULE_POLARITY
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETMODULE);
2.3.4.5获取通道所在USB芯片中的传输IDQNV_DEVINFO_GETCHIPCHID
功能描述(Description)
获取通道所在USB芯片中的传输ID
返回值(ReturnValues)
小于0表示失败,其它返回该通道在USB芯片里的传输ID.(0或者1)
备注(Remarks)
一个USB芯片模块有可能拥有两个传输通道。
-0表示第一个传输通道
-1表示第二个传输通道
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETCHIPCHID);
2.3.4.6获取通道序列号QNV_DEVINFO_GETSERIAL
功能描述(Description)
获取通道序列号
返回值(ReturnValues)
小于0表示失败,返回通道的设备序列号值
备注(Remarks)
-序列号为一个32bit的数值,不是字符串
-如果该通道没有序列号返回0
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETSERIAL);
2.3.4.7获取通道数量QNV_DEVINFO_GETCHANNELS
功能描述(Description)
获取通道数量
返回值(ReturnValues)
小于0表示失败,返回打开的总共的通道数量
备注(Remarks)
-有些一个设备拥有2个通道
-该通道在USB里传输ID(QNV_DEVINFO_GETCHIPCHID)可能为0或者1
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETCHANNELS);
2.3.4.8获取通道所在的USB模块IDQNV_DEVINFO_GETDEVID
功能描述(Description)
获取通道所在的USB模块ID
返回值(ReturnValues)
小于0表示失败,返回该通道所在的USB芯片ID
备注(Remarks)
-最后一个通道的USB模块ID也就为总共打开了几个USB芯片
-某些设备的一个USB芯片具有2个通道,当一个USB芯片只有一个通道时,设备ID就是通道ID
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETDEVID);
2.3.4.9获取开发包SDK里的DLL版本号QNV_DEVINFO_GETDLLVER
功能描述(Description)
获取开发包SDK里的DLL版本号
返回值(ReturnValues)
小于0表示失败,返回使用的SDK的DLL版本
备注(Remarks)
当DLL新版本改进后该版本ID会发生变化,这样会有新的功能在低版本的DLL里不能使用,必须在指定的DLL版本以上
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETDLLVER);
2.3.4.10获取该USB模块第一个传输ID所在的通道号QNV_DEVINFO_GETCHIPCHANNEL
功能描述(Description)
获取该USB模块第一个传输ID所在的通道号
返回值(ReturnValues)
小于0表示失败,返回通道号
备注(Remarks)
-如果您想控制某个USB模块,但不知道通道ID时可以使用该功能先获取通道ID
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETCHIPCHANNEL);
2.3.4.11获取该USB模块第二个传输ID所在的通道号QNV_DEVINFO_GETCHIPCHANNEL
功能描述(Description)
获取该USB模块第二个传输ID所在的通道号
返回值(ReturnValues)
小于0表示失败,返回通道号
备注(Remarks)
-如果您想控制某个USB模块,但不知道通道ID时可以使用该功能先获取通道ID
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETCHIPCHANNELS);
2.3.4.12获取该通道接入的线路类型QNV_DEVINFO_GETCHANNELTYPE
功能描述(Description)
获取该通道接入的线路类型
返回值(ReturnValues)
小于0-表示失败
1-该通道是接电话机,只能对电话机独立操作
2-该通道是接电话线,只能对电话线独立操作,检测不到电话机摘挂拨号
3-该通道即有电话线,也有电话机,可以检测到电话机摘挂拨号
备注(Remarks)
-无
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_GETCHANNELTYPE);
2.3.4.13获取该通道接入的线路类型QNV_DEVINFO_FILEVERSION
功能描述(Description)
获取该接口所在的dll(qnviccub.dll)文件版本
返回值(ReturnValues)
返回qnviccub.dll文件的版本信息,如:1,11,8,12
备注(Remarks)
-该版本信息跟查看该DLL文件属性中的文件版本是一样的
例如(Example)
QNV_DevInfo(0,QNV_DEVINFO_FILEVERSION);
2.4参数设置(QNV_SetParam)
2.4.1功能描述(Description)
设置通道参数(设置参数必须先打开设备)
2.4.2函数原型(Function)
2.4.3返回值(ReturnValues)
有符号32bit位,大于0表示成功,其它表示失败
2.4.4参数描述(Parametersdescription)
nChannelID
[in]指定需要设置参数的通道号–第一个通道nChannelID为0,依次递增
uParamType
[in]指定需要设置参数的类型值
2.4.4.1忙音检测灵敏度QNV_PARAM_BUSY
功能描述(Description)
检测到连续几个忙音后回调
参数介绍(Parameters)
[in]nChannelID
设置参数的通道
[in]nValue
忙音个数.范围(1-10)
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-检测忙音个数越少,检测的灵敏度就越高,检测时间也越少,但在复杂的环境下有可能误测。
-建议设置个数控制在3-6个。
例如(Example)
QNV_SetParam(0,QNV_PARAM_BUSY,5);
2.4.4.2DTMF检测时允许的性噪比QNV_PARAM_DTMFLEVEL
功能描述(Description)
DTMF检测时允许的性噪比,该值越小,检测灵敏度越高
参数介绍(Parameters)
[in]nChannelID
设置参数的通道
[in]nValue
等级.范围(0-5)
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-检测灵敏度越高,对DTMF的信躁声质量要求就越低,越不容易漏掉接收DTMF,但在复杂的环境会提高误测的概率。
-非特殊情况不需要修改该值,要修改该值建议设置在1-4。
例如(Example)
QNV_SetParam(0,QNV_PARAM_DTMFLEVEL,2);
2.4.4.3DTMF检测时有效的DTMF最小能量值QNV_PARAM_DTMFVOL
功能描述(Description)
DTMF检测时有效的DTMF最小能量值
参数介绍(Parameters)
[in]nChannelID
设置参数的通道
[in]nValue
有效DTMF的能量值得.范围(1-)
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-该值越大,对DTMF的声音大小要求就越大,也就是说如果该值设置的比较大,但实际接收到的DTMF音量比较小,系统就会丢弃该DTMF。
-非特殊情况不要修改该值,要修改该值,一般设置在5-20
例如(Example)
QNV_SetParam(0,QNV_PARAM_DTMFVOL,10);
2.4.4.4DTMF检测时允许的最小持续时长QNV_PARAM_DTMFNUM
功能描述(Description)
DTMF检测时允许的最小持续时长
参数介绍(Parameters)
[in]nChannelID
设置参数的通道
[in]nValue
持续时长.范围(1-10)
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-该值越大,对DTMF的持续时间要求就越长,也就是说如果该值设置的比较大,但实际接收到的DTMF时间比较短,系统就会丢弃该DTMF。
-实际需要时间为该值*8ms,也就是如果该值设置为6,就需要DTMF信号持续时间不能少于6*8ms=48ms(毫秒)。
-中国电信规定标准的DTMF持续时间不能少于45ms.一般话机等设备产生DTMF持续时间为75ms左右。
-建议需要在通话时收DTMF码,该值设置在6-9左右。
-该值越小(一般在6的时候)在通话中可能会引起误测接收到DTMF。
例如(Example)
QNV_SetParam(0,QNV_PARAM_DTMFNUML,7);
2.4.4.5DTMF检测时低频不能超过高频的倍数QNV_PARAM_DTMFLOWINHIGH
功能描述(Description)
DTMF检测时低频能量不能超过高频能量的倍数
参数介绍(Parameters)
[in]nChannelID
设置参数的通道
[in]nValue
能量倍数.范围(2-10)
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-该值越大,对DTMF信号传输后对频率衰减的要求的就越抵,误测试概率就会提高
-默认为9,非特殊情况用户不需要修改。
例如(Example)
QNV_SetParam(0,QNV_PARAM_DTMFLOWINHIGH,7);
2.4.4.6DTMF检测时高频不能超过低频的倍数QNV_PARAM_DTMFHIGHINLOW
功能描述(Description)
DTMF检测时高频能量不能超过低频能量的倍数
参数介绍(Parameters)
[in]nChannelID
设置参数的通道
[in]nValue
持续时长.范围(2-10)
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-该值越大,对DTMF信号传输后对频率衰减的要求的就越抵,误测试概率就会提高
-默认为7,非特殊情况用户不需要修改。
例如(Example)
QNV_SetParam(0,QNV_PARAM_DTMFHIGHINLOW,4);
2.4.4.7DTMF拨号时的时间长度QNV_PARAM_DIALSPEED
功能描述(Description)
DTMF拨号时的时间长度
参数介绍(Parameters)
[in]nChannelID
设置参数的通道
[in]nValue
DTMF时长.范围(45-)(单位:毫秒)
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-该值越小,拨号的速度就越快,但太快时可能在某些交换机下引起不能正常拨号
-默认为75ms,非特殊需求,建议用户不要修改该值
-中国电信规定该值必须大于45ms
例如(Example)
QNV_SetParam(0,QNV_PARAM_DIALSPEED,);
2.4.4.8DTMF拨号时两个号码之间静音长度QNV_PARAM_DIALSILENCE
功能描述(Description)
DTMF拨号时两个号码之间静音长度
参数介绍(Parameters)
[in]nChannelID
设置参数的通道
[in]nValue
静音长度时长.范围(45-)(单位:毫秒)
返回值(ReturnValues)
大于0表示成功,其它表示失败
备注(Remarks)
-该值越小,拨号的速度就越快,但太快时可能在某些交换机下引起不能正常拨号
-默认为75ms,非特殊需求,建议用户不要修改该值