ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

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

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

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

Сообщение CAP83 » 15 май 2024, 16:37

Добрый день!
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 записываются корректно.

Подскажите как можно решить эту проблему?
CAP83
 
Сообщений: 4
Зарегистрирован: 15 май 2024, 16:18

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

Сообщение Glukinho » 15 май 2024, 17:23

Я бы как-нибудь вот так делал, если по-простому:

Код: выделить все
[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
Glukinho
 
Сообщений: 658
Зарегистрирован: 07 янв 2011, 21:05

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

Сообщение ded » 15 май 2024, 19:19

Предложу всё же использовать нативные макросы 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)
ded
 
Сообщений: 15881
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение CAP83 » 16 май 2024, 09:04

Всем спасибо за помощь!

вот этот вариант от 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)


Благодарю!
CAP83
 
Сообщений: 4
Зарегистрирован: 15 май 2024, 16:18

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

Сообщение Glukinho » 16 май 2024, 13:55

Только с этим вариантом вы не узнаете, что еще отвалилось и не работает, как надо. Во Freepbx не стоит звонить на SIP-телефоны просто через Dial(SIP/peer). В этом случае не отрабатывает внутренняя логика FreePBX (например, запись разговоров), что грозит дополнительными проблемами. Вместо этого лучше пускать звонок по стандартному диалплану, в нужных местах заворачивая на свои custom-костыли.
Glukinho
 
Сообщений: 658
Зарегистрирован: 07 янв 2011, 21:05

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

Сообщение ded » 16 май 2024, 14:23

Тогда вместо Dial(SIP/4321,,t)
надо поставить macro-dial или macro-dial-one
следуя той же логике.
Примеры в самой FreePBX.
ded
 
Сообщений: 15881
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение CAP83 » 16 май 2024, 15:02

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

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

при записи создается файл internal-4321-unknown-20240516-150102-1715857262.2847124.wav,
а должно быть указан номер с которого звонили internal-4321-4200-20240516-150102-1715857262.2847124.wav
CAP83
 
Сообщений: 4
Зарегистрирован: 15 май 2024, 16:18

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

Сообщение ded » 16 май 2024, 19:16

За формирование правильного имени файла отвечает 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.
ded
 
Сообщений: 15881
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение Zavr2008 » 16 май 2024, 20:19

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

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

Сообщение ded » 16 май 2024, 20:47

Тоже вариант. Но если эта вставка в контексте from-internal-custom, то никак ни на что ни на какие плюшки не повлияет. Даже при обновлении.
Использовать модуль Custom destination?
ded
 
Сообщений: 15881
Зарегистрирован: 26 авг 2010, 19:00

След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH