Телефония для домена

Материал из Webko Wiki
Версия от 13:17, 11 февраля 2016; Sol (обсуждение | вклад) (Новая страница: «Телефония для домена Изучение протокола SIP привело к пониманию того, что он изначальн…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Телефония для домена

Изучение протокола SIP привело к пониманию того, что он изначально поддерживает работу с доменными именами. В частности, достаточно создать DNS записи типа SRV и NAPTR для указания SIP клиентам где искать ваш сервер телефонии. В результате мы получаем возможность заводить пользователей типа [email protected], [email protected], [email protected] и делать звонки напрямую на эти номера. В частности, эти номера могут совпадать с адресом электронной почты.

Бесплатные звонки

Время, когда можно будет позвонить через Интернет любому человеку на его SIP URI номер, так же как и на обычный телефон — еще далеко, но уже сейчас можно получить явные преимущества.

Маркетинговая составляющая: Можно рекламировать свою компанию как максимально нацеленную на контакт с клиентом, и давать им различные способы связи с сотрудниками.

Например, на визитке сотрудника можно указывать контакты для связи по аналогии с e-mail как sip: [email protected]. Бонусом такого звонка будет обход голосового меню, нет необходимости донабора внутреннего номера – сразу соединяетесь с интересующим вас сотрудником — экономите свое время.

Можно совершать звонки на телефон бесплатно прямо с браузера через WebRTC с различных web сервисов — это возможность сэкономить на оплате счетов за телефон горячей линии 8 800. Многим вашим клиентам может быть удобно звонить сразу с компьютера в один клик через гарнитуру, а не набирать номер на мобильнике.

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

Рассмотрим настройку на популярной офисной АТС Asterisk

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

Считаем, что Asterisk уже установлен и настроен для обычных звонков.

Первым делом проверяем, включен ли и настроен брандмауэр на этом сервере. Пример конфигурации для iptables для Debian. Конфигурацию сохраняем в /etc/iptables.up. Загружаем с помощью iptables-restore.

Файл настроек /etc/iptables.up:

*filter 
# Запрещаем принимать все, для чего нет разрешающих правил 
:INPUT DROP 
# Разрешаем пересылку пакетов 
:FORWARD ACCEPT 
# Разрешаем отправку пакетов 
:OUTPUT ACCEPT 

# Разрешаем установленные соединения 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
# Разрешаем локальные соединения 
-A INPUT -i lo -j ACCEPT 
# Отвечаем на ping 
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
# и подключения по SSH 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
# RTP порты для передачи голоса, берем из /etc/asterisk/rtp.conf 
-A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT 
# SIP порт 
-A INPUT -p udp -m udp --dport 5060 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 5060 -j ACCEPT 
COMMIT

По необходимости дописываем правила для таблиц nat и mangle, если сервер используется в качестве шлюза в локальную сеть.

Делаем автозагрузку конфигурации. Для этого в файл /etc/network/interfaces после описания интерфейса добавляем строчку post-up iptables-restore < /etc/iptables.up:

allow-hotplug eth1 
iface eth1 inet dhcp 
        post-up iptables-restore < /etc/iptables.up

Далее настраиваем fail2ban для анализа логов. Рекомендую включить модули SSH и Asterisk. Подробнее настройка описана здесь.

Настройка DNS записей

Для звонков на SIP URI нужно рассказать звонящим вам, где искать сервер телефонии. Для этого используются NAPTR и SRV записи:

Запись NAPTR для домена mysite.ru рассказывает, какие сервисы поддерживаются:

~$ host -t naptr mysite.ru 
mysite.ru has NAPTR record 10 50 "s" "SIP+D2U" "" _sip._udp.mysite.ru. 
mysite.ru has NAPTR record 10 51 "s" "SIP+D2U" "" _sip._udp.second.mysite.ru. 
mysite.ru has NAPTR record 20 50 "s" "SIP+D2T" "" _sip._tcp.mysite.ru. 
mysite.ru has NAPTR record 20 50 "s" "SIPS+D2T" "" _sips._tcp.mysite.ru.

В данном случае для домена mysite.ru определены 4 NAPTR записи.

  • 10 — поле Order — приоритет сервиса. Чем ниже значение, тем выше приоритет.
  • 50 — поле Preference — приоритет правила. Проверяется только для одинаковых значений Order. В данном случае, если клиент поддерживает сервис «SIP+D2U», то сначала будет отправляться запрос к _sip._udp.mysite.ru, если он не доступен — то к _sip._udp.second.mysite.ru
  • «s» — поле Flags. Означает, что используется SRV запись.
  • «SIP+D2U» — поле Service. Протокол, который поддерживается. В данном случае SIP с использованием UDP пакетов. SIP+D2T — для TCP пакетов. SIPS+D2T использовать шифрование TLS поверх TCP пакетов.
  • "" — поле Regexp. Регулярное выражение для извлечения доменного имени. В данном случае пустое.
  • _sip._udp.mysite.ru. — имя SRV записи (сервер, отвечающий за этот тип связи).