Страница 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?