【问题标题】:Asterisk DTMF sometimes gets ignored (but only for some people)Asterisk DTMF 有时会被忽略(但仅适用于某些人)
【发布时间】:2011-12-05 19:39:44
【问题描述】:

我有一个非常奇怪的问题,甚至不知道从哪里开始。

我们正在使用 AGI 和 Java 库来呈现 IVR,但收到了用户抱怨他们的按键被忽略的投诉。

在我的 sip.conf 中,在 general 部分下,我有这样定义的 DTMF(“放松”行被注释掉):

dtmfmode = rfc2833
;relaxdtmf=yes

我已与提供商确认应该是 rfc2833,因为这是他们专门为我们配置的。

我在 logger.conf 中为我的 messages 文件打开了 dtmf 调试级别:

messages => notice,warning,error,dtmf

我现在看到这样的行:

DTMF[8744] channel.c: DTMF begin '1' received on SIP/veracity-00005052
DTMF[8744] channel.c: DTMF begin ignored '1' on SIP/veracity-00005052
DTMF[8744] channel.c: DTMF end '1' received on SIP/veracity-00005052, duration 270 ms
DTMF[8744] channel.c: DTMF end passthrough '1' on SIP/veracity-00005052
DTMF[8741] channel.c: DTMF begin '1' received on SIP/veracity-00005056
DTMF[8741] channel.c: DTMF begin ignored '1' on SIP/veracity-00005056
DTMF[8741] channel.c: DTMF end '1' received on SIP/veracity-00005056, duration 415 ms
DTMF[8741] channel.c: DTMF end passthrough '1' on SIP/veracity-00005056

它说“忽略”的事实让我很担心,但我没有阅读任何表明这是不受欢迎的行为的信息或论坛帖子。

接收输入的 Java 代码如下所示。基本上,它会执行 key 返回的任何数字,或者 - 如果它为零 - 重播菜单。

char key = 0;

if ( validOptions.contains( "1" ) )
    key = agiChan.streamFile( menu( "menu1" ), validOptions );

if ( validOptions.contains( "2" ) && key == 0 )
    key = agiChan.streamFile( menu( "menu2" ), validOptions );

if ( validOptions.contains( "3" ) && key == 0 )
    key = agiChan.streamFile( menu( "menu3" ), validOptions );

if ( !validOptions.contains( "1" ) && !validOptions.contains( "2" ) && key == 0 )
    key = agiChan.streamFile( menu( "menu4" ), validOptions );

if ( key == 0 )
    key = agiChan.waitForDigit( 5000 );

return key;

我对此感到茫然,尤其是因为并非所有人都会发生这种情况。我什至会从哪里开始寻找/调试这样的东西?

提前谢谢你!

【问题讨论】:

  • 快速更新:我取消了“relaxdtmf”行的注释并将其设置为“是”。我会查看日志文件,看看我是否仍然被忽略输入。
  • 我们的提供商对他们进行了更改,问题似乎已经消失。我仍然不知道原因(甚至解决方案)。

标签: java asterisk dtmf agi


【解决方案1】:

是的,它通常来自提供者端,因为信号是从提供者发送/接收的,请始终尝试使用不同的 dtmf 模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多