freepbx переадресация на внутренний номер
Web модуль управления переадресациями
Многие сталкивались, при настройке функционала FreePBX с ситуацией, когда сотрудники компании периодически работают не в офисе, а, скажем, на удаленном объекте, в командировке в другом регионе и т. д., при этом забывают поставить переадресацию. Из-за чего может быть потерян клиент, т. к. не дозвонился менеджеру, чтобы уточнить важную информацию, или техническому специалисту для получения консультации или решения проблемы. Чтобы избежать такой проблемы был реализован модуль для установки и снятия переадресаций.
Данный модуль имеет всего 1 web страницу, на которой можно управлять переадресациями.
Как видно на изображении интерфейс интуитивно понятный. Слева в колонке указаны внутренние номера на АТС, справа в текстовое поле вносятся данные, куда перенаправить вызов.
Разработка
Для создания данного модуля был использован PHP версии 5.3.
Для начала определим наши функции:
1. Подключение к БД
2. Заполнение массива с внутренними номерами
3. Заполнение массива данными о переадресации
Все данные берутся из AstDB и заносятся туда же
Рассмотрим каждую из функций.
Подключение к БД
Данные о подключении хранятся в файле settings.php.
Заполнение внутренних номеров
Данная функция получает список внутренних номеров из таблицы sip базы asterisk. Данные записываются в массив $nums и возвращает массив.
Заполнение списка активных переадресаций
Данная функция проходится по всем записям AstDB и выбирает значения CallForward, если они есть. Заносит данные в словарь $cf_nums. И возвращает его значения.
Управление внутренними номерами абонентов во FreePBX
Основой любой АТС являются внутренние номера, которыми идентифицируются абоненты в системе. В данной статье рассказывается как заводить внутренние номера в Asterisk средствами web-интерфейса FreePBX.
1. Типы устройств
2. Создание SIP устройства
3. Настройка IAX2 устройства
4. Настройка DAHDI устройства
5. Настройка Other (Custom ) Device
Типы устройств
Управление внутренними номерами производится на вкладке: Applications > Extensions
После перехода система предлагает добавить новый внутренний номер. Выбрать используемую технологию подключения можно в поле Device.
Generic SIP Device — устройство работающее по технологии SIP
Generic IAX2 Device — устройство работающее по технологии IAX2
Generic ZAP Device — устройство традиционной телефонии
Generic DUHDI Device — аналоговое устройство
Other (Custom ) Device — устройство не использующее вышеперечисленные технологии
None (virtual exten) — виртуальное устройство
Выбрав тип устройства, нажмите кнопку Submit, откроется страница задания параметров внутреннего номера.
Создание SIP устройства
Основные параметры для SIP устройств:
User Extensions — внутренний номер абонента в системе
Display Name — отображаемое имя
Опции устройства (Device option)
secret — пароль внутреннего номера
dtmfmode — тип DTMF
canreinvite — включение/отключение функции прямого вызова
host — ip-адрес устройства, если не закрепляется жестко то выставляется значение dynamic
type — тип подключения ( принимает три значения: friend, peer, user)
nat — указывается yes если устройство находится за NAT’ом
qualify — запрещает/разрешает периодический опрос устройства сервером
dial — строка соединения
deny — запрет на подключение из указанных подсетей
permit — подсети из которых разрешено подключение
Обычно указывается deny 0.0.0.0/0.0.0.0 — т.е. запрещает из всех, разрешает из указанных в поле permit
При первоначальном создании внутреннего номера отображаются не все параметры Device Option. Они откроются после сохранения данного внутреннего нмера и повторного его открытия на редактирование.
Параметры записи разговоров (Recording Options):
Inbound External Calls — запись внешних входящих звонков
Outbound External Calls — запись внешних исходящих звонков
Inbound Internal Calls — запись внутренних входящих звонков
Outbound Internal Calls — запись внутренних исходящих звонков
On Demand Recordings — запись по нажатию кнопки на телефоне
Настройки голосовой почты (Voicemail )
Status Enable/Disable — активировать/деактивировать голосовую почту
Voicemail Password — пароль на голосовую почту
Email Address — адрес электронной почты на которую будет высылаться сообщение о голосовой почты
Email Attachment — делать вложения записи в отправляемые сообщения на электронную почту
Delete Voicemail — удалять голосовую почту с сервера после отправки сообщения на электронную почту
Параметр Delete Voicemail лучше выставлять no, чтобы сохранялось сообщение на сервере иначе при случайном удалении сообщения из почты голосовое сообщение невозможно будеть найти
Дополнительные направления (Optional Destinations) — перенаправление звонка идущего на данный внутренний номер при различных не рабочих состояниях аппарата:
No Answer — направление при неответе
Busy — перенаправление звонка при занято
Not reacheble — направление если телефон не доступен
Основные настройки для устройств похожи — различие заключается в параметрах поля Device Options. Поэтому далее акцентируем внимание только на данных различиях
Настройка IAX2 устройства
Настройки для IAX2 аналогичнs в основном настройкам SIP. За исключением поля Device Options — в нем задается только одно значение: secret
Настройка DAHDI устройства
В поле Device Option указывается параметры:
Channel — номер канал к которому подключено данное устройство
signalling — тип сигнализации
Настройка Other (Custom ) Device
В поле Device Option указывается параметр dial например можно сделать чтобы при наборе внутреннего номера вызов перенаправлялся на номер мобильного — строка dial будет выглядеть следующим образом: Local/ @outbound-allroutes
Сервисные коды custom переадресаций
В данной статье рассмотрим реализацию своих переадресаций, помимо стандартных переадресаций, существующих во FreePBX. Ниже приведу список рассматриваемых переадресаций: Безусловная переадресация на внутренний номер, Безусловная переадресация на мобильный номер, Параллельная переадресация на мобильный номер, Безусловная переадресация на группу (очередь), А также рассмотрим сервисный код по включению/выключению записей на внутреннем номере. Поскольку во время переадресации через сервисный […]
В данной статье рассмотрим реализацию своих переадресаций, помимо стандартных переадресаций, существующих во FreePBX.
Ниже приведу список рассматриваемых переадресаций:
Поскольку во время переадресации через сервисный код во FreePBX, на внутреннем номере устанавливается статус Busy, необходимо переделать встроенный во FreePBX контекст установки/снятия переадресации, который мы можем найти в extensions_additional.conf.
Ниже прописываем контексты, полученные из additional, с некоторыми изменениями.
И начинаем прописывать сервисные коды:
Также сервисный снятия безусловной переадресации на группу:
И сервисный код отключения всех переадресаций:
В зависимости от типа переадресации отправляем на свое голосовое сообщение в контексте
Однако это еще не все, если безусловные переадресации основываются на переадресации FreePBX, то параллельная переадресация работает несколько иначе, следовательно, для нее необходимо переделать вызовы на внутренние номера, через macro-dial-one.
В самом макросе необходимо изменить строку с dial, заменив ее на следующее:
Соответственно в данном примере переадресация параллельного мобильного номера срабатывает по всем исходящим маршрутам, чтобы это изменить можно изменить строку dial (например вносить ее в базу переадресации).
Сначала отобразим запись в БД для определенного номера:
Нас интересуют пункты: /recording/, в частности in/out internal/external, соответственно входящие внутренние/внешние, исходящие внутренние/внешние. Чтобы отключить запись на внутреннем номере полностью, они должны быть в значении never (поскольку dontcare все равно зависит от предыдущего канала), для включения всех записей соответственно в force.
Установка будет выглядеть следующим образом:
Для применения этих настроек перезагружать конфигурации не нужно. Также перед вызовом обязательно нужна проверка, существует ли данный внутренний номер на АТС или нет, поскольку запись произойдет в базу в любом случае.
Остались вопросы?
категории
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
последняя неделя
каждого месяца
Новые статьи
Zulu – обзор, установка
Ограничение вызовов на определенные группы внутренних номеров. Разграничение для различных звонящих. Использование AstDB, сервисные коды добавления запретов/разрешений
Провиженинг софтфона Zoiper
ближайшие Вебинары
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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.
Подпишийтесь и получайте
только свежие новости и материалы
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Самое интересное про сервисные коды в FreePBX 13
Подробно про все коды
Сегодня рассказываем про стандартный набор сервисных кодов в FreePBX 13. Спросите, почему стандартный? Потому что ваша сборка FreePBX может иметь более широкий от стандартного диапазона набор модулей, каждый из которых будет иметь свой собственный набор сервисных кодов (Feature Codes). Ну что же, давайте начнем разбираться.
Базовый курс по Asterisk
Мы собрали концентрат всех must have знаний в одном месте, которые позволят тебе сделать шаг вперед на пути к экспертному владению Asterisk
Коды создания черного списка
Ранее мы рассказывали про настройку черного списка в FreePBX 13 и поведали о возможностях его настройки. Вот как его настроить с помощью сервисных кодов:
Название | Код | Описание |
---|---|---|
Blacklist a number | *30 | Добавить новый номер в черный список. Все звонящие с заблокированных номеров будут слышать соответствующую аудио – запись. |
Blacklist the last caller | *32 | Добавить последнего звонящего на IP – АТС в черный список |
Remove a number from the blacklist | *31 | Удаление номера из черного списка. Номер вводится вручную |
Коды перенаправления вызова
Название | Код | Описание |
---|---|---|
Call Forward All Activate | *72 | Перенаправлять все поступающие на внутренний номер на другой номер. |
Call Forward All Deactivate | *73 | Выключить перенаправление вызовов. |
Call Forward All Prompting Activate | *93 | Запрашивает у звонящего ввести номер, на котором необходимо включить перенаправление вызовов. |
Call Forward All Prompting Deactivate | *74 | Запрашивает у звонящего ввести номер, на котором необходимо отключить перенаправление вызовов |
Call Forward Busy Activate | *90 | Включает функцию перенаправления вызовов, если вызываемый номер занят. |
Call Forward Busy Deactivate | *91 | Отключает функцию перенаправления вызовов, если вызываемый номер занят. |
Call Forward Busy Prompting Activate | *94 | Запрашивает ввести номер, на котором необходимо включить перенаправление вызов по результату «Занято» |
Call Forward Busy Prompting Deactivate | *92 | Запрашивает ввести номер, на котором необходимо отключить перенаправление вызов по результату «Занято» |
Call Forward No Answer/Unavailable Activate | *52 | Активирует перенаправление вызовов в случае, если пользователь недоступен или не отвечает на вызов |
Call Forward No Answer/Unavailable Deactivate | *53 | Деактивирует перенаправление вызовов в случае, если пользователь недоступен или не отвечает на вызов |
Call Forward No Answer/Unavailable Prompting Activate | *95 | Запрашивает ввести номер, на котором необходимо подключить перенаправление вызовов по не ответу или недоступности |
Call Forward Toggle | *96 | Включает или выключает режим перенаправления вызовов. Первый вызов на *96 выключит функцию, а второй включит. И так далее. |
Коды ожидания вызова
Коды ядра системы (core)
Коды управления режимом «Не беспокоить (DND)»
Название | Код | Описание |
---|---|---|
DND Activate | *78 | Данный сервисный код ставит внутренний номер в состояние «Не беспокоить» (Do Not Disturb). Это означает, что все звонящие на номер абоненты будут либо слышать сигнал занято, либо будут отправлены на голосовую почту. |
DND Deactivate | *79 | Выключает режим DND на номере |
DND Toggle | *76 | Включает/выключает возможность активации DND для внутреннего номера |
Прочие коды
Данный код позволяет управлять настройками в модуле Call Flow Control
Название | Код | Описание |
---|---|---|
Findme Follow Toggle | *21 | Код позволяет включать или выключать настройки Follow Me для внутреннего номера. |
Название | Код | Описание |
---|---|---|
Call Trace | *69 | Система озвучивает CallerID последнего звонящего на данный внутренний номер. |
Echo Test | *43 | Данная функция используется для проверки качества связи, в том числе микрофона, динамика аппарата и так далее. |
Speak Your Exten Number | *65 | Система произносит настроенный на используемом телефонном аппарате внутренний номер. |
Speaking Clock | *60 | Система произносит текущее серверное время. |
Функции Paging (пейджинга) и Intercom (интеркома)
Название | Код | Описание |
---|---|---|
Intercom prefix | *80 | Данная функция необходимо для того, чтобы вместо обычного набора на номер, вы не дожидались гудков, а с помощью громкоговорителя произнесли сообщение. Вот пример, как это работает: Пользователь набирает данный сервисный код, а следом за ним внутренний номер. Далее, все последующие звонки на этот номер будут сразу приниматься без участия вызываемого абонента и по громкой связи звонящий сможет произнести свое сообщение. |
User Intercom Allow | *54 | Включить прием сообщений по интеркому (громкая связь, как описано выше). |
User Intercom Disallow | *55 | Отключает указанную выше функцию. |
Название | Код | Описание |
---|---|---|
Pickup ParkedCall Prefix | *85 | Когда администратор сконфигурировал слот для «парковки» (Parking) вызова, пользователь может «припарковать» этот вызов путем трансфера на номер паркинга – по умолчанию, это номер 70. Даже если данный слот занят, в настройка модуля Parking можно обозначить количество возможных слотов. Система автоматически запаркует вызов на доступный слот и произнесет его номер. Данный сервисный код как раз и отвечает за поднятие вызова с парковочного слота. |
Название | Код | Описание |
---|---|---|
Allow Dynamic Members of a Queue to login or logout. See the Queues Module for how to assign a Dynamic Member to a Queue. | *45 | Данная опция позволяет динамическим участниками очередь подключаться и отключаться от нее |
Playback Queue Caller Count | *47 | Проговорить количество человек, находящихся в очереди |
Queue Pause Toggle | *46 | Взять паузу в очереди и не принимать вызовы. Повторная активация вернет пользователя в очередь. |
Временные условия (Time Conditions)
Указанный сервисный код, а по умолчанию это *27 позволяет управлять настройками временного условия. В рамках системы для каждого нового Time Condition генерируется собственный сервисный код, который имеет формат *27X, где X – это номер временного условия.
Голосовая почта (Voicemail)
Название | Код | Описание |
---|---|---|
Dial Voicemail | *98 | Набрав этот сервисный код будет предложено ввести номер голосового ящика и прослушать его. |
My Voicemail | *97 | Доступ к голосовому ящику, который относится к номера, с которого данный код набран (прослушивание собственных записей) |
Продвинутый курс по Asterisk
Концентрат редких знаний, для внедрения Asterisk в крупных предприятиях. Все это мы собрали в одном курсе для тебя.
FreePBX — переадресация с уведомлениями в реальном времени через XMPP
Заходим в веб-интерфейс, Applications => Ring Groups => Add Ring Group. Создаём группу переадресации на мобильные телефоны инженеров, например, «922»:
Решётка в конце номера даёт нам возможность звонить из основного контекста FreePBX, где позволены исходящие звонки. Fixed CID Value — нужно, если ваш провайдер отбивает неверные CID, потому что передаются внутренние номера абонентов. Стратегия RingAll позволяет звонить всем одновременно, если кто недоступен — пропускаем, если один берёт трубку — у остальных сразу сбрасывается звонок.
Лучше поставить приятную музыку на группу, так как в разных версиях FreePBX делает странные вещи с гудками в группах. Проверить правильность настройки можно позвонив по номеру 922.
Теперь создаём основную группу технической поддержки, например «911»:
Включение Skip Buzy Agent позволяет нам переходить сразу к Destination if no answer, если все сотрудники заняты.
В Destination if no answer выбираем группу переадресации на мобильные.
В итоге получилось, что звонок поступает на группу 911, если сотрудники заняты или никто не поднимает трубку несколько секунд, звонок переходит в группу 922. Поступив в 922, звонок пробует дозвониться сразу до всех перечисленных мобильных номеров, если никто не поднимает — происходит завершение вызова.
1) Люди по привычке звонили на прямые номера инженеров. Это продолжалось даже через 3 месяца после внедрения… Некоторые в силу личной привязанности, некоторые звонят сразу инженерам «чтобы общаться с более компетентными в моём вопросе, чем первая линия ТП» и пр… Поэтому мы сменили номера всех ИТ-сотрудников, и в качестве CID и Name поставили одинаковые данные всем, чтобы при внутреннем исходящем звонке сотрудника ТП не видно было его реального номера.
В итоге через месяц все привыкли, прямые звонки инженерам практически прекратились. Сейчас такая схема устраивает даже самых рьяных сторонников «прямых звонков», т.к. по проблеме начинают работать сразу, а не ждут когда кто-нибудь вернётся с обеда или с перекура.
2) Наш провайдер в один прекрасный день перестал пропускать звонки с «кривыми» CID, поэтому пришлось в срочном порядке найти параметр Fixed CID Value. Теперь на любой исходящий из этой группы подставлялся указанный CID.
3) В случае, если звонок переадресовался на мобильный, разговор почти всегда начинался с фразы «А Вы кто?», т.к. действительно непонятно кто звонит, на мобильном определялся номер компании… Навыки узнавания по голосу при качестве GSM связи были развиты не у всех инженеров. Решили эту проблему оповещением в jabber.
Оповещения о поступающем и пропущенном вызове
В случае переадресации на мобильный видно только внешний номер организации, непонятно кому перезванивать в случае разрыва связи.
Посмотрев разные решения, определились что самое быстрое среди них XMPP(к тому же ejabberd уже был развёрнут для системы мониторинга). Между отправкой сообщения и приёмом обычно проходит не более секунды.
1) Создайте пользователя на вашем Jabber-сервере для АТС. В нашем случае это пользователь PBX@company-name.su
2) Приведите файл /etc/asterisk/jabber.conf к примерно следующему виду. В более новых версиях Asterisk это файл /etc/asterisk/xmpp_custom.conf
[general]
;debug=yes
;autoprune=yes
;autoregister=yes
;auth_policy=accept
[asteriskjabber]
type=client
serverhost=jabber.company-name.su
username=pbx@company-name.su
secret=Pa$$w0rd
port=5222
usetls=yes
usesasl=yes
status=available
statusmessage=«I am Asterisk!»
buddy=username1@company-name.su,username2@company-name.su,username3@company-name.su
;timeout=100
3) Добавляем свой номер вручную в /etc/asterisk/extensions_custom.conf
В сообщение мы добавили переменные: для отображения времени звонка, в случае если сообщение пришло с опозданием и переменную с внутренним CID абонента, который звонил. В конце для удобства дописали прямой номер офиса, чтобы перезванивать не залезая в телефонную книгу.
4) Перезапускаем сервис астериска, чтобы применились новые конфиги.
Смотрим в консоли астериска результат команды jabber show connections. Если нет слова Connected, ищем ошибки. Если не получается, включаем дебаг jabber в файле /etc/asterisk/jabber.conf.
Теперь проверить работу отправки сообщений в Jabber можно просто позвонив по номеру 9999.
5) Заходим обратно в веб-интерфейс и добавляем номер 9999# (обязательно с решеткой) в группу мобильной переадресации 922 (не запрещено добавлять и в другие места, например, такие как Folow Me).
Теперь начиная с поступления вызова на 922, вместе с вызовами на мобильные отправляются сообщения в Jabber. Как правило, сообщения поступают на пару секунд быстрее вызовов. Их можно прочитать даже после поднятия трубки в строке оповещений телефона.
Примечания: если у вас нет своего сервера Jabber, вы можете использовать практически любые публичные сервера. Например, гугловские.
Самая частая проблема jabber-клиента астериска — он не поддерживает некоторые методы шифрования.