Приветствую, многоуважаемые обитатели этого ресурса.
Я являюсь частым читателем этого форума и wiki на этом ресурсе, как то до сих пор и в частности благодаря именно этому ресурсу разбирался со всеми проблемами касаемо asterisk'а, а вот сей час, что то не прет
Столкнулся тут с очень интересной проблемой и вот как то, что то уже голову всю поломал.
Суть проблемы в авто-обзвоне с использованием call файлов. Все бы ни чего, и схемы то вроде уже отработанные есть и с примерами диалпланов и тд и тп, только вот попался мне тут один sip-провайдер с очень интересным поведением. Когда мы осуществляем звонок во вне используя его в качестве транка наблюдается такое поведение:
file.call -> dial(SIP/prov/XXXXXXXXXXX) -> SIP/prov answer -> XXXXXXXXXXXX answer
Немного мудрено но постараюсь пояснить
в call-файле два плеча куда звоним и с кем соединяем, куда звоним это XXXXXXXXXXX(через prov) с кем соединяем скажем Playback(hello-world), так вот соединяться они должны после того как XXXXXXXXXX(куда звоним) ответить, но в моей ситуации отвечает почему то SIP/prov как будто он не транк а тот кому звоним. При чем после того как наступил answer(который от транка), стартует второе плечо(Playback(hello-world)), но дозвон до XXXXXXXXXXX абонента еще идёт, в результате после того как XXXXXXXXXXX поднимет трубку то сообщение которое нужно было ему проиграть уже проиграно на половину или вообще все.
Теперь как я пришел к той мысли что виноват(так или иначе) sip-провайдер через которого звоним. Берем и меняем этого прова скажем на клона betamax'а и о чудо, все работает и работает как надо, то есть:
file.call -> dial(SIP/betamax/XXXXXXXXXXX) -> Called XXXXXXXXXXX -> XXXXXXXXXXX answer
Вот собственно и вся проблема, буду признателен за любую помощь или подсказку куда копать или возможно кто то сталкивался с таким поведением и возможно есть решения именно к такой схеме, когда отвечает пров.
Заранее большое спасибо.