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

Ограничения на входящие звонки с определенный номер и запись

Добавлено: 15 май 2024, 15:37
CAP83
Добрый день!
FreeBPX13.

Есть номер 4321 на него разрешено звонить только с номеров 4200 и 4300
для этого в /etc/asterisk/extensions_custom.conf прописано:

exten => 4321,1,Answer
exten => 4321,n,Wait(2)
exten => 4321,n,Hangup()
exten => 4321/4200,1,Dial(SIP/4321)
exten => 4321/4300,1,Dial(SIP/4321)

но из-за этого перестали записываться звонки с номеров 4200 и 4300 на номер 4321.
Все исходящие с номера 4321 записываются корректно.

Подскажите как можно решить эту проблему?

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 15 май 2024, 16:23
Glukinho
Я бы как-нибудь вот так делал, если по-простому:

Код: Выделить всё

[from-internal-custom]
exten => 4321,1,GotoIf($[${CAN_CALL_TO_4321} != 1]?cannotcall,1)
same => n,Goto(from-internal,${EXTEN},1)

exten => 4321/4200,1,Set(CAN_CALL_TO_4321=1)
exten => 4321/4300,1,Set(CAN_CALL_TO_4321=1)

exten => cannotcall,1,Answer
same => n,Playback(you-cannot-call-to-4321)
same => n,Hangup

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 15 май 2024, 18:19
ded
Предложу всё же использовать нативные макросы freePBX раз вы её используете.
субрутина sub-record-check
что-то типа

Код: Выделить всё

exten => 4321,1,Answer
exten => 4321,n,Wait(2)
exten => 4321,n,Hangup()
exten => 4321/4[23]00,1,Gosub(sub-record-check,s,1(exten,${EXTEN},dontcare)
exten => 4321/4[23]00,n,Dial(SIP/4321,,t)

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 16 май 2024, 08:04
CAP83
Всем спасибо за помощь!

вот этот вариант от ded у меня заработал
exten => 4321,1,Answer
exten => 4321,n,Wait(2)
exten => 4321,n,Hangup()
exten => 4321/4[23]00,1,Gosub(sub-record-check,s,1(exten,${EXTEN},dontcare)
exten => 4321/4[23]00,n,Dial(SIP/4321,,t)
Благодарю!

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 16 май 2024, 12:55
Glukinho
Только с этим вариантом вы не узнаете, что еще отвалилось и не работает, как надо. Во Freepbx не стоит звонить на SIP-телефоны просто через Dial(SIP/peer). В этом случае не отрабатывает внутренняя логика FreePBX (например, запись разговоров), что грозит дополнительными проблемами. Вместо этого лучше пускать звонок по стандартному диалплану, в нужных местах заворачивая на свои custom-костыли.

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 16 май 2024, 13:23
ded
Тогда вместо Dial(SIP/4321,,t)
надо поставить macro-dial или macro-dial-one
следуя той же логике.
Примеры в самой FreePBX.

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 16 май 2024, 14:02
CAP83
Принято. Буду пробовать.

Вот, что еще обнаружилось при использовании этой схемы:

при записи создается файл internal-4321-unknown-20240516-150102-1715857262.2847124.wav,
а должно быть указан номер с которого звонили internal-4321-4200-20240516-150102-1715857262.2847124.wav

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 16 май 2024, 18:16
ded
За формирование правильного имени файла отвечает sub-record-check, там этот пункт заполняется из переменной ${FROMEXTEN}
А она заполняется в свою очередь из macro-user-callerid

Код: Выделить всё

exten => 4321,1,Answer
exten => 4321,n,Wait(2)
exten => 4321,n,Hangup()
exten => _4321/4[23]00,1,Macro(user-callerid)
exten => _4321/4[23]00,n,Gosub(sub-record-check,s,1(exten,${EXTEN},dontcare)
exten => _4321/4[23]00,n,Dial(SIP/${EXTEN},,t)
Таким образом разберётесь последовательно в сложных процессах диалплана freePBX.

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 16 май 2024, 19:19
Zavr2008
Еще забыли все про всякие юзверовские плюшки типа FollowMe, обычно это потом вставка доп костылей..
Я обычно во FreePBX стараюсь потроха не дергать, просто юзаю Goto на всякие ext-local итп.
Плюс юзвери запросят обнову на новую FreePBX и костыли аукаются..

Re: Ограничения на входящие звонки с определенный номер и за

Добавлено: 16 май 2024, 19:47
ded
Тоже вариант. Но если эта вставка в контексте from-internal-custom, то никак ни на что ни на какие плюшки не повлияет. Даже при обновлении.
Использовать модуль Custom destination?