电话机

子佩CC301语音盒二次开发SDK帮助

发布时间:2023/7/11 11:04:41   
治疗白癜风那最好 https://wapyyk.39.net/bj/zhuanke/89ac7.html

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,非特殊需求,建议用户不要修改该值



转载请注明:http://www.aideyishus.com/lkgx/5446.html
------分隔线----------------------------