asterisk переадресация на внутренний номер

Переадресация вызовов в Asterisk

Приведу пример настройки переадресации вызовов в Asterisk.
К примеру на IP-телефонах Grandstream можно включить переадресацию функциями самого телефона, но если телефон находится далеко и нет возможности на нем этого сделать, а есть возможность залогинится под SIP номером этого телефона, то для активации переадресации можно сделать голосовое меню при наборе определенного номера, например *21 для активации переадресации и ввода номера телефона на который будут переадресованы звонки, а *22 для отмены переадресации.

В файле /etc/asterisk/extensions.conf я сначала описал эти два коротких номера для активации и отмены переадресации:

Если позвонить на номер *21 и ввести номер на который нужно переадресовать звонки, то этот номер просто сохранится в базе данных Asterisk (AstDB), если набрать *22, то этот номер удалится из базы данных.

В этом же файле у меня был диалплан для локального номера 207:

Который я изменил к следующему виду, а именно добавил проверку есть ли номер в базе и если есть то выполнять переадресацию на него, если номера нет — то звонить как обычно на локальный номер:

Goip4/1 это у меня шлюз с SIM картами, цифра 1 означает что звонить нужно через первую SIM карту, если первая SIM карта уже занята другим звонком, то чтобы точно дозвонится можно указать несколько шлюзов, например:

Это всего лишь простой пример переадресации, который я быстро написал когда понадобилось часто дистанционно включать переадресацию, еще желательно записать и указать правильные звуки для номеров *21 и *22, а также можно сделать условную переадресацию, например когда вызываемый номер не отвечает 10 секунд и т.д.

Посмотреть данные в базе AstDB можно командой:

Источник

Сервисные коды custom переадресаций

В данной статье рассмотрим реализацию своих переадресаций, помимо стандартных переадресаций, существующих во FreePBX. Ниже приведу список рассматриваемых переадресаций: Безусловная переадресация на внутренний номер, Безусловная переадресация на мобильный номер, Параллельная переадресация на мобильный номер, Безусловная переадресация на группу (очередь), А также рассмотрим сервисный код по включению/выключению записей на внутреннем номере. Поскольку во время переадресации через сервисный […]

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

В данной статье рассмотрим реализацию своих переадресаций, помимо стандартных переадресаций, существующих во FreePBX.

Ниже приведу список рассматриваемых переадресаций:

Поскольку во время переадресации через сервисный код во FreePBX, на внутреннем номере устанавливается статус Busy, необходимо переделать встроенный во FreePBX контекст установки/снятия переадресации, который мы можем найти в extensions_additional.conf.

Ниже прописываем контексты, полученные из additional, с некоторыми изменениями.

И начинаем прописывать сервисные коды:

Также сервисный снятия безусловной переадресации на группу:

И сервисный код отключения всех переадресаций:

В зависимости от типа переадресации отправляем на свое голосовое сообщение в контексте

Однако это еще не все, если безусловные переадресации основываются на переадресации FreePBX, то параллельная переадресация работает несколько иначе, следовательно, для нее необходимо переделать вызовы на внутренние номера, через macro-dial-one.

В самом макросе необходимо изменить строку с dial, заменив ее на следующее:

Соответственно в данном примере переадресация параллельного мобильного номера срабатывает по всем исходящим маршрутам, чтобы это изменить можно изменить строку dial (например вносить ее в базу переадресации).

Сначала отобразим запись в БД для определенного номера:

Нас интересуют пункты: /recording/, в частности in/out internal/external, соответственно входящие внутренние/внешние, исходящие внутренние/внешние. Чтобы отключить запись на внутреннем номере полностью, они должны быть в значении never (поскольку dontcare все равно зависит от предыдущего канала), для включения всех записей соответственно в force.

Установка будет выглядеть следующим образом:

Для применения этих настроек перезагружать конфигурации не нужно. Также перед вызовом обязательно нужна проверка, существует ли данный внутренний номер на АТС или нет, поскольку запись произойдет в базу в любом случае.

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

Остались вопросы?

категории

VoIP оборудование

Fanvil X3S
3 900 руб

Fanvil X3S
2 990 руб

Fanvil X3S
2 990 руб

Fanvil X3S
2 990 руб

Fanvil X3S
2 990 руб

Fanvil X3S
2 990 руб

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

ближайшие курсы

Курсы по Asterisk
последняя неделя
каждого месяца

Новые статьи

Zulu – обзор, установка

Ограничение вызовов на определенные группы внутренних номеров. Разграничение для различных звонящих. Использование AstDB, сервисные коды добавления запретов/разрешений

Провиженинг софтфона Zoiper

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

ближайшие Вебинары

LTE-интернет на роутерах Mikrotik SXT LTE. Особенности, плюсы и минусы.

Инструменты troubleshooting сети на MikroTik

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

Подпишийтесь и получайте
только свежие новости и материалы

Источник

Перевод звонка с помощью скрипта в Asterisk

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

Не так давно у одного из наших клиентов возникла необходимость переводить звонки (входящие и исходящие) по клику из браузера. Логика такова: группа операторов колл-центра принимает и осуществляет звонки, и после разговора и выяснения потребностей им нужно соединить клиента с одним из заказчиков или другим специалистом организации.

Казалось бы, оператор может перевести звонок классическим способом — “слепым” переводом на нужный номер со своего телефонного аппарата или софтфона, но на деле оказалось, что номеров, на которые требуется осуществлять перевод, более пяти сотен и они постоянно добавляются и меняются, так что даже централизованное автоматическое заполнение телефонной книги софтфона не дает возможности комфортной и быстрой работы операторов: сначала нужно выяснить потребность клиента, потом найти в CRM номер, с которым его требуется соединить, затем или вручную ввести номер, или найти тот же номер в телефонной книге софтфона. Это приводит к нерациональному использованию рабочего времени операторов, высокой вероятности ошибки при переводе и снижению качества обслуживания клиентов в целом.

В некоторых случаях подобную задачу решают следующим образом: по событию в CRM в некую базу данных заносится номер оператора, и номер, с которым нужно соединить его собеседника. После этого оператор осуществляет перевод звонка на служебный номер, в контексте перевода осуществляется запрос к базе данных и звонок наконец переводится на нужный номер. Диалплан для исходящих в таком случае выглядит примерно так:

При исходящем звонке устанавливается переменная канала TRANSFER_CONTEXT, которая переопределяет контекст для перевода звонков, и если звонок будет переведен на номер 800, используя ODBC, мы получаем номер, на который нужно на самом деле осуществить перевод. Однако, до самого перевода в соответствующие поля таблицы должно быть занесено однозначное соответствие внутреннего номера оператора и номера, на который именно сейчас нужно переводить звонок, что требует как минимум одного лишнего действия со стороны работника (в CRM ему требуется выбрать номер, куда он хочет перевести звонок, а потом на телефоне или софтфоне выполнить сам перевод), да еще и нужно следить за тем, чтобы данные в таблице были верны: удалять запись сразу после перевода, проверять и обрабатывать в диалплане пустые записи.

При всех недостатках подобный метод можно применять в том случае, если заранее известно, на какой номер может потребоваться перевести звонок. Предположим, колл-центр работает на исходящие звонки по клиентам нескольких заказчиков. Звонок формируется автоматически из CRM(с использованием callfile или через originate в AMI), где оператор нажимает кнопку “следующий звонок” и видит скрипт разговора с клиентом. Тогда можно просто добавить наследуемую переменную с номером, и переводить звонок на него:

В callfile добавить наследуемую переменную __num:

Channel: Local/101@from-internal
Callerid: 74950000000
MaxRetries: 2
RetryTime: 600
WaitTime: 30
Context: from-internal
Extension: 74950000000
Priority: 1
Set: __num=79991112233

А контекст перевода будет выглядеть еще проще:

Однако, в нашем случае, как было сказано выше, такой метод применять нежелательно.

К счастью, разработчики asterisk позаботились о нас, и через cli можно осуществить перевод определенного канала в заданный контекст:

Аналогичный функционал есть и в AMI:

Action: Redirect
[ActionID:] value
Channel: value
[ExtraChannel:] value
Exten: value
[ExtraExten:] value
Context: value
[ExtraContext:] value
Priority: value
[ExtraPriority:] value>

Остался только один вопрос: как определить канал, который нам нужно перевести, ведь мы знаем только номер оператора.

Нужно понимать, что обычный разговор есть соединение двух каналов. В консоли мы можем выполнить bridge show all и увидеть все идентификаторы соединений.

> bridge show all
Bridge-ID Chans Type Technology
14418b64-0635-46e7-bd48-f4b820461eaa 2 basic simple_bridge

А командой bridge show
посмотреть информацию о том, какие именно каналы участвуют в соединении.

Понятно, что перебирать все bridge-id в поисках нужного канала неудобно, и проще получить подробную информацию о каналах и найти в выдаче bridge-id, на основании которого можно будет идентифицировать нужный нам канал:

> core show channels concise
SIP/RT-00000453!incoming!!1!Up!AppDial!(Outgoing Line)!89063448810. 3!134!14418b64-0635-46e7-bd48-f4b820461eaa!1479984681.1659
SIP/67-00000452!macro-dialout-trunk!s!23!Up!Dial!SIP/RT/89063448810,300,TtL(7200000)!67. 3!134!14418b64-0635-46e7-bd48-f4b820461eaa!1479984681.1658

Мы видим, что на текущий момент у нас есть 2 канала с одинаковым bridge-id(14418b64-0635-46e7-bd48-f4b820461eaa), и мы знаем внутренний номер оператора. Остается только получить имя второго канала и осуществить перевод. Рассмотрим пример bash-скрипта, который реализует нужный функционал (протестировано на FreePBX 13):

Что же мы получили в итоге? Возможность перевода звонка оператора по одному клику без необходимости использования баз данных и дополнительных действий со стороны работника, не используя готовые CRM и модули для работы с asterisk для них. При этом, скрипт одинаково работает как с входящими, так и с исходящими вызовами.

Подобная реализация будет полезна для аутсорс-колл-центров, справочных и иных служб, где требуется быстро переводить звонки на большое число номеров, а также может применяться для облегчения труда секретаря в крупной организации.

Источник

Включение и отключение переадресации по звонку

Часто происходит так, что уйдя с работы мы забываем включить переадресацию на мобильный либо на какой либо другой номер, а рядом с рабочим местом никого нет. В таком случае вам может быть полезен функционал включения/выключения переадресации по звонку.

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

Для этого нам понадобится настроить все аналогично включения/отключения DND по звонку. То есть нам понадобится создать список паролей для внутренних номеров, ИВР для ввода внутреннего номера и контексты для обработки.

Следует помнить что открывать внешний номер для всех звонков можно только если вы уверены что его никто не знает, ведь даже с защитой по паролю люди все равно будут звонить, к тому же номер может быть использован для других нужд, в таком случае нужно создавать маршрут по приоритету CID, для мобильных сотрудников.

В отличие от DND тут нам так же понадобится вводить номер для переадресации (если включаем).

Для тестов использовалась АТС с Asterisk 11 & FreePBX 12.

Для включения и выключения будем использовать стандартные контексты FreePBX: app-cf-on & app-cf-off, предварительно изменив их. Изменить нужно будет название (поскольку именно их будем использовать только для данного функционала). Назовем, например, app-cf-outbound-on & app-cf-outbound-off.

Контексты можно найти в файле extensions_additional.conf, копируем их в extensions_custom.conf и изменяем название и extension.

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

Маска _XXX предназначена для 3х значных номеров, если у вас иной номерной план следует это учесть, но можно и указать более общую маску.

Для ввода пароля воспользуемся аналогичным DND механизмом:

[ivr-9]
exten => _XXX,1,Set(pass=$)>)
same => n,Authenticate($)
same => n,Set(num=$)
same => n,Read(toggle,ru/custom/hello-test,1)
same => n,GotoIf($[«$»=»1»]? app-cf-outbound-on,$,1)
same => n,GotoIf($[«$»=»2»]? app-cf-outbound-off,$,1)
same => n,Playback(beep)
same => n,Macro(hangupcall,)

Соответственно ivr-9 должна быть создана, аналогично той что для DND.

Примечание! Номер ИВР можно узнать через веб-интерфейс, он будет подписан как id в адресной строке при открытии нужного голосового меню.

Пароль для внутренних номеров так же получаем из базы, можно использовать ту же базу что и для DND, а можно создать новую.

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номер

Применяем изменения диалплана:

Asterisk –rx ‘dialplan reload’

И можем тестировать.

Для управления паролями будем использовать web-форму.

Для основы используем форму управления DND из прошлой статьи (Управление DND через web).

Оттуда возьмем вывод всех операторов и их текущие пароли:

Данный скрипт помещаем как обычно в веб-директорию и даем ему пользователя asterisk.

Источник

Создание переадресаций по расписанию

Многие используют переадресации на мобильные или стационарные телефоны, возможно еще на автоответчик. Однако иногда требуется создать не абсолютную переадресацию, а переадресацию по времени. Например переадресация по пятницам. Для реализации используем запись расписания в базу данных, в которой будем указывать номер на котором необходимо включать переадресацию, время в которое она должна работать и номер на который […]

Многие используют переадресации на мобильные или стационарные телефоны, возможно еще на автоответчик. Однако иногда требуется создать не абсолютную переадресацию, а переадресацию по времени. Например переадресация по пятницам.

Для реализации используем запись расписания в базу данных, в которой будем указывать номер на котором необходимо включать переадресацию, время в которое она должна работать и номер на который переадресовывать вызов.

Пример заполнения даты и времени можно посмотреть в базе asterisk, таблице timegroups_details.

Соответственно необходимо создать свою таблицу с необходимыми полями:

Для создания расписания необходимо реализовать веб-интерфейс управления, для достпа к нему создадим виртуальный хост в конфигах apache.

В корне указанной директории создаем файл index.php, который будет стартовой страницей.

На странице создаем поля ввода номеров и интервала дней месяца, недели и времени, которые должны быть обязательно заполнены (required).

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номерПредварительная форма ввода

Реализуем обработчик нажатия (для теста можно вывести все, что отправляется через POST запрос:

Сам обработчик дополним проверкой совпадений введенных значений и пустых значений:

Как видно из базовой таблицы freepbx нам необходимо указывать дату и время в определенном формате. Выведем в необходимом виде, чтобы проверить правильность заполнения:

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номерПроверка вывода информации

Пишем и проверяем заполнение базы данных.

Помимо ввода данных, необходимо отображение текущего расписания, добавим его, а также возможность удалять записи. Добавлять будем отдельной страницей:

Вывод списка текущих переадресаций, добавим обработчик удаления из списка и конпку возврата на страницу добавления:

При вызове на указанный номер проверяется наличие записи для вызываемого номера в базе, при нахождении проверяется время и при совпадении выполняется переадресация, если же совпадения по какому либо пункту нет, вызов осуществляется в обычном режиме.

Соответственно сами функции:

Проверяем добавление и переадресации:

asterisk переадресация на внутренний номер. Смотреть фото asterisk переадресация на внутренний номер. Смотреть картинку asterisk переадресация на внутренний номер. Картинка про asterisk переадресация на внутренний номер. Фото asterisk переадресация на внутренний номерПроверка

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *