|
IP10 Tecnologia
TREINAMENTOS
MOD TIVB-01
Curso VoIP Fundamentals:
Instalação, Tuning e Manutenção
|
Conteúdo
Introdução a Voz Sobre IP (VoIP). 4
Breve Histórico. 4
Alguns fundamentos chave. 5
A Importância das Telecomunicações. 6
O que é VoIP. 6
Como funciona o VoIP ?. 7
A conexão VoIP. 7
A Compressão da VOZ. 7
Protocolo de Transporte. 9
O Protocolo RTP. 9
O cabeçalho RTP. 10
O Protocolo RTCP. 12
FXS & FXO.. 13
Exemplo 1 – Conexão Gateway FXS. 13
Exemplo 2 – Conexão Gateway FXO.. 14
PSTN.. 15
Public switched Telephony Network Rede de Telefonia Publica Comutada. 15
POTS. 15
Plain Old Telephone Service Line. 15
ISDN.. 15
T1 ou E1. 16
Conhecendo as Operadoras. 17
Protocolos de Sinalização e Multimídia. 19
H.323. 19
O Protocolo SIP. 20
Componentes do SIP. 20
Requisições SIP: 20
SDP – Session Description Protocol 21
Respostas SIP: 21
Fluxo SIP. 21
Registro de Usuário (REGISTER). 22
Resposta do Servidor (200 OK). 23
Padrões SIP. 23
Introdução a Voz Sobre IP (VoIP)
Breve Histórico
A história da telefonia e a trajetória de uma tecnologia que atingiu um uso massivo, como nenhuma outra tecnologia é surpreendentemente muito recente quando comparada com a história da humanidade, e isto se apenas considerarmos o período que compreende o advento dos primeiros assentamentos agrícolas até os tempos atuais, o que cobre ao menos 10.000 anos de história. As primeiras tecnologias de voz vieram ao mundo por volta de 1870, embora pareça para nós que sempre tenham existido, sendo muito difícil imaginar o mundo sem o telefone, assim como sem televisão ou computador. Este período da história curiosamente coincide com o ápice dos movimentos nacionalistas e a consolidação das grandes nações, movimento que nos apresentou a guerra em escala industrial. Não devemos ter dúvidas, as tecnologias de comunicação e a telefonia contribuíram muito para as transformações radicais que a humanidade sofreu no último século.
Costuma-se atribuir a invenção do telefone ao escocês Alexander Graham Bell, embora tal paternidade tenha sido sempre contestada ao longo do tempo. Se for controversa a primazia da invenção, que na verdade deveu-se, para sermos justos, como conseqüência dos grandes movimentos inventivos de uma determinada época, graças ao esforço conjunto e competitivo entre diferentes cientistas e inventores, é correto atribuir-lhe a primazia por ter sido o primeiro a patentear a sua invenção. Seria correto também atribuir a Thomas Edison a co-autoria do aparelho e tecnologia que ele então patenteava.
Os primeiros equipamentos de telefonia não possuíam teclas para discagem, e com isto era necessário o operador do outro lado da linha para fazer a conexão, em um processo que vemos nos filmes mais antigos, onde um operador conectava um plug entre o chamador e o destinatário daquela ligação. O primeiro “PBX” foi criado em 1889, por Almon B. Strowger, juntamente com o primeiro telefone de discagem. O mais incrível de tudo isto é que, apesar do mais de um século nos separa da criação do telefone, em muitos lugares do Brasil, senão em sua maioria, o aparelho analógico que utilizamos incorpora praticamente os mesmos princípios e tecnologia dos telefones primordiais, o que denota o grande mérito daqueles inventores de outrora.
Recentemente, o maior avanço que experimentamos foi a adoção do tom de discagem digital, substituindo o pulso, possibilitando com isto a adoção dos serviços de Call e Contact Center, através dos quais nos comunicamos com bancos e outros serviços. Ainda assim, e apesar das centrais mais modernas incorporarem algum tipo de inteligência e a comunicação digital entre centrais, em nossos escritórios e residências ainda é bastante comum o uso em larga escala da telefonia analógica tradicional.
O motivo deste sucesso é que a telefonia atingiu um grau de confiabilidade e perfeição que chegou ao padrão de disponibilidade de 99.999%. É curioso observar como causa mortífera indignação o fato de o telefone ficar mudo por algumas horas, ainda que seja por uma única vez em vários anos, a indignação e o sangue subindo à cabeça.
O fato é que nos acostumamos a entender o telefone como uma peça de tecnologia perfeita que não pode, não deve, e não irá nunca quebrar. Por outro lado, a indisponibilidade de água, ou o corte abrupto de energia elétrica, ou mesmo o atraso de aeronaves, engarrafamentos ou o “bolo” no dentista ou médico não causam a mesma indignação que um telefone mudo. Esta tecnologia atingiu aquilo que chamamos de “estado da arte”, acaba e pronto, e, portanto definitivo. Por isto, o senso comum acostumou-se com a noção de que não haveria nenhum motivo para substituí-la por outra.
Por que substituir uma “tecnologia perfeita” por uma alternativa? Afinal, porque usar o VoIP se estamos falando do “estado da arte em tecnologia” ? Uma tecnologia entrante, como o VoIP não vai, com certeza propiciar o grau de disponibilidade de 99.999% que já era obtido com a tecnologia clássica e mais do que centenária. Então, porque usar o VoIP ? Há vários motivos, e não é somente devido ao custo. O fato é que vivenciamos uma nova revolução tecnológica, que é aquela representada pela comunicação total, que veio para alterar radicalmente usos e costumes.
Alguns fundamentos chave
É importante entender que freqüências nosso ouvido é capaz de perceber. Teoricamente, uma pessoa dotada de boa capacidade de audição e que não tenha sofrido redução de sua sensibilidade auricular devido à idade ou algum trauma é capaz de perceber os sons na faixa de freqüência que compreende de 20hz a 20KHZ (20.000 Hz). Somos capazes, no entanto, de produzir sons audíveis apenas na faixa de 50hz para cima, ao passo que a maior parte da energia sonora que produzimos através do nosso aparelho vocal está concentrada na faixa de 300 Hz a 3 kHz. Por este motivo, entre outros, determinou-se que a faixa compreendida entre 300hz e 3.4kHz é a que concentra a maior parte da inteligibilidade e informação relativa ao reconhecimento da voz.
Desta forma, os sistemas de telefonia foram projetados para utilizar a faixa entre 300 Hz e 3.4 kHz, o que é o suficiente para manter uma conversação de qualidade e possibilitando o emprego de tecnologia mais eficiente para lidar com esta faixa de freqüência.
A maioria dos telefones analógicos que conhecemos emprega um sistema conhecido como “loop-disconect”, ou “loop start”, conectando o sinal de voz em duas direções, usando dois fios (two-wire), transportando eletricamente a informação correspondente aos dígitos discados e a voltagem de campainha. Uma voltagem de 48 v sobre o par de fios é empregada para alimentar o telefone, e por isto não o ligamos na tomada – o sem fio é outra estória, e monitorar a “tirada do gancho”, “colocação no gancho” e pulsar a atividade de discagem.
Para iniciar uma chamada, o usuário levanta o fone, ação esta que fecha um switch no telefone e faz a corrente elétrica fluir em loop, motivo pelo qual chamamos este sistema de “loop start”. A corrente gerada é detectada na Central e fornece um tom para a linha, tom este que sinaliza ao usuário que agora ele pode iniciar a discagem.
Atualmente o método mais empregado é baseado em DTMF. Neste sistema, cada número é representado por dois tons, associados a um grupo de freqüências alto (1209hz, 1336hz e 1447hz), e a um grupo de freqüências baixas (697hz, 770hz, 852hz e 941hz). Estes tons são transmitidos simultaneamente, por um curto período de tempo, um padrão que é definido pelo ITU-T. Foi a introdução deste sistema que possibilitou a implantação dos sistemas atuais baseados em menu, tais como home banking, serviços de seguros, call centers automatizados, e outros sistemas baseados em reconhecimento de tons.
Relativamente em relação aos Estados Unidos, estas implementações demoraram muito a acontecer no Brasil, mas hoje são de uso corrente e de conhecimento por boa parte da população, o que passou a acontecer graças às reformas tornadas possíveis após a privatização das Teles e da inversão maciça de investimentos que permitiu a disseminação destes sistemas.
A maioria dos sistemas de telefonia baseados em PBX atualmente é digital, embora isto não implique no uso de telefones digitais, necessariamente. Dado o seu elevado custo no mercado brasileiro, é muito comum o uso do telefone analógico, ainda que acoplado a uma central digital. Neste caso, a interface do PBX converte o sinal analógico do aparelho telefônico na codificação PCM (*). O sonho de muitos é possuir uma Central IP de última geração, com o aparelho mais barato da praça, o que nem sempre faz sentido…
A Importância das Telecomunicações
As tecnologias têm evoluído de forma rápida e temos visto o quanto são importantes os sistemas de comunicação, acreditando-se que o foco principal de pesquisas e estudos é garantir a qualidade que hoje temos em sistemas de telecomunicação e aperfeiçoando-as na medida do possível.
Com a utilização das redes IP como solução para sistemas de telecomunicação, fica possível estabelecer redução de custos em telefonia e agregação de serviços, utilizando-se uma única estrutura.
O que é VoIP
O VoIP sigla que deriva do inglês “Voice Over IP”, tecnologia que permite a digitalização e codificação de voz em pacotes IP, utilizando para transmissão a rede de comutação de pacotes[1] IP.
A tecnologia VoIP originou dois segmentos de produtos e serviços complementares:
• VoIP – convergência de voz e dados em rede WAN[2], utilizando o ATM[3], Frame Relay ou mesmo o PPP para a transmissão de voz, com o objetivo à redução dos custos de telecomunicações;
• Telefonia IP – dispositivos para telefonia baseados em IP, operando em rede local (LAN[4]) e visando a facilidade de uso, integração e aumento da produtividade.
| Pacotes[1] – Pacote (ou trama ou datagrama) é a estrutura de dados unitária de transmissão em uma rede (de computadores ou telecomunicações). A informação a transmitir geralmente é quebrada em inúmeros pacotes, e então transmitidas.
WAN[2] – A Wide Area Network (WAN), Rede de área alargada ou Rede de longa distância, também conhecida como Rede geograficamente distribuída, é uma rede de computadores que abrange uma grande área geográfica, com freqüência um país ou continente.
ATM[3] – Asynchronous Transfer Mode, ou simplesmente ATM, é uma arquitetura de rede de alta velocidade orientada a conexão e baseada na comutação de pacotes de dados.
LAN[4] – Em computação, LANs (acrônimo de Local Area Network, “rede de área local” ) são redes utilizadas na interconexão de equipamentos processadores com a finalidade de troca de dados. Tais redes são denominadas locais por cobrirem apenas uma área limitada (10 Km no máximo, quando passam a ser denominadas WANs ), visto que, fisicamente, quanto maior a distância de um nó da rede ao outro, maior a taxa de erros que ocorrerão devido à degradação do sinal.
|
Como funciona o VoIP ?
O processo como o VoIP trabalha é extremamente simples, primeiramente, a voz é digitalizada utilizando-se um ADC (Analog to Digital Converter), em seguida, este sinal digital é empacotado e transmitido via os meios já utilizados para trafegar dados (internet por exemplo). Ao chegar à ponta receptora, o processo é feito de forma reversa, agora se utilizando um DAC (Digital to Analog Converter) para converter o sinal digital em analógico.
Em resumo, o VoIP digitaliza a voz em pacotes de dados, transmite e reconverte em voz novamente em seu destino.
A imagem abaixo exemplifica este processo:
|
Voz (origem) ->
|
ADC ->
|
Internet ->
|
DAC ->
|
Voz (destino)
|
A conexão VoIP
Para ter uma comunicação VoIP nós precisamos dos seguintes passos:
- A voz é convertida em sinais digitais (bits)
- Os bits são comprimidos no formato ideal para a transmissão (uso de do codecs)
- Os pacotes de voz são inseridos em pacotes de dados usando o RTP (Real-time Protocol)
- Utiliza-se um protocolo de sinalização (SIP, H323 ou MGCP, por exemplo)
- No destino, os pacotes são então desempacotados, os dados são extraídos e convertidos em sinais de voz analógicos novamente.
A Compressão da VOZ
Depois do processo de digitalização da voz em dados, precisamos converter esses pacotes em um formato padrão para que seja rapidamente transmitido, para isto utilizamos os chamados CODECs (Codificador-Decodificador). Os codecs são softwares que tem a capacidade de codificar ou decodificar um sinal ou fluxo de dados digital.
Um dos padrões utilizados é a ITU-T G.711 (PCM – Pulse Code Modulation)
O sinal de voz é amostrado a uma taxa de 8000 vezes por segundo. Esta taxa deriva de uma teoria desenvolvida por Harry Nyquist, que estabelece que a taxa de amostragem deva ser ao menos duas vezes a máxima taxa do sinal amostrado, ou seja, (2 x 3.4KHz).
Representamos cada amostra com 8 bit (pode se ter até 256 valores possíveis)
De acordo com a norma ITU-T G.711, existem dois algoritmos para codificar um sinal que são: U-law e a-law. O algoritmo u-law é usado nos EUA e Japão, já o a-law é usado em quase todos os outros países.
O throughput é 8000 Hz * 8bit = 64 kbit/s, utilizado em linhas telefônicas digitais.
Com base nestas informações, sabemos então que se utilizando um codec como o G.711, terá uma ocupação de 64 kbit/s por canal.
Abaixo seguem outros padrões e seus respectivos valores:
- G.723 (MP-MLQ speech coding at 6,3(5,3) kbit/s rate)
- G.726-16 (ADPCM speech coding at 16 kbit/s rate)
- G.726-32 (ADPCM speech coding at 32 kbit/s rate)
- G.726-24 (ADPCM speech coding at 24 kbit/s rate)
- G.729a (CS-ACELP speech coding at 8 kbit/s rate) (preferred)
- G.711a (PCM audio coding standard, 8 kHz sample rate, 8 bits, 64 kbit/s data rate)
- G.711u (PCM audio coding standard, 8 kHz sample rate, 8 bits, 64 kbit/s data rate)
É importante lembrar que nem todos os codecs são gratuitos, o G.729 e o G.723, por exemplo, devem ser licenciados para a utilização.
O Consumo de banda é um fator que deve ser levado em consideração, pois um codec como o G.729, por exemplo, pode chegar a consumir 30 kbps, isto porque a banda reservada é apenas para o payload (carga de voz), alem deste consumo existe ainda o consumo em relação ao trafego de rede, onde este é encapsulado usando cabeçalhos de rede.
Protocolo de Transporte
Agora vamos ver sobre o protocolo que é encarregado de encapsular e transportar esses pacotes contendo a voz através da pilha TCP/IP.
O VoIP não utiliza TCP para trafegar os dados e sim UDP sobre IP.
O UDP por não ser um protocolo orientado à conexões, ele não faz controle sobre a ordem de entrega dos pacotes ou confirmações do mesmo. Estes fatores são importantes para garantir a qualidade da voz. O Protocolo RTP resolve estes problemas permitindo que o receptor coloque os pacotes na ordem correta e não espere muito tempo pelos pacotes que podem ter sido perdidos ou que levem muito tempo à chegar. É importante dizer que não é preciso todo pacote vir um de cada vez, mas sim em fluxo continuo e ordenados.
O Protocolo RTP
O RFC 1889 intitulado “A Transport Protocol for Real-Time Applications” define um protocolo que fornece um serviço de transporte de dados com características de tempo real, de que são exemplos áudio e vídeo interativo.
O serviço inclui identificação do tipo do payload, numeração seqüencial, marcas temporais (timestamping) e monitoração da entrega de dados.
O RTP tem dois componentes:
- O próprio RTP, responsável pela transferência de dados;
- Um protocolo de controle (RTCP – RTP Control Protocol), responsável pela monitoração da Qualidade de Serviço e pelo envio de informação sobre os participantes numa sessão;
O RTP/RTCP corre tipicamente sobre UDP, utilizando as suas capacidades de multiplexagem e checksum; em conjunto fornecem parte da funcionalidade de protocolos de Transporte
O RTP/RTCP é adotado na arquitetura multimídia IETF e na arquitetura H.323 (ITU)
O RTP (transporte de dados) tem as seguintes características:
- É executado fim a fim
- Transporta dado com características de tempo real:
- Streaming
- Interativos
- Não inclui mecanismos que providenciem entrega confiável e com garantias de QoS, ou que permitam reserva de recursos;
- Inclui as seguintes funções:
- Timestamping (para compensação do jitter em pacotes do mesmo stream)
- Numeração seqüencial (para detecção de perdas e reordenação)
- Identificação do tipo de payload (para descrever o tipo de codificação usado no payload)
- Identificação da fonte (em sessões multicast)
O cabeçalho RTP
O cabeçalho RTP é exibido abaixo:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronization source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source (CSRC) identifiers |
| …. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Os primeiros doze bytes existem em todo pacote RTP, enquanto que a lista dos identificadores CSRC está presente somente quando inserido por um multiplexador. Os campos têm o seguinte significado [RFC 1889, pg 10]:
- Versão (V): 2 bits: identifica a versão do protocolo RTP;
- Padding (P): 1 bit: se esse bit estiver ligado, o pacote contém um ou mais bytes de enchimento no final que não fazem parte dos dados úteis, devendo ser ignorados. Esses bytes podem ser necessários por alguns algoritmos de criptografia com tamanhos fixos de blocos, ou para enviar muitos pacotes RTP em um protocolo de nível inferior;
- Extensão (X): 1 bit: se esse bit estiver ligado, o cabeçalho terá uma extensão com o mesmo número de bytes, em formato definido na RFC 1889;
- Contador de CSRC (CC): 4 bits: número de identificadores CSRC que seguem o tamanho fixo do cabeçalho;
- Marcador (M): 1 bit: tem o objetivo de permitir eventos significativos, tal como limites de quadro, serem marcados no fluxo de pacotes;
- Payload Type (PT): 7 bits: identifica o formato da carga útil do pacote, de forma que possa ser interpretado pela aplicação. Um exemplo é áudio codificado em PCM ou ADPCM, ou vídeo codificado em MPEG ou H.263, e assim por diante;
- Número de seqüência: 16 bits: incrementa de um a cada pacote RTP transmitido, e pode ser usado pelo receptor para detectar perda de pacotes, bem como para restaurar a seqüência correta do fluxo;
- Timestamp: 32 bits: reflete o instante de amostragem do primeiro byte no pacote de dados do RTP. O instante de amostragem deve derivar de um relógio que incrementa linearmente no tempo a fim de permitir sincronização e cálculo de jitter. A resolução do relógio deve ser suficiente para a precisão de sincronização desejada e medição de jitter;
- SSRC: 32 bits: identifica a origem da sincronização. Esse número é escolhido randomicamente, procurando fazer com que todas as fontes de sincronização tenham identificadores diferentes. Caso haja colisões, o SSRC é modificado de acordo com um algoritmo determinado na RFC 1889;
- CSRC: 32 bits cada identificador: máximo de 15 itens: identifica as fontes que contribuíram para a carga de dados existente no pacote RTP. Esses campos são inseridos por multiplexadores, usando os SSRCs das fontes contribuintes. Assim, por exemplo, para pacotes de áudio de várias fontes que foram multiplexados em pacotes únicos RTP, o receptor utiliza esse campo para colocar de forma correta quem falou o quê.
Um exemplo de uso do RTP é visto na RFC 1889 (pg 5), onde ele é utilizado para efetivação de uma conferência de áudio em multicast. No início são alocados duas portas UDP (uma para dados RTP e outra para controle RTCP) e um endereço IP multicast. Essa informação é transmitida para todos os participantes. A aplicação utilizada pelos participantes envia o áudio em pequenos fragmentos de 20ms de duração, cada um deles com um cabeçalho RTP, que é transmitido via UDP na porta especificada anteriormente.
O cabeçalho RTP indica o tipo de codificação de áudio (PCM, ADPCM, MP3) que está contida no pacote, a fim de que os participantes possam trocar a codificação para permitir a entrada de um novo participante que está conectado através de uma linha lenta.
Para pacotes que chegam em ordem trocada, o número de seqüência ajuda na reorganização da informação. Já para atrasos variáveis na rede, a informação de timestamp vai ajudar o receptor a dimensionar o buffer de recepção, a fim de evitar truncamentos na conversa.
Além disso, o receptor sabe que cada número de seqüência corresponde a 20ms nesse exemplo, permitindo a ele reconstruir o tempo produzido pela fonte.
Para saber quem está participando da conferência e quão bem está recebendo áudio, a aplicação de cada pessoa envia uma mensagem multicast periodicamente para a porta RTCP do grupo, indicando seu nome e a qualidade com que está recebendo a informação.
Para deixar a conferência, a aplicação envia um pacote RTCP BYE, indicando que está saindo.
O Protocolo RTCP
O protocolo RTCP (RTP Control Protocol) tem por objetivo fornecer feedback sobre a qualidade de serviço obtida na distribuição de dados RTP, e consegue isso através de transmissões periódicas de pacotes de controle a todos participantes da sessão RTP, utilizando o mesmo mecanismo de distribuição do RTP (unicast ou multicast), e possuindo uma porta específica de controle na sessão, conforme descrito anteriormente. Suas funções são [RFC 1889, pg 15]:
- Feedback sobre a Qualidade de Serviço
- Os receptores indicam a qualidade da recepção relativa a cada emissor (número de pacotes perdidos, jitter e round-trip delay)
- Os emissores podem usar esta informação (no caso de aplicações adaptativas) para ajustar os débitos de codificação e outros parâmetros.
- Sincronização entre meios
- Por razões de flexibilidade, pacotes de áudio e vídeo são muitas vezes transportados em streams separados, que necessitam de ser sincronizados no receptor (por exemplo, para garantir lip synch); a informação de sincronização entre fontes (mesmo se em servidores diferentes) é fornecida pelo RTCP;
- Identificação dos participantes na sessão
- Nome, endereço eletrônico, número de telefone
- Controle da sessão
- Devido ao número de participantes numa sessão serem variável e eventualmente muito elevado, torna-se necessário evitar que o número de pacotes RTCP cresça linearmente com a dimensão do grupo multicast;
- O período entre pacotes RTCP deve ser ajustado dinamicamente à dimensão do grupo, procurando-se que o tráfego RTCP consuma uma percentagem sensivelmente constante do tráfego total RTCP
- Emissores (sources) e receptores (sinks) de informação enviam periodicamente pacotes RTCP para o mesmo grupo multicast usado para distribuir pacotes RTP;
- Cada pacote RTCP contém vários elementos, nomeadamente relatórios enviados pelo emissor ou pelo receptor, seguidos por descritores da fonte
- Sender Reports – descrevem a quantidade de dados enviados até ao momento e informação que permite a sincronização de vários meios;
- Receiver Reports – contêm um bloco por cada fonte RTP no grupo, que descreve os valores instantâneos e acumulados da taxa de perdas e o jitter relativo à fonte correspondente; um bloco indica ainda o último timestamp recebido e o atraso desde a recepção do último Sender Report
- Source Descriptors – são usados para controle de sessões;
Para contribuir com o protocolo RTP o RTCP utiliza os seguintes cinco tipos de pacotes detalhados:
- SR (Sender Report)
Este pacote contém um relatório de envio e recebimento de pacotes RTP por participantes que são fontes ativas, ou seja, participam ativamente contribuindo para o envio de pacotes.
- RR (Receiver Report)
Este pacote contém um relatório de recebimento de pacotes RTP por participantes que não são fontes ativas, ou seja, não participam ativamente contribuindo para o envio de pacotes.
- SDES (Source Description Items)
Este é um pacote descritivo do participante e inclui a informação do seu CNAME.
Indica a saída deste participante da comunicação e precisa conter a SSRC/CSRC para sua identificação
- APP – Contém funções específicas da aplicação
FXS & FXO
Portas FXS (Foreign Exchange Station) conectam telefones analógicos, aparelhos de fax e a linhas de cobre dos troncos de um PBX. As portas FXS, em um Gateway conectado a uma rede de telefonia interna, comportam-se como “ramais”.
Portas FXO (Foreign Exchange Office) conectam-se diretamente a linhas PSTN, da rede de telefonia pública, ou a extensões de ramal dos PBXs, conectando-o à rede IP.
Geralmente as portas FXS são empregadas com maior freqüência, em função da conexão direta aos aparelhos da rede de telefonia, em substituição às portas do PBX. As portas FXO são empregadas em geral para fazer a conexão à rede pública, PSTN, ou para propiciar a ligação das portas de extensão ramal do PBX (que são FXS) à rede IP.
A seguir apresentamos alguns diagramas que apresentam a posição correta, e também a incorreta, de uso em relação às portas FXS e FXO.
Exemplo 1 – Conexão Gateway FXS
|
|
|
Neste exemplo estamos utilizando um Gateway FXS.
No primeiro instante, apresentamos o modo correto de conexão de um Gateway FXS, onde Aparelhos Telefônicos são conectados às portas FXS do gateway, neste caso, o Gateway é quem vai gerar o tom de discagem para os aparelhos.
No caso de uma conexão indevida, as portas do equipamento poderá sofrer danos graves.
|
Exemplo 2 – Conexão Gateway FXO
|
|
|
Neste outro exemplo, utilizamos um Gateway FXO para fazer a conexão com linhas PSTN (Telefonia Publica).
Á um exemplo rápido, este tipo de interface, FXO, fica aguardando algum sinal gerado pela outra extremidade, geralmente uma interface FXS.
|
PSTN
Public switched Telephony Network
Rede de Telefonia Publica Comutada
A maioria dos telefones no mundo todo são conectados através desta vasta rede de comunicação por circuito otimizada para a comunicação em tempo real, permitindo que qualquer telefone possa ser encontrado, uns aos outros.
Todos os telefones desta rede são encontrados através da discagem de números, o qual pode incluir código de pais, código de área e o numero telefônico.
Ela é a rede de Serviço Telefônico Fixo Comutado (STFC). Essa rede PSTN praticamente foi toda digitalizada, quando queremos nos referir ao convencional (analógico) de telefonia, é referido como POTS.
A PSTN é implementada por padrões da ITU-T.
POTS
Plain Old Telephone Service Line
Provavelmente a conexão mais comum para PSTN é a linha POTS. Esta é uma linha análoga, provida por um provedor de telefonia. Cada linha POTS pode carregar apenas uma conversa por vez.
Para pequenas instalações, linhas POTS são usualmente as de maior custo-benefício quando conectando diretamente para nosso Provedor Local (Local Exchange Carrier – LEC), um termo usado para referir-se à qualquer companhia provedora de serviço local.
ISDN
Integrated Services Digital Network
Rede Digital de Serviços Integrados
ISDN é uma rede toda digital que tem estado disponível através de décadas. Este tipo de rede é disponível em duas principais versões: Basic rate Interface (BRI) e Primary Rate Interface (PRI).
A ISDN divide a linha em múltiplos canais. Cada canal pode conter ou um pacote (Bearing, ou B-Channel – “Canal de transporte/Canal B”) ou sinalização (Data, ou D-Channel – “Canal de Dados/Canal D”).
Uma interface BRI tem 3 canais: 1 canal D e 2 canais B. Portanto, 2 chamadas telefônicas podem estar em progresso por vez em um único BRI.
Uma interface PRI tem 24 canais: 1 canal D e 23 canais B, resultando em 23 ligações simultâneas.
A ISDN não é limitada apenas à voz. Cada canal pode carregar 64k de dados, isto se configurado com o LEC (Local Exchange Carrier).
T1 ou E1
T1 é uma linha com 24 canais. Cada canal pode conter uma chamada. Portanto, um T1 pode ter uma chamada adicional quando comparada ao PRI. Na Europa, o E1 é mais comum.
[T1]T1 é um método de transmissão digital para multiplexar canais de voz ou de dados em um par de fios. É o método padrão de interconexão de centrais telefônicas nos Estados Unidos e Japão. Nos demais países usa-se o E1.
Usando uma técnica chamada Multiplexação por Divisão do Tempo (TDM), o T1 distribui voz e/ou dados de LAN em subcanais DS0. O benefício primário do T1 é a largura de banda – 1,544 Mbps – disponível em 24 subcanais DS0, facilmente alocados, de 64 Kbps. O T1 envia dados em quadros (frames) compostos de 24 palavras de 8 bits (uma palavra para cada subcanal) e um bit de framing, compondo um total de 193 bits por quadro. Um canal T1 transmite 8 000 quadros por segundo. Os bits de framing em quadros sucessivos seguem o padrão para um formato de superquadro (superframe). O Channel Bank T1 verifica esse padrão para garantir que a sincronização seja mantida.
Comparado com T1, o E1 possui 32 canais.
T1s tem que sinalizar a chamada de qualquer maneira e a maneira com que eles fazem isto é através de “Roubo de sinalização” de bit. Isto quer dizer que um bit é roubado de tempo em tempo como as informações precisam fluir sobre a conexão. Enquanto isto é usualmente imperceptível pro ouvido humano, isto pode ser destrutível na comunicação de dados.
[Multiplexador] – Um multiplexador, mux ou multiplex é um dispositivo que codifica as informações de duas ou mais fontes de dados em um único canal. Eles são utilizados em situações onde o custo de implementação de canais separados para cada fonte de dados é maior que o custo e a inconveniência de utilizar as funções de multiplexação/demultiplexação. Em uma analogia física, consideremos o comportamento de viajantes atravessando uma ponte com largura pequena, para atravessarem, os veículos executarão curvas para que todos passem em fila pela ponte. Ao atingir o fim da ponte eles irão se separar em rotas distintas rumo a seus destinos.
| Fontes:
http://pt.wikipedia.org/wiki/T1
http://pt.wikipedia.org/wiki/Multiplex
Referencias Bibliográficas:
Building Telephony Systems with Asterisk |
Conhecendo as Operadoras
Existem hoje milhares de Operadoras VoIP, entre estas, existem as que se destacam por suas qualidades e serviços e principalmente por sua licença de Operação.
Sim, hoje em dia pode se dizer que qualquer um “pode” oferecer serviços VoIP, lhe garantir um usuário e integrar seus serviços à uma terminação na rede Publica. Porem, as operadoras de verdade precisam ser devidamente licenciadas e certificadas à prover este tipo de serviço, elas devem receber uma licença SCM da Anatel.
Muitas das operadoras contam já com uma enorme quantidade de POPs (Pontos de Presença), o que traz facilidades para os usuários em relação aos custos de ligação.
Digamos que a operadora que você trabalha possui ponto de presença no estado de São Paulo e Rio de Janeiro, imagine agora que dentro da estrutura de sua operadora, sua ligação de São Paulo irá trafegar através da rede de sua operadora, ou seja, os custos que a operadora teria para contatar uma estrutura local no Rio de Janeiro são convertidos em descontos para você. Para o você o, o usuário, é imperceptível este trafego entre SP e RJ.
Imagine o cenário de uma empresa de matriz em São Paulo e Filiais no Rio de Janeiro e Salvador. Todas as ligações convencionais são realizadas por operadoras locais e quando entram em ligações de longa distancia são necessárias comunicações com outras operadoras locais para terminar as chamadas. Neste meio caminho existe um custo muito alto, algo que hoje pode ser realizados algumas maneiras, mas todas elas utilizando-se o VoIP, incluindo ou não uma Operadora. Vamos tratar dessas maneiras de comunicação mais a frente.
Hoje no Brasil, as principais Operadoras de Serviços VoIP são: Vono e Tellfree.
É através de uma operadora que você pode reduzir seus custos de ligação de longa distancia.
Algo importante no momento de escolher uma operadora, é verificar seus pontos de Presença perante todo território Nacional, além é claro, observar criticas e elogios em relação aos serviços prestados, a disponibilidade dos mesmos e principalmente em relação ao atendimento e suporte.
Essas operadoras geralmente oferecem serviços de ligações gratuitas entre usuários do mesmo serviço.
Uma grande operadora da Europa que oferece este serviço também é o Pulver
| Mais informações:
http://www.tellfree.com.br/
http://www.falevono.com.br/
http://pulver.com/ |
Protocolos de Sinalização e Multimídia
H.323
H.323 é uma das recomendações da ITU Telecommunication Standardization Sector (ITU-T) que se encontra na sessão H que define “Sistemas Audiovisuais e Multimídia”. As recomendações do H.323 que definem o protocolo que prove sessões de comunicação audiovisuais em qualquer rede baseada em pacotes. Sua implementação se estende à equipamentos de voz e videoconferência, utilizado com diversas aplicações em tempo real como Netmeeting e Ekiga, é estendido também às empresas e provedores de serviços do mundo todo com seus serviços de voz e vídeo sobre redes IP. Esta é uma parta da ITU-T da serie de protocolos H.32x, qual também endereça comunicações via ISDN, PSTN ou SS7 (Signaling System 7), e rede moveis 3G.
O H.323 foi o primeiro padrão VoIP à adotar os padrões IETF (Internet Engineering Task Force) e RTP para transporte de áudio e vídeo via redes IP;
Outras recomendações estão juntas ao H.323: H.225.0, H.245, H.246, H.283, H.341, H.450 Series, H.460 Series, e H.500 Series
As entidades H.323 podem se comunicar através de conexão ponto-a-ponto, sobre um único segmento de rede, ou em uma internetwork com múltiplos segmentos e topologias complexas.
Estas entidades podem ser interoperaveis com terminais H.310 sobre B-ISDN, H.320 sobre N-ISDN, H.322 com terminais em redes com Qualidade de Serviço garantidas, H.324 em terminais GSTN e redes wireless, V.70 terminais, e ISDN através de Gateways.
Em H.323, pode se utilizar Gatekeepers, que são serviços de tradução de endereços e provem controle de admissão.
Um exemplo de Gatekeeper que pode ser encontrado é o GNUGK, open source e bastante utilizado por muitas organizações.
Mais informações podem ser encontradas em:
http://www.itu.int/rec/T-REC-H.323/en
http://www.gnugk.org/ |
O Protocolo SIP
SIP (Session Initiation Protocol – Protocolo de Inicio de Sessão) inscrito na RFC 3261 é um protocolo baseado em texto, similar ao HTTP e o SMTP. O SIP é um protocolo da camada de aplicação cujo foi criado para iniciar, modificar e terminar sessões com um ou mais participantes. Suas sessões incluem chamadas telefônicas via internet, distribuição multimídia, e conferencias.
Os convites SIP usados para criar sessões, carregam descrições que permitem aos participantes estarem de acordo com os tipos compatíveis de mídia. O SIP utiliza elementos chamados Proxy Servers que auxiliam as requisições de roteamento para localizar, autenticar e autorizar serviços aos usuários, implementação de políticas de roteamento de chamadas, e prover funcionalidades aos usuários. O SIP também prove uma função de registro que permite aos usuários enviarem suas localizações por use de um servidor proxy. O protocolo SIP roda no topo de diversos protocolos de transporte.
O Protocolo SIP possui cinco funções para iniciar, estabelecer e terminar comunicações Multimídia:
- Localização de usuário: determinação do endereço a ser usado para a comunicação.
- Disponibilidade do usuário: determinação da disponibilidade do interlocutor de entrar na comunicação;
- Capacidades do usuário: determinação da mídia e parâmetros a ser usados;
- Estabelecimento da chamada (call setup): estabelecimento dos parâmetros de chamada entre participantes (quem faz e quem recebe).
- Gerenciamento de Sessão: inclui transferência e término de chamadas, modificação dos parâmetros da sessão.
Os destinatários no SIP são representados com URI (Uniform Resource Indicators) o qual tem o mesmo formato de um endereço email. Isto implica a utilização de um Domain Name Services (DNS) para mapear nomes de hosts e domínios para endereços IP.
Componentes do SIP
- User Agents
- Clients – Make requests
- Servers – Accept requests
- Server types
- Redirect Server
- Proxy Server
- Registrar Server
- Location Server
- Gateways
Requisições SIP:
Há seis requerimentos básicos / tipos de métodos:
INVITE (convidar) = Estabelece uma sessão
ACK (confirmar) = Confirma o comando CONVIDAR
BYE (tchau) = Finaliza uma sessão
CANCEL (cancelar) = Cancela a sessão ainda não respondida
REGISTER (registro) = Informa a localização do usuário (nome do usuário, IP)
OPTIONS (opções) = Informa a capacidade e disponibilidade dos telefones de chamada e recebimento SIP
SDP – Session Description Protocol
O SDP (Protocolo de Descrição de Sessão) é um protocolo que é transportado no corpo de uma mensagem SIP. O SDP é encarregado por descrever as sessões.
Respostas SIP:
Os requerimentos do SIP acionam respostas que constam das 6 classes a seguir:
1xx = respostas de informações, tais como 180, que significa chamando
2xx = respostas de confirmação
3xx = respostas de redirecionamento
4xx = comandos não realizados
5xx = erros do servidor
6xx = erros globais
Fluxo SIP
Exemplo do fluxo SIP em uma chamada:
Descrição
- O Usuário A envia um INVITE (chama o usuário através de seu numero, ramal)
- O Usuário B envia uma mensagem do tipo 180, indicando que o telefone está “chamando”. Em seguida o usuário B envia uma mensagem do tipo 200 OK (estabelecendo a comunicação).
- O Usuário A então envia uma mensagem ACK, confirmando o estabelecimento da sessão.
- Enquanto os usuários falam, mensagens RTP são trafegadas.
- Quando o Usuário A desliga o telefone, ele envia uma mensagem BYE para indicar para o outro lado que está encerrando a sessão.
Registro de Usuário (REGISTER)
Abaixo é exibida uma mensagem de pedido de Registro ao Servidor SIP:
| REGISTER sip:192.168.1.10 SIP/2.0
To: DISC-OS<sip:Cacs@192.168.1.10>
From: DISC-OS<sip:Cacs@192.168.1.10>;tag=463dc402
Via: SIP/2.0/UDP 192.168.1.12:8394;branch=z9hG4bK-d87543-454378505-1–d87543-;rport
Call-ID: 3b191c73ec28e928
CSeq: 2 REGISTER
Contact: <sip:Cacs@192.168.1.12:8394>
Expires: 3600
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
User-Agent: xTen Softphone
Authorization: Digest username=”Cacs”,realm=”asterisk”,nonce=”60d8b61a”,uri=”sip:192.168.1.10″,response=”51e648b2603e1e05e15ee980061eef78″,algorithm=MD5
Content-Length: 0 |
Observe que o usuário “Cacs” é o solicitante para o Servidor “192.168.1.10”:
| To: DISC-OS<sip:Cacs@192.168.1.10>
From: DISC-OS<sip:Cacs@192.168.1.10>;tag=463dc402 |
Note que o pedido foi realizado da estação 192.168.1.12 através da porta 8394:
| Contact: <sip:Cacs@192.168.1.12:8394> |
Mais a fundo, podemos também encontrar qual a plataforma que está sendo utilizada como Agente, neste caso um Softphone:
| User-Agent: xTen Softphone |
Resposta do Servidor (200 OK)
| SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.12:8394;branch=z9hG4bK-d87543-454378505-1–d87543-;received=192.168.1.12;rport=8394
From: DISC-OS<sip:Cacs@192.168.1.10>;tag=463dc402
To: DISC-OS<sip:Cacs@192.168.1.10>;tag=as3c57e8c3
Call-ID: 3b191c73ec28e928
CSeq: 2 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Expires: 3600
Contact: <sip:Cacs@192.168.1.12:8394>;expires=3600
Date: Sat, 10 Nov 2007 19:54:28 GMT
Content-Length: 0 |
Padrões SIP
IETF RFCs
- RFC3261 Core SIP specification – obsoletes RFC2543
- RFC2327 SDP – Session Description Protocol
- RFC1889 RTP – Real-time Transport Protocol
- RFC2326 RTSP – Real-Time Streaming Protocol
- RFC3262 SIP PRACK method – reliability for 1XX messages
- RFC3263 Locating SIP servers – SRV and NAPTR
- RFC3264 Offer/answer model for SDP use with SIP
- RFC3265 SIP event notification – SUBSCRIBE and NOTIFY
- RFC3266 IPv6 support in SDP
- RFC3311 SIP UPDATE method – eg. changing media
- RFC3325 Asserted identity in trusted networks
- RFC3361 Locating outbound SIP proxy with DHCP
- RFC3428 SIP extensions for Instant Messaging
- RFC3515 SIP REFER method – eg. call transfer