旧网站入口 EN 搜索
Menu
  • Q: 使用KEYGOE交换机时,如何使用软件注册多个SIP账号?
    A: 1),在配置界面的VOIP模块里按照以下步奏设置,SIP协议设置-----客户设置----使用代理设置为打开,填写注册代理服务器的IP和端口以及号码等参数。
       2),在程序中使用XMS_ctsSendIOData(ACSHandle_t acsHandle,DeviceID_t * deviceID,DJ_U16 u16IoType,DJ_U16 u16IoDataLen,DJ_Void * ioData)来进行注册多个号码,设备参数为任意打开的VOIP设备,类型为XMS_IO_TYPE_VOIP_SIPREG,长度为结构体Acs_VoIP_SIPR
          EGEX的长度,结构体中的参数设置注册的IP和端口以及号码等。
       3),注册号码和填入的VOIP设备无关联,可以多次使用同一个VOIP设备进行注册。
  • Q: Keygoe添加多个voip模块,每个模块使用不同的注册端口,软终端能够正常注册到这些模块上吗?
    A: 3.2.0支持。3.1.2及以下的不支持,当采用这种模式时,将只有一个能够正常注册上。
  • Q:keygoe交换机进行VOIP呼叫时

    Q:keygoe交换机进行VOIP呼叫时, XMS_ctsMakeCallOut(ACSHandle_t acsHandle, DeviceID_t * deviceID, CallNum_t * callingID, CallNum_t * calledID, PrivateData_t * privateData )中主被叫号码以及扩展参数的主被叫号码都赋值了,应该以何值为准?

    A:VOIP呼叫时,都赋值时,会以扩展参数的结构体的主被叫参数为主进行呼叫,不会发生冲突导致无法呼叫。


  • Q: 如何实现不同DSP上的IP呼叫间的语音交换?

    A: 需要借助DSP上的语音设备来实现。将两个DSP上的VoIP设备分别连接到本地DSP上的语音设备,再将这两个语音设备进行时隙连接,即至少需要四步操作: 


    XMS_ctsLinkDevice(IP1, Voc1); 


    XMS_ctsLinkDevice(IP2, Voc2); 


    XMS_ctsLinkDevice(Voc1, Voc2);


    XMS_ctsLinkDevice(Voc2, Voc1);


  • Q: Keygoe2.3.0中怎样对IP设备进行CSP录音?

    A: 1.调用XMS_acsOpenStreamExt() 连接 Dsp


    2.选取两个语音VOC1,VOC2 双向LINK


    3.选取一个VOIP设备和VOC1 LINK


    4.对VOC2进行CSP录音,并设置录音的源为INPUT,录音的设备为VOC2.


    在最新版本的KEYGOE 3.0中已经不需要借助语音VOC1对VOIP设备进行CSP录音。


  • Q: 为什么VoIP呼叫接续成功,但听不到语音?

    A: 请确认VoIP软件模块、DSP模块和VoIP终端这三者的IP地址位于同一个网段。VoIP信令模块和媒体RTP模块拥有不同的IP地址,详见《KEYGOE编程指南》。

  • Q: 两个ip通话,能不借助语音而实现两个IP软中端通话吗?

    A: 能,只要分别设置混音,混音的来源来自于对方的ip。代码参考:

    // VoIP Device parameter

           MixerControlParam_t paramMixer = {0};

           paramMixer.m_u8SRC1_Ctrl = XMS_MIXER_FROM_IP;

           paramMixer.m_u16SRC_ChID1 = g_deviceVoIP[iDevice2].device.m_s16ChannelID;

     

           RetCode_t ret = XMS_ctsSetParam(g_acsHandle, &g_deviceVoIP[iDevice1].device,

                  VOIP_PARAM_RTPMIXER, sizeof(paramMixer), &paramMixer);

           // set p2 device mixer from p1

           paramMixer.m_u16SRC_ChID1 = g_deviceVoIP[iDevice1].device.m_s16ChannelID;

           ret = XMS_ctsSetParam(g_acsHandle, &g_deviceVoIP[iDevice2].device,

                  VOIP_PARAM_RTPMIXER, sizeof(paramMixer), &paramMixer);


  • Q: VOIP服务器定时向客户端发送检测IP是否在线的功能如何实现?

    A: 可以通过VOIP的Option来实现,调用XMS_ctsSendIOData函数,调用一次后keygoe底层会有定时机制去发送检测是否在线的,调用XMS_ctsSendIOData函数后KeyGoe底层会上报XMS_IO_TYPE_VOIP_OPTIONNOTIFY事件,可以在事件中获取结果。如需要关闭则再调用XMS_ctsSendIOData函数(设置m_s8BeOption参数为0),代码如下

    VoIPCallOptionPrivate_t option={0};

             option.m_s32Protocol=XMS_VOIP_PROTOCOL_SIP;

             option.m_s8BeOption=1; //option打开 1;option关闭 0

             option.m_PrivateData.m_u32DataSize= sizeof(VoIPCallOptionPrivate_t);

             option.m_s32CalleePort=m_strOptionPort;

             strcpy(option.m_s8CalleeTelNo,m_strOptionTelNO);

             strcpy(option.m_s8CalleeAddress,m_strOptionIP);

             strcpy(option.m_s8CalleeUserID,m_strOptionID);

     

    XMS_ctsSendIOData(g_acsHandle,&g_deviceVoIP[2].device,

    XMS_IO_TYPE_VOIP_OPTION,sizeof(option), &option);


  • Q: 测试VOIP时,接收RTP包最小间隔时间是多少?

    A: 大于10毫秒 少于10毫秒RTP包太小,间隔时间太短RTP包就会很多,太多了会导致DSP处理不过来,而出现一些异常问题,如DSP闪断

  • Q: IP加入会议的方式有哪两种?

    A: 实现方法:

    第一种: ip直接加入会议

    第二种: ip单向Link一个语音voc1后,让这个语音双向link一个语音voc2,用voc2加入会议。ip只绑定一个语音加入会议,是听不到会议的声音,必须绑定两个


  • Q: VOIP模块配置在内网卡,对外网卡添加5060端口映射时,协议模式选UDP还是TCP?

    A: 选UDP,默认选项是TCP,但选择TCP会出现IP能呼叫出去、但是单通;且IP呼入不进来的问题。

  • Q: 在Windows 2k Pro或WinXP等操作系统安装的VoIP模块为什么呼损较高?

    A: 早期的Win2k Pro和WinXP等操作系统的TCP/IP协议栈将TCP侦听连接队列长度(listen backlog)设置为5,安装操作系统补丁后有所改善。对于大话务量使用环境建议将VoIP模块安装在Win2k Server等服务器操作系统。

没有您要找的内容!