Новые строительные блоки телефонии: IP, SIP и ENUM

Стремительное развитие Интернета существенным образом затронуло многие отрасли, но в большей степени - отрасль телекоммуникаций. Сегодня Интернет есть и в офисе, и дома, и на мобильных устройствах, обеспечивая доступ к различным услугам и приложениям, в том числе и к до недавнего времени эксклюзивно предлагаемым телефонными компаниями. Речь идет о телефонных звонках. Компании, как например, Skype, предлагают голосовую связь в виде так называемых OTT-услуг (от over the top - через верх), минуя телефонного оператора.

В то же время эволюция телефонных сетей также не стоит на месте. Технология IP все больше применяется для передачи данных и голосового трафика. Например, архитектура сетей нового поколения LTE ( Long Term Evolution, см., например, http://habrahabr.ru/company/megafon/blog/154153/ ) полностью основана на IP. Соответственно, для сигнализации и маршрутизации звонков используются протоколы, разработанные в IETF (Internet Engineering Task Force, www.ietf.org) для Интернет-телефонии. Ключевыми здесь являются SIP и ENUM. С ними я и попробую познакомить вас поближе в этой статье.

Итак, начнем с ENUM. То там, то здесь время от времени возникает некоторый ажиотаж вокруг ENUM, потом, вроде бы все стихает, пока не возобновится опять. Что это - технология будущей телефонии, глобальная база универсальных идентификаторов, или один из протоколов, который с трудом приживается в Интернете?

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

Отсюда, в частности, следует одна важная функция ENUM - интеграция традиционной телефонии с телефонией нового поколения, построенной на базе IP - Voice over IP или VoIP. Обычно, если в качестве инфраструктуры передачи данных используется Интернет, то говорят об Интернет-телефонии, если же подразумевается использование протоколов TCP/IP на выделенных каналах - речь идет об IP-телефонии. Хотя в этой статье мы в основном будем говорить об Интернет-телефонии, ENUM как технология и как система играет важную роль в обеспечении моста между телефонными и VoIP сетями, независимо от инфраструктуры.

Прежде чем продолжить разговор о ENUM, давайте поговорим о том, что же такое VoIP.

Архитектура и технологии IP-телефонии

Использование Интернета для обеспечения голосовой связи весьма привлекательно. По-существу, звонок становится бесплатным, или, по крайней мере, местным. Для многих пользователей Интернета пропускная способность их подключения является вполне достаточной для просмотра видео, не говоря о гораздо менее требовательной передаче голоса[1]. Показательным в этом смысле является график роста международных разговорных минут и т.н. Скайп-эффект, рисунок 1.

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

Рис. 1. Тенденция роста международных звонков и минут.
Источник: http://www.telegeography.com/research-services/telegeography-report-database/index.html

Рассмотрим архитектуру IP-телефонии более подробно.

Первой задачей, с которой мы столкнёмся в Интернет-телефонии, является определение номера абонента. В традиционной телефонии это телефонный номер, в электронной почте - почтовый адрес, в Скайпе - идентификатор пользователя. В большинстве случаев, звонящий узнает этот адрес либо непосредственно от абонента, либо с использованием какой-либо поисковой функции, будь это Желтые Страницы, директория Скайп или Google.

Следующей задачей является поддержка мобильности - пользователь может быть доступен с различных устройств в различных сетях.

Наконец, как и в традиционных телефонных сетях, прежде чем разговор может состояться, необходимо установить соединение между абонентами. Помимо прочего, в процессе установления связи должно быть определено, находится ли абонент онлайн и в какой сети, а точнее какой его IP-адрес, а также достигнуто соглашение об используемом варианте оцифровки речи, или, другими словами, об используемом кодеке. Для этого используется сигнальный протокол. В IP-телефонии применяются два основных протокола - SIP - Session Initiation Protocol (http://ru.wikipedia.org/wiki/SIP) и H.323 (http://ru.wikipedia.org/wiki/H.323). SIP является наиболее распространенным, в частности, в архитектуре IMS он принят в качестве сигнального протокола. В отличие от традиционных телефонных сетей, которые используют для этого сигнализацию SS7, эти протоколы не осуществляют "маршрутизацию" звонка и резервирование канала.

Для того, чтобы лучше представить это различие, посмотрим как происходит установление связи и передача данных - собственно разговор, в Интернет-телефонии.

Нервная система VoIP - сигнальный протокол SIP

SIP отвечает за процесс установления и завершения связи. Работа над этим протоколом в IETF началась в 1995 году, первая спецификация была выпущена в 1999, обновленная и откорректированная версия - в 2002. Протокол SIP используется для установления и управления соединением между абонентами, находящихся в различных сетях. Для собственно передачи данных - голоса и видео - используется другой протокол, RTP (Real-time Transport Protocol, http://ru.wikipedia.org/wiki/RTP), разработанный еще в 1996 году. Модель SIP была основана на стандартной архитектуре Интернета - прозрачная сеть и "умные" конечные устройства.

Принято считать, что SIP основывается на двух наиболее успешных протоколах Интернета - HTTP и SMTP. От HTTP протокол взял формат сообщений и кодов ответов, от SMTP - общую архитектуру, разделяющую клиентов и посредников, т.н. прокси-серверов, а также адресацию, напоминающую адреса электронной почты.

Архитектура SIP включает следующие основные компоненты:

·          Пользовательский агент. Пользовательским агентом может быть и программа на компьютере, т.н. софтфон, так и отдельное устройство - SIP-фон. Пользовательский агент инициирует запросы SIP и отвечает на приходящие запросы. С точки зрения пользователя, SIP-фон не отличается от обычного телефонного аппарата, но архитектурные различия громадны. Вся функциональность, требуемая для создания соединения и обмена мультимедийными данными (например, собственно разговор), сосредоточена на конечных устройствах. Другие компоненты, которые я опишу ниже, предназначены для удобства использования услуги и дополнительной функциональности.

·          Прокси-сервер. Как и в случае с системой электронной почты, конечные пользователи редко непосредственно взаимодействуют друг с другом. Как правило их взаимодействие ограничивается обменом сообщением с посредником - в случае e-mail это почтовый сервер, а в случае SIP - прокси-сервер, который берет на себя задачу доставки сообщений конечному адресату. Например, прокси-сервер определяет местонахождение адресата, находится ли он он-лайн, включена ли переадресация вызовов и т.п. При этом прокси-сервер взаимодействует как с прокси-сервером домена адресата (если адресат находится в другом домене), так и с другими системами  - регистрационной базой данных и системой DNS.

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

Чтобы проиллюстрировать, как работает SIP, предположим, что Борис, SIP-адрес которого boris@netheads.com хочет позвонить Антону, который является клиентом другого SIP-провайдера cheapcalls.com. Этот процесс схематично представлен на рисунке. 2.


Рис. 2. Процесс установления и завершения соединения в протоколе SIP

Борис набирает адрес anton@cheapcalls.com в своем SIP-приложении (софтфоне) и тем самым генерирует запрос INVITE, который направляется прокси-серверу VoIP-провайдера Бориса - proxy.netheads.com. Этот запрос, в частности, содержит тип и параметры передачи медиа-потока (например, аудио или видео).

Поскольку Антон является пользователем другого провайдера, прокси-сервер сначала делает запрос в системе DNS, чтобы определить дальнейшую маршрутизацию звонка. Для этого он запрашивает DNS запись SRV (http://ru.wikipedia.org/wiki/SRV-запись) для _sip._tcp.cheapcalls.com и в качестве ответа получает имя прокси-сервера провайдера Антона proxy.cheapcalls.com. Туда он и направляет запрос INVITE.

При получении этого запроса proxy.cheapcalls.com проверит где и с каким устройством зарегистрировался пользователь anton и посылает запрос соответствующему приложению - пользовательскому агенту. Агент, в нашем примере - это SIP-телефон, начинает звонить. Борис при этом услышит гудки ожидания.

Когда Антон снимет трубку, подтверждающие сообщения ACK отправляются по цепочке обратно Борису, пользовательский агент которого создает прямой канал передачи голосовых данных на основе протокола RTP.

По завершению разговора Антон вешает трубку, тем самым генерируя сообщение BYE, которое передается непосредственно приложению Бориса. После подтверждения сеанс успешно завершается.

Как мы видим, протокол SIP используется только для маршрутизации звонка, создания канала и завершения сеанса. Собственно передача данных (телефонный разговор, видеоконференция и т.п.) происходит непосредственно между приложениями (пользовательскими агентами) Бориса и Антона.

ENUM - система и технология

Пользовательский ENUM

Интернет и технологии голосовой связи, включая сигнальные протоколы (SIP), протоколы передачи данных реального времени (RTP), открывают существенные возможности для провайдеров "нетрадиционной" голосовой связи. Однако для того, чтобы сделать Интернет-телефонию действительно пригодной для использования, необходимо обеспечить возможность связи абонентов VoIP с абонентами традиционных телефонных сетей (фиксированной и мобильной связи). Только тогда Интернет-телефония сможет полностью реализовать свой потенциал - обход дорогостоящих участков (например, международных каналов) с помощью интернет-технологий, в то же время обеспечивая глобальную связность.

Поскольку система сигнализации и голосовой связи для сетей VoIP и обычных телефонных существенно различаются, для их стыковки необходимы т.н. медиа-шлюзы (media gateways), обеспечивающие необходимую трансляцию. Также необходимо состыковать различные системы адресации, например SIP-идентификаторы и обычные телефонные номера, официально называемые E.164 по номеру Рекомендации МСЭ-Т, описывающей международный номерной план.

Каждый из нас имеет телефонный номер, не правда ли? Некоторые даже не один. Было бы здорово обеспечить трансляцию этого телефонного номера в адрес SIP, тогда Антон, набирая телефонный номер Бориса мог бы связаться с ним, используя VoIP. Либо через медиа-шлюз телефонного оператора Антона, либо непосредственно через Интернет, если и Антон и Борис подключены к сети и используют т.н. софтфоны.

В этом, собственно, и заключается задача ENUM.

Как работает ENUM

 

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

Чтобы наиболее общим образом отобразить телефонный номер и его иерархическую структуру (код страны, код оператора или области и т.д.) в DNS, было предложено представить каждую цифру номера в качестве отдельного компонента имени, разделенного точкой. Также, поскольку в DNS чем более специфичен компонент имени, тем левее он расположен (например, в имени example.com example более специфичен), цифры расположены в обратном порядке. Наконец, это пространство имен было предложено разметить в специальном домене E164, являющемся дочерним доменом ARPA.

Так, например, телефонный номер +31 654321012, будет преобразован в следующее DNS-имя: 2.1.0.1.2.3.4.5.6.1.3.e164.arpa.

Как работает ENUM проиллюстрировано на рисунке 3.

Допустим, телефонный провайдер Антона, "Cheapcalls.com", для уменьшения затрат использует шлюз в Интернет (т.н. медиа-шлюз) и маршрутизирует телефонные звонки через Сеть, когда это возможно.


Рис. 3. Архитектура и работа ENUM

Естественно предположить, что при маршрутизации звонка Борису, cheapcalls.com проверит, доступен ли Борис онлайн, с использованием VoIP через Интернет. Для этого провайдер делает запрос DNS на запись NAPTR для имени 2.1.0.1.2.3.4.5.6.1.3.e164.arpa. Если запись для телефонного номера Бориса существует, провайдер сможет получить онлайн идентификатор Бориса, например его SIP-адрес - boris@netheads.com.

На самом деле, Борис может зарегистрировать не один а несколько собственных идентификаторов, т.н. Унифицированных Идентификаторов Ресурсов (URI, Uniform Resource Identifiers) (http://ru.wikipedia.org/wiki/URI), - SIP-адрес, адрес электронной почты, идентификатор системы мгновенного обмена сообщениями. В зависимости от приложения будет выбран соответствующий URI. Например, сообщения SMS Борис может предпочесть получать по электронной почте.

Итак, зная SIP-адрес Бориса, провайдер Антона может проверить, находится ли Борис онлайн, и "позвонить" ему, используя SIP.

Пользовательский ENUM - утраченные иллюзии

Действительно, казалось бы, ENUM не только позволяет перевести телефонные звонки в русло VoIP с использованием дешевой инфраструктуры Интернета, ENUM также предлагает уникальную возможность объединить различные идентификаторы пользователя, используемые в разнородных системах, в единый идентификатор - телефонный номер абонента. Как мы только что увидели, в зависимости от используемого приложения этот номер может быть транслирован в адрес электронной почты, идентификатор мгновенного обмена сообщениями, SIP-адрес для VoIP-звонков.

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

Рассмотрим эти факторы более внимательно.

Начнем с вопроса, кто должен отвечать за создание записей ENUM? Логично предположить, что код страны в ENUM должен быть делегирован национальной администрации (или организации, указанной администрацией). Далее, каждый телефонный оператор получит свою часть «национального дерева» ENUM путём делегирования соответствующих блоков номеров. Для своих абонентов оператор предоставит возможность создания соответствующих записей, связанных с телефонным номером абонента - адреса SIP, электронной почты, XMPP, веба.

Здесь мы сразу сталкиваемся с двумя проблемами. Во-первых, делегирование блоков номеров не всегда соответствует естественным границам делегирования в DNS (в данном случае - на границе тысяч, десятков тысяч, сотен тысяч и т.д.). Результатом может быть необходимость делегирования достаточного числа дочерних зон DNS.

Вторая проблема более существенна. Заметим, что в нашем примере оператор Сheapcalls.com использует преимущества Интернета и ENUM без необходимости регистрировать в DNS телефонные номера своих абонентов. Более того, такая регистрация противоречит его бизнес интересам. Дело в том, что источниками дохода телефонного оператора является плата, которую он получает от своих абонентов, а также доходы от принятия вызовов и завершения звонков абонентов других сетей, когда кто-то звонит его абонентам (т.н. принцип "Вызывающая сторона платит", "Calling Party Pays, CPP"). Публикация номеров абонентов в ENUM позволит другим операторам избежать расходов на завершение звонков, и лишит cheapcalls.com одного из источников дохода. Другими словами, для телефонных операторов, будь то традиционные телефонисты или провайдеры VoIP, ENUM скорее представляет угрозу, чем привлекательное решение.

Другая альтернатива наполнения зон ENUM основана на чисто доменном подходе. По-существу, ENUM является полноценной ветвью глобальной системы DNS и создание записи ENUM мало отличается от регистрации доменного имени. С той лишь разницей, что только абонент - держатель телефонного номера - может зарегистрировать соответствующий ENUM-домен. Такая модель, например, принята в Германии, где регистраторы, обслуживающие зону .9.4.e164.arpa., производят необходимые проверки правомерности запроса (http://www.denic.de/en/enum/registration-and-update.html).

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

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

Инфраструктурный ENUM

Суть инфраструктурного ENUM, или I-ENUM, заключается в следующем. В отличие от обычного ENUM,  где пользователями являются индивидуальные держатели телефонных номеров, пользователями инфраструктурного ENUM являются провайдеры VoIP-телефонии. Соответственно в DNS регистрируются не отдельные номера, а блоки номеров, принадлежащих операторам. С этими блоками номеров операторы могут ассоциировать информацию, необходимую для завершения звонков в их сети. Другие операторы могут использовать эту информацию для оптимизации маршрутизации звонком, например, для обхода дорогостоящих традиционных транзитных телефонных операторов.

Рисунок 4 иллюстрирует работу I-ENUM. Как видно из схемы, местные телефонные операторы могут существенно сократить затраты на межоператорские (международные) звонки, исключив посредников - транзитных телефонных операторов.

Здесь стоит сделать несколько замечаний. Во-первых, на рисунке для обмена данными между операторами используется Интернет. Хотя Интернет не обеспечивает гарантированного качества передачи, правильный выбор транзитного Интернет-сервис провайдера с достаточной полосой пропускания позволит избежать перегрузок. Альтернативой является использование выделенных каналов, но при этом обмен трафиком целесообразно организовать в точке обмена.

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

Однако вернемся к I-ENUM.


Рис. 4 Применение I-ENUM для маршрутизации голосового трафика между операторами

Основной проблемой этого подхода является вопрос о том, где производить регистрацию. Поскольку ветвь e164.arpa. уже используется для пользовательского ENUM, объединение этих двух подходов затруднительно - в первом случае записи в зоне контролирует пользователь-владелец телефонного номера, во-втором - оператор. Существует разные предложения, как разрешить это противоречие. Например, через создание параллельной ветви I-ENUM, независимой от пользовательского ENUM (RFC5526, http://datatracker.ietf.org/doc/rfc5526) или путем комбинирования записей (RFC5527, http://datatracker.ietf.org/doc/rfc5527). Окончательное решение так и не было принято.

Но здесь возникает более общий вопрос - зачем для решения задачи связности и маршрутизации звонков между операторами нужен публичный инфраструктурный ENUM? Использование протоколов DNS и ENUM в закрытом варианте позволят избежать проблем, связанных с регистрацией, доступом и отчасти с совместимостью, и в то же время решить поставленную задачу.

Использование ENUM для обеспечения переносимости номеров

В закрытом варианте ENUM представляет собой привлекательную технологию для операторов VoIP[2] для маршрутизации звонков и, в том числе, и для решения задач переносимости номеров.

В этом случае зона ENUM содержит блоки номеров операторов, участвующих в обмене трафиком, и выполняет две функции: роль таблицы маршрутизации звонков и базы данных переносимых номеров.

Для поддержки переносимости номеров используются различные схемы маршрутизации. Например, при использовании схемы CD (Call Dropback) звонки направляются по стандартному маршруту. Принимающий оператор-донор[3] проверяет принадлежность номера, и если номер перенесён, то сообщает новый маршрут до него. Для этого используется локальная база данных.

В случае использования схемы QoR (Query on Release) звонки направляются по стандартному маршруту. Принимающий оператор-донор либо принимает вызов, либо сообщает, что номер был перенесён, и тогда делается запрос в центральную базу данных.

Наконец, в схеме ACQ (All Call Query) центральная база данных опрашивается при каждом звонке.

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

Такая схема может быть эффективно реализована в рамках точки пирингового обмена, в случае когда используется выделенная IP-инфраструктура, или просто между кооперирующимися провайдерами, если средой обмена трафиком является Интернет.

Заключение

 

Ограничения традиционной архитектуры телефонных сетей, основанной на иерархической маршрутизации, сигнальной системе SS7 и системе коммутации каналов, очевидны. Услуги доступа в Интернет постепенно вытесняют услуги чисто голосовой связи на фоне усиливающейся конкуренции со стороны так называемых провайдеров OTT-услуг (например, Скайп).

С другой стороны, использование единой технологии для передачи данных и голоса, основанной на IP и открытых стандартах IETF, несет существенные преимущества как в плане сокращения расходов, так и в плане лучшей интеграции с Интернетом.

Минуты превращаются в биты в секунду. Расстояние не имеет значения. Голосовая связь становится одной из "apps". Это - ближайшее будущее телефонии.

 

Андрей Робачевский

Мнения, представленные в статье, не обязательно отражают официальную позицию ISOC

 



[1]  В зависимости от используемого кодека требуемая полоса пропускания варьируется от 17 до 80Кбит/с.

[2]  Замечу, что растущее число операторов мобильной связи могут быть причислены к этой категории

[3]  Оператор, изначально выдавший телефонный номер, используемой в другой сети (перенесенный номер)