Отладка неисправностей соединения телефонных аппаратов с Asterisk
Введение Внутренний номер не регистрируется. Введение Многие из вас сталкивались с трудностями, которые возникали при работе с астериском. Начиная от подключения внутреннего номера, заканчивая непонятными ошибками в консоли астериска. Обычно в таких ситуациях системные администраторы лезут в гугл, копают тонны информации, в поиске ответа и находят решение собирая по крупицам собранные сведения с разных источников. […]
Введение
Многие из вас сталкивались с трудностями, которые возникали при работе с астериском. Начиная от подключения внутреннего номера, заканчивая непонятными ошибками в консоли астериска. Обычно в таких ситуациях системные администраторы лезут в гугл, копают тонны информации, в поиске ответа и находят решение собирая по крупицам собранные сведения с разных источников. Поэтому была написана статья, в которой будет описаны основные проблемы и подводные камни, а также как обойти их и наладить работу.
Внутренний номер не регистрируется.
Первой темой, которую мы рассмотрим — это будет подключение внутреннего номера. Условно, можно её можно разделить на несколько пунктов:
- Регистрация внутренних номеров
- Доступность внутреннего номера
Начнем с рассмотрения самой распространенной проблемы, а именно с регистрации. Отсутствие регистрации вызвано:
- NAT
- Firewall
- Не верный пароль
- Не верные пермиты
- Не верный транспорт
- Fail2ban
Диагностика NAT: самое простое — это если между регистрируемым устройством и астериском у вас находится NAT устройство. В таком случае на АТС не будут приходить пакеты с запросом регистрации. Чтобы проверить приходят пакеты от устройства или нет, воспользуемся утилитой tcpdump.
# tcpdump -i any -s0 host 192.168.5.104 and port 5060 -nn
![Диагностика регистрации телефонного аппарата с помощью tcpdump](https://voxlink.ru/wp-content/uploads/2020/02/pic1-1.png)
Отладка: проверить настроен ли проброс SIP порта из сети аппарата в сторону сервера телефонии.
![SIP порт](https://voxlink.ru/wp-content/uploads/2020/02/pic2-1.png)
Диагностика Firewall: когда в указанном пункте выше все настроено верно и при запущенном tcpdump вы видите приходящие пакеты REGISTER на порт 5060, но нет ответа на них, как на изображении ниже, то необходимо проверить настроенные привила iptables.
![пакеты REGISTER](https://voxlink.ru/wp-content/uploads/2020/02/pic3-1.png)
Проверить правила можно командой iptables —L —nv. Что здесь может быть:
- Нет правила для порта 5060 UDP/TCP
- Нет разрешающего правила для подсети, откуда происходит регистрация
- Указано запрещающее правило для конкретного IP, как на изображении ниже.
![iptables REJECT](https://voxlink.ru/wp-content/uploads/2020/02/pic4-1-1024x86.png)
Отладка: добавить разрешающее правило для подключаемого IP адреса или добавить разрешающее правило для порта 5060, с ограничением по подключаемых сетей. В нашем примере, смотрим правила цепочки INPUT командой iptables —L —nv —line-numbers. Далее находим строку, где указано запрещающее правило для нашего ip 192.168.170.105, это 3 строка, теперь удалим эту строку командой iptables —D INPUT 3.
# iptables -L -nv –line-numbers
# iptables -D INPUT 3
Диагностика пароля, пермитов и транспорта: после того, как вы поправили правила в iptables, и АТС в ответе на REGISTER направляет 401 Unauthorized, то правила iptables настроены верно, и при этом нет регистрации, т.е. весь «диалог» с АТС заканчивается SIP сообщением 403 Forbidden, значит опять какая-то ошибка. Для этого заходим в консоль астериска командой asterisk -rvvv и при попытке регистрации телефона ожидаем вывод сообщений в консоль. В данном случае мы можем увидеть следующие сообщения:
Не верный пароль
# NOTICE[26204]: chan_sip.c:28691 handle_request_register: Registration from '"737" <sip:[email protected]>' failed for '192.168.170.105:5060' - Wrong password
![Wrong Password](https://voxlink.ru/wp-content/uploads/2020/02/pic5-1-1024x119.png)
Не верные пермиты
# NOTICE[18474]: acl.c:750 ast_apply_acl: SIP Peer ACL: Rejecting '192.168.170.105' due to a failure to pass ACL '(BASELINE)'
# NOTICE[18474]: chan_sip.c:28691 handle_request_register: Registration from '"737" <sip:[email protected]>' failed for '192.168.170.105:59217' - Device does not match ACL
![Wrong permits](https://voxlink.ru/wp-content/uploads/2020/02/pic6-1-1024x62.png)
Не верный транспорт
# ERROR[18580]: chan_sip.c:17801 register_verify: 'TCP' is not a valid transport for '737'. we only use 'UDP'! ending call.
# NOTICE[18580]: chan_sip.c:28691 handle_request_register: Registration from '"737" <sip:[email protected]>' failed for '192.168.170.105:44067' - Device not configured to use this transport type
![Wrong transport](https://voxlink.ru/wp-content/uploads/2020/02/pic7-1-1024x57.png)
Отладка: для исправления ошибок необходимо указать корректный пароль в настройках аппарата или указать правильную подсеть с которой регистрируется аппарат в поле permit в настройках sip.conf, или указать в настройках правильный транспорт используемый для соединения. Транспорт можно посмотреть в настройках sip.conf в параметре transport.
Диагностика Fail2Ban: В случае, если у вас на АТС приходят пакеты REGISTER, но АТС не отвечает, как при проблеме с iptables, а вы уверены, что всё верно, значит ip регистрируемого аппарата попал в БАН. В нашем дистрибутиве надо посмотреть список бана следующей командой — ipset —L. Там есть несколько цепочек, отвечающих за список бана.
- f2b-asterisk-auth — список ip адресов пытавшихся авторизоваться на астериск
- f2b-sshd-auth — список ip адресов пытавшихся авторизоваться по SSH
- f2b-httpd-auth — список ip адресов пытавшихся авторизоваться через Web (включая FreePBX)
![Цепочки бана](https://voxlink.ru/wp-content/uploads/2020/02/pic8-1.png)
Отладка: Если вы нашли свой IP адрес в бане на АТС, в одной из цепочек, разбаньте его командой
# fail2ban-client unban ip 192.168.170.105
![](/wp-content/uploads/2019/05/Screenshot_1-1.png)
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.
Игорь, Большое спасибо!!!
Упоминание в статье про длину паролей (в 10-12 символов) решило ситуацию с регистрацией телефона Yealink W60B.