AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Asterisk 11 управление передачей session progress или...

Работа 3 сообщений -
#1

Asterisk 11 управление передачей session progress или...


update: нужен, наверное, даже не спец по asterisk, а специалист по SIP и tcp, который бы мог составить скрипт/утилиту для блокировки определенных SIP-пакетов, и возможно даже их генерации. Стукнете, кто шарит.
update2: такие манупуляции оказалось проще выполнять через SIP-proxy. был выбран OpenSIPS. тема неактуальна.

Задача. Asterisk 11. Есть PeerA, есть PeerB. От PeerA поступает вызов в Asterisk на номер 123. Исполняется диалплан:

[peerA-call-come]
exten => 123,1,Dial(SIP/PeerB/123)

на данном этапе есть 2 плеча. от PeerA и пошло плечо до PeerB. Все SIP-статусы транслируются PeerA as is от PeerB. Вот тут и задача - нужно, чтобы возможность передачи статуса SIP 183 Session Progress была включена только в определенный момент. Что это означает: если PeerB начинает передавать 183, но внешнее событие не одобрило, то мы все еще посылаем PeerA SIP 100; до тех пор, пока на пропуск 183 не появится "разрешение", и тогда мы открываем 183, начиная транслировать звуковой поток как есть с текущего момента. Если же "разрешение" было раньше, чем PeerB открыл 183 - то, соответственно, передаем as is.

Подозреваю, что реализовать такое через Dial невозможно. Как вариант, я рассматриваю возможность. Посадить PeerA на цикл через Wait/Goto, начав параллельный вызов до PeerB, и в определенный момент, я "бриджую" соединение от PeerA и еще не состоявшееся соединение до PeerB. Это тоже невозможно, потому что бриджевать можно только поднятые каналы.

Вариант, который я сейчас вижу (рабочий) - это сажать PeerA на wait-goto, и при наличии 183 от chan до PeerB - вешать его на MusicOnHold, где я буду транслировать ему "звук" от chan-peerB (опыт есть), а когда канал будет поднят - я их соединю через Bridge. Опыт такой есть, но вариант крайне мутный.

За рабочее решение (совет, кусок конфига) - заплачу без облома как за час работы по вашему прайсу (если у вас на руках есть рабочее решение - скажите свою цену - договоримся). Лишь бы работало. Спасибо.


Последний раз редактировалось: bzmn (Вс Ноя 09, 2014 18:15)
#3

bg1 @ Пт Ноя 07, 2014 00:14 писал(а):
уже всё отписал на voipinfo


ага. читал. спасибо.