Как стать автором
Обновить
70.05
Voximplant
Облачная платформа голосовой и видеотелефонии

SIP-регистрация, транк, софтфон и другие страшные слова облачных АТС

Время на прочтение4 мин
Количество просмотров46K
Айти — необъятная отрасль знаний. Бывает, что пятнадцать лет делаешь разный софт, под разные операционки, на разных языках программирования. Вроде много всего знаешь. А потом шаг в сторону — а там Нарния SIP, RTP, SDP и PBX. Последние несколько месяцев я плотно занимаюсь голосовой телефонией и периодически ловлю себя на мысли, что для новичков эта область документирована не особо хорошо. Ну а если по какой-то теме еще не написано десять статей “xxx с нуля”, то это прекрасный повод написать Хабрапост для широкого круга читателей. Сегодня я расскажу небольшую, но интересную часть теорикрафта: как облачные системы телефонии взаимодействуют друг с другом и с телекомами. На примере VoxImplant, конечно же.



Немного о SIP




Основная часть взаимодействия происходит через связку протоколов и стандартов, условно называемых SIP-телефонией. Протокол SIP похож на HTTP: тот же plain text, заголовки, тела запросов, ответы. Но вместо запроса веб-страниц, протокол SIP контролирует голосовые и видеозвонки. Несмотря на 200-страничный RFC, сам протокол весьма лаконичный: он позволяет участникам регистрировать “телефоны”, инициировать звонок, отвечать на него и завершать звонок, а также предлагает несколько сервисных функций. Остальное выполняется через другие протоколы: параметры звонка передаются в теле SIP-сообщений, но кодированы они по протоколу SDP; cам звонок осуществляется по протоколу RTP или в шифрованном виде по SRTP.

SIP-транк




Наиболее простой вариант взаимодействия, широко применяемый телекомами, — это транк. Вообще SIP trunking — это подключение абонентов не по телефонному кабелю, а через интернет по протоколу SIP. Но этот термин прижился и для коммуникаций типа “телеком-телеком” или “телеком-облако”. В создании транка участвуют обе взаимодействующие стороны. Вначале IP-адреса телекома добавляются в белый список на стороне облака VoxImplant: это позволит телекому совершать SIP-звонки к облаку без авторизации. Затем клиент связывается с телекомом и информирует его, что входящие звонки необходимо “приземлять” в облако. При этом используется SIP URI, соответствующий аккаунту и приложению пользователя, которое с помощью JavaScript-кода информирует облако, что с этими звонками делать дальше.

username@appname.accountname.voximplant.com


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

SIP-регистрация




Если транк — это подключение от телекома в облако, то SIP-регистрация подключается в обратном направлении. Протокол SIP использует сообщение REGISTER, которое информирует сервер о том, что некое абонентское устройство (например, софтфон — программная реализация SIP-клиента) готово принимать звонки. Чтобы облако могло выступать в роли такого устройства, клиенту необходимо получить у телекома SIP-адреса, логины и пароли для своих номеров и добавить эту информацию в админку VoxImpant.

В противоположность транку, SIP-регистрация работает в обе стороны: имея логины и пароли, облако как принимает, так и совершает звонки по указанным номерам. Важное концептуальное отличие заключается в том, что SIP-регистрация — это часть протокола SIP (регулярно отправляемое сообщение REGISTER), в то время как транк — это просто практика использования SIP-решений.

Пример SIP-регистрации VoxImplant в Mango Office




Голая теория без практики мертва, поэтому в качестве примера я покажу, как подключить к VoxImplant номера телефонов популярного облачного решения Mango Office. Первое, что нужно сделать, — это получить SIP-информацию о номерах, которая доступна в разделе Сотрудники и группы в личном кабинете Mango Office, как описано в этой инструкции.

Затем эту информацию необходимо добавить в админку VoxImplant (см. рисунок выше).
После выполнения этих несложных действий звонки на телефоны Mango Office будут автоматически попадать в облако VoxImplant, где с помощью JavaScript с ними можно сделать все, что угодно.

Пример SIP-транка из Asterisk в VoxImplant



Более сложный пример — это настройка транка от Asterisk к облаку VoxImplant. Со стороны нашего облака нужно всего лишь добавить IP-адреса Asterisk в белый список (см. рисунок выше). А вот со стороны Asterisk конфигурация транка выглядит следующим образом:

[voximplant]
type=friend
host=testapp.testuser.voximplant.com
secret=asterisk-pass-for-vox
fromdomain=testapp.testuser.voximplant.com
fromuser=asterisk
remotesecret=vox-pass-for-asterisk


А в чем разница?



Учитывая возможность подстановки номера, с точки зрения клиента SIP-регистрация ничем не отличается от транка. Однако сотрудники телекомов не всегда готовы настраивать транк, а для многих облачных АТС это в принципе технически не предусмотрено. При этом SIP-регистрация позволяет интегрироваться с любым SIP-совместимым сервисом, будь то крупный провайдер телекоммуникационных услуг, инсталляция Asterisk или закрытый облачный сервис.

В рамках нашего блога я стараюсь не только рекламировать VoxImplant, но и рассказывать полезные и интересные вещи про облачную телефонию. Если ваш зоркий глаз углядел в изложенном материале откровенную лажу или спорную неточность, не стесняйтесь писать мне в личку. Все оперативно исправляется и приносит пользу тем, кто приходит на Хабр из поиска. И да, с прошедшим днем сисадмина всех :).
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 12: ↑11 и ↓1+10
Комментарии10

Публикации

Информация

Сайт
www.voximplant.com
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия