Основные ошибки при регистрации внутренних номеров и транков
Диагностика ошибок с помощью утилиты sngrep В данной статье мы рассмотрим самые распространенные ошибки пользователей при регистрации внутренних номеров и транков. Ознакомившись с этой статьёй вы сможете самостоятельно и в кратчайшие сроки диагностировать и устранять ошибки с помощью утилиты sngrep. Основные ошибки при регистрации внутренних номеров Рассмотрим самые частые ошибки при регистрации внутренних номеров: 1. […]
Диагностика ошибок с помощью утилиты sngrep
В данной статье мы рассмотрим самые распространенные ошибки пользователей при регистрации внутренних номеров и транков. Ознакомившись с этой статьёй вы сможете самостоятельно и в кратчайшие сроки диагностировать и устранять ошибки с помощью утилиты sngrep.
Для примера мы использовали: CentOS 7, Asterisk 16, Freepbx VoxDistro
Основные ошибки при регистрации внутренних номеров
Рассмотрим самые частые ошибки при регистрации внутренних номеров:
1. Одна из ошибок может быть заключена в поле password при регистрации софтфона или IP телефона. При внесение данных в поля user и password, будьте внимательны, проверьте регистр, если вы делали Ctrl + C, проверьте что вы скопировали нужную вам область. При попытке ввода неверного пароля в консоли Asterisk, будет спам NOTICE – Wrong Password. Это говорит о том, что происходит попытка регистрации с неверным паролем. Ниже на скрине вы можете увидеть, как данная ошибка выглядит в sngrep.

Если в логах у вас отображается информация Wrong password вместе с Ip адресами и подсетями, которые вы уверенны что не используется у вас, значит с этих IP адресов перебирают пароли и пытаются авторизоваться на вашей АТС с целью монетизации международных звонков.
Для того чтобы посмотреть логи введите следующую команду:
grep 574 /var/log/asterisk/ful
где, 574 внутренний номер.

Если вы увидели в логах чужие IP адреса, то необходимо проверить Firewall на сетевом оборудовании и на АТС. Проверить защиту Asterisk Iptables и так же настроить Firewall на Mikrotik.
2. Вторая, не мало распространенная ошибка связана с полями deny/permit. Данные поля находятся в настройках внутреннего номера. Убедитесь, что в поле deny/permit у вас указаны верные параметры, в поле permit должна быть указана та подсеть или IP адрес, с которого приходит запрос на регистрацию. Как эта ошибка выглядит в sngrep вы можете увидеть ниже на (рис. 3).

3. Так же может не проходить регистрация, так как в софтфоне указан протокол UDP, а на АТС для данного внутреннего номера разрешен только протокол TCP. Ниже можете увидеть как отображается данная ошибка.

4. Не менее распространенная ошибка, если вы видите по sngrep что регистрация на сервер приходит, но сервер ничего не отвечает. В таком случае стоит проверить Firewall, скорее всего IP с которого шлется регистрация или подсеть не добавлены в Firewall.

5. Если внутренний номер удаленный и IP у него не постоянный, то такой внутренний номер нужно регистрировать через нестандартный порт. Для этого в настройках софтфона или IP телефона нужно указать корректный IP адрес и порт. Подробнее, о том как настроить нестандартный порт можете посмотреть в нашей статье.
Основные ошибки при регистрации транков
- IP адреса провайдера не добавлены в Firewall со стороны АТС. При регистрации транков необходимо узнать IP адреса и подсети провайдера, которым необходимо открыть доступ для избежания проблем с регистрацией и вызывами. Так же если провайдер прислал данные, в котором указано доменное имя, которое в настоящий момент резолвится на один IP адрес, который уже добавлен в IPtables, то в какое то время провайдер может переключиться на сервер с другим адресом, поэтому в техподдержке необходимо уточнить каким точно IP адресам и подсетям необходимо открыть доступ со стороны АТС.
- Практически та же ошибка, но наоборот. Если IP адрес АТС не добавлен в белый список на стороне провайдера.
- Существует ошибка, где АТС находится за НАТом, но провайдеру отсылаются пакеты, с внутренними IP адресами (это означает что АТС не подключена напрямую в интернет, между АТС и интернетом есть еще какое-то сетевое оборудование). Для того, чтобы избежать данной проблемы в транке должны быть указаны следующие параметры:
Nat=force_rport,comedia – медиа поток будет приходить на порт Asterisk, независимо от указанной SDP, и будет использоваться rport даже если его нет.
Nat=yes (Asterisk до 11 версии) – при таком параметре Asterisk использует внешний IP адрес externrip.
Так же должны быть прописаны глобальные параметры:
Externip – задаем IP адрес, который будет использоваться, как IP адрес источника во всех SIP сообщениях, когда работаем с SIP клиентами, для которых указан параметр nat в yes.
Externaddr – внешний белый IP адрес.
Localnet – внутренние сети которые подключаются к Asterisk.
Глобальные параметры можно проверить с помощью команды:
asterisk –rx 'sip show settings'
Ниже вы можете увидеть что происходит в sngrep.
- Если у вас транк с регистрацией, то возможно некорректно указана строка регистрации.
Есть параметр callbackextensions, который сам подтягивает все нужные параметры и вам не придется прописывать строку registr.
Так же, давайте отметим ошибки связанные с вызовами через транки:
1. Указаны неправильные кодеки, которые должны использоваться.
Часто используются кодеки alaw ulaw , если нужны g723 g729 то их нужно устанавливать отдельно.
Чтобы посмотреть текущие кодеки нужно ввести команду:
asterisk –rx 'core show translation'
В freepbx – settings – sip
Кодеки можно задавать в транке сначала отключить все disallow=all потом активируем нужные нам кодеки allow=ulaw.
2. Неверно указан fromuser;
3. Не указана опция inswcure (invite,port).
Добрый день.
Такая проблема. Поставил FP (https://wiki.freepbx.org/pages/viewpage.action?pageId=67306922)
Отключил и iptables и firewalld
Но внутренние номера не регистрируются.
tcpdump при 5060 или 5160
06:09:53.891694 IP web.local.57633 > ****.****.ru.5160: UDP, length 572
Но в консоли и логе астера ничего нет.
В логе сип-клиента
Via: SIP/2.0/UDP 172.27.232.213:57633;rport;branch=z9hG4bKPj88f5d8ca754e4596896ad27201b91a24
Route: <sip:****:5160;lr>
Max-Forwards: 70
From: «101» <sip:101@***>;tag=8b5f427897ef416fb3b0767a50723f13
To: «101» <sip:101@***>
Call-ID: 8cbac29058054629aa603a7aaeb53890
CSeq: 41181 REGISTER
User-Agent: MicroSIP/3.15.1
Contact: «101» <sip:101@172.27.232.213:57633;ob>
Expires: 300
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Content-Length: 0
—end msg—
09:10:21.525 tsx03467664 Timeout timer event
09:10:21.525 tsx03467664 .State changed from Calling to Terminated, event=TIMER
09:10:21.525 pjsua_acc.c …SIP registration failed, status=408 (Request Timeout)
09:10:21.525 pjsua_acc.c …Scheduling re-registration retry for acc 0 in 291 seconds..
09:10:21.525 tsx03467664 Timeout timer event
09:10:21.525 tsx03467664 .State changed from Terminated to Destroyed, event=TIMER
09:10:21.525 tdta034EBF20 ..Destroying txdata Request msg REGISTER/cseq=41181 (tdta034EBF20)
09:10:21.525 tsx03467664 Transaction destroyed!
*** — Заменил айпишник0
Подскажите в какую сторону копать.
Спасибо!
Начиная знакомство с FreePBX, даже опытные системные администраторы зачастую допускают одни и те же ошибки, которые способны серьезно испортить настроение и отбить всякое желание продолжать освоение этой системы.

В первую очередь, безусловно, это ошибки, связанные с безопасностью станции. Помните, что подключаясь к оператору телефонии вы несете полную финансовую ответственность за звонки, даже если на самом деле вы их не совершали! Давайте посмотрим, что нужно сделать в первую очередь, а чего делать категорически нельзя.
Сразу же после установки системы необходимо отключить возможность приема гостевых и анонимных звонков, если, конечно, вы не собираетесь их использовать. В противном случае, вы фактически предоставляете возможность любому человеку осуществлять звонки через вашу станцию, что может привести к значительным финансовым потерям.
Настройки → Установки Asterisk для SIP → Общие настройки SIP

Настройки → Установки Asterisk для SIP → Установки канала SIP

Несмотря на то, что FreePBX постоянно обновляется, и разработчики прикладывают большие усилия к обеспечению безопасности системы, периодически обнаруживаются уязвимости в коде, используя которые злоумышленники могут получить, например, параметры доступа к вашим операторам связи. Несмотря на то, что в таком случае звонки будут поступать не с вашей станции, оператор, скорее всего, потребует оплаты именно с вас. Поэтому не следует забывать о защите веб-интерфейса: если сервер установлен в вашей локальной сети, не стоит пробрасывать 80 порт наружу — для удаленной настройки вы можете использовать vpn, ssh-тоннель или любой другой способ доступа. Если же FreePBX установлен на удаленном сервере или по какой-то другой причине имеет прямой доступ в сеть, можно ограничить возможность подключения по 80 порту на уровне iptables, а также использовать парольную защиту Basic Auth как дополнительное средство обеспечения безопасности.
В случае, если вы установили FreePBX с официального образа, вам нужно будет отредактировать файл
/etc/httpd/conf.d/freepbx.conf
В самый конец, перед последней строкой нужно добавить следующее
AuthType Basic
AuthName "Administrative zone"
AuthUserFile /.htpasswd
Require valid-user
Обратите внимание на путь к файлу .htpasswd — вы можете задать любой путь для его хранения. Затем потребуется собственно создать аккаунт. Перейдя в выбранную директорию, выполните
htpasswd -c .htpasswd admin
и введите пароль для пользователя admin. Не забудьте перезагрузить apache:
service httpd reload
И проверьте результат:

Также следует обратиться к вашему оператору связи и ограничить возможность подключения с вашими учетными данными по ip-адресу: в таком случае, даже если злоумышленники получат ваш логин и пароль, воспользоваться ими не получится.
Безусловно, нельзя забывать и о безопасности аккаунтов пользователей на вашей станции. Если возможно (например, все ваши пользователи находятся в локальной сети), обязательно ограничивайте возможность подключения по ip-адресам — даже если пароль определенного пользователя будет скомпрометирован, воспользоваться им извне злоумышленники не смогут.
Приложения → Внутренние номера → Внутренний номер → Расширенный

Бывают ситуации, когда ограничить пользователя по ip не представляется возможным — например, аккаунт используется с мобильного телефона, из разных 3g, 4g, и wifi-сетей. В таком случае, в первую очередь, проверьте надежность ваших паролей. Запомните, даже на “пустой” станции, даже для тестирования, никогда не нужно ставить пароли типа qwerty, ведь забыть впоследствии о таком аккаунте проще простого, как и подобрать такой пароль.
Приложения → Внутренние номера → Внутренний номер → Общие

Необходимо задуматься и о переборе паролей. Естественно, если ваш сервер обслуживает клиентов из одной сети и подключается к одному оператору связи, вы можете и даже должны ограничить возможность подключения к sip-порту (обычно, 5060) для всех, кроме известных адресов своих сетей и провайдеров, например, так, если вы устанавливали FreePBX вручную
-A INPUT -s xxx.xxx.xxx.xxx/32 -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -s yyy.yyy.yyy.yyy/32 -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -p udp -m udp --dport 5060 -j DROP
Или воспользоваться встроенным модулем веб-интерфейса Firewall, если вы установили систему с официального образа. Вы можете задать доверенные и внешние сети вручную в меню
Подключения → Firewall → Zones → Network

И затем определить, к каким сервисам будет открыт доступ в закладке
Подключения → Firewall → Services

Но не всегда возможно оставить только несколько подсетей для sip-порта. В таком случае крайне рекомендуется поставить fail2ban и настроить его на использование с asterisk. Этот демон, основываясь на логах попыток авторизации, блокирует слишком настойчивых на определенное время после заданного числа попыток авторизации, что позволяет пресекать брутфорс. В последних версиях fail2ban правила для asterisk уже включены в поставку, но рекомендуется проверить его работоспособность — выполнить несколько попыток регистрации с заведомо неверным логином и паролем (только обязательно не с того же ip-адреса, с которого вы подключаетесь к серверу!) и проверить, заблокируется ли этот адрес командой
iptables -L
В официальной сборке FreePBX система защиты от перебора паролей уже установлена и настроена. Заблокированные адреса можно найти в закладке
Подключения → Firewall → Статус

Очень часто, особенно в небольших организациях, когда используется только один провайдер, системные администраторы не уделяют внимания грамотной настройке исходящих маршрутов, ограничиваясь шаблоном X., разрешая таким образом всем пользователям звонить на любой номер телефона. Даже если полностью исключить возможность совершения звонков злоумышленниками, нельзя забывать о том, что пользователь может просто ошибиться и позвонить куда-нибудь в Доминиканскую республику, так что ограничивать исходящие звонки нужно в обязательном порядке. Обычно достаточно добавить шаблоны вызова городских и мобильных номеров телефонов, для РФ маршрут может выглядеть так:
Подключения → Исходящая маршрутизация → Маршрут → Правила набора

Здесь мы задаем, что номер должен быть 11-значным, начинаться с 8, и вторая цифра должна быть 3,4,8 или 9, что полностью перекрывает все Российские номера, а также разрешаем звонить через этот маршрут только внутренним номерам 100-199. В случае, если кому-то из сотрудников нужно открыть международные звонки, следует добавить дополнительный маршрут для него перед основным, и обязательно в поле CID указать его номер или шаблон номеров, если таких сотрудников несколько.

А также стоит всегда указывать количество одновременных исходящих вызовов в настройках транков, особенно в том случае, если они не ограничены на стороне оператора (10 сотрудников никак не смогут сделать 100 исходящих вызовов), а вот в случае несанкционированных звонков взломщики пытаются звонить в максимальное количество потоков.
Подключения → Транки → Настройки Транка → Общие

Следующая частая ошибка — создание очереди звонков без ограничения по времени и без условия “покидать пустую очередь”. Особенно опасно такое действие, если вы используете номер 8-800 с оплатой за входящие — определенный отдел может остаться без связи (завис свитч, пропал свет, крысы съели витую пару), а входящие звонки для него будут продолжать поступать на очередь, и особо упорные звонящие могут ждать на линии часами.
Неприятности могут возникнуть и в том случае, если вы не используете 8-800, но оператор связи ограничивает количество одновременных входящих звонков, или используются медные линии или поток. В таком случае ресурс канала будет расходоваться просто на проигрывание музыки вызывающим абонентам, и в итоге может возникнуть ситуация, когда все ваши входящие каналы заняты ожидающими в пустой очереди. Именно поэтому нужно всегда ограничивать время ожидания в очереди и не допускать звонков в пустых очередях.
Приложения → Очереди → Настройки очереди → Параметры времени и операторов

Приложения → Очереди → Настройки очереди → Параметры емкости очереди

Голосовые приветствия и голосовые меню — безусловно, полезные и нужные функции, используемые почти каждой организацией, решившей перейти на FreePBX, но и при их настройке часто допускаются ошибки. Во-первых, модуль Приветствие, то есть просто воспроизведение голосового ролика, который нельзя пропустить (или можно пропустить по нажатию клавиши, о чем обычно забывают уведомить пользователя), стоит использовать только тогда, когда в этом есть насущная необходимость. Мне доводилось видеть как в Приветствие помещают ролик длительностью одна минута, и только после него следует IVR с предложением выбрать нужный отдел. Когда клиент звонит в первый раз, это воспринимается нормально, но когда он перезванивает пятый раз за час, и пятый раз подряд слушает о том, как компания рада его звонку, он начинает сомневаться в этом. Клиент уже точно знает, что ему нужно нажать кнопку 2 и переключиться на нужный отдел, но его раз от раза заставляют прослушать приветствие целиком. По максимуму сократите использование Приветствий, используйте IVR и разрешите прямые наборы — это позволит сократить время ожидания клиента и не раздражать его.
Еще при создании Интерактивного меню IVR часто забывают сменить настройки по умолчанию, касающиеся неверного набора — при нажатии клавиши, которая не описана в правилах, ролик повторяется несколько раз. Такое поведение уместно только в случае, если выбор должен быть сделан обязательно (крайне редкий случай), и совершенно неуместно в первом, приветственном голосовом меню. Отключайте повторы голосового меню и переводите звонок на назначение, используемое по умолчанию: на секретаря, в очередь менеджеров и так далее. То же касается и тайм-аута набора.
Приложения → Интерактивное меню (IVR) → Настройки IVR

Если вы не уверены в том, что на вашем FreePBX исключены эти и другие ошибки, и хотите чувствовать себя в безопасности, обратитесь к нам, и профессионалы с многолетним опытом работы в сфере ip-телефонии проведут аудит системы и исправят все допущенные ошибки.
Здравствуйте.
Проблема такая же, как в первом сообщении.
Выполнял по инструкции
https://wiki.miko.ru/astpanel:ats:freepbx_distro
АТС FreePBX 14.0.13.12
Версия модуля 2.11.3.47
Asterisk 13.22.0
http show status
HTTP Server Status:
Prefix: /asterisk
Server: Asterisk/13.22.0
Server Enabled and Bound to 0.0.0.0:8088
HTTPS Server Enabled and Bound to [::]:8089
Enabled URI’s:
/asterisk/httpstatus => Asterisk HTTP General Status
/asterisk/amanager => HTML Manager Event Interface w/Digest authentication
/asterisk/arawman => Raw HTTP Manager Event Interface w/Digest authentication
/asterisk/manager => HTML Manager Event Interface
/asterisk/rawman => Raw HTTP Manager Event Interface
/asterisk/static/… => Asterisk HTTP Static Delivery
/asterisk/amxml => XML Manager Event Interface w/Digest authentication
/asterisk/mxml => XML Manager Event Interface
/asterisk/ws => Asterisk HTTP WebSocket
Enabled Redirects:
None.
manager show settings
Global Settings:
—————-
Manager (AMI): Yes
Web Manager (AMI/HTTP): Yes
TCP Bindaddress: 0.0.0.0:5038
HTTP Timeout (seconds): 60
TLS Enable: No
TLS Bindaddress: Disabled
TLS Certfile: asterisk.pem
TLS Privatekey:
TLS Cipher:
Allow multiple login: Yes
Display connects: No
Timestamp events: No
Channel vars:
Debug: No
manager show user 1cami
username: 1cami
secret: <Set>
ACL: yes
read perm: call,user,cdr
write perm: call,reporting,originate
displayconnects: no
allowmultiplelogin: yes
Variables:
Пробовал прописывать deny=0.0.0.0/0.0.0.0permit=0.0.0.0/0.0.0.0 и в конфиге и через веб интерфейс, пробовал permit указывать айпи адрес с которого подключался, но ошибка не уходит.
Подскажите в чем может быть проблема?
Заранее благодарю.
Изменено: Васильев Виктор — 04.12.2019 14:57:21
0
1
Добрый день.
Ставил по этому мануалу https://wiki.freepbx.org/pages/viewpage.action?pageId=67306922
Все поставилось без ошибок.Добавляю внутреннего пользователя.(5060 или 5160)
Пробую подключится. Но нет коннекта.
Отключил firewalld iptables-не помогло.
tcpdump 5060 или 5160 пишет
06:10:13.865552 IP web.local.57633 > *****.ru.5160: UDP, length 572
Т.е. клиент стучится до астера. Но в логах и консоли ничего вообще нет.
Лог с клиента.
Via: SIP/2.0/UDP
172.27.232.213:57633;rport;branch=z9hG4bKPj88f5d8ca754e4596896ad27201b91a24
Route: <sip:*:5160;lr>
Max-Forwards: 70
From: «101»
<sip:101@*>;tag=8b5f427897ef416fb3b0767a50723f13
To: «101» <sip:101@*>
Call-ID: 8cbac29058054629aa603a7aaeb53890
CSeq: 41181 REGISTER
User-Agent: MicroSIP/3.15.1
Contact: «101» <sip:101@172.27.232.213:57633;ob>
Expires: 300
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Content-Length: 0
—end msg—
09:10:21.525 tsx03467664 Timeout timer event
09:10:21.525 tsx03467664 .State changed from Calling to Terminated, event=TIMER
09:10:21.525 pjsua_acc.c …SIP registration failed, status=408 (Request Timeout)
09:10:21.525 pjsua_acc.c …Scheduling re-registration retry for acc 0 in 291 seconds..
09:10:21.525 tsx03467664 Timeout timer event
09:10:21.525 tsx03467664 .State changed from Terminated to Destroyed, event=TIMER
09:10:21.525 tdta034EBF20 ..Destroying txdata Request msg REGISTER/cseq=41181 (tdta034EBF20)
09:10:21.525 tsx03467664 Transaction destroyed!
Где что неправильно может быть?
Спасибо.

(@ajak)
New Member
Присоединился: 2 года назад
Сообщения: 1
Topic starter
17.09.2020 21:02
Добрый вечер. С помощью Ваших статей решил знакомиться с Freepbx. Скачал для начала старую версию дистро 13, добавил в вбоксе два интерфейса нат и бридж и запустил установку. После установки перешел в раздел где требуется пройти регистрацию, но регистрация не прошла 🙁 Я как понял, это обязательная настройка, чтобы открылись параметры. Подумал, что 13 версия уже не поддерживается. Скачал дистро 15, установил, также две сетевые, нат для интернета и бридж в локалку для доступа в вебморду. Также не могу пройти регистрацию. Зашел через консоль через бридж, интернет проверил, все работает, но регистрация не работает. Отключил нат сетевуху, проверил через бридж инета нет. Стоял дхцп. Сетевуха не получается айпи от микрота через вай-фай карты. Сеть у меня устроена так. Стоит роутер микротик, по нему через вай-фай цепляется сетевуха, в ней компоненты вбокса, бриджи проставлены. Проделал все тоже самое только на вмваре, создал свой интерфейс, забриджевал в сетевуху — не проходит регистрация.
Далее бросил провод сетевой, подключился уже по езернету а не по вай-фаю, все равно не проходит регистрацию. Если вырубить нат, то почему то сетевая не получает настройки от микротика. Я все прописал вручную, айпи, маску, шлюз, днс 🙁
Вот так я начал знакомство с телефонией.
Сейчас у меня два вопроса.
1) Обязательна ли регистрация freepbx или нет
2) И почему моя виртуальная сетевая не получает насйтроки, если физическая карта получается настройки от микротика.
FreePBX – прежде всего это графический интерфейс (GUI) для управления IP-АТС Asterisk. В предыдущей статье мы рассказали как установить FreePBX 14 Distro. Поэтому, на данном этапе мы выбрали FreePBX 14 настройка с Asterisk 16. В статье мы также подробно опишем базовую настройку основных параметров четырнадцатой версии FreePBX сразу после установки дистрибутива.
Подключение к FreePBX
После этого по окончании установки в CLI вы также увидите информацию об IP-адресе, который вы указали на этапе установки. К тому же если вы забыли IP-адрес, вам необходимо подключить монитор и клавиатуру к серверу, авторизоваться и вы увидите данные системы:

К тому же, если версия Вашей системы отличается, IP-адрес можно также узнать через команду:
[root@freepbx ~]# ifconfig
Данная команда позволит увидеть настройки всех сетевых интерфейсов.
Администратор системы и активация
После этого подключаемся к FreePBX 14 через браузер. Система несомненно предложит настроить ядро и после этого предварительно её настроить.
Во-первых, необходимо ввести параметры:
- Username – имя пользователя администратора системы.
- Password – пароль администратора.
- Confirm Password – повтор пароля администратора.
Далее убедитесь, что введенный пароль администратора соответствует отметке “Strong” при вводе пароля. Самое главное, чтобы пароль был достаточно надежный.
- Notifications Email address – E-mail адрес для отправки различных уведомлений (конечно, доступные обновления системы, модулей, блокировке IP-адресов и т.д.). Имеет смысл указать e-mail вашей Ticket-системы, для того, чтобы уведомления обрабатывались администраторами или ИТ-инженерами.
- System Identifier – Идентификатор (имя) системы. Если у вас FreePBX в единственном экземпляре – название особого значения не имеет. Если у вас крупный географически разнесенный холдинг – имеет смысл подумать об уникальности названия системы.
- Automatic Module Updates – Производить ли автоматическое обновление модулей. Мы не любим сюрпризов, поэтому данную настройку переводим в режим Disabled. Дальнейшее обновление будем производить в ручном режиме, когда функциональность этого потребует.
- Automatic Module Security Updates – Автоматическое обновление модулей безопасности. Отключить нельзя, так как это очень важный параметр, который очень часто обновляется для закрытия найденных уязвимостей. Мы отключим автоматическое обновление и включим уведомление на вышеуказанный e-mail, чтобы инженеры произвели обновление в часы наименьшей нагрузки.
- Send Security Emails For Unsigned Modules – Отправка уведомлений для неподписанных модулей безопасности.
- Check For Updates every – Время проверки всех обновлений. Мы установим часы наименьшей нагрузки, а именно: Суббота с 00:00 до 04:00.

После этого нажимаем Setup System. В общем предварительная настройка окончена. Пора переключиться в административный режим управления.

На следующем шаге Ваша PBX предложит активировать себя через портал Sangoma или пропустить этот шаг. Поэтому не будем откладывать в долгий ящик – следовательно, активируем по нажатию кнопки Activate.

После этого вводим e-mail адрес аккаунта для активации.

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

- Sound Prompts Language – язык звуковых файлов.
- System Language – язык системы.
- Timezone – часовой пояс.
Далее система предложит настроить Firewall и добавить IP-адреса или сети в доверенную зону (DMZ). Если вы хотите сделать это сейчас, нажимайте Continue, если позже – Abort.


Более того, система за вас уже знает IP-адрес, с которого производится настройка и подсеть, в которой также установлена FreePBX, кроме того она предложит добавить эти адреса в исключения Firewall, чтобы как следствие неверных или подозрительных действий администратора системы не произошла случайная блокировка этих адресов. Добавляем через Yes.

Далее включаем Firewall.

Тем временем предварительная активация и предварительная настройка окончена.

Отступление про активацию FreePBX 14
FreePBX всегда был OpenSource (то есть лицензируется по лицензии GPL) и всегда будет. Причина регистрации вашей системы FreePBX на серверах лицензий FreePBX состоит в том, чтобы позволить вам добавлять «коммерческие модули», не относящиеся к GPL. Эти коммерческие модули также включают в себя как бесплатные, так и платные модули, помогающие расширить набор функций FreePBX.
Что происходит с системой в случае активации
Когда вы регистрируете свою систему FreePBX на сервере лицензий FreePBX, происходит следующее:
- Создается Deployment ID на портале Sangoma. В результате чего каждая установка имеет свой уникальный ID.
- Уникальный ID генерируется с помощью PHP Zend Guard. Этот уникальный ID хранится на сервере лицензий. Он связывает номер установки с этим уникальным ID, который называется Zend ID.
- Когда вы покупаете коммерческие модули, для каждой установки вы выбираете свой модуль и на сервере лицензий также создается файл лицензий этих коммерческих модулей. Коммерческий модуль нельзя переместить с одной установки FreePBX на другую установку. Самое главное – покупка осуществляется в рамках только одной системы FreePBX.
- Также вы можете запросить сброс аппаратной блокировки один раз. В результате чего вы сможете снять аппаратную блокировку вашей установленной системы и после этого зарегистрировать (или перенести) покупки на новую УАТС (FreePBX).
- Обновление всех коммерческих модулей выполняется через меню System Admin → Licende → Update Activation.
также для мотивации новых пользователей, Sangoma периодически устраивает акции на коммерческие модули в случае активации системы. Мы производили установку 30.10.2019 (дата установки FreePBX) и нам был предложен модуль Extension Routing бесплатно!

Производим активацию системы через меню: Admin → System Admin → Activation. На данном шаге Вам, безусловно, необходимо заполнить обязательные поля и нажать кнопку Activate.
FreePBX 14 настройка сети
Переходим в меню: Admin → System Admin → Network Settings. Устанавливаем параметры сети (Static IP, DHCP) на сетевой интерфейс.

Здесь мы настраиваем следующие опции:
- Network Interface – сетевой интерфейс, то есть конкретная сетевая карта (NIC);
- IP Assignment – выберите Static чтобы настроить статический IP – адрес;
- Static IP – введите IP – адрес сервера;
- Netmask – маска сети. Указывает в виде количества единичных разрядов или с указанием всех октетов;
- Gateway – шлюз по умолчанию;
- Start Automatically – автоматический запуск сетевого интерфейса при запуске сервера.
Меню для настройки DNS-сервера находится по адресу: Admin → System Admin → DNS.

Настраиваем временную зону: Admin → System Admin → Time Zone.

Приступим к настройке служебных оповещений через электронную почту о работоспособности системы: Admin → System Admin → Notifications Settings.

- From Address – адрес электронной почты, который УПАТС будет указывать в качестве отправителя при отправке письма;
- Storage Notifications – электронная почта для уведомлений о проблемах с хранением данных (сбой RAID или нехватка места на дисках);
- Intrusion Detection Notifications – электронная почта для уведомлений о вторжениях или попытках взлома сервера.
FreePBX 14 настройки безопасности (Firewall)
В FreePBX 14 Distro встроена система обнаружения вторжений на базе Fail2Ban. Данная служба анализирует лог-файлы и блокирует злоумышленников. Настраиваем в меню: Admin → System Admin → Intrusion Detection.

Безусловно, мы настоятельно рекомендуем настроить блокировки и белый список IP-адресов (сетей), которые не требуется блокировать, как правило это: voip-сеть, voice-vlan, подсеть c IP-телефонами, VoIP-шлюзами и т.д.
- Status – состояние службы Fail2Ban. Нормальный режим – running.
- Intrusion Detection – Stop (остановка) или Restart (перезапуск) службы.
- Ban Time – время блокировки IP адреса (в секундах).
- Max Retry – количество попыток подключения к FreePBX, которое можно осуществить в течение Find Time.
- Find Time – время, в течение которого у пользователя есть Max Retry попыток авторизации в системе.
- E-mail: – адрес электронной почты для уведомлений о блокировках IP-адресов.
- Whitelist – список сетей или IP-адресов доверенной зоны (DMZ). Как правило тут указываются сети, в которых установлены IP-телефоны или VoIP-шлюзы, а также IP-адреса провайдеров, которые предоставляют вам услуги, подключенные по SIP (транку).
FreePBX 14 настройка SIP
Модуль Settings → Asterisk SIP Settings → Genaral SIP Settings – это графическая визуализация файла /etc/asterisk/sip_general_additional.conf вашей системы. После этого откроется окно конфигурации.
Вкладка Genaral SIP Settings

- Allow Anonymous Inbound SIP Calls – Разрешение анонимных (не авторизованных) входящих звонков. Эту опцию следует отключить так как она является потенциально опасной для совершения взлома. Следует установить опцию в значение – No.
- Allow SIP Guests – Разрешение гостевых SIP-звонков и обработка их в контексте [from-sip-external] (контекст по умолчанию). Следует установить опцию в значение – No.
- External Address – В данном поле необходимо указать внешний IP-адрес FreePBX. Возможно автоматическое определение через “Detect Network Settings“
- Local Networks – локальные IP-адреса и подсети, с которых регистрируются Ваши VoIP-устройства. Формат: 192.168.1.0/24 или 192.168.1.0/255.255.255.0.
- RTP Port Ranges – Диапазон UDP портов для RTP-трафика (голоса).
- RTP Checksums – Подсчет контрольной суммы для UDP, который использует RTP-трафик.
- Strict RTP – Данная опция позволяет сбрасывать RTP пакеты, которые проходят не в рамках сессии.
- RTP Timeout – Завершение вызова, если нет активности RTP/RTCP пакетов на аудиоканале во время HOLD (удержания вызова) в течение указанного времени (в секундах).
Значение в Asterisk ‘rtptimeout‘. Значение по умолчанию rtptimeout=600.
- RTP Hold Timeout – Завершение вызова, если в течение указанного времени (в секундах) нет активности RTP или RTCP на аудиоканале во время HOLD.
В Asterisk это значение ‘rtpholdtimeout‘. Значение по умолчанию rtpholdtimeout=300.
- RTP Keep Alive – Отправлять сообщение Keep Alive для удержания RTP потока для открытой NAT-сессии в течение периода отсутствия RTP пакетов. Прежде всего актуально для вызовов, которые поставили на удержание.
- MediaTransportSettings
- STUN Server Address – Имя хоста или адрес для сервера STUN, используемого при определении внешнего IP-адреса и порта, по которым можно связаться с сеансом RTP. Номер порта является не обязательным. Если этот параметр опущен, будет использоваться значение по умолчанию – 3478.
- TURN Server Address – Имя хоста или адрес сервера TURN, который будет использоваться в качестве ретранслятора. Номер порта является не обязательным. Если параметр опущен, используется значение по умолчанию – 3478.
Серверы TURN часто требуют аутентификации, поэтому предоставляются опции для настройки имени пользователя и пароля.
turnaddr=4everyseason.turn.org turnusername=relayme turnpassword=please
-
- TURN Server Username – Имя пользователя, используемое для аутентификации на сервере ретрансляции TURN. По умолчанию не используется.
Успешную настройку можно проверить визуально, включив отладку SIP (sip set debug on) в консоли Asterisk и просматривая сообщения INVITE по мере их прохождения.
-
- TURN Server Password – Пароль, используемый для авторизации с сервером ретрансляции TURN. По умолчанию параметр отключен.
- ICE Blacklist: IP Addresses – Подсети для исключения из хоста ICE, Server Reflexive (srflx) и обнаружения ретрансляции. Конечно, параметр полезен, когда для оптимизации процесса ICE, система использует несколько диапазонов адресов и/или физических интерфейсов и некоторые их них не должны использоваться для RTP. Например, VPN и локальные соединения могут не проходить для ICE. Можно перечислить несколько подсетей. Например, если этот параметр не задан, используются все обнаруженные адреса узлов. Формат: [адрес]/[подсеть]. Прежде всего, данная настройка связана с использованием WebRTC.
- ICE Host Candidates: Candidates – Когда Asterisk находится за статическим NAT и используется ICE, тогда ICE будет предоставлять внутренний IP-адрес сервера в качестве одного из кандидатов на хост.
- T38 Pass-Through – Сквозной пропуск факсимильных сообщений (факсов) через FreePBX без дополнительной обработки по протоколу T.38.
- No – выключить сквозной режим.
- Yes – активация сквозного режима коррекции ошибок FEC.
Перезаписывает значения оконечных устройств, согласно которому отправляется факс по протоколу T.38.
-
- Yes with FEC – активация T.38 в режиме коррекции ошибок FEC.
Этот метод позволяет с почти идеальной точностью передать данные, даже если передача осуществляется по каналу с большим количеством шумов.
-
- Yes with Redundancy – активация T.38 в режиме отказоустойчивой коррекции ошибок FEC.
Не стоит забывать про udptl set debug on для режима отладки.
-
- Yes with no error correction – активация T.38 без коррекции ошибок.
- Codecs – Выбор используемых голосовых кодеков с установкой приоритета использования.
- Video Support – Поддержка видео-звонков.
- Video Codecs – Выбор кодеков для видео-звонка.
Вкладка Chan SIP Settings
- NAT Settings
- NAT
- yes – Всегда игнорировать информацию и разрешать NAT.
- no – Использовать NAT только в соответствии с RFC3581.
- never – Отключение использования NAT.
- route – Разрешать NAT без отправки rport.
- IP Configuration
- Public IP – Публичный IP-адрес. Если система его не смогла обнаружить можно указать Static IP.
- Static IP – Статический IP-адрес. Например, если вы используется Dynamic IP – укажите его в соответствующем поле.
- Dynamic IP – Автоматическая настройка внешнего IP-адреса (файл /etc/asterisk/sip_nat.conf).
- NAT
Данный параметр полезен, если у сервера внешний IP адрес динамический.
-
- Dynamic Host – Доменное имя вашего внешнего IP-адреса (например, mydomain.example.ru).
-
Значение в Asterisk ‘domain‘. Например domain=pro-voip.ru
- Dynamic Host Refresh – Параметр в Asterisk – externrefresh. Периодичность поиска и обновления доменного имени вашего хоста (в секундах).
- TLS/SSL/SRTP Settings
- Enable TLS
- Yes – Включение сервера для входящих TLS-соединений.
- No – Отключение сервера для входящих TLS-соединений.
- Certificate Manager – Выбор сертификата, который будет использоваться для транспорта TLS. Данный сертификат настраивается в меню: Admin → Certificate Management.
- SSL Method – Метод транспорта SSL (только TLS). Значение по умолчанию – tlsv1
- Don’t Verify Server – Не требуется проверка сертификата сервера (только TLS).
- Enable TLS
- MEDIA & RTP Settings
- Non-Standart g726 – Согласование аудиосигнала G726-32 с использованием AAL2 вместо RFC3551 (прежде всего это требуется в основном для VoIP-шлюзов Sipura и Grandstream).
- Reinvite Behavior – Опция в Asterisk – directmedia (canreinvite). Опция позволяет перенаправлять поток RTP-данных в случае, если SIP-пир находится не за NAT. Прежде всего опция влияет на потерю звука.
- yes – Разрешить re-INVITE, направляя RTP-трафик по оптимальному пути.
- no – По умолчанию. Все RTP-потоки проходят через Asterisk.
- nonat – Позволяет перенаправлять RTP-трафик, когда отправитель не за NAT.
- update – Использование UPDATE для перенаправления трафика, вместо re-INVITE.
- Notification & MWI
- MWI Polling Freq – Частота проверки (в секундах) изменения состояния MWI (световая или звуковая индикация о наличии голосовых сообщений в почтовом ящике).
- Notify Rinring – Контроль использования подписок на получения звонков других абонентов. Полезно при использовании BLF.
- Notify Hold – Контроль использования подписок на удержании для BLF.
- Registration Settings
-
- Registration Timeout — таймаут регистрации. По умолчанию, равен 20 секундам. Иными словами, каждые 20 секунд будет отправляться запрос на регистрацию, пока не будет превышено максимальное количество попыток.
- Registration Attempts — количество попыток регистрации, после которого сервер примет решение перестать отправлять запросы или нет. Если выставлено как 0, то количество запросов не ограничено. В нормальной ситуации, значение 0 является вполне рабочим – Asterisk будет продолжать посылать запросы на регистрацию до тех пор, пока очередная попытка не увенчается успехом.
- Registration Minimum Expiry — минимальное время, в течение которого сессия регистрации будет считаться просроченной.
-
Соответствует параметру ‘minexpiry’. По умолчанию 60 секунд. Мы рекомендуем устанавливать значение minexpiry=60
- Registration Maximum Expiry — максимальное время, в течение которого сессия регистрации будет считаться просроченной (прежде всего для входящих регистраций).
-
Соответствует параметру ‘maxepiry‘. Значение по умолчанию 3600 секунд. Также рекомендуем оставлять по умолчанию.
- Registration Default Expiry — длительность входящих и исходящих регистраций по умолчанию.
-
- Jitter Buffer Settings
- Enable Jitter Buffer — Опция активирует использование джиттер буффера на принимающей стороне в рамках одного SIP – канала.
- Advanced General Settings
- Default Context — контекст обработки вызова по умолчанию, если не указан иной контекст. Другими словами FreePBX назначает данную опцию как [from-sip-external]. То есть вы вносите изменения только в том случае, если полностью понимаете, что делаете.
- Bind Address — в данном поле указывается IP – адрес, на котором Asterisk будет ожидать запросы на телефонный процессинг, на порту, указанном в опции Bind Port. Если указано как 0.0.0.0, Asterisk будет принимать запросы на всех адресах, указанных в настройках ОС. Рекомендуем оставить эту опцию без изменений. Кстати, chan_sip не поддерживает IPv6 для транспорта UDP. Если укажите [::], Asterisk будет слушать все IPv4 и все IPv6 адреса. Если вы настолько круты, что используйте PJSip, то смело используйте IPv6.
- Bind Port — локальный UDP (и TCP, если включено в опции Enable TCP) порт, на котором Asterisk слушает обращения к chan_SIP. Если оставить поле пустым, то по умолчанию будет использован порт 5161 (5160).
- TLS Bind Address — TCP порт, на котором Asterisk слушает TLS (защищенные) обращения. Конфигурация вида [::], слушает IPv4 и IPv6 на всех интерфейсах.
- TLS Bind Port — локальной порт для входящих TCP обращений в рамках TLS SIP пакетов.
- Enable SRV Lookup — Поиск DNS SRV. Данная опция сильно зависит от используемой версии Asterisk. В корреляции с версией, SRV функционал имеет свои ограничения.
- Enable TCP — включить использование TCP.
- Call Events — важная опция если вы работаете с AMI (Asterisk Manager Interface). При включенной опции, вы также сможете мониторить различные события в AMI, которые генерирует SIP UA (user agent). Тем не менее данный функционал полезен при разработке собственных приложений.
- Other SIP Settings — Остальные параметры SIP, которые не указаны в данных настройках. Используйте эту опцию осторожно, так как FreePBX не проверяет данное поле на наличие ошибок. Формат [настройка]=[значение].
Наша команда разработчиков рекомендует использовать PjSIP во всех разработках, так как протокол SIP считает устаревающим.
Пример: Настройка сервера FreePBX, который использует канал chan_SIP (FreePBX 14 настройка Chan SIP Settings)
Вкладка Chan PjSIP Settings
Во всех проектах мы используем PjSIP, так как он является более гибким в управлении SIP Peers (endpoint)
- Misc PjSip Settings
- Allow Transports Reload – Разрешать перезагрузку транспорта при перезагрузке FreePBX. Другими словами, включение этого параметра не рекомендуется, так как может привести к проблемам с провайдером.
- Show Advanced Settings – Показ дополнительных настроек при создании PjSIP подключения.
- Endpoint Identifier Order -Порядок идентификации конечных SIP-пиров (endpoint). Безусловно, изменение данных параметров требует перезапуск службы.
- TLS/SSL/SRTP Settings – Настройки для использования транспорта TLS.
- Transports – Отображение информации настройки “Allow Transports Reload”.
- udp – Прежде всего для использования UDP для подключений.
- tcp – Прежде всего для использования TCP для подключений.
- tls – Прежде всего для использования TLS подключения endpoint к вашей УАТС.
- ws – Прежде всего, используется для WebRTC, поэтому не забудьте включить.
- wss – Транспорт wss. Например, если используете WebRTC не забудьте включить.
- 0.0.0.0 (udp)
- Port to Listen On – Порт для подключения по протоколу PjSIP
- Domain the transport comes from – Обычно используется с SIP-звонками. Например, user2domain, где domain – это значение этого поля.
- External IP Address – Если значение пусто – то будет использоваться настройки по умолчанию для каждого PjSIP подключения (транка).
- Local network – Вы можете использовать эту настройку для определения дополнительной локальной сети для каждого интерфейса.
FreePBX 14 настройка внутренних номеров
Для создания внутренних номеров используется модуль Applications → Extensions. Также создание внутренних номеров в FreePBX мы описали в отдельной статье:
Настройка SIP-транка
Протокол SIP – Deprecated, поэтому рассмотрим вариант подключения по PjSIP:
Настройка маршрутизации
После этого создадим SIP-транки к провайдеру телефонии, но том же духе необходимо настроить маршрутизацию вызовов. К тому же, пример настройки маршрутизации описана в статье:
FreePBX 14 настройка голосового меню (IVR)
Прежде всего, чтобы организация казалась “приличной” настроим аналогично и голосовое меню для возможности обработки поступающих вызовов. О том как это сделать, мы подобным образом рассказали в статье:
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.