artem
04.10.2018
567

PhonerLite. Обзор и настройка.

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

1. Возможности

2. Преднастройка

3. Версия CentOS

4. Версия Asterisk

5. Возможные проблемы при регистрации

6. Пример ошибки SIP Registrations в консоли asterisk

7. Первый способ – iptables

8. Второй способ – через ipset

9. Вам может быть это интересно

Основные характеристики программного телефона и краткое описание:

Внешний вид интерфейса телефона

Этот телефон предназначен для организации аудио вызовов.

Возможности:

  • SIP-агент согласно RFC3261
  • Аудиокодеки: G.711, GSM-FR, Speex. При помощи плагинов: AMR и iLBC
  • DTMF
  • ENUM
  • Преодоление NAT посредством STUN
  • Поддерживает современные методы шифрования

Преднастройка:

Настройка будет производиться на Asterisk 13.18.2 , версия centos 6.9, а в качестве web интерфейса используется FreePBX 13.0.192.19

Если вы не знаете, какая версия CentOS или Asterisk используется у вас, то это можно узнать ниже

Версия CentOS:

Нужно подключиться к АТС через ssh, в нашем случае мы будем использовать программу PuTTY. Подключитесь к IP ATC с помощью PuTTY

PuTTY

Зайдите как root пользователь

Авторизация

И выполните следующую команду cat /etc/redhat-release

Результат выполнения команды 1

Эта команда так же подходить для любого дистрибутива основанного на дистрибутиве RedHat.

Версия Asterisk:

Для того, чтоб узнать версию asterisk, достаточно ввести следующую команду asterisk –rvvv

Результат выполнения команды 2

В дистрибутиве нашей компании используется специальные сокращенные команды и вместо команды «asterisk –rvvv» можете использовать просто «a». В результате выполнения команды вы так же попадете в CLI.

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

Переходим в раздел /usr/src

Результат выполнения команды 3

Теперь нам нужно выгрузить правила в какой-то текстовый файл. В нашем примере это будет файл под названием «dd».Выгружаем наши правила с помощью следующей команды

iptables-save > dd

Выгружаем правила iptables

Перед тем как править iptables рекомендуется на всякий случай создать дамп старых правил и назвать его, к примеру, dump_21_05_2018, это позволит в случае ошибки быстро откатиться к старым правилам

После чего откройте любым удобным для вас текстовым редактором файл «dd». В нашем случае мы будем использовать текстовый редактор nano.

Nano

Прописываем ip-адрес оператора

ip-адрес 1

И теперь выходим командой CTRL+C и не забываем сохранить настройки кнопкой «Y»

ip-адрес 2

Все. Файлик мы изменили и подготовили, теперь осталось его загрузить. Выполняется это следующей командой: iptables-restore < dd

ip-адрес 3

Теперь, чтоб после перезагрузки АТС не сбились настройки нужно сохранить изменённый iptables. Выполняем команду «service iptables save».

ip-адрес сохраняем изменения

И так, если вы все сделали правильно, то в списке разрешенных адресов окажется необходимый нам ip. Это можно проверить с помощью команды iptables –L -nv

ip-адрес проверяем, что все получилось

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

Стоит отметить, что если вы используете наш дистрибутив, то для изменения iptables лучше всего использовать наш скрипт fw_iptables.sh который в случае потери доступа к станции через 120 секунд восстанавливает настройки iptables по умолчанию.

Так же для работы корректной работы нужно чтоб на сетевом оборудовании и в iptables были открыты следующие порты:

5060 udp Порт получения телефонной сигнализации модулем chan_PJSIP

5061 tcp Порт получения защищенной телефонной сигнализации модулем chan_PJSIP

10000-20000 udp – Получение RTP потока в рамках SIP сессии (Стандартно для FreePBX distro)

В дистрибутиве который предоставляет наша компания для rtp используется следующий диапазон портов 36600-39989 . Учитывайте это, если вы используете наш дистрибутив.

Перечисленные выше порты можно изменить в рамках графического интерфейса FreePBX в модуле Sip settings

IP route (не обязательный пункт):

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

Посмотреть действующие маршруты на АТС можно с помощью команды

# ip route

Дополнительно. Проверка маршрутов

Чтоб добавить новый маршрут нужно прописать ip-адрес оператора и шлюз

Дополнительно. Добавление нового маршрута 1

Рекомендуется сначала добавлять временные маршруты т.к в случае ошибки может нарушиться работа АТС и/или вы потеряете доступ к станции. Однако, после перезагрузки АТС или же сетевого интерфейса (команда # service network restart ) эти правила сбросятся.

Чтоб маршруты сохранялись нужно прописать адрес в файл в route-eth0 который находится по следующему пути: /etc/sysconfig/network-scripts/route-eth0 . Как и ранее открываем этот файл с помощью nano.

Дополнительно. Добавление нового маршрута 2

В следующем формате:

ADDRESS=80.246.247.97

NETMASK=255.255.255.255

GATEWAY=10.20.0.3

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

# ip route

Настройка: Установку Phone будем проводить на Microsoft Windows 7. Данный программный телефон можно скачать с официального сайта разработчика по следующей ссылке: http://www.phoner.de

Сайт разработчика

Переходим во вкладку Download

Вкладка Download

На этой вкладке можно посмотреть историю изменений программы и скачать на выбор несколько версий. К примеру, давайте скачаем портативную версию которая не требует установки.

Скачиваем портативную версию

Распаковываем архив любым удобным вам способом в любую папку

Для распаковки данного архива более чем достаточно будет использовать свободный файловый архиватор 7zip, который можно скачать бесплатно с сайта автора https://www.7-zip.org/

Открываем папку и запускаем программу

Интерфейс программы

Начинаем настройку. Нажмите на «микросхему» выделенную красным

Переход 1

Выбираем SIP

SIP

Теперь вновь нажимаем на микросхему

Переход 2

И попадаем в настройки

Пустые настройки

Для успешно регистрации достаточно указать следующие параметры:

Username: Здесь указываем ваш sip-номер, он совпадает с внутренним sip-номером пользователя.

Phone number: Аналогично первому пункту

Proxy/Registrar: IP вашей АТС

Local port: Указываем порт (если вы используете стандартный порт то тут ничего менять не нужно)

Preferred connection type: Указываем тип подключения

Displayed name: Отображаемое имя (Не обязательный пункт, но желательный)

Заполняйте по аналогии ниже и не забудьте поставить галочку в чек-боксе рядом с Register.

Полный настройки

Нажимаете ОК. Все. Если вы все сделали правильно, то статус будет «зеленым», а вы сможете совершить звонок. К примеру, на свой мобильный.

Есть проблемы с регистрацией? Тогда переходите в следующую главу.

Возможные проблемы при регистрации:

Самые распространенные проблемы, с которыми вы можете столкнуться при регистрации любого IP-телефона или софтфона – самые банальные. Чаще всего это неправильный или слишком длинный пароль.

Некоторые модели телефонов и софтфонов не поддерживают пароли длиннее 10-12 символов (К примеру, некоторые модели телефонов granstream страдают от этого), учитывайте этот момент при регистрации нового телефона. Учитывайте, что случайный пробел так же может быть воспринят системой как символ и связи с этим регистрация не пройдет

Делайте пароль не длиннее 10-12 символов. Так же по поводу символов, в большинстве случаев телефонные аппараты не поддерживают спец.символы (@#$%^~ и.т.д) и лучше их не использовать при составлении/генерации пароля.

Для дебга выполните вход в консоль asterisk.

Чтоб зайти в консоль asterisk в дистрибутиве от нашей компании достаточно выполнить команду из одного символа «a». Если вы используете обычный FreePBX Distro и его производные, то команда имеет следующий вид: # rasterisk или # asterisk -rvvvvv. Ключ -rvvvvv отвечает за уровень отображения дебага.

Пример ошибки SIP Registrations в консоли asterisk:

Обычно, при неправильно введенном пароле (или логине) всплывает следующая ошибка в консоли:

Пример ошибки 1

Так же учтите, что после 3-4 попыток регистрации с неправильным паролем IP-адрес телефона может быть внесен в список банов. Если после нескольких попыток с неправильной регистрацией в консоль ничего не падает, то следует проверить список банов. В нашем дистрибутиве, в зависимости от настроек можно проверить двумя следующими способами:

Первый способ – iptables:

iptables -L –nv (если вы так же хотите посмотреть используются ли нестандартные порты то введите #iptables -L -nv -t nat )

Список банов ip телефонов можно посмотреть в разделе Fail2ban-SIP

Второй способ – через ipset:

Если через iptables не удалось проверить список банов, то используйте следующую команду:

# ipset –L

В обоих случаях для разбана можете использовать следующую команду:

# service fail2ban restart

Вторая распространенная проблема – deny и permit указанные в asterisk. Если телефон попробует зарегистрироваться из сети, которая не включена в список разрешенных сетей, то будет примерно следующая ошибка:

Пример ошибки 2

Если телефон не регистрируется и запрос на регистрацию не падает в консоль asterisk, то следует проверить настройки firewall. К примеру, чтоб разрешить из какой-то сети подключаться по SIP (в том числе и провайдерам) в нашем дистрибутиве мы используем iptables. Предположим, что нам нужно разрешить доступ для подключения SIP-телефонов из под сети 192.168.12.0. Будем править выгрузкой правил iptables.

Подключаемся по ssh

Подключаемся по ssh к станции, вводим логин root и ваш пароль

Стартовый экран

Мы попали на стартовый «экран», с основной информацией о системе. Перед всеми манипуляциями необходимо сделать дамп правил.

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

Переходим в папку

Переходим в папку src с помощью команды cd /usr/src

Создаем дамп

Выгружаем правила при помощи следующей команды iptables-save > dump

Проверяем наличие дампа

Проверим, появился ли файлик с сохраненными правилами при помощи команды ls –l . Как видно на скриншоте выше – файлик успешно создан. Можем приступать к редактированию правил. Аналогичным образом выгружаем правиал еще раз, но на этот раз имя файла будет не dump, а предположим «dd».

Открываем файлик

Теперь открываем созданный файлик любым текстовым редактором. К примеру, я буду использовать nano.

Текстовый редактор nano не является стандартным в Centos и прежде чем его использовать – его нужно установить. Его можно установить, выполнив следующую команду: yum install nano

Iptables 1

Зашли, спускаемся к цепочке -A SIP -j PHONES и прописываем следующее: -A SIP -s 192.168.12.0/24 -j ACCEPT

Iptables 2

Прописали. Теперь осталось сохранить.

Iptables 3

Нажмите CTRL + X

Iptables 4

Y, а затем Enter.

#iptables-restore < dd
#service iptables save
#service iptables restart.

Проверить правила можно с помощью iptables –L –nv, которая выведет все действующие правила.

Так же бывает проблема с удаленными сотрудниками в виде подвисших NAT-сессий. Для устранения нужно либо удалить подвисшую nat-сессию, либо перезагрузить роутер, либо использовать другой протокол (если по каким-то причинам в данный момент нет возможности перезагрузить роутер или же удалить подвисшую сессию) к примеру, с udp на tcp. Так же проверьте правильность настроек NAT на телефоне и на пире, а так же протокол передачи. В обоих случаях они должны быть идентичны. Если на пире будет выставлен tcp, а телефон будет пытаться подключиться через udp, то такую попытку регистрации сервер отобьет.

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

Настройка файрвола на маршрутизаторах Mikrotik (ссылка на нашу статью https://voxlink.ru/kb/voip-devices-configuration/mikrotik-firewall/)

Настройка маршрутизатора Mikrotik (ссылка на нашу статью https://voxlink.ru/kb/voip-devices-configuration/mikrotik-config/)

Резервирование интернет-канала на маршрутизаторах Mikrotik (ссылка на нашу статью https://voxlink.ru/kb/voip-devices-configuration/mikrotik-rezerving/)

Настройка приоритезации VoIP-трафика на маршрутизаторах Mikrotik ( https://voxlink.ru/kb/voip-devices-configuration/mikrotik-voip-traffic-configuration/)

Правильная настройка маршрутизатора позволит избежать множества проблем с регистрацией ip-телефонов и софтфонов.

Вам может быть это интересно:

На смартфонах, основанных, на ОС андроид начиная с 4 версии есть встроенный voip-клиент по умолчанию. О настройке встроенного клиента для IP-ATC Asterisk вы можете в нашей статье «Настройка SIP-клиента для Android 4 и выше» (ссылка на наш сайт https://voxlink.ru/kb/ip-phones-configuration/iphone/nastrojka-sip-klienta-dlya-android/ )

 
avatar
  Подписаться  
Уведомление о

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

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

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

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

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

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices