Страница 1 из 1
Двойной DIAL
Добавлено: 21 июн 2015, 23:21
TVMaker
Делаю одновременный вызов на две внешние линии примерно следующим образом:
Dial(${OUT_CHANNEL_1}/${PROVIDER_1}/${OUT_NUMBER_1}&${OUT_CHANNEL_2}/${PROVIDER_2}/${OUT_NUMBER_2})
Вызов идет одновременно на оба заданных номера, при ответе вызываемой стороны второй вызов сразу же разрывается - как и должно быть. А как можно далее в диалплане понять, какой именно номер ответил?
Re: Двойной DIAL
Добавлено: 21 июн 2015, 23:59
Glukinho
${BRIDGEPEER} попробуйте.
Re: Двойной DIAL
Добавлено: 22 июн 2015, 19:30
TVMaker
Не совсем то. Он возвращает что-то типа "SIP/provider/callid" - а как узнать, что за callid был? В случае разных провайдеров, конечно, однозначно можно понять, но в случае совпадения не получится
Re: Двойной DIAL
Добавлено: 22 июн 2015, 20:04
Glukinho
Пока приходит в голову только звонить на очередь с strategy = ringall и setinterfacevar = yes, тогда установится переменная ${MEMBERINTERFACE}, содержащая имя ответившего канала.
Re: Двойной DIAL
Добавлено: 22 июн 2015, 20:17
Zavr2008
Думаю можно использовать опцию M в Dial для вызова макроса - тогда в нем уже будет канал верный после соединения.
Re: Двойной DIAL
Добавлено: 22 июн 2015, 20:41
Glukinho
И где его там ловить?
Re: Двойной DIAL
Добавлено: 22 июн 2015, 21:22
gosha
DIALEDPEERNUMBER
не катит ?
Re: Двойной DIAL
Добавлено: 22 июн 2015, 22:06
TVMaker
Спасибо,
Glukinho и
gosha! Используя парсинг обеих переменных - BRIDGEPEER и DIALEDPEERNUMBER, я решил задачу! Честно скажу - про DIALEDPEERNUMBER не знал. Учиться никогда не поздно
BRIDGEPEER дает тип канала и провайдера (имя канала мне для анализа бессмысленно), а у меня два типа каналов используется - SIP и Dongle, DIALEDPEERNUMBER дает провайдера и номер.
Re: Двойной DIAL
Добавлено: 23 июн 2015, 00:02
Glukinho
Я про DIALEDPEERNUMBER тоже не знал