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

Ограничить по времени существования порожденный Dial'ом канал

Asterisk IP PBX 6 сообщений -
#1

Кто-нибудь решал такую проблему? Звонок делается с ограничением по времени. При этом доступен сервис трансферов с помощью сообщений SIP REFER.
Юзер делает звонак на 1 номер, потом делает звонок на 2 номер, потом выполняется трансфер, и юзер кладет трубу. Соответственно оба юзерских канала падают, и мы остаемся с двумя сбридженными каналами, которые сделало Dial, и над которыми у нас почти нет контроля, по сути только опции типа U, которые выполняют набор команд диалплана.
Задача: сохранить ограничение по длительности звонка.
Проблема:
1)Стандартные опции S и L команды Dial делают это только для того канала, который вызывает, а его у нас уже нету, и таймаут не срабатывает. Проверял, правда, только на 1.6.0, сомневаюсь что в корне это поменялось в поздних версиях.
2)Опции U и M заранее имеют ограничение, которое конкретно прописано в документации "Also, pbx services are not run on the peer (called) channel, so you will not be able to set timeouts via the TIMEOUT() function in this routine."
Что-то еще упускаю?
Кто-нибудь занимался? Как решили?
#2

эээ. определить контекст для трансфера через TRANSFER_CONTEXT, в том контексте в Dial'e ставить S/L

?

_________________
рву шаблоны. дорого.
#3

Речь не об астерисковом трансфере, который прекрасно ловится и контролируется. SIP'овский трансфер не отправляется в этот контекст, т.к. по сути является новым звонком. Внешние ноги соединяется, когда юзер нажимает спец. кнопочку на телефоне.
На ум приходят, только извращенские способы ограничить, с помощью внешнего воздействия.
#4

а если пирам установить call-limit=1 тогда они только астерисковским переводом смогут пользоваться
_________________
Jabber конференция
сервер: conference.jabber.ru
комната: asterisk
#5

koqep @ Fri Apr 19, 2013 1:11 pm писал(а):
а если пирам установить call-limit=1 тогда они только астерисковским переводом смогут пользоваться


Для этого, кстати есть спец. опция allowtransfer=no , но ограничивать юзеров ради своего удобства не хочется. Придется, видимо, делать с помощью какого-нибудь внешнего скрипта.
#6

для refer трансвера ставится SIPTRANSFER в yes. проверяйте ее и если оно установлено то ставите лимиты.
_________________
рву шаблоны. дорого.