BR102021018885A2 - Método e sistema para melhorar a comunicação entre um cliente sip somente ipv6 e um servidor ou cliente somente ipv4 - Google Patents

Método e sistema para melhorar a comunicação entre um cliente sip somente ipv6 e um servidor ou cliente somente ipv4 Download PDF

Info

Publication number
BR102021018885A2
BR102021018885A2 BR102021018885-5A BR102021018885A BR102021018885A2 BR 102021018885 A2 BR102021018885 A2 BR 102021018885A2 BR 102021018885 A BR102021018885 A BR 102021018885A BR 102021018885 A2 BR102021018885 A2 BR 102021018885A2
Authority
BR
Brazil
Prior art keywords
ipv4
ipv6
address
client
sip
Prior art date
Application number
BR102021018885-5A
Other languages
English (en)
Inventor
Dusan Mudric
Original Assignee
Avaya Management L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avaya Management L.P. filed Critical Avaya Management L.P.
Publication of BR102021018885A2 publication Critical patent/BR102021018885A2/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1063Application servers providing network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/686Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Sistemas, métodos, software e aparelhos para aprimorar a conectividade para um cliente SIP somente IPv6 e um servidor e/ou cliente somente IPv4. Em uma modalidade, um método compreende atribuir ao cliente somente IPv6 um endereço de Protocolo de Internet (IP) IPv6 traduzível para IPv4. O método inclui adicionalmente determinar se o cliente somente IPv6 está iniciando a sessão de comunicação SIP com o servidor ou cliente somente IPv4. O método inclui adicionalmente extrair um endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4, e usar o endereço IPv4 extraído em um cabeçalho Contact SIP para registrar em um servidor SIP IPv4 e o cabeçalho Via para obter 200 OK respostas. O endereço IPv4 usado nas linhas 'c' ou 'm' é usado para sintetizar um endereço IPv6 traduzível para IPv4 para transferência direta de mídia entre um cliente somente IPv6 e um cliente somente IPv4.

Description

MÉTODO E SISTEMA PARA MELHORAR A COMUNICAÇÃO ENTRE UM CLIENTE SIP SOMENTE IPV6 E UM SERVIDOR OU CLIENTE SOMENTE IPV4 CAMPO DA DIVULGAÇÃO
[0001] A presente divulgação é, de forma geral, direcionada às comunicações, e mais particularmente, ao aprimoramento da conectividade para clientes SIP somente IPv6 em comunicações com servidores e clientes SIP somente IPv4.
ANTECEDENTES
[0002] Os dispositivos de comunicação são usados para chamadas de voz e vídeo, videoconferência, jogos, acesso à Internet, streaming de mídia, mensagens de dados, e-mail, transferências de dados máquina a máquina, serviços de informação computadorizados, e semelhantes. Esses serviços podem ser fornecidos por aplicativos executados nos dispositivos de comunicação. Os aplicativos interagem com os servidores de aplicativos para fornecer seus serviços. Os dispositivos de comunicação podem ser telefones, smartphones, computadores, laptops, tablets, dispositivos vestíveis, reprodutores de mídia, máquinas inteligentes, e semelhantes. Os dispositivos também podem se comunicar com outros dispositivos de comunicação. Para se comunicar com servidores de aplicativos e/ou outros dispositivos, os aplicativos e/ou dispositivos clientes transmitem dados em uma rede. Uma rede de comunicação usa vários protocolos de comunicação para transmitir dados. A Internet usa protocolos como o Protocolo de Internet versão 4 (IPv4) e o Protocolo de Internet versão 6 (IPv6). Uma rede de pilha dupla é uma rede que permite que os dispositivos usem IPv4 e IPv6 para transmitir dados.
[0003] As redes de comunicação usam nomes de host e/ou nomes de domínio, que são resolvidos para um ou mais endereços IP para rotear o tráfego. Por exemplo, se um usuário deseja acessar o serviço de streaming de vídeo NETFLIX®, o usuário pode inserir o nome de domínio "netflix.com" na barra de endereços do aplicativo de navegador da web. O nome de host "netflix.com" é armazenado junto com os endereços IP do host em um Servidor de Nomes de Domínio (DNS). Em outras palavras, o DNS traduz um nome de domínio em um endereço IP. Um nome de domínio pode ser resolvido para vários endereços IP. Cada endereço IP pode ter diferentes características de desempenho e/ou conectividade. Um endereço IP é um rótulo numérico atribuído a um dispositivo conectado a uma rede IP. O IPv4 define endereços usando um número de 32 bits (por exemplo, 192.16.254.1). IPv6 define endereços usando 128 bits (por exemplo, 2001:db8:0:1234:0:567:8:2). Redes somente IPv6 atribuem endereços e prefixos IPv6 que não podem ser usados para se comunicar com proxies SIPv4. As soluções anteriores usam um NAT64 stateful com DNS64 e um SBC executando um gateway de camada de aplicação (ALG) para permitir que clientes SIP somente IPv6 em redes somente IPv6 se comuniquem com clientes e servidores SIP somente IPv4 em redes IPv4.
SUMÁRIO
[0004] As modalidades da presente divulgação buscam melhorar a conectividade para clientes somente IPv6 em sessões SIP com servidores e/ou clientes somente IPv4 e permitir que um cliente SIP somente IPv6 gerencie seu próprio endereço de serviço IPv4 e transfira mídia diretamente com um dispositivo somente IPv4. Por exemplo, um cliente somente IPv6 pode precisar se comunicar com um servidor somente IPv4, ou vice-versa. Em outro exemplo, um cliente somente IPv6 pode precisar se comunicar com um cliente somente IPv4. As modalidades da presente divulgação incluem um cliente somente IPv6 detectando que está tentando se comunicar com um servidor e/ou cliente somente IPv4. O cliente somente IPv6 recebe um endereço de Protocolo de Internet (IP) IPv6 traduzível para IPv4. O cliente somente IPv6 extrai um endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4, e usa o endereço IPv4 extraído em um cabeçalho SIP Contact de um pacote IPv6. Quando um pacote IPv4 é enviado do cliente/servidor somente IPv4 para o dispositivo somente IPv6, o prefixo de tradução IPv6 é anexado ao endereço IPv4 extraído e o pacote IPv6 é roteado para o dispositivo somente IPv6 na rede IPv6. Como alternativa, quando um pacote IPv6 é enviado do cliente somente IPv6 para o Proxy SIP somente IPv4, o tradutor remove o prefixo de tradução dos endereços TCP IPv6 e o pacote IPv4 é roteado para o dispositivo somente IPv4 na rede IPv4. Além disso, um cliente somente IPv6 sintetizará um endereço IPv6 traduzível para IPv4 para um destino RTP (por exemplo, transferência de mídia direta).
[0005] Anteriormente, os servidores e clientes somente IPv4 se comunicavam com clientes somente IPv6 por meio de um Relé de Fronteira (BR). O BR implementa um algoritmo de Tradução IP/ICMP (SIIT) Stateless, também conhecido como Stateless NAT64. O NAT64 Stateless fornece uma conexão umpara-um somente IPv4 para somente IPv6. A funcionalidade NAT64 (que inclui tradução stateless) é habilitada nas interfaces de enlace ascendente IPv6 e BR IPv4. O BR converte cabeçalhos de pacotes IPv4/ICMPv4 em cabeçalhos de pacotes IPv6/ICMPv6 e vice-versa, mas não mantém por estado de fluxo. O algoritmo SIIT mapeia um espaço de endereço IPv4 inteiro em um prefixo IPv6 do espaço de endereço do provedor de serviços. Os clientes somente IPv4 podem alcançar clientes somente IPv6 usando SIIT, usando endereços de serviço IPv4 agregados. O cliente somente IPv4 enviaria um convite para um endereço de serviço IPv4 do cliente somente IPv6, o BR mapeia o endereço de serviço IPv4 SIIT para o endereço IPv6 do cliente somente IPv6 usando Mapeamento de Endereço Explícito (EAM), ou sintetiza um endereço IPv6 usando um endereço de serviço IPv4 e um prefixo NAT64.
[0006] O Protocolo de Configuração de Host Dinâmico de versão 6 (DHCPv6) é um protocolo de rede para configurar dispositivos de Protocolo de Internet versão 6 (IPv6) com endereços IPv6, prefixos IP, e outros dados de configuração necessários para operar em uma rede IPv6. É o equivalente IPv6 do Protocolo de Configuração de Host Dinâmico para IPv4. Redes somente IPv6 atribuem prefixos e endereços IPv6 a clientes somente IPv6 que não podem ser usados para se comunicar com um Proxy SIPv4. Por exemplo, quando um cliente somente IPv6 (n6) precisa se comunicar com um servidor somente IPv4 (s4), e a rede somente IPv6 é uma rede corporativa.
[0007] O endereço IPv4 para s4 é configurado manualmente. Um cliente DNS no n6 é configurado para receber um registro s4 AAAA do servidor DNS46. Como o DNS46 conhece o prefixo de tradução, ele pode sintetizar um registro AAAA para o servidor s4, que é usado para o endereço de serviço IPv6 para s4, quando telefones somente IPv6 se comunicam com s4. Uma vez que o cliente somente IPv6 conhece o prefixo de tradução, quando o cliente somente IPv6 n6 recebe o registro AAAA para o servidor somente IPv4 s4, se o registro AAAA começa com o prefixo de tradução, então o cliente somente IPv6 n6 sabe que está se comunicando com um dispositivo somente IPv4 em uma rede somente IPv4. Os endereços IPv4 usados são endereços IPv4 públicos ou endereços alocados para redes privadas. Os endereços IPv6 usados são endereços IPv6 públicos ou Endereços Locais Exclusivos (ULAs).
[0008] As organizações que implementam a tradução IPv4/IPv6 stateless devem atribuir um Prefixo Específico de Rede ao seu serviço de tradução IPv4/IPv6. O endereço IPv6 traduzível para IPv4 usa o Prefixo Específico de Rede selecionado. Os endereços IPv6 traduzíveis para IPv4 e endereços IPv6 convertidos para IPv4 devem usar o mesmo Prefixo. O dono da rede IPv6 corporativa configura SIIT (Tradução IP/ICMP Stateless) e DNS no BR. Neste exemplo, o prefixo IPv6 para tradução stateless é escolhido e configurado no tradutor SIIT (por exemplo, 2001:db8:46::/96). O prefixo de tradução é usado para criar endereços IPv6 incorporados em IPv4. O prefixo de tradução deve ser obtido do conjunto IPv6 público da operadora e ser acessível globalmente.
[0009] O cliente somente IPv6 n6 será configurado com um endereço de dentro da sub-rede do prefixo de tradução, e pode usar o endereço ao estabelecer conexões com destinos IPv6 nativos. O prefixo IPv4 é alocado do conjunto de endereços públicos da operadora (neste exemplo, 192.0.2.0/24) e configurado como uma rota NAT64. A sub-rede de prefixo contém os endereços de serviço IPv4 com os quais os clientes IPv4 farão conexões e que, por sua vez, serão convertidos em um endereço IPv6. O gateway também deve ter uma rota IPv6 específica para os prefixos de destino traduzidos. Neste exemplo, uma rota estática para 2001:db8:46:0:0:0:c000:3d00/96 (o equivalente traduzido de 192.0.2.0/24) para o roteador de enlace ascendente.
[0010] Com base no prefixo de tradução de rota padrão (por exemplo, 2001:db8:46:0:0:0:c000:3d00:/96 para SIIT), o pacote chega ao tradutor SIIT nos fornecedores BR. Quando um pacote IPv6 é recebido no BR, o endereço de origem IPv6 é o endereço IPv6 traduzível para IPv4 do host. O endereço IPv4 de destino é obtido removendo o prefixo de tradução NAT64 do endereço de destino IPv6. Um pacote IPv4 é roteado para s4 usando o endereço de serviço IPv4.
[0011] O servidor somente IPv4 s4 responde com um pacote IPv4 enviado ao SIIT usando o endereço IPv4. Os endereços de serviço IPv4 de destino representam um nó na rede somente IPv6. O endereço IPv6 de destino para n6 é sintetizado a partir do endereço de destino IPv4 e do prefixo de tradução NAT64. O endereço de origem (por exemplo, endereço sintetizado IPv6 para s4) é obtido da mesma maneira. Um pacote IPv6 chega ao cliente somente IPv6 n6. O endereço de origem para s4 é traduzido por meio da tradução de prefixo tradicional. O resultado líquido é que, da perspectiva da organização, toda a Internet IPv4 nada mais é do que apenas outra rede chamada "2001:db8:46:0:0:0:c000:3d00:/96".
[0012] Os cabeçalhos SIP Via são usados para permitir que as respostas SIP sigam o mesmo caminho através dos proxies SIP e servidores de aplicativos que as solicitações originais. Para permanecer no caminho de sinalização para as respostas SIP 200 OK, o cliente e os servidores inserem seus endereços em cabeçalhos Via INVITE. Supondo que um host somente IPv6 esteja registrado com um proxy somente IPv4, o 200 OK não pode ser roteado do Proxy SIPv4 de volta para o host somente IPv6. Na tradução NAT64, a tradução SIIT não traduz os endereços IP no cabeçalho SIPv6 e na linha 'c' para endereços IPv6, portanto, algum tipo de Gateway de Camada de Aplicação (ALG) é necessário. Por exemplo, o ALG pode ser implementado no BR ou em um Controlador de Fronteira de Sessão (SBC).
[0013] Em algumas modalidades, o aplicativo pode estar tentando se conectar ao host remoto usando um endereço IPv4. Quando um oferente somente IPv6 em uma rede somente IPv6 usa um endereço de contato IPv6 para se registrar com um Proxy SIP (modo único ou duplo) em uma rede somente IPv4 (por exemplo, Fig. 3A), e o Proxy SIP envia um INVITE para o endereço IPv6 Contact na rede somente IPv4, o endereço não pode ser roteado para a porta NAT64. Em outras palavras, o chamador n4 não pode alcançar o receptor n6. Em outro exemplo, um chamador somente IPv6 (UA1) fornece um endereço IPv6 como o cabeçalho Via na mensagem INVITE (por exemplo, Fig. 3B). O Proxy SIP envia um 200 OK para o endereço IPv6 de cabeçalho Via pela rede somente IPv4, e o endereço não pode ser roteado para a porta NAT64 (ou seja, 200 OK do receptor não pode alcançar o chamador). Com a implementação da presente divulgação, o cliente SIP somente IPv6 pode detectar que está em comunicação com um servidor ou cliente SIP somente IPv4.
[0014] É, portanto, um aspecto da presente divulgação fornecer um método de um cliente somente IPv6 que detecta que está tentando se comunicar com um servidor ou cliente somente IPv4, e registrar no servidor s4, extrair um endereço IPv4 de um endereço IP IPv6 traduzível para IPv4, e fornecer o endereço IPv4 extraído no cabeçalho SIP Contact. Uma técnica semelhante pode ser usada para permitir que um cliente SIP somente IPv4 alcance um servidor somente IPv6.
[0015] Em algumas modalidades, um usuário administrativo pode configurar a rede para um modo único (por exemplo, somente IPv6). Em alguns exemplos, o administrador pode definir um sinalizador no(s) roteador(es) para indicar que a rede está em modo único. Em algumas modalidades, o sinalizador é um sinalizador protegido e é definido usando um arquivo de configuração transferido usando um protocolo seguro (por exemplo, HTTPS). Em outras modalidades, o roteador pode ser configurado para modo único usando uma configuração ou arquivo de definição. O(s) roteador(es) configurado(s) para modo único pode então transferir uma mensagem para todos os conectados ao(s) host(s), de modo que a rede está em modo único (por exemplo, somente IPv6). Em outras modalidades, alguns hosts remotos podem ser acessíveis usando uma família de endereços (por exemplo, endereços somente IPv4). Para esses hosts, o cliente pode executar Tradução de Endereço de Rede (NAT64). Os endereços IPv4 podem ser convertidos em endereços IPv6 e acessados por meio de um interconector IPv6. Em algumas modalidades, os endereços IPv6 mapeados por IPv4 são usados como último recurso quando um host somente IPv4 é acessível apenas usando endereços IPv4. O host tentará encontrar o host somente IPv4 em seu enlace local usando o endereço IPv6 mapeado por IPv4.
[0016] Em outras palavras, é um aspecto da presente divulgação permitir que clientes SIP somente IPv6 em uma rede somente IPv6 se comuniquem com clientes e/ou servidores SIP somente IPv4 em uma rede somente IPv4. Em algumas modalidades, a sessão de comunicação é uma sessão de comunicação SIP, e a presente divulgação permite que um cliente/host use o endereço IP adequado no cabeçalho Contact.
[0017] Várias modalidades e aspectos das modalidades são divulgados, incluindo: Em algumas modalidades, um método é divulgado. O método geralmente compreende: atribuir ao cliente somente IPv6 um endereço de Protocolo de Internet (IP) IPv6 traduzível para IPv4; determinar que o cliente somente IPv6 está iniciando a sessão de comunicação SIP com o servidor ou cliente somente IPv4; extrair um endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4; e fornecer o endereço IPv4 extraído em um cabeçalho SIP de pacotes IPv6.
[0018] Em outra modalidade, um cliente somente IPv6 é divulgado. O cliente somente IPv6 que geralmente compreende: um processador configurado para determinar se a sessão de comunicação SIP é com o servidor ou cliente somente IPv4; o processador configurado para extrair um endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4; e uma interface de comunicação configurada para fornecer o endereço IP IPv4 extraído em um cabeçalho SIP de pacote IPv6.
[0019] Em uma terceira modalidade, um meio legível por computador é divulgado. O meio legível por computador, que compreende instruções executáveis por processador, que compreende: instruções configuradas para conduzir uma sessão de comunicação SIP (Protocolo de Iniciação de Sessão) entre um cliente somente IPv6 e um servidor ou cliente somente IPv4; instruções configuradas para determinar que o cliente somente IPv6 está iniciando a sessão de comunicação SIP com o servidor ou cliente somente IPv4; instruções configuradas para extrair um endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4; e instruções configuradas para fornecer o endereço IP IPv4 extraído em um cabeçalho SIP de pacotes IPv6.
[0020] Aspectos de qualquer uma ou mais das modalidades anteriores incluem o uso do endereço IPv4 extraído em LINHAS SDP 'm' e 'c' para sintetizar o endereço IP IPv6 traduzível para IPv4, como um endereço de serviço IPv6 n4.
[0021] Aspectos de qualquer uma ou mais das modalidades anteriores incluem o uso do endereço IPv4 extraído em LINHAS SDP 'm' e 'c' como um endereço de Protocolo de Transporte em Tempo Real (RTP) de destino.
[0022] Os aspectos de qualquer uma ou mais das modalidades anteriores incluem o registro com um Proxy somente IPv4 SIP usando o endereço IP IPv4 extraído.
[0023] Os aspectos de qualquer uma ou mais das modalidades anteriores incluem o uso do endereço IP IPv6 traduzível para IPv4 para TCP.
[0024] Aspectos de qualquer uma ou mais das modalidades anteriores incluem realizar uma consulta DNS para um Proxy SIPv4 FQDN e receber registros AAAA em resposta, em que os registros AAAA começam com um prefixo de tradução IPv6.
[0025] Aspectos de qualquer uma ou mais das modalidades anteriores incluem a determinação de um prefixo de tradução; e extrair o endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4 usando o prefixo de tradução determinado.
[0026] Aspectos de qualquer uma ou mais das modalidades anteriores incluem o uso do endereço IP IPv4 extraído em um cabeçalho Via e um cabeçalho Contact.
[0027] Aspectos de qualquer uma ou mais das modalidades anteriores incluem o cliente somente IPv6 e o servidor somente IPv4 ou mídia de transmissão de cliente usando diretamente UDP.
[0028] As frases "pelo menos um", "um ou mais", "ou" e "e/ou" são expressões abertas que são conjuntivas e disjuntivas em operação. Por exemplo, cada uma das expressões "pelo menos um de A, B e C", "pelo menos um de A, B ou C", "um ou mais de A, B e C", "um ou mais de A, B ou C "," A, B e/ou C "e" A, B ou C "significam A sozinho, B sozinho, C sozinho, A e B juntos, A e C juntos, B e C juntos, ou A, B e C juntos.
[0029] O termo "um" ou "uma" entidade refere-se a uma ou mais dessas entidades. Como tal, os termos "um" (ou "uma"), "um ou mais" e "pelo menos um" podem ser usados indistintamente neste documento. Também deve ser observado que os termos "compreendendo", "incluindo" e "tendo" podem ser usados indistintamente.
[0030] O termo "automático" e suas variações, conforme usado neste documento, referem-se a qualquer processo ou operação, que é tipicamente contínuo ou semicontínuo, feito sem entrada humana material quando o processo ou operação é realizado. No entanto, um processo ou operação pode ser automático, mesmo que o desempenho do processo ou operação use entrada humana material ou imaterial, se a entrada for recebida antes da realização do processo ou operação. A entrada humana é considerada material se tal entrada influenciar a forma como o processo ou operação será realizado. A entrada humana que consente com o desempenho do processo ou operação não é considerada "material".
[0031] Aspectos da presente divulgação podem assumir a forma de uma modalidade inteiramente de hardware, uma modalidade inteiramente de software (incluindo firmware, software residente, microcódigo, etc.) ou uma modalidade que combina aspectos de software e hardware que geralmente podem ser referidos aqui como um "circuito", "módulo" ou "sistema." Qualquer combinação de um ou mais meios legíveis por computador pode ser utilizada. O meio legível por computador pode ser um meio de sinal legível por computador ou um meio de armazenamento legível por computador.
[0032] Um meio de armazenamento legível por computador pode ser, por exemplo, mas não limitado a, um sistema, aparelho, ou dispositivo eletrônico, magnético, óptico, eletromagnético, infravermelho, ou semicondutor, ou qualquer combinação adequada dos anteriores. Exemplos mais específicos (uma lista não exaustiva) do meio de armazenamento legível por computador incluem o seguinte: uma conexão elétrica com um ou mais fios, um disquete de computador portátil, um disco rígido, uma memória de acesso aleatório (RAM), uma memória somente de leitura (ROM), uma memória somente de leitura programável apagável (EPROM ou memória Flash), uma fibra óptica, uma memória somente de leitura portátil de disco compacto (CD-ROM), um dispositivo de armazenamento óptico, um dispositivo de armazenamento magnético, ou qualquer combinação adequada dos anteriores. No contexto deste documento, um meio de armazenamento legível por computador pode ser qualquer meio tangível que possa conter ou armazenar um programa para uso por ou em conexão com um sistema, aparelho ou dispositivo de execução de instruções.
[0033] Um meio de sinal legível por computador pode incluir um sinal de dados propagado com código de programa legível por computador incorporado no mesmo, por exemplo, em banda base ou como parte de uma onda portadora. Tal sinal propagado pode assumir qualquer uma de uma variedade de formas, incluindo, mas não se limitando a, eletromagnética, óptica ou qualquer combinação adequada dos mesmos. Um meio de sinal legível por computador pode ser qualquer meio legível por computador que não seja um meio de armazenamento legível por computador e que pode se comunicar, propagar ou transportar um programa para uso por ou em conexão com um sistema, aparelho ou dispositivo de execução de instrução. O código de programa incorporado em um meio legível por computador pode ser transmitido usando qualquer meio apropriado, incluindo, mas não se limitando a, sem fio, cabeado, cabo de fibra óptica, RF, etc., ou qualquer combinação adequada dos anteriores.
[0034] Os termos "determinar", "calcular", e "computar", e variações dos mesmos, conforme usados neste documento, são usados indistintamente e incluem qualquer tipo de metodologia, processo, operação matemática ou técnica.
[0035] O termo "meios", conforme usado neste documento, deve receber sua interpretação mais ampla possível de acordo com 35 USC, Seção 112 (f) e/ou Seção 112, Parágrafo 6. Por conseguinte, uma reivindicação que incorpora o termo "meio" deve abranger todas as estruturas, materiais ou atos aqui estabelecidos e todos os seus equivalentes. Além disso, as estruturas, materiais ou atos e seus equivalentes devem incluir todos aqueles descritos no sumário, breve descrição dos desenhos, descrição detalhada, resumo, e as próprias reivindicações.
[0036] O termo "módulo", conforme usado neste documento, refere-se a qualquer hardware, software, firmware, inteligência artificial, lógica difusa, ou combinação de hardware e software conhecido ou desenvolvido posteriormente que é capaz de realizar a funcionalidade associada a esse elemento. Além disso, embora a divulgação seja descrita em termos de modalidades exemplares, deve ser apreciado que aspectos individuais da divulgação podem ser reivindicados separadamente.
BREVE DESCRIÇÃO DOS DESENHOS
[0037] A presente divulgação é descrita em conjunto com as figuras anexas:
A Fig. 1 é um diagrama de blocos que ilustra um host de modo único e modo duplo de acordo com modalidades da presente divulgação;
As Figs. 2A-2B são diagramas de blocos que ilustram um dispositivo somente IPv6 em uma rede somente IPv6 se comunicando com um dispositivo somente IPv4 em uma rede somente IPv4 por meio de um tradutor e Proxy SIP de acordo com modalidades da presente divulgação;
A Fig. 3A ilustra um exemplo de fluxo de mensagem no qual um chamador somente IPv4 não pode alcançar um receptor somente IPv6 de acordo com modalidades da presente divulgação;
A Fig. 3B ilustra um exemplo de fluxo de mensagem no qual a mensagem 200 OK do receptor somente IPv4 não pode alcançar o chamador somente IPv6 de acordo com modalidades da presente divulgação;
A Fig. 3C ilustra um exemplo de fluxo de mensagem para estabelecer uma conexão entre o dispositivo somente IPv6 na rede somente IPv6 que se comunica com o dispositivo somente IPv4 na rede somente IPv4 de acordo com modalidades da presente divulgação;
A Fig. 3D ilustra um exemplo de fluxo de mensagem para transferir mídia diretamente entre o dispositivo somente IPv6 na rede somente IPv6 e o dispositivo somente IPv4 na rede somente IPv4 de acordo com modalidades da presente divulgação;
A Fig. 4A é um fluxograma que descreve o processo de registro implementado por um cliente de modo único em uma rede de modo único de acordo com modalidades da presente divulgação;
A Fig. 4B é um fluxograma que descreve o processo implementado por um cliente de modo único em uma rede de modo único para transferência de mídia direta de acordo com modalidades da presente divulgação.
A Fig. 5 ilustra um exemplo de uma tabela de tradução de endereço de acordo com modalidades da presente divulgação; e
A Fig. 6 é um diagrama de blocos de um computador usado para implementar o método para melhorar a configuração do caminho de mídia de acordo com modalidades da presente divulgação.
DESCRIÇÃO DETALHADA
[0038] A descrição que se segue fornece apenas modalidades, e não se destina a limitar o escopo, aplicabilidade ou configuração das reivindicações. Em vez disso, a descrição que se segue fornecerá aos técnicos no assunto uma descrição habilitadora para a implementação das modalidades. Deve ser entendido que várias mudanças podem ser feitas na função e disposição dos elementos sem se afastar do espírito e do escopo das reivindicações anexas.
[0039] Deve ser apreciado que modalidades da presente divulgação podem ser utilizadas em vários cenários de seleção de endereço.
[0040] Além disso, embora as modalidades ilustrativas neste documento mostrem os vários componentes de um sistema colocado, deve ser apreciado que os vários componentes do sistema podem estar localizados em porções distantes de uma rede distribuída, como uma rede de comunicação e/ou a Internet, ou em um sistema dedicado seguro, não seguro, e/ou criptografado. Assim, deve ser apreciado que os componentes do sistema podem ser combinados em um ou mais dispositivos, como um servidor corporativo ou colocados em um nó particular de uma rede distribuída, como uma rede de comunicação analógica e/ou digital. Como será apreciado a partir da descrição a seguir, e por razões de eficiência computacional, os componentes do sistema podem ser dispostos em qualquer local dentro de uma rede distribuída sem afetar a operação do sistema. Por exemplo, os vários componentes podem estar localizados em um servidor local, nas instalações de um ou mais usuários, ou alguma combinação dos mesmos.
[0041] Com referência inicialmente à Fig. 1, a Internet é um conjunto de ISPs conectados, fornecendo modo único (por exemplo, somente IPv4 ou somente IPv6) ou rede de pilha dupla na qual IPv4 e IPv6 operam em conjunto. Em outras palavras, nós IPv4/IPv6 duplos podem ser alcançados usando endereços IPv4, endereços IPv6, ou ambos. Os endereços IPv4 têm um formato diferente dos endereços IPv6, e os dois formatos não são compatíveis. Métodos como NAT e tunelamento permitem que os dispositivos se comuniquem em redes da família de endereços oposta. O tunelamento permite que os pacotes sejam transmitidos de um protocolo para outro, encapsulando os pacotes de um protocolo em pacotes do outro protocolo. Em outras palavras, os pacotes IPv6 são encapsulados em pacotes IPv4 para atravessar a rede somente IPv4 e vice-versa.
[0042] Fig. 2, um sistema de comunicação ilustrativo 200 no qual a conectividade através de uma rede de modo único é descrita de acordo com pelo menos algumas modalidades da presente divulgação. O sistema 200 é mostrado para incluir dispositivos 212 e 222, servidores 211 e 221, e redes de comunicação 210 e 220. De acordo com pelo menos algumas modalidades da presente divulgação, as redes de comunicação 210 e 220 podem compreender redes de modo único e podem compreender qualquer tipo de meio de comunicação conhecido ou coleção de meios de comunicação e podem usar qualquer tipo de protocolo (por exemplo, IPv4 ou IPv6) para transportar mensagens entre nós de comunicação. O dispositivo 212 e o servidor 211 são clientes de modo único conectados à rede de modo único 210. O dispositivo 222 e o servidor 221 são clientes de modo único conectados à rede de modo único 220. Por exemplo, a rede de comunicação 210 pode ser uma rede somente IPv6, e a rede de comunicação 220 pode ser uma rede somente IPv4. O dispositivo 212 pode precisar se comunicar com o dispositivo 222, ou os servidores 221, via NAT64 230.
[0043] As redes de comunicação 210 e 220 podem incluir tecnologias de comunicação com e/ou sem fio. A Internet é um exemplo de uma rede de comunicação 210 e 220 que constitui uma rede de Protocolo de Internet (IP) que consiste em muitos computadores, redes de computação, e outros dispositivos de comunicação localizados em todo o mundo. Outros exemplos de redes de comunicação incluem, sem limitação, um Sistema Telefônico Simples Padrão (POTS), uma Rede Digital de Serviços Integrados (ISDN), a Rede Telefônica Pública Comutada (PSTN), uma LAN, uma WAN, um Protocolo de Iniciação de Sessão (SIP), uma rede de voz sobre IP (VoIP), uma rede celular, uma rede corporativa, e qualquer outro tipo de rede comutada por pacote ou por circuito conhecido no estado da técnica. Além disso, pode ser apreciado que as redes de comunicação 210 e 120 não precisam ser limitadas a qualquer tipo de rede, e em vez disso, podem ser compostas por uma série de diferentes redes e/ou tipos de rede. Além disso, as redes de comunicação 210 e 220 podem compreender uma série de meios de comunicação diferentes, como cabo coaxial, cabo/fio de cobre, cabo de fibra óptica, antenas para transmitir/receber mensagens sem fio, e suas combinações. Embora, apenas uma rede seja mostrada para maior clareza, em algumas modalidades, pode haver mais de uma rede usando os mesmos ou diferentes protocolos de comunicação.
[0044] Em algumas modalidades, os dispositivos 212 e 222 podem incluir um dispositivo de comunicação pessoal. Exemplos de dispositivos adequados 212 e 222 incluem, sem limitação, um telefone, um softphone, um telefone celular, um dispositivo de comunicação com vários alto-falantes (por exemplo, telefone de conferência), um telefone de vídeo, um PC, um laptop, um tablet, um PDA, um smartphone, um thin client, ou semelhantes. Em várias modalidades, os servidores 211 e 221 podem incluir computadores servidores, plataformas de computação em nuvem, data centers, e qualquer máquina de computação física ou virtual, bem como qualquer variação ou combinação dos mesmos.
[0045] O sistema 200 é mostrado para incluir dispositivos de modo único 212 e 222, servidores de modo único 211 e 221, rede somente IPv6 210 e rede somente IPv4 220. O dispositivo 212 e o servidor 211 são clientes somente IPv6 conectados a uma rede IPv6 210. O dispositivo 222 e o servidor 221 são clientes somente IPv4 conectados a uma rede IPv4 220. Por exemplo, o dispositivo 212 pode precisar se comunicar com o dispositivo 222, ou os servidores 221, via NAT64 230 e Proxy SIP 240.
[0046] A Fig. 2B ilustra o fluxo de mensagens para estabelecer comunicação entre um dispositivo somente IPv6 e um servidor somente IPv4. Conforme mostrado com a seta (1) do cliente somente IPv6 para o servidor DNS, usando um protocolo IPv6, o cliente somente IPv6 envia uma consulta para registros AAAA somente para www.IPv4 para o servidor de nomes recursivo executando DNS64. Na seta (2), usando o protocolo IPv4, o servidor de nomes recursivo consulta o servidor de nomes por "somente www.IPv4" e não obtém nenhum registro AAAA em resposta. O servidor de nomes recursivo sintetiza um registro AAAA usando um prefixo e sufixo opcional e (2) retorna o registro AAAA sintetizado para o cliente somente IPv6 (usando IPv6). O cliente somente IPv6 (4) envia o pacote IPv6 para o endereço IPv6 sintetizado, que é roteado para o servidor NAT64. O servidor NAT64 traduz o pacote IPv6 para o endereço IPv4 de destino (5). O Proxy SIPv4 retorna a resposta sobre IPv4 ao servidor NAT64 (6). O servidor NAT64 converte o pacote em IPv6 e retorna ao cliente somente IPv6 (7). Nesse fluxo, o cliente somente IPv6 não sabe que está se comunicando com um servidor somente IPv4.
[0047] As Figs. 3A-B ilustram o fluxo de mensagens entre um dispositivo somente IPv6 e um dispositivo somente IPv4. O contato para o oferente IPv6 é "7001@ca.avaya.com" e o endereço IP é "2001.db8:12:34::1. O endereço IP do dispositivo somente IPv4 respondente é "123.1.2.101." O dispositivo somente IPv6 envia uma mensagem REGISTER para o servidor NAT64, o VIA lista o endereço IP do dispositivo somente IPv6 "VIA: [2001:db8:12:34::1" O cabeçalho Contact lista o contato do dispositivo somente IPv6 " Contact "<sip7001 @ [2001:db8:12:34::1] >" O endereço IP de origem é 2001:db8:12:34::1" e o endereço IP de destino é "2001:db8:46::123.1.2.3". O servidor NAT64 transfere a mensagem REGISTER para o Proxy SIPv4, e o endereço IP de origem é reescrito para "192.2.0.1.". Quando um oferente somente IPv6 usa um endereço de contato IPv6 para se registrar com um Proxy SIP (modo único ou duplo) em uma rede somente IPv4, e o Proxy SIP envia um INVITE para o endereço IPv6 Contact na rede somente IPv4, o endereço não pode ser roteado para a porta NAT64. Em outras palavras, o chamador não pode alcançar o receptor.
[0048] Em outro exemplo, ilustrado na Fig. 3B, um chamador somente IPv6 (UA1) fornece um endereço IPv6 como o cabeçalho Via de contato na mensagem INVITE. O Proxy SIP envia um 200 OK para o endereço IPv6 de cabeçalho Via de contato pela rede somente IPv4, e o endereço não pode ser roteado para a porta NAT64 (ou seja, 200 OK do receptor não pode alcançar o chamador).
[0049] A Fig. 3C ilustra um fluxo de mensagens para quando o dispositivo somente IPv6 212 em uma rede IPv6 se conecta ao dispositivo somente IPv4 222 em uma rede somente IPv4 por meio de um Proxy SIPv4. O dispositivo somente IPv6 212 determina que o dispositivo receptor tentado 222 é um dispositivo somente IPv4 em uma rede somente IPv4. Por exemplo, o dispositivo somente IPv6 212 envia uma consulta DNS ao NAT64 230, e o dispositivo somente IPv6 212 verifica se o endereço de registro AAAA retornado começa com um prefixo de tradução IPv6. Se o endereço de registro AAAA retornado começar com o prefixo de tradução IPv6, o dispositivo somente IPv6 212 saberá que o dispositivo receptor tentado 222 é um dispositivo somente IPv4 em uma rede somente IPv4. Portanto, o dispositivo somente IPv6 212 fornecerá seu endereço de serviço IPv4 no cabeçalho SIP Contact (para registro) e na linha SDP 'c' (para mídia direta). O dispositivo 212 somente IPv6 é atribuído a um endereço IPv6 traduzível para IPv4, por exemplo, todo o espaço de endereço IPv4 de um provedor de serviços é mapeado em um prefixo de tradução IPv6. Neste exemplo, o dispositivo somente IPv6 212 tem um endereço IPv6 "2001:db8:46::192.2.0.1," a porção "2001:db8:46" compreende o prefixo de tradução IPv6 e a porção "192.2.0.1" compreende o endereço de serviço IPv4. Portanto, o endereço IPv4 extraído é 192.2.0.1, que é o endereço usado no cabeçalho SIP Contact quando o dispositivo somente IPv6 212 se registra no Proxy SIPv4 240. Com a invenção reivindicada, um telefone SIP somente IPv6 pode ser tolerante com IPv4 e gerenciar um endereço de serviço IPv4 sem um ALG ou SBC.
[0050] Com essas mudanças, um telefone somente IPv6 pode fornecer seu endereço de serviço IPv4 durante o registro com Proxy SIPv4 240 (por exemplo, Fig. 3C). E um oferente somente IPv4 será capaz de enviar um INVITE para um respondente somente IPv6 através do Proxy SIPv4 240 (por exemplo, Fig. 3C). O respondente somente IPv6 saberia que o INVITE vem do ofertante somente IPv4, com base no endereço IPv4 no cabeçalho Contact INVITE, e fornecerá seu IPv4_SA em 200 linhas OK 'c' e 'm' (por exemplo, Fig. 3D). O oferente somente IPv4 pode enviar mídia diretamente para o host somente IPv6 usando o endereço de serviço do host IPv6, IPv4_SA. Um ofertante somente IPv6 pode alcançar um respondente somente IPv4 através do Proxy SIPv4 240 e estabelecer mídia direta via NAT64/46 (por exemplo, Fig. 3D). Por exemplo, um telefone tolerante a IPv4 usa o endereço IPv4 extraído no cabeçalho Via na mensagem 200 OK.
[0051] Com referência agora às Figs. 4A-4B, detalhes adicionais de um processo 400 para melhorar a conectividade entre nós em diferentes redes de modo único serão descritos de acordo com pelo menos algumas modalidades da presente divulgação. Os processos da operação 400 são referenciados entre parênteses nos parágrafos a seguir.
[0052] Conforme ilustrado na Figura 4A, operação 400 para atribuir um endereço IPv6 Traduzível para IPv4 a um dispositivo somente IPv6 (Etapa 401). Por exemplo, o endereço IPv6 Traduzível para IPv4 pode ser atribuído usando DHCPv6. O Prefixo de Tradução IPv6 é anunciado para hosts somente IPv6, o prefixo de tradução é necessário para extrair o endereço IPv4 do endereço IPv6 traduzível para IPv4. O dispositivo somente IPv6 na rede somente IPv6 determina se ele está tentando se conectar a um dispositivo somente IPv4 em um dispositivo de rede somente IPv4. Se o dispositivo somente IPv6 não estiver se conectando a um servidor ou cliente somente IPv4 (NÃO) (Etapa 403), a operação 400 termina (Etapa 410). Se o dispositivo somente IPv6 estiver se conectando a um servidor ou cliente somente IPv4 (SIM) (Etapa 405), então o endereço de serviço IPv4 é extraído do endereço IPv6 traduzível para IPv4 atribuído ao dispositivo somente IPv6 (Etapa 407). Por exemplo, se o dispositivo somente IPv6 tiver o endereço IPv6 traduzível para IPv4: 2001:db8:46::192.2.0.1, o endereço de serviço IPv4 é 192.2.0.1, extraído de 2001:db8:46::192.2.0.1. O host somente IPv6 define 192.2.0.1 como IPv4_SA nos cabeçalhos Via e Contact SIP.
[0053] Ao se comunicar com os servidores e clientes somente IPv4 (ou seja, Proxy SIPv4 240) representados com um endereço IPv6 Traduzível para IPv4, um host somente IPv6 deve selecionar seu endereço de serviço IPv4. O endereço de serviço IPv4 é derivado do endereço IPv6 traduzível para IPv4 (usando um prefixo NAT64). O endereço de serviço IPv4 é definido nos cabeçalhos Via e Contact SIP ao falar com o Proxy SIP 240 somente IPv4. Isso garante que os servidores e clientes somente IPv4 obterão um endereço de serviço IPv4 do host somente IPv6 e suas mensagens serão roteadas para o SIIT.
[0054] Conforme ilustrado na Fig. 4B, a operação 420 transfere mídia diretamente entre um host somente IPv4 em uma rede somente IPv4 e um host somente IPv6 em uma rede somente IPv6. Ao negociar um endereço de mídia, o host somente IPv6 detectará se ele se comunica com o host somente IPv4 (Etapa 421). Se o host somente IPv6 não estiver se comunicando com um host somente IPv4 (NÃO), a operação 420 termina (Etapa 423). Se o host somente IPv6 estiver se comunicando com um host somente IPv4 (SIM), por exemplo, o host somente IPv4 oferecerá apenas um endereço IPv4 na linha INVITE SDP 'c' e/ou 'm'. A operação 420 prossegue para (Etapa 425) determinar se o host somente IPv6 e o host somente IPv4 desejam transferir mídia diretamente. Se o host somente IPv6 e o host somente IPv4 não quiserem transferir mídia diretamente (NÃO), a operação 420 termina (Etapa 423); se (SIM) (isto é, os hosts desejam transferir a mídia diretamente), a operação 420 prossegue para (Etapa 427). Na (Etapa 427), o host somente IPv6 definirá seu IPv4_SA na linha 'c', permitindo que o host somente IPv4 envie mídia diretamente para o host somente IPv6, usando o endereço de serviço do host IPv6, IPv4_SA. O host somente IPv6 também pode enviar mídia diretamente para o host somente IPv4, sintetizando um endereço IPv6 traduzível para IPv4 de host IPv4 como um endereço RTP de destino (Etapa 427). Na (Etapa 429), a mídia é transferida diretamente entre o host somente IPv4 na rede somente IPv4 e o host somente IPv6 na rede somente IPv6. Uma vez que o dispositivo somente IPv6 extrai o endereço IPv4 do endereço IPv6 traduzível para IPv4 e define os cabeçalhos SIPv6, linhas SDP 'm' e 'c', usando IPv4_SA, não há necessidade do servidor ALG/SBC.
[0055] O host IPv6 apenas envia mídia, RTP e RTCP para o tradutor NAT64 usando o endereço IPv6 traduzível para IPv4. Por exemplo, o NAT64 pode extrair o endereço de destino IPv4 de um endereço de destino UDP, removendo a parte do prefixo de tradução do endereço de destino, e envia RTP para o host somente IPv4. O telefone somente IPv6 sintetizará um endereço IPv6 traduzível para IPv4 para o destino RTP. Quando um host somente IPv6 envia mídia, RTP e RTCP, para NAT64 XLAT, usando o endereço IPV6 traduzível para IPv4, o NAT64 extrai o endereço de destino IPv4 e envia RTP para o host somente IPv4. Se um INVITE vier de (n4) o host somente IPv4, com um endereço IPv4 nas linhas SDP 'm' e 'c', (n6) o host somente IPv6 obtém o endereço IPv4 da linha 'm', adiciona o prefixo de tradução, e envia pacotes RTPv6 para o NAT64, usando um endereço IPv6 traduzível para IPv4 como o endereço de destino de pacote UDP (o endereço de serviço IPv6 é um prefixo de tradução + endereço IPv4 na linha 'c'). O host somente IPv6 (n6) cria um endereço de serviço IPv6 para mídia para (n4) o host somente IPv4 e um endereço de serviço IPv4 para registro no Proxy SIPv4.
[0056] A Fig. 5 ilustra um exemplo de uma tabela de tradução de endereço 500 de acordo com as modalidades aqui descritas, embora outros formatos de dados sejam possíveis e de acordo com as modalidades aqui descritas.
[0057] A Tabela 500 de tradução de endereços compreende os campos/colunas "DISPOSITIVO", "MODO DE REDE", "ENDEREÇO IPv6", "ENDEREÇO IPv4" e "CONTATO". As colunas listadas na tabela de conversão de endereço 500 são apenas para fins ilustrativos e nem todas as colunas são obrigatórias; além disso, a tabela pode incluir outras colunas não listadas neste exemplo.
[0058] Por exemplo, NAT64 230 pode gerar a tabela de tradução de endereço 500.
[0059] A Fig. 6 ilustra um sistema de computação 600 usado para melhorar a conectividade entre nós de modo único conectados a diferentes redes de modo único, conforme descrito neste documento, de acordo com uma implementação. Sistemas de computação semelhantes podem ser incluídos nos clientes, hosts e roteadores descritos neste documento.
[0060] O sistema de computação 600 é representativo de qualquer sistema ou sistemas de computação com os quais as várias arquiteturas operacionais, processos, cenários e sequências divulgadas neste documento para fornecer um serviço de comunicação e selecionar caminhos de mídia podem ser implementados.
[0061] O sistema de computação 600 é um exemplo dos dispositivos de modo único 112, 122, 212 e 222 e os servidores 111, 121, 211 e 221, embora outros exemplos possam existir. O sistema de computação 600 compreende uma interface de comunicação 601, uma interface de usuário 602, e um sistema de processamento 603. O sistema de processamento 603 está ligado à interface de comunicação 601 e à interface de usuário 602. O sistema de processamento 603 inclui um microprocessador e/ou circuito de processamento 605 e um dispositivo de memória 606 que armazena o software operacional 607. O sistema de computação 600 pode incluir outros componentes bem conhecidos, como uma bateria e um invólucro que não são mostrados para maior clareza. O sistema de computação 600 pode compreender um servidor, um dispositivo de usuário, um computador desktop, um computador laptop, um dispositivo de computação em tablet, ou algum outro aparelho de comunicação de usuário.
[0062] A interface de comunicação 601 compreende componentes que se comunicam por meio de enlaces de comunicação, como placas de rede, portas, radiofrequência (RF), circuitos de processamento e software, ou alguns outros dispositivos de comunicação. A interface de comunicação 601 pode ser configurada para se comunicar por meio de enlaces metálicos, sem fio, ou ópticos. A interface de comunicação 601 pode ser configurada para usar SIP, TCP, UDP, Multiplexação por Divisão de Tempo (TDM), Internet Protocol (IP), Ethernet, rede óptica, protocolos sem fio, sinalização de comunicação, ou algum outro formato de comunicação - incluindo combinações dos mesmos. Em algumas implementações, a interface de comunicação 601 é configurada para se comunicar com outros dispositivos de usuário final, em que a interface de comunicação é usada para transferir e receber comunicações de voz para os dispositivos.
[0063] A interface de usuário 602 compreende componentes que interagem com um usuário para receber entradas de usuário e apresentar mídia e/ou informações. A interface de usuário 602 pode incluir um alto-falante, microfone, botões, luzes, tela de exibição, tela de toque, superfície de toque, roda de rolagem, porta de comunicação, ou algum outro aparelho de entrada/saída de usuário - incluindo combinações dos mesmos. A interface de usuário 602 pode ser omitida em alguns exemplos.
[0064] O circuito de processamento 605 compreende um microprocessador e outro circuito que recupera e executa a operação do software 607 a partir do dispositivo de memória 606. O dispositivo de memória 606 pode incluir mídia volátil e não volátil, removível e não removível implementada em qualquer método ou tecnologia para armazenamento de informações, como instruções legíveis por computador, estruturas de dados, módulos de programa, ou outros dados. O dispositivo de memória 606 pode ser implementado como um único dispositivo de armazenamento, mas também pode ser implementado em vários dispositivos de armazenamento ou subsistemas. O dispositivo de memória 606 pode compreender elementos adicionais, como um controlador para ler o software operacional 607. Exemplos de meios de armazenamento incluem memória de acesso aleatório, memória somente de leitura, discos magnéticos, discos ópticos e memória flash, bem como qualquer combinação ou variação dos mesmos, ou qualquer outro tipo de meios de armazenamento. Em algumas implementações, os meios de armazenamento podem ser meios de armazenamento não transitório. Em alguns casos, pelo menos uma parte dos meios de armazenamento pode ser transitória. Deve ser entendido que em nenhum caso o meio de armazenamento é um sinal propagado.
[0065] O circuito de processamento 605 é tipicamente montado em uma placa de circuito que também pode conter o dispositivo de memória 606 e porções da interface de comunicação 601 e da interface de usuário 602. O software operacional 907 compreende programas de computador, firmware, ou alguma outra forma de instruções de programa legíveis por máquina. O software operacional 607 inclui um módulo de tradução IPv4 608 e um módulo de detecção 610, embora qualquer número de módulos de software dentro do aplicativo possa fornecer a mesma operação. O software operacional 607 pode incluir adicionalmente um sistema operacional, utilitários, drivers, interfaces de rede, aplicativos, ou algum outro tipo de software. Quando executado pelo circuito de processamento 605, o software operacional 607 direciona o sistema de processamento 603 para operar o sistema de computação 600 como descrito neste documento.
[0066] Em pelo menos uma implementação, o módulo de tradução IPv4 608, quando lido e executado pelo sistema de processamento 603, direciona o sistema de processamento 603 para extrair um endereço IPv4 de um endereço IPv6 traduzível para IPv4 atribuído a um dispositivo somente IPv6. Em algumas modalidades, o módulo de tradução IPv4 608, quando lido e executado pelo sistema de processamento 603, direciona o sistema de processamento 603 para anexar um prefixo IPv6 a um endereço IPv4 para IPv4 apenas para IPv6 apenas. Por exemplo, o prefixo IPv6 pode ser anexado ao endereço de origem do cabeçalho do pacote IPv4 e ao endereço IPv4 de contato registrado. Em pelo menos uma implementação, o módulo de detecção 610, quando lido e executado pelo sistema de processamento 603, direciona o sistema de processamento 603 para determinar que o destino de uma comunicação é um dispositivo somente IPv4 em uma rede somente IPv4.
[0067] Também deve ser apreciado que os métodos descritos acima podem ser realizados por componentes de hardware ou podem ser incorporados em sequências de instruções executáveis por máquina, que podem ser usadas para causar uma máquina, como um processador de uso geral ou de uso especial (GPU ou CPU) ou circuitos lógicos programados com as instruções para realizar os métodos (FPGA). Estas instruções executáveis por máquina podem ser armazenadas em uma ou mais mídias legíveis por máquina, como CD-ROMs ou outro tipo de discos ópticos, disquetes, ROMs, RAMs, EPROMs, EEPROMs, cartões magnéticos ou ópticos, memória flash, ou outros tipos de meios legíveis por máquina adequados para armazenar instruções eletrônicas. Alternativamente, os métodos podem ser realizados por uma combinação de hardware e software.
[0068] Detalhes específicos foram dados na descrição para fornecer uma compreensão completa das modalidades. No entanto, será entendido por aqueles técnicos no assunto que as modalidades podem ser praticadas sem esses detalhes específicos. Por exemplo, os circuitos podem ser mostrados em diagramas de blocos, a fim de não obscurecer as modalidades em detalhes desnecessários. Em outros casos, circuitos, processos, algoritmos, estruturas e técnicas bem conhecidos podem ser mostrados sem detalhes desnecessários, a fim de evitar obscurecer as modalidades.
[0069] Além disso, é notado que as modalidades foram descritas como um processo que é representado como um fluxograma, um fluxograma, um fluxograma de dados, um diagrama de estrutura ou um diagrama de blocos. Embora um fluxograma possa descrever as operações como um processo sequencial, muitas das operações podem ser realizadas em paralelo ou simultaneamente. Além disso, a ordem das operações pode ser reorganizada. Um processo é encerrado quando suas operações são concluídas, mas pode ter etapas adicionais não incluídas na figura. Um processo pode corresponder a um método, uma função, um procedimento, uma sub-rotina, um subprograma, etc. Quando um processo corresponde a uma função, seu término corresponde a um retorno da função para a função de chamada ou a função principal.
[0070] Além disso, as modalidades podem ser implementadas por hardware, software, firmware, middleware, microcódigo, linguagens de descrição de hardware ou qualquer combinação dos mesmos. Quando implementado em software, firmware, middleware ou microcódigo, o código do programa ou segmentos de código para realizar as tarefas necessárias podem ser armazenados em um meio legível por máquina, como meio de armazenamento. Um(s) processador(es) pode(m) realizar as tarefas necessárias. Um segmento de código pode representar um procedimento, uma função, um subprograma, um programa, uma rotina, uma sub-rotina, um módulo, um pacote de software, uma classe ou qualquer combinação de instruções, estruturas de dados, ou declarações de programa. Um segmento de código pode ser acoplado a outro segmento de código ou um circuito de hardware, passando e/ou recebendo informações, dados, argumentos, parâmetros, ou conteúdos de memória. Informações, argumentos, parâmetros, dados, etc. podem ser passados, encaminhados ou transmitidos por qualquer meio adequado, incluindo compartilhamento de memória, passagem de mensagem, passagem de token, transmissão de rede, etc.
[0071] Embora modalidades ilustrativas da divulgação tenham sido descritas em detalhes neste documento, deve ser entendido que os conceitos inventivos podem ser incorporados e empregados de outra forma, e que as reivindicações anexas se destinam a ser interpretadas para incluir tais variações, exceto como limitado pelo estado da técnica.

Claims (10)

  1. Método de operação de um cliente somente IPv6 para conduzir uma sessão de comunicação SIP (Protocolo de Iniciação de Sessão) com um servidor ou cliente somente IPv4, o método caracterizado pelo fato de que compreende: atribuir ao cliente somente IPv6 um endereço de Protocolo de Internet (IP) IPv6 traduzível para IPv4; determinar que o cliente somente IPv6 está iniciando a sessão de comunicação SIP com o servidor ou cliente somente IPv4; extrair um endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4; e fornecer o endereço IPv4 extraído em um cabeçalho SIP de pacotes IPv6.
  2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: usar o endereço IPv4 extraído em LINHAS SDP 'm' e 'c' como um endereço de Protocolo de Transporte em Tempo Real (RTP) de destino; registrar com um Proxy somente IPv4 SIP usando o endereço IP IPv4 extraído; e usar o endereço IP IPv6 traduzível para IPv4 para TCP.
  3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que determinar que o cliente somente IPv6 está iniciando a sessão de comunicação SIP com o servidor ou cliente somente IPv4 compreende realizar uma consulta DNS para um FQDN Proxy SIPv4 e receber registros AAAA em resposta, e em que os registros AAAA começam com um prefixo de tradução IPv6.
  4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que extrair o endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4 compreende: determinar um prefixo de tradução; e extrair o endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4 usando o prefixo de tradução determinado.
  5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que usar o endereço IP IPv4 extraído no cabeçalho SIP compreende usar o endereço IP IPv4 extraído em um cabeçalho Via e um cabeçalho Contact.
  6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: o cliente somente IPv6 e o cliente ou servidor somente IPv4 transmitindo mídia diretamente usando UDP.
  7. Cliente somente IPv6 conduzindo uma sessão de comunicação SIP (Protocolo de Iniciação de Sessão) com um servidor ou cliente somente IPv4, o cliente somente IPv6 caracterizado pelo fato de que compreende: um processador configurado para determinar se a sessão de comunicação SIP é com o servidor ou cliente somente IPv4; o processador configurado para extrair um endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4; e uma interface de comunicação configurada para fornecer o endereço IP IPv4 extraído em um cabeçalho SIP de pacote IPv6.
  8. Cliente somente IPv6, de acordo com a reivindicação 7, caracterizado pelo fato de que compreende adicionalmente: a interface de comunicação configurada para usar o endereço IPv4 extraído em LINHAS SDP 'm' e 'c' como um endereço de Protocolo de Transporte em Tempo Real (RTP) de destino; a interface de comunicação configurada para registrar com um Proxy somente IPv4 SIP usando o endereço IP IPv4 extraído; e a interface de comunicação configurada para usar o endereço IP IPv6 traduzível para IPv4 para TCP.
  9. Cliente somente IPv6, de acordo com a reivindicação 7, caracterizado pelo fato de que o processador é adicionalmente configurado para: determinar um prefixo de tradução; e extrair o endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4 usando o prefixo de tradução determinado.
  10. Meio legível por computador, caracterizado pelo fato de que compreende instruções executáveis por processador, que compreende: instruções configuradas para conduzir uma sessão de comunicação SIP (Protocolo de Iniciação de Sessão) entre um cliente somente IPv6 e um servidor ou cliente somente IPv4; instruções configuradas para determinar que o cliente somente IPv6 está iniciando a sessão de comunicação SIP com o servidor ou cliente somente IPv4; instruções configuradas para extrair um endereço IP IPv4 do endereço IP IPv6 traduzível para IPv4; e instruções configuradas para fornecer o endereço IP IPv4 extraído em um cabeçalho SIP de pacotes IPv6.
BR102021018885-5A 2020-09-23 2021-09-22 Método e sistema para melhorar a comunicação entre um cliente sip somente ipv6 e um servidor ou cliente somente ipv4 BR102021018885A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/030,010 2020-09-23
US17/030,010 US20220094664A1 (en) 2020-09-23 2020-09-23 Method and system to enhance communication between an ipv6-only sip client and an ipv4-only server or client

Publications (1)

Publication Number Publication Date
BR102021018885A2 true BR102021018885A2 (pt) 2022-04-05

Family

ID=80741063

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102021018885-5A BR102021018885A2 (pt) 2020-09-23 2021-09-22 Método e sistema para melhorar a comunicação entre um cliente sip somente ipv6 e um servidor ou cliente somente ipv4

Country Status (4)

Country Link
US (1) US20220094664A1 (pt)
JP (1) JP7264960B2 (pt)
CN (1) CN114301867A (pt)
BR (1) BR102021018885A2 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11956302B1 (en) * 2022-11-28 2024-04-09 At&T Intellectual Property I, L.P. Internet protocol version 4-to-version 6 redirect for application function-specific user endpoint identifiers
CN116566943A (zh) * 2023-07-12 2023-08-08 明阳时创(北京)科技有限公司 一种音视频流轻量级直转中继方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272148B2 (en) * 2002-06-27 2007-09-18 Hewlett-Packard Development Company, L.P. Non-ALG approach for application layer session traversal of IPv6/IPv4 NAT-PT gateway
JP2005236824A (ja) * 2004-02-23 2005-09-02 Yokogawa Electric Corp IPv6/IPv4トランスレータ
KR100607993B1 (ko) * 2004-07-16 2006-08-02 삼성전자주식회사 이종 네트워크간 통신 시스템 및 방법
JP2006087039A (ja) * 2004-09-17 2006-03-30 Fujitsu Ltd モバイルip通信端末装置およびモバイルip通信方法
KR100793346B1 (ko) * 2005-10-07 2008-01-11 삼성전자주식회사 VoIP 단말 및 그 단말의 통신방법
JP4558674B2 (ja) 2006-05-02 2010-10-06 日本電信電話株式会社 Sip通信システム、sip通信制御装置、sip通信制御方法、及び、コンピュータプログラム
JP5387061B2 (ja) * 2009-03-05 2014-01-15 沖電気工業株式会社 情報変換装置、情報変換方法、情報変換プログラム及び中継装置
EP2564579A4 (en) * 2010-04-26 2016-10-12 Nokia Technologies Oy METHOD AND APPARATUS FOR SYNTHESIZED ADDRESS DETECTION
US8811393B2 (en) * 2010-10-04 2014-08-19 Cisco Technology, Inc. IP address version interworking in communication networks
US9929951B1 (en) * 2011-05-24 2018-03-27 Amazon Technologies, Inc. Techniques for using mappings to manage network traffic
CN104883407A (zh) 2014-02-28 2015-09-02 中兴通讯股份有限公司 IPv6地址处理方法、装置及DHCPv6中继设备
US20160344688A1 (en) * 2015-05-22 2016-11-24 Apple Inc. Communicating via IPv6-only Networks Using IPv4 Literal Identifiers

Also Published As

Publication number Publication date
US20220094664A1 (en) 2022-03-24
CN114301867A (zh) 2022-04-08
JP2022052742A (ja) 2022-04-04
JP7264960B2 (ja) 2023-04-25

Similar Documents

Publication Publication Date Title
Bush The address plus port (A+ P) approach to the IPv4 address shortage
US6822957B1 (en) Distributed network address translation for a network telephony system
US8374188B2 (en) Techniques to manage a relay server and a network address translator
US8559448B2 (en) Method and apparatus for communication of data packets between local networks
US8656052B2 (en) Systems and methods of mapped network address translation
US20100046530A1 (en) IP Address Distribution in Middleboxes
JP2011525776A (ja) 中継サーバー間の通信を管理するための技法
BR102021018885A2 (pt) Método e sistema para melhorar a comunicação entre um cliente sip somente ipv6 e um servidor ou cliente somente ipv4
Škoberne et al. IPv4 address sharing mechanism classification and tradeoff analysis
US20170250949A1 (en) Renat systems and methods
EP2741460B1 (en) A method and a user agent for load balancing within several proxies in a SIP network comprising a router applying network address translation
AU2021269297A1 (en) Systems and methods for providing a ReNAT communications environment
CN114567616B (zh) 一种VxLAN NAT穿越的方法、系统和设备
Hamarsheh Deploying IPv4-only connectivity across local IPv6-only access networks
Xia et al. An IPv6 translation scheme for small and medium scale deployment
WO2008020350A1 (en) Pervasive inter-domain dynamic host configuration
US20200196135A1 (en) Enhanced connectivity in dual-mode networks for single-mode nodes
Punithavathani et al. Performance analysis for wireless networks: An analytical approach by multifarious sym teredo
KR100726185B1 (ko) 서로 다른 ip 주소를 사용하는 ip 네트워크 간 연동제공 시스템, 게이트웨이 장치, 서버 및 연동 제공 방법
Bajpai et al. Flow-based identification of failures caused by IPv6 transition mechanisms
Huang et al. Enhancing Teredo IPv6 tunneling to traverse the symmetric NAT
US10938778B2 (en) Route reply back interface for cloud internal communication
Santos Private realm gateway
US8572283B2 (en) Selectively applying network address port translation to data traffic through a gateway in a communications network
Davis et al. IPv4-IPv6 translator for VoIP and video conferencing

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]