не возникает проблемы в случае неответа. во всех комерческих системах звонок уходит наружу через Local и неответ без вопросов отслеживается.
meral ( 2015-08-26 17:26:23 +0400 )редактироватьПрям таки во всех?
А если в контексте куда делается originate нет такого паттерна? Такой Originate на Local канет в лету тихо и незаметно.
да. патерн ставится из подчеркивания и точки. и если в контексте нет номера, то надо взять другой, нормальный астериск.
meral ( 2015-08-26 20:08:02 +0400 )редактироватьЗнаешь, однажды очень долго искали почему не работает обзвонка. Оригинейт уходит в никуда, хотя до этого все отлавливалось. Оказывается, админ неправильно добавил exten в контексте, где делался Local dial out.
litnimax ( 2015-08-26 21:48:43 +0400 )редактироватьвот поэтому не надо делать с минимальными знаними ядра обзвона. там еще куча глюков МОЖЕТ быть. есть полно йже написанных.
meral ( 2015-08-27 00:35:58 +0400 )редактироватьСкор ты однако на суждения... "Во всех системах", "минимальными знаниями". Это делал я, когда еще не было otherChannelId, и единственный способ отслеживания несостоявшихся вызовов Originate было использование Local канала. Изменили маршрутизацию в этом контексте, и перестали видеть неудавшиеся звонки. Долго искали, потому что искали косяк в софте и настройках в нем, а не в Asterisk'e.
litnimax ( 2015-08-27 11:57:04 +0400 )редактироватьну вот. теперь ты тоже в курсе. почему не посмотрел в vicidial я даже не спрашиваю. последний раз я такое исправлял на прошлой неделе. вообще гдето раз в три месяца спрашивают с кустомными диллерами с такими симптомами. тоесть это не уникальный опыт у тебя. чтоб маршрутизацию не меняли, надо под диаллер отдельный контекст писать и в нем делать i екстеншен с предупреждениями большими буквами(что я и делаю).
meral ( 2015-08-27 15:48:24 +0400 )редактировать
у вас setAsync(true); . звонок всегда будет успешный.
zzuz ( 2015-08-26 17:56:11 +0400 )редактироватьда, если включить asynс(false) - то можно хотя бы отловить, если звонок был сброшен, но в response: Originate failed error - т.е. не очень информативно(хотелось бы вытащить busy или no-answer, not-available или что там реально произошло). я так понял совершается вызов по каналу, указанному в параметре Channel, т.е. теоретически я могу отслеживать здесь неответ , если не ответили(по умолчанию 30000 - timeout) - то ловить исключение - но на исключении логику строить как-то неверно
ipvinner ( 2015-08-26 18:52:51 +0400 )редактироватьОбрабатывайте звонок в [from-ami] , вписав UserEvent .
zzuz ( 2015-08-26 19:09:50 +0400 )редактироватьо, спасибо!
ipvinner ( 2015-08-26 19:57:34 +0400 )редактировать