Моя проблема в том, что Asterisk, похоже, отвечает на телефонные звонки слишком поздно после "Привет?" для правильной работы функциональности AMD, т. е. AMD приходит в тишине, и человек должен еще раз поздороваться, чтобы узнать, что там есть человек.
Мы проверили его с помощью IAX через программный телефон и видим более или менее одинаковую задержку при ответе, поэтому мы предполагаем, что это конфигурация Asterisk.
У меня более или менее установлена ванильная звездочка. Мы инициируем исходящие звонки через SIP через местного провайдера. Я использую часть «Менеджер» API Java Asterisk, чтобы сказать Asterisk, что нужно сделать вызов, а затем API Java Agi, чтобы справиться с ним.
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 начала бы составлять списки, но, поскольку я уже говорил, он уже слышит только тишину.
У кого-нибудь есть идеи, где / как я неправильно настроил Asterisk для такой задержки?