Capítulo 2
INTRODUÇÃO AO VoIP



           © 2011, PALOSANTO SOLUTIONS todos los derechos reservados. Esta documentación y su
           propiedad intelectual pertenece a PaloSanto Solutions. Cualquier uso no autorizado, reproducción,
           preparación de otros trabajos en base a este documento, difusión o representación de software
           presentado en este documento, sin el permiso expreso y por escrito de PaloSanto Solutions está
           estrictamente prohibido. PaloSanto Solutions, Elastix y el logo de Elastix son propiedad de Megatelcon
           S.A. Otras marcas, servicios y nombres de negocios pertenecen a sus respectivas compañías.
Que é VoIP?


– A voz sobre IP ou VoIP consiste em transmitir voz sobre protocolo IP.

– O conceito é muito amplo e existem muitas alternativas de protocolo. É
  uma verdadeira sopa de protocolo.

– A voz é empacotada para poder ser transmitida em uma rede IP.

– O protocolo IP não foi desenhado especificamente para transportar voz.
VoIP: Uma sopa de protocolos
Protocolo IP

– Um dos protocolos mais conhecidos.

– Seu nome vem de Internet Protocol.

– Este protocolo oferece um serviço “sem garantias” também chamado de
  “melhor esforço”.

– Os pacotes podem chegar desordenados e são reordenados no destino.
Protocolo IP

– Inclusive, pacotes podem se perder na viagem.

– Esta desordem e perdas de pacotes podem afetar a qualidade de voz.

– Apesar de tudo, tem-se encontrado maneiras inteligente de resolver estes
  problemas da melhor maneira possível.
Direção IP (1)

– É um número único que identifica a um host conectado a uma rede IP.

– Consta de 32 bits ou 4 bits. Na prática se utiliza uma notação onde cada bits
  se traduz em números decimais e se separa com um ponto. Um exemplo de
  direção IP é 130.5.5.26

– Uma direção IP está composta por duas partes, uma identifica o host e a
  outra identifica a rede a qual pertence o dito host.

– Para encontrar estas partes se utiliza outro parâmetro chamado máscara de
  rede.
Direção IP (2)

– A máscara de rede é um número binário de 32 bits que também se representa
  em uma notação similar a uma direção IP.

– Começa com números um e continua assim até alcançar a quantidade de
  “uns” igual a porção de direção IP que corresponde a rede.
Direção IP (3)

– Por tanto, no exemplo anterior obteremos a direção IP 130.5.5.26 com
  máscara 255.255.255.0 pertence a rede 130.5.5.0

– A máscara anterior foi uma máscara de 24 bits, já que havia 24 “uns”.

– Uma vez conhecida a rede onde se encontra o host que queremos localizar
  já é mais fácil encaminhar os pacotes IP ao seu destino.

– Os roteadores armazenam tabelas de rotas ou regras de como localizar as
  outras redes.
Pacotes IP (1)

– Um pacote IP contém toda informação necessária para chegar ao destino.

– Poderia se dividir em duas partes: cabeceira e carga útil.

– A cabeceira é a que contém a informação referente ao pacote.

– Essa cabeceira diminui ligeiramente a quantidade de informação que pode-se
  transportar já que ocupa espaço.

– A carga útil pode encapsular por sua vez outros protocolos como por
  exemplo UDP ou TCP.
Pacotes IP (2)




 Cabeceira de um pacote IP
Direcionamento IP

– Para que os pacotes cheguem ao destino é necessário roteadores.

– Os roteadores são dispositivos com tabelas de rotas.

– A tabela de rotas de redes destino e para cada uma a direção IP do roteador
  que permite alcançá-las.

– O roteador que nos permite saída a outras redes se denomina gateway.

– O pacote IP que chega ao roteador examina-se para ver a que rede
  pertence, elege-se a rota adequada e o envia para lá.
Protocolo TCP (1)

– É um protocolo de transporte.

– Se monta sobre protocolo IP para controlar erros na transmissão e que os
  pacotes sejam recebidos pelas aplicações na mesma ordem em que foram
  enviados .

– Para executar a sua missão TCP necessita conduzir informação adicional que
  adiciona peso ao pacote. Por isso não é muito recomendado para aplicações
  de tempo real como a voz.

– Contudo pode servir para a sinalização de voz.
Protocolo TCP (2)

– TCP introduz o conceito de porta.

– Uma porta é uma abstração que nos permite relacionar fluxos de dados
  com serviços de rede.

– Por exemplo, a porta 80 corresponde ao serviço de Web o protocolo
  HTTP.
Protocolo UDP

– UDP (User Datagram Protocol) é outro protocolo de transporte.

– Divide informações em pacotes chamados datagramas.

– Diferencia-se com o TCP sendo que neste protocolo não lhe importa se os
  dados chegam com erros ou inclusive se chegam ou não.

– Pelo mesmo introduz pouco peso extra ao pacote IP tornando-o mais
  adequado para aplicações do tempo real como voz.
Sinalização de VoIP

– Tal como acontece com a telefonia tradicional é necessário sinalizar as
  chamadas VoIP.

– Existem algumas alternativas aqui de protocolos de sinalização como SIP,
  H323, MGCP, SIP, entre outros.

– Os mais populares sobre Asterisk são SIP e IAX.

– Com respeito a SIP e H323, muitas pessoas confundem e pensam que a voz
  se transmite por este protocolo porém é só a sinalização.
Transporte de VoIP

– O transporte da voz se executa pelo protocolo RTP.

– RTP significa Realtime Transport Protocol.

– O protocolo RTP é quem realmente transporta o áudio codificado.

– RTP se transporta sobre UDP.

– Em SIP o áudio se transmite por RTP uma vez que se tenha negociado a
  porta de rede entre Elastix e o endpoint ou telefone.
Relação entre protocolos
Codificação da voz

– Para transmitir a voz adequadamente, ela é codificada.

– E depois de codifica-la é que ela se monta sobre o RTP.

– A codificação pode servir para diminuir a probabilidade de erro ou também
  para minimizar a largura da banda utilizada.

– Para codificar se utiliza um codec, que é um algorítmico.

– Existem diferentes codecs, cada um com seus prós e contras.
G.711
– Um dos codecs mais utilizados de todos os tempos.

– Vem de um padrão ITU-T que foi liberado em 1972.

– Ele vem em dois sabores chamados μ-Law (usado na Europa) e a-Law
  (utilizado nos USA).

– Vantagem 1: Boa qualidade de voz já que utiliza 64 kbit/s, uma amostra de 8
  bits a 8 KHz.

– Vantagem 2: Já vem habilitado em Elastix, não tem que pagar por ele.

– Desvantagem: Ocupa muita largura de banda. Não é recomendado para
  conexões com pouco BW.
G.729
– Também um codec muito popular.

– Licenciado pela Intel.

– Vantagem: Uma muito grande é que comprime muito bem a voz sem
  nenhum dano significativo da qualidade.

– Desvantagem 1: Licenciado por canal de voz. Aprox. $10 por canal.

– Desvantagem 2: Embora não cause dano significativo a voz, a qualidade é
  menor do que se utilizar G.711.
GSM
– Também bom compactando voz.

– Está relacionado com o padrão de telefonia celular GSM (Global System for
  Mobile communications), daí o seu nome.

– Compacta muito bem a voz com uma qualidade similar ao telemóvel/celular.

– Vem habilitado por defeito em Elastix.

– Bom como alternativa ao G.729. Ainda que a sua qualidade de áudio é
  ligeiramente inferior a G.729.
Sobrecarga de protocolos (1)

– Os diversos protocolos enviam data adicional à voz.

– Temos a Ethernet, IP, UDP, RTP.

– Isso faz com que a largura da banda seja real para transmitir voz seja maior
  ao do codec.

– Por exemplo, para transmitir voz utilizando G.711 na teoria deveríamos
  utilizar 64Kbps (peso do codec) mas na realidade utilizaremos 95.2Kbps de
  BW.

– Em outros codecs mais compressores a sobrecarga é inclusa, mais
  significativa. (percentualmente falando).
Sobrecarga de protocolos (2)
Sobrecarga de protocolos (3)
– Calculemos a largura da banda para G.711

  Bytes transmitidos para cada 20ms

– 38 + 20 + 12 + 8 + 160 = 238 bytes

  Bits transmitidos para cada 20ms

– 238 bytes * 8 bits/byte = 1904 bits

  Bits transmitidos para cada segundo

– 1904 bits/frame * 50 frames/seg. = 95,200 bits/segundo = 95.2Kbps!
Comparativa Codecs

Tabela da largura de banda real para alguns codecs.
(utilizando Ethernet):
             Codec         BW codec           BW real (ethernet)

          G.711             64 Kbps               95.2 Kbps
          G.726*            32 Kbps               63.2 Kbps
          iLBC*            15.2 Kbps              46.4 Kbps
          GSM               13 Kbps               43.7 Kbps
          G.720A             8 Kbps               39.2 Kbps

    * Para esses codec, outras larguras de banda também podem ser utilizados

Introdução ao VoIP

  • 1.
    Capítulo 2 INTRODUÇÃO AOVoIP © 2011, PALOSANTO SOLUTIONS todos los derechos reservados. Esta documentación y su propiedad intelectual pertenece a PaloSanto Solutions. Cualquier uso no autorizado, reproducción, preparación de otros trabajos en base a este documento, difusión o representación de software presentado en este documento, sin el permiso expreso y por escrito de PaloSanto Solutions está estrictamente prohibido. PaloSanto Solutions, Elastix y el logo de Elastix son propiedad de Megatelcon S.A. Otras marcas, servicios y nombres de negocios pertenecen a sus respectivas compañías.
  • 2.
    Que é VoIP? –A voz sobre IP ou VoIP consiste em transmitir voz sobre protocolo IP. – O conceito é muito amplo e existem muitas alternativas de protocolo. É uma verdadeira sopa de protocolo. – A voz é empacotada para poder ser transmitida em uma rede IP. – O protocolo IP não foi desenhado especificamente para transportar voz.
  • 3.
    VoIP: Uma sopade protocolos
  • 4.
    Protocolo IP – Umdos protocolos mais conhecidos. – Seu nome vem de Internet Protocol. – Este protocolo oferece um serviço “sem garantias” também chamado de “melhor esforço”. – Os pacotes podem chegar desordenados e são reordenados no destino.
  • 5.
    Protocolo IP – Inclusive,pacotes podem se perder na viagem. – Esta desordem e perdas de pacotes podem afetar a qualidade de voz. – Apesar de tudo, tem-se encontrado maneiras inteligente de resolver estes problemas da melhor maneira possível.
  • 6.
    Direção IP (1) –É um número único que identifica a um host conectado a uma rede IP. – Consta de 32 bits ou 4 bits. Na prática se utiliza uma notação onde cada bits se traduz em números decimais e se separa com um ponto. Um exemplo de direção IP é 130.5.5.26 – Uma direção IP está composta por duas partes, uma identifica o host e a outra identifica a rede a qual pertence o dito host. – Para encontrar estas partes se utiliza outro parâmetro chamado máscara de rede.
  • 7.
    Direção IP (2) –A máscara de rede é um número binário de 32 bits que também se representa em uma notação similar a uma direção IP. – Começa com números um e continua assim até alcançar a quantidade de “uns” igual a porção de direção IP que corresponde a rede.
  • 8.
    Direção IP (3) –Por tanto, no exemplo anterior obteremos a direção IP 130.5.5.26 com máscara 255.255.255.0 pertence a rede 130.5.5.0 – A máscara anterior foi uma máscara de 24 bits, já que havia 24 “uns”. – Uma vez conhecida a rede onde se encontra o host que queremos localizar já é mais fácil encaminhar os pacotes IP ao seu destino. – Os roteadores armazenam tabelas de rotas ou regras de como localizar as outras redes.
  • 9.
    Pacotes IP (1) –Um pacote IP contém toda informação necessária para chegar ao destino. – Poderia se dividir em duas partes: cabeceira e carga útil. – A cabeceira é a que contém a informação referente ao pacote. – Essa cabeceira diminui ligeiramente a quantidade de informação que pode-se transportar já que ocupa espaço. – A carga útil pode encapsular por sua vez outros protocolos como por exemplo UDP ou TCP.
  • 10.
    Pacotes IP (2) Cabeceira de um pacote IP
  • 11.
    Direcionamento IP – Paraque os pacotes cheguem ao destino é necessário roteadores. – Os roteadores são dispositivos com tabelas de rotas. – A tabela de rotas de redes destino e para cada uma a direção IP do roteador que permite alcançá-las. – O roteador que nos permite saída a outras redes se denomina gateway. – O pacote IP que chega ao roteador examina-se para ver a que rede pertence, elege-se a rota adequada e o envia para lá.
  • 12.
    Protocolo TCP (1) –É um protocolo de transporte. – Se monta sobre protocolo IP para controlar erros na transmissão e que os pacotes sejam recebidos pelas aplicações na mesma ordem em que foram enviados . – Para executar a sua missão TCP necessita conduzir informação adicional que adiciona peso ao pacote. Por isso não é muito recomendado para aplicações de tempo real como a voz. – Contudo pode servir para a sinalização de voz.
  • 13.
    Protocolo TCP (2) –TCP introduz o conceito de porta. – Uma porta é uma abstração que nos permite relacionar fluxos de dados com serviços de rede. – Por exemplo, a porta 80 corresponde ao serviço de Web o protocolo HTTP.
  • 14.
    Protocolo UDP – UDP(User Datagram Protocol) é outro protocolo de transporte. – Divide informações em pacotes chamados datagramas. – Diferencia-se com o TCP sendo que neste protocolo não lhe importa se os dados chegam com erros ou inclusive se chegam ou não. – Pelo mesmo introduz pouco peso extra ao pacote IP tornando-o mais adequado para aplicações do tempo real como voz.
  • 15.
    Sinalização de VoIP –Tal como acontece com a telefonia tradicional é necessário sinalizar as chamadas VoIP. – Existem algumas alternativas aqui de protocolos de sinalização como SIP, H323, MGCP, SIP, entre outros. – Os mais populares sobre Asterisk são SIP e IAX. – Com respeito a SIP e H323, muitas pessoas confundem e pensam que a voz se transmite por este protocolo porém é só a sinalização.
  • 16.
    Transporte de VoIP –O transporte da voz se executa pelo protocolo RTP. – RTP significa Realtime Transport Protocol. – O protocolo RTP é quem realmente transporta o áudio codificado. – RTP se transporta sobre UDP. – Em SIP o áudio se transmite por RTP uma vez que se tenha negociado a porta de rede entre Elastix e o endpoint ou telefone.
  • 17.
  • 18.
    Codificação da voz –Para transmitir a voz adequadamente, ela é codificada. – E depois de codifica-la é que ela se monta sobre o RTP. – A codificação pode servir para diminuir a probabilidade de erro ou também para minimizar a largura da banda utilizada. – Para codificar se utiliza um codec, que é um algorítmico. – Existem diferentes codecs, cada um com seus prós e contras.
  • 19.
    G.711 – Um doscodecs mais utilizados de todos os tempos. – Vem de um padrão ITU-T que foi liberado em 1972. – Ele vem em dois sabores chamados μ-Law (usado na Europa) e a-Law (utilizado nos USA). – Vantagem 1: Boa qualidade de voz já que utiliza 64 kbit/s, uma amostra de 8 bits a 8 KHz. – Vantagem 2: Já vem habilitado em Elastix, não tem que pagar por ele. – Desvantagem: Ocupa muita largura de banda. Não é recomendado para conexões com pouco BW.
  • 20.
    G.729 – Também umcodec muito popular. – Licenciado pela Intel. – Vantagem: Uma muito grande é que comprime muito bem a voz sem nenhum dano significativo da qualidade. – Desvantagem 1: Licenciado por canal de voz. Aprox. $10 por canal. – Desvantagem 2: Embora não cause dano significativo a voz, a qualidade é menor do que se utilizar G.711.
  • 21.
    GSM – Também bomcompactando voz. – Está relacionado com o padrão de telefonia celular GSM (Global System for Mobile communications), daí o seu nome. – Compacta muito bem a voz com uma qualidade similar ao telemóvel/celular. – Vem habilitado por defeito em Elastix. – Bom como alternativa ao G.729. Ainda que a sua qualidade de áudio é ligeiramente inferior a G.729.
  • 22.
    Sobrecarga de protocolos(1) – Os diversos protocolos enviam data adicional à voz. – Temos a Ethernet, IP, UDP, RTP. – Isso faz com que a largura da banda seja real para transmitir voz seja maior ao do codec. – Por exemplo, para transmitir voz utilizando G.711 na teoria deveríamos utilizar 64Kbps (peso do codec) mas na realidade utilizaremos 95.2Kbps de BW. – Em outros codecs mais compressores a sobrecarga é inclusa, mais significativa. (percentualmente falando).
  • 23.
  • 24.
    Sobrecarga de protocolos(3) – Calculemos a largura da banda para G.711 Bytes transmitidos para cada 20ms – 38 + 20 + 12 + 8 + 160 = 238 bytes Bits transmitidos para cada 20ms – 238 bytes * 8 bits/byte = 1904 bits Bits transmitidos para cada segundo – 1904 bits/frame * 50 frames/seg. = 95,200 bits/segundo = 95.2Kbps!
  • 25.
    Comparativa Codecs Tabela dalargura de banda real para alguns codecs. (utilizando Ethernet): Codec BW codec BW real (ethernet) G.711 64 Kbps 95.2 Kbps G.726* 32 Kbps 63.2 Kbps iLBC* 15.2 Kbps 46.4 Kbps GSM 13 Kbps 43.7 Kbps G.720A 8 Kbps 39.2 Kbps * Para esses codec, outras larguras de banda também podem ser utilizados