我的问题是,Asterisk似乎在"你好?"之后接电话有点太晚了,AMD功能无法正常工作,即AMD在沉默中进入,而人必须再次打招呼,以便它知道有人在那里。
我们已经通过软电话使用IAX进行了测试,并在回答时看到或多或少相同的延迟,因此我们假设它是Asterisk配置。
我或多或少有一个香草Asterisk安装。我们通过本地提供商通过SIP发起出站呼叫。我使用Java Asterisk API的"管理器"部分来告诉Asterisk进行调用,然后Java Agi API来处理它。
配置的SIP部分看起来像这样( SIP .conf):
[my-sip-trunk]
disallow=all
allow=ulaw
allow=alaw
allow=gsm
host=<ip to our provider>
type=peer
canreinvite=no
nat=never
我通过管理器发送给Asterisk的数据看起来像这样:
Channel: SIP/<phonenumberhere>@my-sip-trunk
Context: MyContext
Extension: 100
Priority: 1
Caller ID: <caller's caller ID>
在我的extensions.conf中,我有适当的信息和——仅仅为了演示的目的——只有几个命令:
[MyContext]
exten => 100,1,Answer()
exten => 100,n,Background(beep)
实际情况是,我拿起电话,有时间说"喂?",但在我说完话后不久,哔哔声就响起了。哔哔声告诉我AMD何时开始监听——但因为它已经过去了,当我开始说话时,它只会听到沉默。
有没有人有任何想法在哪里/我如何错误配置星号有这个延迟?
SIP呼叫进度分析是出了名的反复无常(它基本上不起作用)。
我过去必须做的是使用SIP代理来分析音频带内,然后将结果传递回Asterisk。
查看Sangoma Call Analyzer