Страница 1 из 1

Перевод по занятости

СообщениеДобавлено: 15 мар 2019, 10:35
alch
Доброго дня. Пытаюсь сделать перевод звонка по занятости - если EXT 107 уже разговаривает, то звонок должен уходить на другие внутренние номера (сейчас он отображается как второй входящий, звонящий при этом слышит длинные гудки - КПВ). Вроде бы в диалплане всё просто:
Код: выделить все
[voicemenu-custom-2]
<...>
exten = 107,1,Playback(record/PZR)
exten = 107,2,Dial(SIP/107,,t)
exten = 107,3,Dial(SIP/103&SIP/105&SIP/125,,t)
<...>

В настройках экстеншна для ограничения только на 1 разговор задал такие параметры:
Код: выделить все
[107]
<...>
call-limit = 1
callcounter = yes
threewaycalling = no
callwaiting = no
<...>

В итоге результата не добился - при существующем разговоре второй звонящий так же продолжает звонить на 107, вызов никуда не переводится.

Проблему решил пока тем, что отключил CallWaiting в настройках телефона (KX-HDV130), но хотелось бы понять, как сделать это средствами *.

Re: Перевод по занятости

СообщениеДобавлено: 15 мар 2019, 15:15
zzuz
Код: выделить все
exten = 107,2,ExecIF($["${DEVICE_STATE(SIP/107)}" = "INUSE" | "${DEVICE_STATE(SIP/107)}" = "BUSY"]?Dial(SIP/103&SIP/105&SIP/125,,t):Dial(SIP/107,,t))


или даже проще

Код: выделить все
exten = 107,2,ExecIF($["${DEVICE_STATE(SIP/107)}" != "NOT_INUSE"]?Dial(SIP/107,,t):Dial(SIP/103&SIP/105&SIP/125,,t))

Re: Перевод по занятости

СообщениеДобавлено: 15 мар 2019, 16:41
alch
Спасибо, проверил второй вариант, работает (только там сравнение должно быть всё же "=", а не "!=", как я понял).
Но всё равно не понятно, почему не сработал вариант с call-limit = 1 и callwaiting = no.

Re: Перевод по занятости

СообщениеДобавлено: 16 мар 2019, 13:40
zzuz
Потому что call-limit как сто лет не используется.