Подмена исходящего номера freepbx
Добрый день.
Использую Астериск первые 2 дня.
Использую дистрибутив Freepbx и 11 asterisk.
Stable-5.211.65-6
Release Date-02-16-14
FreePBX 2.11, Linux 6.5
Asterisk 1.8 or 11
Поднял 2 freepbx, сделал между ними sip транк.
с одного на другой звоню через префиксы в outbound routs
Вопрос:
Как модифицировать внутренний номер абонента таким образом, чтобы на другой АТС он отображался с определенным префиксом.
Например звоню я с одной атс на другую с номера 5595 на 5566 и на телефоне 5566 нужно, чтобы отображался callerid не 5595, а 3015595?
Средставми freepbx это сделать не получается, например в модуле set callerid.
Модифицировать мне нужно все номера, которые будут идти через этот sip транк.
Re: Модификация исходящего caller ID
Re: Модификация исходящего caller ID
Спасибо за отклик)
1) я лишь обращаюсь за помощью, не знаю как нужно подать свой пост так, чтобы тебе просто помогли те, кому не сложно.
2) Астериск я пока просто ковыряю, пытаюсь разобраться в нем, номера 5595 и 5566 созданы исключительно для того, чтобы разобраться с модификацией callerid. Астериск по сути планируется использовать для маршрутизации сип транков других АТС, как центр, так называемой звезды.
3) Параметр Outbound cid меняет caller id конкретно для этого абонента, поэтому уточню свой вопрос:
Хотелось бы крутить аоны на центральной атс, т.е. астериске.
Поэтому вопрос:
Как добавить определенный префикс на исходящие звонки через определенный sip транк на астериске
Вполне возможно, что многое из вышеизложенного не есть правильно, поэтому извиняюсь, если что не так)
Re: Модификация исходящего caller ID
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Изменяем входящий Caller ID в FreePBX
Продвинутый курс по Asterisk
Концентрат редких знаний, для внедрения Asterisk в крупных предприятиях. Все это мы собрали в одном курсе для тебя.
Пошаговое видео
Настройка модуля Set CID
Откроется следующее окно добавления нового CID, в котором необходимо заполнить следующие пункты.
Рассмотрим подробнее каждый из пунктов:
Пример модификации Caller ID Name
Давайте рассмотрим несколько примеров, чтобы понять, как работает данный модуль, а заодно и принципы работы с переменными.
Допустим, мы хотим добавить некий префикс к номерам, которые маршрутизируются с нашего IVR. Мы знаем, что на нашем IVR настроен маршрут для соединения с отделом продаж по клавише “3” и хотим, чтобы у всех звонков, отправленных по данному маршруту был префикс “Sales” перед номером.
Для этого, сначала создаём новый шаблон в модуле.
Не забываем нажимать Submit и Apply Config
Далее, отправляемся в модуль IVR и настраиваем соответствующее правило.
Готово, теперь все абоненты, попавшие на IVR и нажавшие клавишу “3” на телефоне, попадут на менеджера по продажам, но их номера на дисплее телефона менеджера, будут иметь префикс “Sales”, так менеджер поймёт, что звонок поступил с IVR.
Если Вы хотите подробнее ознакомиться с возможностями модуля IVR, прочитайте нашу соответствующую статью о настройке модуля IVR во FreePBX 13.
Пример модификации Caller ID Number
Рассмотрим другой пример. Допустим, наш провайдер отдаёт нам callerID в формате 8ХХХХХХХХХХ. Но звонить в город мы должны через префикс “9”. Если нам придёт звонок с номера 8ХХХХХХХХХХ, мы должны будем сначала набрать “9”, чтобы дозвониться. Данную задачу можно решить с помощью модуля Set CallerID.
Создадим новый шаблон.
Готово, теперь, при поступлении внешнего звонка на ринг-группу Managers, к номеру звонящего автоматически будет добавлен необходимый префикс “9”, таким образом, все участники из ринг-группы, смогут очень просто сразу вызвать абонента заново.
Если Вы хотите побольше узнать о группах вызова, прочитайте нашу соответствующую статью о настройке модуля Ring Groups во FreePBX 13.
Синтаксис
Обобщим все вышесказанное и сведем в таблицу принципы формирования переменных:
Базовый курс по Asterisk
Мы собрали концентрат всех must have знаний в одном месте, которые позволят тебе сделать шаг вперед на пути к экспертному владению Asterisk
Подстановка случайного, не использовавшегося ранее, номера при исходящих вызовах
При совершении вызовов в некоторых случаях может понадобиться использовать ранее не задействованный случайный номер. Предположим, на АТС для совершения исходящих вызовов можно использовать один из 12 номеров (название всех транков совпадает с их callerid), но для вызова на определенный номер A необходимо выбрать случайным образом какой-либо из них, кроме 3-х последних, использовавшихся для вызовов на […]
При совершении вызовов в некоторых случаях может понадобиться использовать ранее не задействованный случайный номер.
Предположим, на АТС для совершения исходящих вызовов можно использовать один из 12 номеров (название всех транков совпадает с их callerid), но для вызова на определенный номер A необходимо выбрать случайным образом какой-либо из них, кроме 3-х последних, использовавшихся для вызовов на номер А ранее.
Для внесения изменений в маршрутизацию добавляем диалплан в extensions_custom.conf.
Для отладки можно использовать приложение DumpChan.
Также, необходимо применить изменения:
Создаем agi скрипт и назначаем ему права на выполнение:
В скрипте указываем данные для подключения к базе. При этом лучше использовать отдельную учетную запись, не обладающую админскими правами. В примере используется freepbxuser (пароль для freepbxuser можно посмотреть в /etc/freepbx.conf )
Содержимое файла randomize_callerid.php:
После этого при наборе номера формата 89XXXXXXXXX в качестве CallerID будет подставляться случайный из всех имеющихся номер, который ранее (в течение последних 3 вызовов) для него не использовался.
В случае, если имеется несколько номеров и для всех них используется 1 транк можно также создать новый маршрут и переписать его логику, добавив установку случайного callerid при исходящем вызове.
В веб-интерфейсе Connectivity(Маршрутизация)-> Outbound Routes (Исходящие маршруты) создаем маршрут (Add), определяем его id.
На вкладке Dial Patters(Шаблоны) прописываем шаблоны для вызовов, например, на мобильные, если оператор принимает с префиксом «8».
На последней вкладке Additional Settings(Настройки) устанавливаем параметры записи разговоров. Нажимаем Сохранить (Submit), Применить (Apply Config). ID маршрута будет отображаться в браузере при наведении на иконку «редактирование». Маршрут также необходимо разрешить для контекстов в модуле Connectivity(Маршрутизация)-> Custom Contexts.
Находим его (outrt-20) файле /etc/asterisk/extensions_additional.conf и копируем в файл /etc/asterisk/extensions_override_freepbx.conf.
Конец будет обозначен как; —== end of [outrt-20] ==—;
В /etc/asterisk/extensions_override_freepbx.conf правим outrt-20 добавляем рандомное назначение callerid(c помощью приложений RAND и GoSub или GoTo).
При возникновении ошибки вида Unable to register extension ‘_+79XXXXXXXXX’ priority 4 in ‘outrt-20’, already in use в веб-интерфейсе перейти Connectivity(Маршрутизация)-> Outbound Routes (Исходящие маршруты) и удалить из Dial Patterns все шаблоны (можно поставив пробел).
Также, необходимо применить изменения:
После этого для номеров 89ХХХХХХХХХ будет выбираться рандомные callerid
Asterisk. Передаем номер звонящего при переадресации на мобильный с помощью СМС
Здравствуйте уважаемые хабровчане и любители решений на основе Asterisk. В этой статье хочу поделиться опытом решения интересной задачи. Требовалось сделать так, чтобы при переадресации звонков с одного мобильного/городского номера на другой мобильный мы видели номер звонящего, а не наш городской номер. Но дело в том, что операторы связи не дадут нам так просто подставлять свои номера при звонке через их сети (И правда, это был бы настоящий бардак). Но решить проблему можно передачей его через СМС сообщение через GSM-модем.
Что имеем:
Сервер с FreePBX Distro FreePBX 2.11.0.0beta2.5 (Астериск 1.8), модем Huawei E171, несколько подключенных городских линий, диалплан с переадресацией.
Настроим программу для отправки СМС — Gnokii. Здесь и далее описываю действия для CentOS.
1. Обязательно ставим зависимости:
2. Вставляем модем и смотрим, как он определился:
Так в начале выглядит строка.
3. В моем дистрибутиве не было пакета для сборки программ из исходников. Ставим Development Tools.
4. Качаем программу для переключения режимов модема. Пакеты usb-modeswitch usb-modeswitch-data берем отсюда.
5. Распаковываем оба архива и устанавливаем по-очереди:
6. Передергиваем модем и проверяем:
Значит все ОК и модем будет определяться каждый раз как надо. Если строка та же, что и вначале, то идем сюда.
Команда dmesg покажет нам:
7. Устанавливаем репозитарий для EPEL CentOS вот так.
8. Устанавливаем gnokii
9. Правим конфиг /etc/gnokiirc
может быть другой порт у разных модемов, надо найти методом перебора
10. Проверяем отправку СМС:
Теперь нужно разрешить пользователю asterisk запускать gnokii из диалплана. Так как установлена gnokii была под учеткой root, то пользователь asterisk не сможет ее запустить. Правим файл /etc/sudoers с помощью команды visudo (настоятельно рекомендуется использовать только visudo для правки файла sudoers):
добавим строку для пользователя asterisk:
Сохраняем файл и выходим.
Далее нам нужно внедрить в наш диалплан команду System() для отправки CID в СМС. FreePBX, конечно, не даст нам править extensions.conf и extensions_additional.conf, так как он сам их все время перезаписывает. Но можно вставлять свои правки в план с помощью файла extensions_override_freepbx.conf, что мы и сделаем. Можно просто найти в файле extensions_additional.conf нужный контекст, скопировать его фрагмент в extensions_override_freepbx.conf и внести свои изменения. У меня есть внутренний номер 203 который переадресуется на номер мобильника по SIP/trunk/номер_телефона. Эту часть диалплана мы и будем править:
Теперь при звонке или переадресации на 203 будет отправляться СМС с номером звонившего, взятая из переменной CALLERID(num) прямо на мобильный телефон.
В следующей статье хочу рассказать о настройке связки Asterisk и SugarCRM для отображения номера звонящего на экране монитора оператора CRM, для последующего заноса в базу клиентов. (готово)
Pls, подкиньте кармы если кому-то пригодилась статья.
FreePBX: первые шаги по граблям
Начиная знакомство с FreePBX, даже опытные системные администраторы зачастую допускают одни и те же ошибки, которые способны серьезно испортить настроение и отбить всякое желание продолжать освоение этой системы.
В первую очередь, безусловно, это ошибки, связанные с безопасностью станции. Помните, что подключаясь к оператору телефонии вы несете полную финансовую ответственность за звонки, даже если на самом деле вы их не совершали! Давайте посмотрим, что нужно сделать в первую очередь, а чего делать категорически нельзя.
Сразу же после установки системы необходимо отключить возможность приема гостевых и анонимных звонков, если, конечно, вы не собираетесь их использовать. В противном случае, вы фактически предоставляете возможность любому человеку осуществлять звонки через вашу станцию, что может привести к значительным финансовым потерям.
Настройки → Установки Asterisk для SIP → Общие настройки SIP
Настройки → Установки Asterisk для SIP → Установки канала SIP
Несмотря на то, что FreePBX постоянно обновляется, и разработчики прикладывают большие усилия к обеспечению безопасности системы, периодически обнаруживаются уязвимости в коде, используя которые злоумышленники могут получить, например, параметры доступа к вашим операторам связи. Несмотря на то, что в таком случае звонки будут поступать не с вашей станции, оператор, скорее всего, потребует оплаты именно с вас. Поэтому не следует забывать о защите веб-интерфейса: если сервер установлен в вашей локальной сети, не стоит пробрасывать 80 порт наружу — для удаленной настройки вы можете использовать vpn, ssh-тоннель или любой другой способ доступа. Если же FreePBX установлен на удаленном сервере или по какой-то другой причине имеет прямой доступ в сеть, можно ограничить возможность подключения по 80 порту на уровне iptables, а также использовать парольную защиту Basic Auth как дополнительное средство обеспечения безопасности.
В случае, если вы установили FreePBX с официального образа, вам нужно будет отредактировать файл
В самый конец, перед последней строкой нужно добавить следующее
и введите пароль для пользователя admin. Не забудьте перезагрузить apache:
И проверьте результат:
Также следует обратиться к вашему оператору связи и ограничить возможность подключения с вашими учетными данными по ip-адресу: в таком случае, даже если злоумышленники получат ваш логин и пароль, воспользоваться ими не получится.
Безусловно, нельзя забывать и о безопасности аккаунтов пользователей на вашей станции. Если возможно (например, все ваши пользователи находятся в локальной сети), обязательно ограничивайте возможность подключения по ip-адресам — даже если пароль определенного пользователя будет скомпрометирован, воспользоваться им извне злоумышленники не смогут.
Приложения → Внутренние номера → Внутренний номер → Расширенный
Бывают ситуации, когда ограничить пользователя по ip не представляется возможным — например, аккаунт используется с мобильного телефона, из разных 3g, 4g, и wifi-сетей. В таком случае, в первую очередь, проверьте надежность ваших паролей. Запомните, даже на “пустой” станции, даже для тестирования, никогда не нужно ставить пароли типа qwerty, ведь забыть впоследствии о таком аккаунте проще простого, как и подобрать такой пароль.
Приложения → Внутренние номера → Внутренний номер → Общие
Необходимо задуматься и о переборе паролей. Естественно, если ваш сервер обслуживает клиентов из одной сети и подключается к одному оператору связи, вы можете и даже должны ограничить возможность подключения к sip-порту (обычно, 5060) для всех, кроме известных адресов своих сетей и провайдеров, например, так, если вы устанавливали FreePBX вручную
Или воспользоваться встроенным модулем веб-интерфейса Firewall, если вы установили систему с официального образа. Вы можете задать доверенные и внешние сети вручную в меню
Подключения → Firewall → Zones → Network
И затем определить, к каким сервисам будет открыт доступ в закладке
Подключения → Firewall → Services
Но не всегда возможно оставить только несколько подсетей для sip-порта. В таком случае крайне рекомендуется поставить fail2ban и настроить его на использование с asterisk. Этот демон, основываясь на логах попыток авторизации, блокирует слишком настойчивых на определенное время после заданного числа попыток авторизации, что позволяет пресекать брутфорс. В последних версиях fail2ban правила для asterisk уже включены в поставку, но рекомендуется проверить его работоспособность — выполнить несколько попыток регистрации с заведомо неверным логином и паролем (только обязательно не с того же ip-адреса, с которого вы подключаетесь к серверу!) и проверить, заблокируется ли этот адрес командой
В официальной сборке FreePBX система защиты от перебора паролей уже установлена и настроена. Заблокированные адреса можно найти в закладке
Подключения → Firewall → Статус
Очень часто, особенно в небольших организациях, когда используется только один провайдер, системные администраторы не уделяют внимания грамотной настройке исходящих маршрутов, ограничиваясь шаблоном X., разрешая таким образом всем пользователям звонить на любой номер телефона. Даже если полностью исключить возможность совершения звонков злоумышленниками, нельзя забывать о том, что пользователь может просто ошибиться и позвонить куда-нибудь в Доминиканскую республику, так что ограничивать исходящие звонки нужно в обязательном порядке. Обычно достаточно добавить шаблоны вызова городских и мобильных номеров телефонов, для РФ маршрут может выглядеть так:
Подключения → Исходящая маршрутизация → Маршрут → Правила набора
Здесь мы задаем, что номер должен быть 11-значным, начинаться с 8, и вторая цифра должна быть 3,4,8 или 9, что полностью перекрывает все Российские номера, а также разрешаем звонить через этот маршрут только внутренним номерам 100-199. В случае, если кому-то из сотрудников нужно открыть международные звонки, следует добавить дополнительный маршрут для него перед основным, и обязательно в поле CID указать его номер или шаблон номеров, если таких сотрудников несколько.
А также стоит всегда указывать количество одновременных исходящих вызовов в настройках транков, особенно в том случае, если они не ограничены на стороне оператора (10 сотрудников никак не смогут сделать 100 исходящих вызовов), а вот в случае несанкционированных звонков взломщики пытаются звонить в максимальное количество потоков.
Подключения → Транки → Настройки Транка → Общие
Следующая частая ошибка — создание очереди звонков без ограничения по времени и без условия “покидать пустую очередь”. Особенно опасно такое действие, если вы используете номер 8-800 с оплатой за входящие — определенный отдел может остаться без связи (завис свитч, пропал свет, крысы съели витую пару), а входящие звонки для него будут продолжать поступать на очередь, и особо упорные звонящие могут ждать на линии часами.
Неприятности могут возникнуть и в том случае, если вы не используете 8-800, но оператор связи ограничивает количество одновременных входящих звонков, или используются медные линии или поток. В таком случае ресурс канала будет расходоваться просто на проигрывание музыки вызывающим абонентам, и в итоге может возникнуть ситуация, когда все ваши входящие каналы заняты ожидающими в пустой очереди. Именно поэтому нужно всегда ограничивать время ожидания в очереди и не допускать звонков в пустых очередях.
Приложения → Очереди → Настройки очереди → Параметры времени и операторов
Приложения → Очереди → Настройки очереди → Параметры емкости очереди
Голосовые приветствия и голосовые меню — безусловно, полезные и нужные функции, используемые почти каждой организацией, решившей перейти на FreePBX, но и при их настройке часто допускаются ошибки. Во-первых, модуль Приветствие, то есть просто воспроизведение голосового ролика, который нельзя пропустить (или можно пропустить по нажатию клавиши, о чем обычно забывают уведомить пользователя), стоит использовать только тогда, когда в этом есть насущная необходимость. Мне доводилось видеть как в Приветствие помещают ролик длительностью одна минута, и только после него следует IVR с предложением выбрать нужный отдел. Когда клиент звонит в первый раз, это воспринимается нормально, но когда он перезванивает пятый раз за час, и пятый раз подряд слушает о том, как компания рада его звонку, он начинает сомневаться в этом. Клиент уже точно знает, что ему нужно нажать кнопку 2 и переключиться на нужный отдел, но его раз от раза заставляют прослушать приветствие целиком. По максимуму сократите использование Приветствий, используйте IVR и разрешите прямые наборы — это позволит сократить время ожидания клиента и не раздражать его.
Еще при создании Интерактивного меню IVR часто забывают сменить настройки по умолчанию, касающиеся неверного набора — при нажатии клавиши, которая не описана в правилах, ролик повторяется несколько раз. Такое поведение уместно только в случае, если выбор должен быть сделан обязательно (крайне редкий случай), и совершенно неуместно в первом, приветственном голосовом меню. Отключайте повторы голосового меню и переводите звонок на назначение, используемое по умолчанию: на секретаря, в очередь менеджеров и так далее. То же касается и тайм-аута набора.