VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

CAP83
Сообщения: 4
Зарегистрирован: 15 май 2024, 15:18

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

Сообщение 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 записываются корректно.

Подскажите как можно решить эту проблему?
Glukinho
Сообщения: 660
Зарегистрирован: 07 янв 2011, 20:05

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

Сообщение 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
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение 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)
CAP83
Сообщения: 4
Зарегистрирован: 15 май 2024, 15:18

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

Сообщение 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)
Благодарю!
Glukinho
Сообщения: 660
Зарегистрирован: 07 янв 2011, 20:05

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

Сообщение Glukinho »

Только с этим вариантом вы не узнаете, что еще отвалилось и не работает, как надо. Во Freepbx не стоит звонить на SIP-телефоны просто через Dial(SIP/peer). В этом случае не отрабатывает внутренняя логика FreePBX (например, запись разговоров), что грозит дополнительными проблемами. Вместо этого лучше пускать звонок по стандартному диалплану, в нужных местах заворачивая на свои custom-костыли.
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

Тогда вместо Dial(SIP/4321,,t)
надо поставить macro-dial или macro-dial-one
следуя той же логике.
Примеры в самой FreePBX.
CAP83
Сообщения: 4
Зарегистрирован: 15 май 2024, 15:18

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

Сообщение CAP83 »

Принято. Буду пробовать.

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

при записи создается файл internal-4321-unknown-20240516-150102-1715857262.2847124.wav,
а должно быть указан номер с которого звонили internal-4321-4200-20240516-150102-1715857262.2847124.wav
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение 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.
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

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

Сообщение Zavr2008 »

Еще забыли все про всякие юзверовские плюшки типа FollowMe, обычно это потом вставка доп костылей..
Я обычно во FreePBX стараюсь потроха не дергать, просто юзаю Goto на всякие ext-local итп.
Плюс юзвери запросят обнову на новую FreePBX и костыли аукаются..
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

Тоже вариант. Но если эта вставка в контексте from-internal-custom, то никак ни на что ни на какие плюшки не повлияет. Даже при обновлении.
Использовать модуль Custom destination?
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH