Добрый день всем!
Недавно столкнулся с такой проблемой...
Человек попросил сделать callback, связка: GSM-шлюз(GUDWIN 4 SIM) <-> Asterisk. В общем когда звоним из мира на GSM-шлюз, АТС берет номер звонящего, кидает в AGI-скрипт, ну и перезванивает, через шлюз.
Если диалплан написан типа:
exten => _X.,1,Answer()
exten => 201,2,AGI(callback.agi,${CALLERID(number):2:12},${UNIQUEID})
exten => 201,3,Hangup()
Все работает отлично, но у человека, который звонил из мира кушаются денюжки за соединение, потому что стоит Answer().
Если же написать так:
exten => _X.,1,Wait(1)
exten => 201,2,AGI(callback.agi,${CALLERID(number):2:12},${UNIQUEID})
exten => 201,3,Hangup()
То вызов не сбрасывается... Идут гудки.... И деньги не снимает....
Заключение для себя такое сделал, что FXO тупо не понимает команды Hangup(), пока не получил предварительного ответа Answer()
Есть ли какие-то хитрости, как можно обойти эту ситуацию (безусловный переход на несуществующую точку в диалплане не помог...)?
П.С. Что ж за калбэк, что деньги жрет....