0
Рейтинг

Децентрализованный мессенджер и телефонная сеть нового поколения

Блог компании Mobile OneIT-инфраструктураAsteriskРазработка систем связиСтандарты связи


Каждый раз, когда появляется статья про какой-нибудь новый мессенджер, большинство пользователей Хабра в комментариях интересуются — централизованный или децентрализованный IM?

Если нет — то тогда — «все, ребята, расходимся».

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

Давайте тогда в качестве подводки и вступления к основной идее статьи рассмотрим, каким был Skype в его золотые годы, до покупки Microsoft.

Итак, перед вами структура децентрализованной пиринговой сети Skype:



Как мы видим клиенты в основном соединяются через так называемые суперноды.

Что такое суперноды и зачем они были нужны Skype?
Как же «чистый» P2P?
Почему нельзя соединять пользователей напрямую друг с другом, раз это P2P?



Для того чтобы ответить на вопрос зачем нужны были суперноды, нужно вспомнить, каким был Skype в то время.

А был он «звонилкой» между пользователями сначала с аудиозвонками, а потом и с видео.
И вот здесь возникала такая проблема — большинство пользователей сидело под NAT, а иногда и под двойными, тройными NAT и в таких условиях практически невозможно установить аудио и тем более видеосвязь, если соединять их напрямую.

Грубо говоря, эти суперноды играли роль своеобразного TURN сервера, который занимался сигнализацией и пропуском трафика, «пробивая» NATы и соединяя пользователей.
Повторимся — это важно в первую очередь для аудио и видеозвонков.

Нодами становились компьютеры с белыми IP адресами, достаточно мощными, которые сидели на широких каналах, так как через них шел тяжелый медиатрафик.

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

Все это напоминало какой-то вирус, что не удивительно — бытовало мнение что Skype и сделали бывшие хакеры, которые до этого делали пиратские обменники и это вполне укладывалось в их подход к решению задач.

Но мы не будем углубляться в эту тему.

Вместо этого давайте посмотрим как устроена… обычная телефонная связь:



Вышеприведенная схема описывает принцип работы телефонной сети общего пользования — так называемой ТФОП или международным термином — PSTN ( Public Switched Telephone Network).

И хотя эта схема показывает то что сложилось в золотое время PSTN (70х-80х-начало 90х), точно так же все работает и сейчас.

Изменились технологии, ушли гиганты (Алкатель, Нортел и т.д.), но сам принцип остался.

Посмотрев на рисунок, можно обнаружить ноды – это городские АТС, к которым подключаются определенные абоненты, имеющие префиксы соответствующих АТС и суперноды – междугородние АТС.

Все ноды (АТС) могут общаться друг друг с другом, а абоненты друг с другом – только через такие ноды.

Получается, что сеть PSTN – это тоже децентрализованная Р2Р сеть, построенная примерно также как и Skype (или наоборот)?

Скорее всего, что это так.

И это легко увидеть – например, когда у какой-то АТС мало каналов выхода на другую городскую АТС, то в час пик (ЧНН – часы наибольшей нагрузки) абонентам одной АТС трудно или невозможно дозвониться на другую, но в тоже время абоненты одной и той же АТС могут дозваниваться друг до друга без проблем.

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

Итак, мы определили, что современная телефонная сеть (ТФОП или PSTN) – это децентрализованная P2P сеть.

Возникает естественный вопрос – если это P2P, то можем ли мы стать участником этой децентрализованной сети (поднять свой сервер и т.д.)?

Конечно!

Что для этого нужно и как это делается (предположим что у вас много денег и вы относительно большая компания)?

Основные шаги:

— Вам нужно стать оператором местной или зоновой или междугородней связи.
Для этого нужно получить соответствующую лицензию от регулятора, хотя в некоторых странах этого не требуется.

Для простоты рассмотрим пример что вы хотите стать оператором местной связи – т.е. поднять простую городскую ноду.

— Нужно получить пул телефонных номеров, географически призязанных к месту, где вы ставите свою ноду (телефонную станцию).

Этот пул выдает тоже регулятор.

Цитата:

“… Существует рекомендация ITU-T под номером E.164, определяющая общий международный телекоммуникационный план нумерации, используемый в телефонных сетях общего пользования и некоторых других сетях. Согласное E.164 номера могут иметь максимум 15 цифр и обычно записываются с префиксом «+».

Российские «Правила оказания услуг телефонной связи»[2] определяют абонентский номер как «выделяемый абоненту при заключении договора об оказании услуг телефонной связи номер, по которому идентифицируется подключенное к телефонной сети абонентское устройство при соединении с ним других абонентских устройств». В России регулятором в области телефонных номеров является МинКомСвязи (в частности Федеральное агентство связи)...»


— Получив пул номеров, вы должны построить и сдать в эксплуатацию узел ТФОП. Мы опустим все подробности, что нужно иметь СОРМ и прочее.

Это все организационные моменты, на них останавливаться подробно не будем, тем более что они тоже разные в разных странах.

Вместо этого вкратце обозначим технические моменты.

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

Т.е. покупается или уже специализированная железная станция с VOIP или делается программный комплекс — сервер со специализированным софствичем 5 класса типа Broadcom или даже допиленный до 5 класса Астериск и т. д.

Подключение абонентов.

Здесь тоже все просто — ставятся или VOIP шлюзы с FXS портами, в которые абоненты могут подключать обычные телефонные аппараты или IP телефоны, мини IP АТС для бизнес пользователей или софтовые клиенты (например для коллцентров) и т.д.

Некоторые компании подключают пользователей используя виртуальные IP АТС, т. к. ВАТС — но принцип такой же.

Далее нужно прописать ваш телефонный пул у всех участников этой общей сети — для этого каждому владельцу другой станции (ноды) в этой общей сети регулятор или доминирующий оператор присылает официальное письмо — сделайте роут с такими-то номерами на такую-то АТС нашего нового коллеги.

И соответственно вы должны в своей станции (ноде) прописать исходящии маршруты по определенным правилам.

Еще в Российской Федерации существует правило что вы должны при подключении абонента брать у него паспортные данные, прописку и т. д.

В принципе примерно все тоже делают и мобильные операторы.

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

К чему мы все это так подробно рассказываем?

Дело в том что у нас получилась платформа (M1 Messenger), которая, с одной стороны, является децентрализованным мессенджером, а с другой стороны можеть быть определена как телефонная сеть нового поколения.

И самое главное — для добавления ноды в такую сеть не нужны ни лицензии, ни получения номеров по Е164, ни какие-то другие разрешения, потому что нет выхода в ТФОП (PSTN).

Т.е. вы сами можете добавиться в такую сеть абсолютно в любое время, самостоятельно и стать независимой нодой — узлом в сети M1 Messenger.

В эту платформу можно легко и просто добавлять свои IP станции, малые офисные и большие провайдерские — и все станции могут коммуницировать как друг с другом, так и с обычными пользователями мессенджера:



Такая универсальность получилась благодаря тому что платформа M1 Messenger поддерживает SIP протокол.

Каждый пользователь при регистрации получает логин, а также SIP URI, т. е. получает сразу 2 идентификатора.

Благодаря логину происходит взаимодействие внутри пользователей мессенджера и исходящие коммуникации наружу, т. е. На подключенные IP АТС, а благодаря SIP URI каждый пользователь может быть доступен для входящих звонков из любой SIP совместимой сети.

Рассмотрим рисунок.

Здесь IP АТС под буквами А, B и C подключены к платформе по SIP транку, т. е. Эти АТС регистрируются на платформе.

Количество одновременных разговоров в таком транке, как и количество самих транков на одну IP АТС не лимитируется.

Таким образом, пользователи например IP АТС под буквой А могут иметь внутреннюю свою нумерацию, а для звонков например на IP АТС под буквами B и C использовать их SIP URI.
Входящие звонки с других АТС или из мессенджера могут быть обработаны такой АТС двумя разными способами:

— Как единственный номер (серийный номер) который идет например на стандартный IVR и далее по сложившемуся алгоритму.

— Каждому пользователю внутри такой сторонней IP АТС может быть назначен свой собственный транк и маршрутизирован средствами АТС.

Таким образом, каждый пользователь АТС может получать предназначенный только ему звонок от пользователей платформы.

Также благодаря тому что все пользователи мессенджера получают сразу и SIP URI, можно легко заводить входящие номера от провайдеров виртуальных номеров (DID).

Количество входящих номеров, привязанных к логину, также не лимитируется.

Подключение оборудования.

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

Последний был Skype.

Например в 2012 году был анонсирован DECT телефон с поддержкой Skype:



До этого продавался десктопный телефон с поддержкой Скайп:



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

В отличие от этого, к платформе M1 Messenger может быть подключен абсолютно любой IP телефон ( в том числе видеотелефон) или VOIP шлюз:







Это не концепция, все это уже работает.

Таким образом, любая IP АТС может быть подключена к платформе, также как и любое VOIP оборудование.

Для подключения достаточно скачать мессенджер, зарегистрироваться и зайти во вкладку SIP оборудование:



Используя 3 параметра — логин, пароль и адрес сервера:



можно подключить или IP АТС или любое VOIP железо.

А используя SIP URI, вида цифровой логин@sip1.m1online.net любой пользователь или подключенная IP АТС или подключенное оборудование может получать VOIP звонки с любой VOIP сети, даже если эта сеть не подключена к платформе М1 (например провайдеры виртуальных DID номеров и т. д.)

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

И самое интересное что звонки в такой сети никак не тарифицируются, и выполняются напрямую, минуя официально выданные телефонные номера.

Получается сеть для общения, которая ни от кого не зависит и которая открыта к подключению любого пользователя — будь то частные лица, компании со своими пользователями или большие операторы.
Никаких регуляторов, никаких СОРМов, никаких e164 телефонных номеров, которые вы можете потерять или у вас могут отобрать.
И никаких абонплат и плат за минуты разговора.
Теги:voipмессенджерыm1 messengerастерискasterisksip-телефония
Хабы: Блог компании Mobile One IT-инфраструктура Asterisk Разработка систем связи Стандарты связи
+10
14,6k 66
Комментарии 238

Похожие публикации

Лучшие публикации за сутки