
Sempre que aparece um artigo sobre algum novo messenger, a maioria dos usuários do Habr está interessada em comentários - mensagens instantâneas centralizadas ou descentralizadas?
Se não - então - "todos os caras estão divergindo".
Muitos também mencionam a descentralização do Skype como exemplo, implicando o que era antes de 2011.
Vamos então, como delineador e introdução à idéia principal do artigo, considerar o que era o Skype em seus anos dourados, antes da compra da Microsoft.
Então, aqui está a estrutura de uma rede descentralizada ponto a ponto do Skype:

Como vemos, os clientes estão conectados principalmente através do chamado supernó.
O que são supernós e por que o Skype precisa deles?
Como P2P tão puro?
Por que você não pode conectar usuários diretamente entre si, pois é P2P?

Para responder à pergunta sobre por que o supernó era necessário, você precisa se lembrar do que era o Skype naquele momento.
E ele era um "discador" entre os usuários, primeiro com chamadas de áudio e depois com vídeo.
E aqui havia um problema: a maioria dos usuários ficava sob NAT e, às vezes, sob NAT duplo, triplo e, nessas condições, é quase impossível estabelecer comunicação de áudio e especialmente de vídeo se você os conectar diretamente.
Grosso modo, esse supernó desempenhou o papel de um tipo de servidor TURN, que estava envolvido em sinalização e transmissão de tráfego, "perfurando" NATs e conectando usuários.
Novamente - isso é importante principalmente para chamadas de áudio e vídeo.
Os nós se tornaram computadores com endereços IP brancos, poderosos o suficiente para ficar em canais amplos, à medida que o tráfego pesado de mídia passava por eles.
Além disso, eles se tornaram nós, completamente inconscientes disso - os usuários dos nós às vezes só depois descobriram que seu computador começou a consumir repentinamente e a fornecer uma grande quantidade de tráfego.
Tudo isso se assemelhava a algum tipo de vírus, o que não é surpreendente - havia uma opinião de que o Skype era feito por ex-hackers que haviam feito anteriormente trocadores de piratas e isso se encaixava completamente na abordagem deles para solucionar problemas.
Mas não vamos nos aprofundar neste tópico.
Em vez disso, vamos ver como funciona ... comunicações telefônicas regulares:

O diagrama acima descreve o princípio de operação da rede telefônica pública - o chamado PSTN ou o termo internacional - PSTN (Rede Telefônica Pública Comutada).
E, embora este diagrama mostre o que aconteceu durante o período de ouro da PSTN (anos 70 a 80 e início dos anos 90), tudo funciona da mesma maneira agora.
A tecnologia mudou, os gigantes se foram (Alcatel, Nortel, etc.), mas o princípio em si permaneceu.
Observando a figura, é possível encontrar os nós - são PBXs da cidade, aos quais determinados assinantes estão conectados, com prefixos dos PBXs e supernós correspondentes - PBXs de longa distância.
Todos os nós (ATS) podem se comunicar e assinantes entre si - somente através desses nós.
Acontece que a rede PSTN também é uma rede P2P descentralizada, construída da mesma maneira que o Skype (ou vice-versa)?
Muito provavelmente é isso.
E isso é fácil de ver - por exemplo, quando uma central telefônica tem poucos canais de acesso a outra central telefônica da cidade, então na hora do rush (CNN - horário de pico) é difícil ou impossível para os assinantes de uma central telefônica chegarem a outra, mas, ao mesmo tempo, assinantes da mesma Os PBXs podem discar um ao outro sem problemas.
Agora não existe esse problema, porque as estações são conectadas entre si por canais amplos e por toda parte uma figura, mas até aquele momento isso acontecia o tempo todo.
Portanto, determinamos que uma rede telefônica moderna (PSTN ou PSTN) é uma rede P2P descentralizada.
Uma questão natural surge - se for P2P, então podemos nos tornar membros dessa rede descentralizada (aumentar nosso servidor, etc.)?
Claro!
O que é necessário para isso e como é feito (suponha que você tenha muito dinheiro e seja uma empresa relativamente grande)?
Os principais passos:
- Você precisa se tornar um operador de comunicação local ou regional ou de longa distância.
Para fazer isso, você precisa obter uma licença apropriada do regulador, embora em alguns países isso não seja necessário.
Por uma questão de simplicidade, considere um exemplo de que você deseja se tornar um operador de comunicações local - ou seja, crie um nó da cidade simples.
- Você precisa obter um conjunto de números de telefone geograficamente designados para o local onde coloca o nó (central telefônica).
Essa piscina também fornece ao regulador.
Citação:
“... Existe uma recomendação da ITU-T, E.164, que define um plano internacional comum de numeração de telecomunicações usado em redes telefônicas públicas e em algumas outras redes. Os números da consoante E.164 podem ter no máximo 15 dígitos e geralmente são escritos com o prefixo "+".
As russas "Regras para a prestação de serviços telefônicos" [2] definem o número do assinante como "o número alocado ao assinante ao concluir o contrato para a prestação de serviços telefônicos, pelo qual o dispositivo do assinante conectado à rede telefônica é identificado quando outros dispositivos do assinante estão conectados a ele". Na Rússia, o regulador no campo dos números de telefone é o Ministério das Comunicações (em particular, a Agência Federal de Comunicações) ... "- Após receber o pool de números, você deve criar e comissionar o nó PSTN. Omitiremos todos os detalhes necessários para o SORM e assim por diante.
Essas são questões organizacionais, não vamos nos aprofundar nelas em detalhes, principalmente porque elas também são diferentes em diferentes países.
Em vez disso, descrevemos brevemente os pontos técnicos.
Em primeiro lugar, agora todos os operadores, grandes e pequenos, montam estações em equipamentos VOIP.
I.e. compra-se uma estação de ferro especializada com VOIP ou um pacote de software - um servidor com um software especializado do tipo Broadcom classe 5 ou mesmo um asterisco dopado para a classe 5, etc.
Conectando assinantes.
Tudo aqui também é simples - estão instalados gateways VOIP com portas FXS, nos quais os assinantes podem conectar telefones ou telefones IP comuns, mini PBXs IP para usuários corporativos ou clientes de software (por exemplo, para centrais de atendimento), etc.
Algumas empresas conectam usuários usando PBXs virtuais IP, porque PBX - mas o princípio é o mesmo.
Em seguida, você precisa registrar seu pool de telefones com todos os participantes dessa rede compartilhada - para isso, cada proprietário de outra estação (nó) nessa rede compartilhada envia uma carta oficial ao regulador ou ao operador dominante - faça uma rota com esses números para o PABX do nosso novo colega.
E, portanto, você deve registrar as rotas de saída em sua estação (nó) de acordo com certas regras.
Mesmo na Federação Russa, existe uma regra de que, ao conectar um assinante, você deve levar dados de passaporte, registro etc.
Em princípio, quase tudo também é feito pelas operadoras móveis.
E então começa a parte comercial - você ganha dinheiro vendendo esses números por uma taxa mensal e cobrando uma taxa para chamadas internacionais ou entre montanhas, que você, por sua vez, compra de um nó superior, etc.
Por que todos estamos falando com tanto detalhe?O fato é que temos uma plataforma
(M1 Messenger) , que, por um lado, é um mensageiro descentralizado e, por outro, pode ser definida como uma rede telefônica de nova geração.
E o mais importante, para adicionar um nó a essa rede, não são necessárias licenças, nem obtenção de números E164, nem quaisquer outras permissões, porque não há acesso à PSTN.I.e. você mesmo pode ser adicionado a essa rede absolutamente a qualquer momento, e se tornar um nó independente - um nó na rede M1 Messenger.
Você pode adicionar de forma fácil e simples suas estações IP, pequenos escritórios e grandes provedores a essa plataforma - e todas as estações podem se comunicar entre si e com os usuários comuns do messenger:

Essa versatilidade se deve ao fato de a plataforma
M1 Messenger suportar o protocolo SIP.
Cada usuário recebe um login ao se registrar, bem como um URI SIP, ou seja, recebe 2 identificadores de uma só vez.
Graças ao login, a interação ocorre dentro dos usuários do messenger e as comunicações de saída para o exterior, ou seja, aos PBXs IP conectados e, graças ao URI SIP, cada usuário pode ser acessado para receber chamadas de qualquer rede compatível com SIP.
Considere a figura.
Aqui, os PBXs IP sob as letras A, B e C são conectados à plataforma via tronco SIP, ou seja, esses PBXs são registrados na plataforma.
O número de conversas simultâneas nesse tronco, bem como o número de troncos por PBX IP, não é limitado.
Assim, usuários como PBXs IP sob a letra A podem ter sua numeração interna e, para chamadas para PBXs IP sob as letras B e C, usam seu URI SIP.
As chamadas recebidas de outras trocas ou do messenger podem ser processadas por essas trocas de duas maneiras diferentes:
- Como o único número (número de série) que vai, por exemplo, à URA padrão e depois de acordo com o algoritmo estabelecido.
- Cada usuário dentro de um PBX IP de terceiros pode ser atribuído ao seu próprio tronco e roteado pelo PBX.
Assim, cada usuário do PBX pode receber uma chamada destinada apenas a ele dos usuários da plataforma.
Além disso, devido ao fato de que todos os usuários de
mensagens instantâneas recebem URIs SIP de uma só vez, é fácil obter números recebidos de provedores de números virtuais (DIDs).
O número de números recebidos associados ao login também não é limitado.
Conexão de equipamentos.Atualmente, praticamente não há mensageiros que conectem o equipamento à sua rede.
O último foi o Skype.
Por exemplo, em 2012, um telefone DECT com suporte do Skype foi anunciado:

Antes disso, um telefone de mesa com suporte do Skype era vendido:

Há cerca de um ano, o Skype anunciou que não suportaria esses telefones e que, de todos os usuários que os compraram anteriormente, todos se transformaram em abóbora.
Por outro lado, absolutamente qualquer telefone IP (incluindo um telefone de vídeo) ou um gateway VOIP pode ser conectado à plataforma
M1 Messenger :



Isso não é um conceito, tudo já funciona.
Assim, qualquer PBX IP pode ser conectado à plataforma, bem como qualquer equipamento VOIP.
Para conectar-se, basta baixar o messenger, registrar-se e ir para a guia SIP equipment:

Usando 3 parâmetros - login, senha e endereço do servidor:

Você pode conectar o PBX IP ou qualquer hardware VOIP.
E usando URI SIP, como
login digital@sip1.m1online.net, qualquer usuário ou PBX IP conectado ou equipamento conectado pode receber chamadas VOIP de qualquer rede VOIP, mesmo que essa rede não esteja conectada à plataforma M1 (por exemplo, provedores de números DID virtuais, etc. d.)
Assim, é obtida uma rede que não obedece à regulamentação de nenhum lado, mas ao mesmo tempo pode ser conectada aos PBXs IP existentes, e não importa qual equipamento seja usado - seja um pequeno Atserisk ou um PBX in a box ou uma estação grande de um grande operador.
E o mais interessante é que as chamadas nessa rede não são cobradas e são realizadas diretamente, ignorando números de telefone emitidos oficialmente.
Acontece uma rede de comunicação, que não depende de ninguém e está aberta à conexão de qualquer usuário - sejam pessoas físicas, empresas com seus usuários ou grandes operadoras.
Sem reguladores, sem SORMs, sem números de telefone e164 que você pode perder ou retirar de você.
E sem taxas mensais e taxas por minuto de conversa.