Страница 1 из 2
Физический смысл Answer()
Добавлено: 01 окт 2012, 13:23
KeeperAD
Уважаемые гуру, не мог бы кто-нибудь в доступной форме пояснить смысл функции Answer(), т. к. то что написано о ней не до конца позволяет понять ее реальный смысл! Проблема в том, что, если использовать Answer(), то начинает некорректно отрабатываться некоторый функционал астера.
Предыстория: нужно было сделать так, чтобы при наборе внутреннего номера, цифры подменялись именем из callerid. В случае если использовать Answer() этот функционал либо работает "через раз", либо вообще не работает. Если же убрать Answer(), то все отлично начинает работать. И вообще, наличие Answer() приводит к тому, что вызов проходит, как бы в режиме транка... Плиз, помогите разобраться... Убил почти весь день на эту долбанную функцию...
Re: Физический смысл Answer()
Добавлено: 01 окт 2012, 13:30
zzuz
функционал либо работает "через раз", либо вообще не работает
- Не верю!
Re: Физический смысл Answer()
Добавлено: 01 окт 2012, 13:33
KeeperAD
Проверь!
Под функционалом в данном конкретном случае, я имел ввиду именно то, что описал... Я понимаю так, что при Answer() вызов проходит через астера, а в случае его отсутствия вызов проходит. что называется, "по пути наименьшего сопротивления", т. е. напрямую peer2peer. При наличии Answer() время начинает тикать, как только Абонент А набрал номер, при ее отсутствии, время начинает тикать с момента ответа абонента Б.
Re: Физический смысл Answer()
Добавлено: 01 окт 2012, 13:43
KeeperAD
zzuz писал(а): функционал либо работает "через раз", либо вообще не работает
- Не верю!
Проверь!
Под функционалом в данном конкретном случае, я имел ввиду именно то, что описал... Я понимаю так, что при Answer() вызов проходит через астера, а в случае его отсутствия вызов проходит. что называется, "по пути наименьшего сопротивления", т. е. напрямую peer2peer. При наличии Answer() время начинает тикать, как только Абонент А набрал номер, при ее отсутствии, время начинает тикать с момента ответа абонента Б.
Re: Физический смысл Answer()
Добавлено: 01 окт 2012, 14:00
zzuz
Ну я думаю , что нам с Вами еще рано переходить на "ты".
Билинговое время начинает тикать всегда , когда происходит ответ на вызов, с самого первого Answer. Без разницы кто ответил - сервер или удаленный пир на сервере. Работа peer-2-peer возможна только в случае отключения проксирования голоса астериском и поддержкой пиров. Само собой после Answer на сервере о peer2peer можно и не думать. Также проксирование сервером включается некоторыми опциями команды Dial() , такие как tT.
Re: Физический смысл Answer()
Добавлено: 01 окт 2012, 14:44
KeeperAD
Простите! Не хотел обидеть. Привычка среди коллег
Однако, отсчет у меня без Answer() начинается исключительно после ответа Абонента Б! Да и хотелось бы все-таки знать смысл применения Answer().
Re: Физический смысл Answer()
Добавлено: 01 окт 2012, 15:43
zzuz
Смысл прост - ответить на вызов и контролировать голос на астериске. Некоторые приложения просто не будут корректно работать, такие как MusicOnHold или Playback.
Re: Физический смысл Answer()
Добавлено: 01 окт 2012, 17:34
ded
... например два сценария: в одном не обязательно Аnswer, в другом - обязательно.
1) exten => 1234,1,Dial(SIP/trunk/79012345678) - насквозь, direct inward dial (DID)
http://ru.wikipedia.org/wiki/DID - прочитайте описание двух моделей поведения шлюза, то же самое!
2) exten => 1234,1, Answer() - а тут без снятия трубки Answer дальнейший сценарий просто невозможен. И тарификация позвонившему абоненту будет тикать с этого момента.
exten => 1234,n,Wait(2)
exten => 1234,n,Playback(wellcome-to-ABC-company)
exten => 1234,n,Background(please-enter-the-num-who-would-you-like-to-call)
exten => 1234,n,WaitExten(5)
exten => 1234,n,Goto(1234,4)
Смысл понятен?
Re: Физический смысл Answer()
Добавлено: 02 окт 2012, 04:23
KeeperAD
Теперь кажется понятен... Ключевое слово "звонок на вылет" )) Если, диалпланом подразумевается нечто более интерактивное, нежели банальное соединение Абонента А с Абонентом Б, тот же например IVR, то без Answer() никак... Надо будет проверить ) Спасибо!!!
Re: Физический смысл Answer()
Добавлено: 02 окт 2012, 04:46
KeeperAD
Гыы... проверил... IVR без Answer() прекрасно себя чувствует. IVR проговаривается через Read(). Вывод... В астере 10.4.0 функция Answer() "на хэ" бы не нужна!