Escolar Documentos
Profissional Documentos
Cultura Documentos
Serviço Fone@RNP
Serviço Fone@RNP
Serviço
redes, ambos pela Universidade Fede- O curso tem por objetivo capacitar profissionais das insti- Saúde (MS) e da Cultura (MinC).
ral Fluminense (UFF). É professor de
fone@RNP
ticipa de projetos de instalação de infraestrutura de redes
IP. Coordena projetos de desenvolvimento e instalação de de instalar, operar e manter em sua instituição o conjun- rede Ipê, a rede óptica nacional
Serviço fone@RNP
sistemas para troca de tráfego VoIP entre universidades do to de servidores que constituem a rede de VoIP da RNP. acadêmica de alto desempenho.
Brasil e entre redes nacionais de outros países. Participa ati-
vamente em projetos de modernização de sistemas de tele- Este livro inclui os roteiros das atividades práticas e o con- Com Pontos de Presença nas
fonia, de integração voz, vídeo e dados e de otimização de
teúdo dos slides apresentados em sala de aula, apoiando 27 unidades da federação, a rede
recursos de telecomunicações.
profissionais na disseminação deste conhecimento em tem mais de 800 instituições
suas organizações ou localidades de origem. conectadas. São aproximadamente
3,5 milhões de usuários usufruindo
Ministério da
Cultura
Ministério da
Saúde
Ministério da
Educação
9 788563 630285
A RNP – Rede Nacional de Ensino
e Pesquisa – é qualificada como
uma Organização Social (OS),
sendo ligada ao Ministério da
Ciência, Tecnologia e Inovação
(MCTI) e responsável pelo
Programa Interministerial RNP,
que conta com a participação dos
ministérios da Educação (MEC), da
Saúde (MS) e da Cultura (MinC).
Pioneira no acesso à Internet no
Brasil, a RNP planeja e mantém a
rede Ipê, a rede óptica nacional
acadêmica de alto desempenho.
Com Pontos de Presença nas
27 unidades da federação, a rede
tem mais de 800 instituições
conectadas. São aproximadamente
3,5 milhões de usuários usufruindo
de uma infraestrutura de redes
avançadas para comunicação,
computação e experimentação,
que contribui para a integração
entre o sistema de Ciência e
Tecnologia, Educação Superior,
Saúde e Cultura.
Ministério da
Cultura
Ministério da
Saúde
Ministério da
Educação
Ministério da
Ciência, Tecnologia
e Inovação
Serviço
fone@RNP
Thiago Maluf
Alex Galhano Robertson
Serviço
fone@RNP
Thiago Maluf
Alex Galhano Robertson
Rio de Janeiro
Escola Superior de Redes
2013
Copyright © 2013 – Rede Nacional de Ensino e Pesquisa – RNP
Rua Lauro Müller, 116 sala 1103
22290-906 Rio de Janeiro, RJ
Diretor Geral
Nelson Simões
Edição
Pedro Sangirardi
Versão
1.0.0
Este material didático foi elaborado com fins educacionais. Solicitamos que qualquer erro encon-
trado ou dúvida com relação ao material ou seu uso seja enviado para a equipe de elaboração de
conteúdo da Escola Superior de Redes, no e-mail info@esr.rnp.br. A Rede Nacional de Ensino e
Pesquisa e os autores não assumem qualquer responsabilidade por eventuais danos ou perdas, a
pessoas ou bens, originados do uso deste material.
As marcas registradas mencionadas neste material pertencem aos respectivos titulares.
Distribuição
Escola Superior de Redes
Rua Lauro Müller, 116 – sala 1103
22290-906 Rio de Janeiro, RJ
http://esr.rnp.br
info@esr.rnp.br
Bibliografia: p. 211.
ISBN 978-85-63630-28-5
CDD 004.65
Sumário
1. Introdução ao fone@RNP
Visão básica da RNP 1
Serviços na RNP 2
Serviço fone@RNP 3
GT-VoIP 4
Projeto VoIP4All 4
Serviço fone@RNP 5
Funcionalidades do serviço 5
Endereçamento no serviço 7
Dispositivos VoIP 10
Gateway VoIP 11
Estimativa de economia 13
iii
Roteiro de Atividades 1 15
2. Tecnologia VoIP
Protocolo de iniciação de sessão – SIP 21
Mensagens SIP 30
Protocolo SDP 35
Anatomia do SDP 35
Codec 44
Codificação paramétrica 44
Codificação híbrida 45
iv
Padrões de codificação de voz 45
G.711 46
G.729 46
G.723.1 47
iLBC 47
Outros serviços 55
Acesso ao serviço 60
Execução do checklist 63
Instalação do serviço 63
Homologação do serviço 63
4. Manutenção do sistema
Configuração de usuários e ramais IP 67
Estatística e CDR 73
v
Relatórios 76
Últimos dias 76
Matriz de chamadas 79
Procedimentos de backup 80
Procedimentos de restauração 80
DSER 85
Replicação do Slon 88
Proxy Externo 89
Estrutura local 90
FEGEN 91
Características do OpenSER 96
vi
OpenSER no fone@RNP 106
Asterisk 107
Asterisk e Linux 107
Funções do Asterisk 110
Protocolo IAX 114
Arquitetura do Asterisk 117
Aplicações 124
Asterisk no fone@RNP 126
7. Softwares de apoio ao
ambiente local
LDAP 129
OpenLDAP 133
Instalação do OpenLDAP 135
RADIUS 135
FreeRADIUS 136
Instalação do FreeRADIUS 138
Slony-I 139
Instalação do Slony-I 140
PostgreSQL 141
Instalação do PostgreSQL 142
MediaProxy 144
Instalação do MediaProxy 145
vii
Roteiro de Atividades 7 147
8. Introdução à telefonia
Distorções da telefonia 150
Tráfego e dimensionamento 150
Tráfego 151
Loop start 157
Ground start 157
Kewl start 157
Entroncamento digital 158
viii
9. Serviços extras no fone@RNP
IAX2: Protocolo VoIP alternativo 175
Parâmetros importantes 194
Compressão de cabeçalho 196
Modelos de QoS 198
Marcação de pacotes 199
Enfileiramento 200
Medindo o QoS 201
Modelo-E 202
Firewall e NAT 202
Troubleshooting 204
Gateway Asterisk 205
ix
Roteiro de Atividades 10 207
Bibliografia 211
x
Escola Superior de Redes
A Escola Superior de Redes (ESR) é a unidade da Rede Nacional de Ensino e Pesquisa (RNP)
responsável pela disseminação do conhecimento em Tecnologias da Informação e Comunica-
ção (TIC). A ESR nasce com a proposta de ser a formadora e disseminadora de competências
em TIC para o corpo técnico-administrativo das universidades federais, escolas técnicas e
unidades federais de pesquisa. Sua missão fundamental é realizar a capacitação técnica do
corpo funcional das organizações usuárias da RNP, para o exercício de competências aplicá-
veis ao uso eficaz e eficiente das TIC.
A ESR oferece dezenas de cursos distribuídos nas áreas temáticas: Administração e Projeto
de Redes, Administração de Sistemas, Segurança, Mídias de Suporte à Colaboração Digital,
Governança de TI e Gestão de Identidade.
A metodologia da ESR
A filosofia pedagógica e a metodologia que orientam os cursos da ESR são baseadas na
aprendizagem como construção do conhecimento por meio da resolução de problemas típi-
cos da realidade do profissional em formação. Os resultados obtidos nos cursos de natureza
teórico-prática são otimizados, pois o instrutor, auxiliado pelo material didático, atua não
apenas como expositor de conceitos e informações, mas principalmente como orientador do
aluno na execução de atividades contextualizadas nas situações do cotidiano profissional.
Dessa forma, o instrutor tem participação ativa e dialógica como orientador do aluno para as
atividades em laboratório. Até mesmo a apresentação da teoria no início da sessão de apren-
dizagem não é considerada uma simples exposição de conceitos e informações. O instrutor
busca incentivar a participação dos alunos continuamente.
xi
As sessões de aprendizagem onde se dão a apresentação dos conteúdos e a realização das
atividades práticas têm formato presencial e essencialmente prático, utilizando técnicas de
estudo dirigido individual, trabalho em equipe e práticas orientadas para o contexto de atua-
ção do futuro especialista que se pretende formar.
Sobre o curso
O curso tem por objetivo capacitar profissionais das instituições clientes da RNP na solução
técnica de seu serviço de Voz sobre IP, o fone@RNP. A solução foi inicialmente desenvolvida
pelo Laboratório LabVoIP, da Universidade Federal do Rio de Janeiro (UFRJ), sob a coorde-
nação do professor Paulo Aguiar.
Ao final do curso o profissional será capaz de instalar, operar e manter em sua instituição o
conjunto de servidores que constituem a rede de Voz sobre IP da RNP, o fone@RNP.
A quem se destina
Este curso é destinado aos profissionais das instituições usuárias da RNP designados como
responsáveis técnicos pelo serviço fone@RNP em suas instituições.
Itálico
Indica nomes de arquivos e referências bibliográficas relacionadas ao longo do texto.
xii
Largura constante
Indica comandos e suas opções, variáveis e atributos, conteúdo de arquivos e resultado da saída
de comandos. Comandos que serão digitados pelo usuário são grifados em negrito e possuem
o prefixo do ambiente em uso (no Linux é normalmente # ou $, enquanto no Windows é C:\).
Conteúdo de slide
Indica o conteúdo dos slides referentes ao curso apresentados em sala de aula.
Símbolo
Indica referência complementar disponível em site ou página na internet.
Símbolo
Indica um documento como referência complementar.
Símbolo
Indica um vídeo como referência complementar.
Símbolo
Indica um arquivo de aúdio como referência complementar.
Símbolo
Indica um aviso ou precaução a ser considerada.
Símbolo
Indica questionamentos que estimulam a reflexão ou apresenta conteúdo de apoio ao
entendimento do tema em questão.
Símbolo
Indica notas e informações complementares como dicas, sugestões de leitura adicional ou
mesmo uma observação.
Permissões de uso
Todos os direitos reservados à RNP.
Agradecemos sempre citar esta fonte quando incluir parte deste livro em outra obra.
Exemplo de citação: MALUF, Thiago; ROBERTSON, Alex Galhano. Serviço fone@RNP. Rio de
Janeiro: Escola Superior de Redes, RNP, 2013.
Comentários e perguntas
Para enviar comentários e perguntas sobre esta publicação:
Escola Superior de Redes RNP
Endereço: Av. Lauro Müller 116 sala 1103 – Botafogo
Rio de Janeiro – RJ – 22290-906
E-mail: info@esr.rnp.br
xiii
Sobre os autores
Alex Galhano Robertson é Engenheiro de Telecomunicações (2005) e Mestre (2010) em
Engenharia de redes, ambos pela Universidade Federal Fluminense (UFF). É professor de
cursos de VoIP e tecnologias afins em cursos extracurriculares na UFF e participa de pro-
jetos de instalação de infraestrutura de redes IP. Coordena projetos de desenvolvimento
e instalação de sistemas para troca de tráfego VoIP entre universidades do Brasil e entre
redes nacionais de outros países. Participa ativamente em projetos de modernização de
sistemas de telefonia, de integração voz, vídeo e dados e de otimização de recursos de
telecomunicações.
Thiago Maluf é bacharel em Ciência da Computação pela UFRJ com certificação DCAP pela
Digium, atuante na área de desenvolvimento de aplicações multimídias, principalmente no
setor de telefonia IP. Bolsista no Laboratório de Voz sobre IP da UFRJ, participou da criação
do projeto fone@RNP. Atualmente é sócio e gerente de projetos da empresa prestadora de
serviços, CAM Tecnologia. A CAM Tecnologia, hoje, é a empresa mantenedora do serviço
fone@RNP, ofertando suporte e ampliação do serviço.
xiv
1
Introdução ao fone@RNP
objetivos
Apresentar a RNP e os serviços disponibilizados aos seus clientes, com foco no serviço
fone@RNP, sua história e características.
conceitos
Panorama conceitual dos serviços oferecidos pela RNP, com ênfase no fone@RNP.
A RNP é a primeira rede de acesso à internet no Brasil. Sua missão é promover o uso ino-
vador de redes avançadas no Brasil. Foi criada em 1989 pelo Ministério da Ciência e Tecno-
logia (MCT) com o objetivo de construir uma infraestrutura de rede internet nacional para a
comunidade acadêmica. A rede começou a ser montada em 1991. Em 1994, já atingia todas
as regiões do país. Entre 2000 e 2001, a rede foi totalmente atualizada para oferecer suporte
a aplicações avançadas. Desde então, o backbone RNP, como é chamado, possui pontos de
presença em todos os estados brasileiros.
A RNP oferece conexão gratuita à internet para instituições federais de ensino superior
ligadas ao Ministério da Educação (MEC), unidades de pesquisa federais ligadas ao MCT,
agências de ambos os ministérios e outras instituições de ensino e de pesquisa públicas e
privadas. Um universo estimado em mais de um milhão de usuários da comunidade acadê-
mica brasileira se beneficia dessa infraestrutura, que estimula o progresso da ciência e da
educação superior no país.
Capítulo 1 - Introdução ao fone@RNP
A rede Ipê é a primeira rede óptica nacional acadêmica da América Latina, inaugurada pela
RNP em 2005. O backbone da rede Ipê foi projetado para garantir não só a largura de banda
necessária ao tráfego internet usual (navegação web, correio eletrônico, transferência de
arquivos etc.), mas também o uso de serviços e aplicações avançadas e a experimentação.
A infraestrutura engloba 27 Pontos de Presença (PoPs), um em cada unidade da federação,
além de ramificações para atender mais de 500 instituições de ensino e pesquisa em todo o
país, beneficiando mais de 3,5 milhões de usuários.
Em 2010, a rede Ipê passou por um grande salto qualitativo, atingindo a capacidade agregada
de 233,2 Gb/s, aumento de 280% em relação à capacidade agregada anterior. Nessa nova
rede, que é a sexta geração do backbone operado pela RNP, as velocidades multigigabits
1
(acima de 1 Gb/s) estão disponíveis para 24 dos 27 PoPs. A ampliação foi resultado de acordo
de cooperação com a empresa de telecomunicações Oi, que proverá à RNP infraestrutura de
transmissão em fibras ópticas para uso não comercial e participará de projetos de Pesquisa
& Desenvolvimento (P&D) de interesse comum.
Figura 1.1
Fonte:
website da RNP
(www.rnp.br).
Serviços na RNP
Os serviços são oferecidos a todos os clientes da RNP e a instituições parceiras ou que q
possuem algum projeto com a RNP.
11 Comunicação e colaboração.
11 Gestão de identidade.
11 Hospedagem estratégica.
Serviço fone@RNP
11 Apoio a serviços.
Desde 2000, a Rede Nacional de Ensino e Pesquisa (RNP) tem se dedicado à promoção do
uso de aplicações avançadas em redes de computadores. Telefonia sobre a rede internet, TV
digital transmitida pela rede, educação a distância, videoconferência IP e Identidade Digital são
algumas das aplicações que estão sendo implantadas na forma de serviços para os usuários.
2
Os serviços disponibilizados pela RNP às suas organizações usuárias são o resultado de pro-
cessos de inovação e prospecção, de acordo com as necessidades dos clientes, em atividades
de análise de cenários e tendências com parceiros como a academia, o setor empresarial e as
principais redes acadêmicas mundiais. Os principais benefícios dos serviços da RNP são faci-
litar e promover a comunicação, a colaboração a distância e a disseminação de conhecimento.
Comunicação e colaboração
A RNP oferece aos seus clientes os seguintes serviços de comunicação e colaboração:
Conferência Web, fone@RNP, Videoconferência e Telepresença.
Gestão de identidade
A RNP reúne as Instituições Federais de Ensino Superior (Ifes), Unidades de Pesquisa
(UPs) e demais instituições acadêmicas em uma rede de confiança, por meio dos serviços:
Comunidade Acadêmica Federada (CAFe) e Infraestrutura de Chaves Públicas para Ensino e
Pesquisa (ICPEdu).
Hospedagem estratégica
O Internet Data Center (IDC) é o serviço de hospedagem de equipamentos e servidores
dentro do modelo conhecido como colocation. Esse serviço fornece infraestrutura de segu-
rança, física e lógica, para clientes estratégicos para o sistema nacional de CT&I, Cultura e
Serviço fone@RNP
GT-VoIP: q
11 Grupo de Pesquisa da UFRJ – LabVoIP.
3
Projeto VoIP4All: q
11 Implantação de uma arquitetura central na RNP para gerenciamento do projeto VoIP.
Serviço fone@RNP:
GT-VoIP
O serviço fone@RNP teve como marco inicial a criação do Grupo de Trabalho – VoIP em
maio de 2002, com a ideia de pesquisar e gerar um produto final que funcionaria como
alternativa ao tradicional sistema de telefonia. O objetivo principal do GT é a implantação
de um serviço experimental de telefonia no backbone RNP, permitindo às instituições
usuárias utilizar suas redes para estabelecer comunicação de voz a partir de seus PBXs,
telefones IP e/ou estações de trabalho.
Como produto final desse GT, em 2004 o LabVoIP do NCE/UFRJ definiu a arquitetura e
implantou o serviço fone@RNP em 17 instituições piloto em dez estados do território
brasileiro. Nesse momento, a comunicação de voz sobre IP não era mais novidade devido à
popularização de sistemas como o MSN ou Skype, que permitiam aos usuários realizarem
comunicação de computador para computador.
Não obstante, o serviço fone@RNP permite a comunicação não só com os dispositivos VoIP
do computador, mas também integra o serviço aos ramais convencionais das instituições e
aos números da rede pública de telefonia, RTFC. A integração dos números da rede pública
faz parte da ideia colaborativa do serviço. As chamadas originadas em uma instituição serão
encaminhadas por outro cliente situado na mesma localização do destino discado, reali-
zando uma chamada local para alcançar o telefone destino.
Projeto VoIP4All
Com a evolução do Grupo de Trabalho GT-VoIP a serviço, houve a necessidade de expandi-
-lo para mais instituições usuárias. Para essa demanda, a RNP criou o projeto VoIP4All, que
teve como objetivo a adesão de 77 instituições ao serviço em todo o país. Foram adquiridos
servidores, placas de interface de telefonia, telefones IP básicos e telefones IP avançados.
Sendo parte do projeto, o LabVoIP foi contratado para prestar suporte às instituições
durante o período de implantação do serviço e para desenvolver os treinamentos básico e
avançado ao serviço, oferecidos a dois técnicos de cada instituição beneficiada pelo projeto.
Serviço fone@RNP
4
Serviço fone@RNP
A evolução da telefonia IP, principalmente do protocolo SIP, e as novas demandas solicitadas
ao serviço fone@RNP, levaram-no a uma nova arquitetura baseada no SIP.
Em março de 2012, o serviço fone@RNP contava com a participação de 115 instituições usu-
árias compostas por unidades de ensino federais, unidades da RNP, unidades da Embrapa e
instituições convidadas.
Funcionalidades do serviço
11 Possibilitar a integração das instituições usuárias. q
22 Arquitetura padrão do serviço fone@RNP.
SLOM SLOM
pares pares
prefixos prefixos
Proxy SIP DNS Proxy SIP
Cliente A Cliente B
“OpenSER” NAPTR “OpenSER”
Capítulo 1 - Introdução ao fone@RNP
Instituição A Instituição B
5
A adesão ao serviço fone@RNP é permitida a qualquer instituição usuária da RNP. O pro-
cesso de adesão segue os seguintes passos: (i) Preenchimento da ficha de adesão ao serviço,
(ii) instalação do serviço seguindo a arquitetura padrão e (iii) homologação do serviço
padrão na instituição usuária.
As instituições podem escolher não completar chamadas para RTFC. Entretanto, se assim
decidirem, também não poderão ter suas chamadas a distância completadas por outra insti-
tuição, deixando de se beneficiar da economia gerada por essa funcionalidade do serviço. As
estatísticas de uso deixam clara a vantagem de permitir as ligações para RTFC. Verifique no
gráfico Estimativa de Economia, em http://estatisticasfone.rnp.br.
A transferência de custo DDD para custo local é avaliado pensando o serviço de telefonia de
todas as instituições como uma única conta. É claro que, nesse caso, a instituição de origem
altera o valor da chamada de longa distância para uma chamada gratuita, enquanto a ins-
tituição destino altera o custo de uma chamada que não existiria, ou seja, gasto zero para
uma chamada local.
Considerando que a razão das chamadas DDD com as chamadas locais variam de três a
cinco, para uma instituição não ter redução das chamadas é necessário que receba número
de ligações locais do serviço fone@RNP três a cinco vezes maior que o número de ligações
que a mesma instituição realiza para chamadas DDD.
Ligações para números móveis não são completadas pelo serviço fone@RNP. É sabido que
a razão das ligações para números móveis é maior que a razão das ligações para fixos.
Serviço fone@RNP
6
Adoção de medidas de QoS para a qualidade de serviço
Diferentemente da rede de telefonia fixa comutada, a rede VoIP não usa comutação por
circuitos dedicados e sim a comutação por pacotes da rede IP. O uso da comutação por
pacotes obriga as chamadas VoIP a concorrem com outros pacotes da rede IP. Essa concor-
rência pode levar o tráfego VoIP a ter pacotes descartados ou atrasados. Em transmissões
de tempo real, como o VoIP, atrasos de pacotes são tão prejudiciais para a perda da interati-
vidade quanto o descarte dos pacotes.
Para amenizar tais cenários, o backbone da RNP possui regras de priorização do tráfego das
chamadas VoIP nos roteadores baseadas em marcações de QoS. Por segurança no uso da
priorização dos tráfegos, os roteadores apenas priorizam os pacotes originados pelos ende-
reços IP dos servidores VoIP das instituições usuárias.
11 Endereçamento E.164.
11 Visão geral.
11 Componentes do DSER.
11 Visão geral.
11 Componentes da máquina 1.
11 Componentes da máquina 2.
Endereçamento no serviço
O endereçamento no serviço fone@RNP é o modelo de endereçamento do protocolo SIP,
seguindo as recomendações da RFC 2396 – Uniform Resource Identifiers (URI).
sip:usuario:senha@host_IP:porta;parametos?cabeçalhos
Porém, esse formato padrão não é usado para a localização de usuário ou de Proxy destino,
sendo, para isso, adotado o seguinte padrão:
Capítulo 1 - Introdução ao fone@RNP
sip:usuario@domínio
7
O endereçamento E.164 é uma recomendação da ITU-T que define a numeração na RTFC.
O E.164, como mencionado, pode ser utilizado no campo usuário para localizar usuários
através do número de telefone, sendo formatado das seguintes formas possíveis:
Como apresentando na Figura 1.1, as instituições utilizam o Proxy da RNP, nomeado de DSER
(Directory SIP Express Router), para realizar a localização das instituições no serviço. Esse
Proxy é replicado nos equipamentos DSER1 e DSER2, que são capazes de realizar o rotea-
mento das chamadas independentes.
Cada DSER é composto pelo Proxy SIP OpenSER, responsável pelo tratamento das mensagens
SIP, do banco de dados PostgreSQL Master do serviço e do DNS local para consulta ENUM.
Os Proxies SIP estão configurados para receber mensagens SIP de todos os equipamentos
participantes do serviço e consultar a base ENUM para localizar as instituições que com-
pletam a chamada para o número destino e as ordenam por prioridade.
O banco de dados PostgresSQL Master é responsável por manter a base do serviço fone@
RNP e replicar todas as informações da base para os bancos de dados slaves das instituições
Serviço fone@RNP
usuárias. Para essa replicação, o serviço utiliza o software adicional Slony, que realiza a
sincronização dos bancos de dados.
8
Arquitetura do serviço local
O serviço fone@RNP localmente é composto por duas máquinas que distribuem o serviço
entre si. Não existe balanceamento da carga entre as duas máquinas. Basicamente, os ser-
viços são distribuídos, evitando sobrecarga de um dos servidores.
Terminal H.323
Ambiente H.323
OpenPhone
GnuGK
Gatekeeper
Au
co ten
nt tic
ab aç
ilid ão
ad /
Asterisk e
Gateway SIP/H.323 e FreeRadius LDAP
Gateway VoIP/PBX
PSTN/PBX
Consulta
Diretório para identificação
Contabilidade
X-lite
SER Consulta
Proxy SIP
Contabilidade
PostgreSQL Apache para disponibilização
de estatísticas
Figura 1.3 Na máquina 2 está o gateway SIP/Telefonia convencional Asterisk, o banco de dados
Visão local do PostgreSQL, a base de usuários openLDAP, a ferramenta de autenticação e contabilização
serviço fone@RNP.
FreeRadius, a ferramenta de consolidação das estatísticas consolida e as ferramentas web
de gerência do serviço e de extração de dados estatísticos.
9
Ambiente nacional
DSER1
Linux
OpenSER
PostgreSQL (rotas) + Slony
DNS (ENUM privado)
Instituição A
Máquina 1 Máquina 2
Linux Linux
Dispositivos VoIP
Utilizando um software adequado, um computador pode ser utilizado facilmente para a q
comunicação via VoIP.
Gateway VoIP
Equipamento que faz traduções de protocolos. No caso de gateway SIP-H.323, a tradução
realizada é entre protocolos VoIP. O fone@RNP instala nas instituições um gateway VoIP para
telefonia convencional, analógica (quando ligado em posições de ramal) ou digital (quando é
utilizada a interface E1). Esse equipamento torna possível a interligação da rede de telefonia
legada à nova infraestrutura de telefonia IP, resguardando assim todo o investimento reali-
zado anteriormente.
11 Estimativa de economia.
O sistema não calcula valores das chamadas, mas com as informações disponibilizadas, é pos-
sível estimar com segurança a economia gerada com a utilização do serviço de Voz sobre IP.
Chamadas completadas
O gráfico “Chamadas completadas” mostra a quantidade de chamadas que foram feitas entre
todas as instituições onde houve atendimento. Também há a opção de exibir a duração das
chamadas em minutos. Estão excluídas desse gráfico, por exemplo, as chamadas em que o
número chamado estava ocupado, não atendeu ou ainda com destino inexistente.
11
Os destinos estão qualificados como:
11 RTFC: quando as chamadas são destinadas a telefones na Rede de Telefonia Fixa Comu-
tada, ou seja, telefones na rede pública, fora dos institutos e universidades.
11 PABX: quando as chamadas são destinadas a telefones convencionais dentro das institui-
ções clientes.
11 VoIP: quando as chamadas são destinadas a telefones IP, sejam eles softphones ou
deskphones.
11 PABX: quando as ligações são originadas ou destinadas a telefones IP, sejam deskphones
ou Softphones.
12
Estimativa de economia
O gráfico “Estimativa de Economia” oferece informações para que seja possível estimar a
economia feita com as ligações executadas através do fone@RNP. Apresenta valores de
quantidade de ligações e de duração total das chamadas.
w 1. Quantidade de chamadas à distância não pagas são as chamadas realizadas para tele-
O acesso ao sistema de fones IP ou para ramais convencionais dentro das instituições clientes. Assim, não foi
estatísticas pode ser
feito através do gerado nenhum custo adicional para nenhuma instituição.
endereço
2. Quantidade de chamadas a distância pagas são aquelas terminadas na rede de telefonia
http://estatisticasfone.
rnp.br pública. Nesse caso, alguma instituição no estado destino arcou com o custo dessa
ou através da página do ligação local.
fone@RNP.
13
14
Serviço fone@RNP
Roteiro de Atividades 1
Tabela de configuração do laboratório. Os números dos telefones nesta prática são da
MCDU, onde:
11 U especifica o usuário.
Dessa forma, as contas foram associadas aos grupos/instituição e seus dispositivos, exis-
tindo nesta atividade três tipos de contas: Softphone, telefone IP e ATA. Todos as contas dos
telefones estão definidas no PABX como softCDU para Softphone, telipCDU para telefones
IPs e ataCDU para ATAs.
Exemplificando este roteiro, abaixo estão descritas as contas criadas para o Grupo 01.
15
Figura 1.5
Acesso à
“Configuração
de contas SIP”.
Configure a sua conta de acordo com o plano de ramais. Substitua o CDU pelo número do
seu grupo, mais o usuário. A senha para autenticação no servidor é voip, devendo ser inse-
rida no campo Password.
Figura 1.6
Configuração
de contas SIP.
Serviço fone@RNP
16
Figura 1.7
Telefone
X-Lite pronto.
Configure a sua conta de acordo com o plano de ramais. Substitua o CDU pelo número do
seu grupo, mais o usuário. A senha para autenticação no servidor é voip, devendo ser inse-
rida no campo Password.
Figura 1.8
Configuração do
telefone 3CX.
17
Se a configuração da conta foi efetuada corretamente, a mensagem Conectado será exibida
na tela do 3CX.
Figura 1.9
Acesso ao telefone
Polycom.
Figura 1.10
Primeira página de
configuração do
telefone Polycom.
Clique no link Lines. Nessa página devemos configurar as contas SIP que serão utilizadas
pelo telefone. Nesta atividade iremos configurar apenas a linha 1. A página abaixo apresenta
as sessões Line 1 e Serve 1:
Serviço fone@RNP
18
Figura 1.11
Configuração de
linha 1 do telefone
Polycom.
A linha 1 será utilizada configurando apenas alguns dos campos existentes nas sessões Iden-
tification e Server 1. Na sessão Identification, os campos Display Name, Address, Auth User ID,
Auth Password e Label são configurados. Somente os campos Address e Port são configurados
na sessão Server 1. Substitua o CDU pelo número do seu grupo mais o usuário.
Para finalizar, clique no botão Submit e aguarde o telefone ser reiniciado. Em seguida, o tele-
fone está pronto para ser utilizado.
19
11 User ID: ataCDU (entre com o usuário indicado no início da prática)
11 Password: voip
Lembre-se de substituir o CDU pelo número do seu grupo, mais o usuário, e clique no botão
Save Settings...
Figura 1.13
Atividade 1.4 – Efetuando chamadas com ATA, telefone IP e softphone Página de
configuração da
Efetue chamadas entre os três clientes. Lembrando que o X-Lite deve estar configurado com linha 1 do ATA
o ramal 1CDU, o telefone IP com o ramal 2CDU e o ATA com o ramal 3CDU. Esse passo deverá Linksys.
ser realizado em dupla, onde os integrantes da dupla efetuarão chamadas entre eles.
Serviço fone@RNP
20
2
Tecnologia VoIP
objetivos
Nivelar o conhecimento teórico dos alunos com relação aos conceitos, protocolos
e métodos associados à tecnologia de Voz sobre IP (VoIP). Apresentar o protocolo
utilizado no serviço fone@RNP, codecs, transmissão da voz e consumo de banda.
conceitos
Protocolo SIP, codificação/decodificação da voz e transmissão da voz codificada.
11 Vídeo.
11 Voz.
11 Bate-papo.
O protocolo de iniciação de sessão (Session Initiation Protocol – SIP) foi desenvolvido pela
Internet Engineering Task Force (IETF) na década de 90. Sua primeira versão, lançada em
1996, foi chamada inicialmente de Session Invitation Protocol e sua função era basicamente
estabelecer a sessão. Outras funcionalidades, como controles para conferências, foram
introduzidas na versão 2.0, lançada em 1997. Em fevereiro de 1999, o SIP foi proposto como
um padrão e publicado na RFC 2543. Sua última versão (SIPv2) foi publicada na RFC 3261 em
2002, substituindo a versão anterior.
O SIP é utilizado para estabelecer, manter e encerrar conferências multimídia em uma arqui-
tetura cliente/servidor – o originador é o usuário cliente e o destino é o usuário servidor.
Existem as versões SIP-T IETF, SIP-I ITU e SIP-I ANSI, similares ao SIP, mas com diferenças
sutis, utilizadas para tutelar mensagens ISUP ou outras sinalizações telefônicas através de
redes IP. Em uma sessão SIP, um servidor e um cliente terão total controle sobre a sessão,
Capítulo 2 - Tecnologia VoIP
21
11 Alterações de parâmetros on-the-fly. q
11 Término de sessão.
Funções oferecidas:
11 Disponibilidade de um usuário.
11 Recursos de um usuário.
11 Gerência da sessão.
Com o objetivo de criar e gerenciar sessões multimídias, o protocolo SIP atua na negociação
e no estabelecimento de sessões definindo todos os atributos que serão utilizados nos
fluxos de mídia. Alterando parâmetros durante uma sessão estabelecida, adicionando ou
encerrando fluxos de mídia da sessão. E, por fim, finalizando a sessão.
Funções essenciais para um projeto de comunicação IP são definidas pelo protocolo SIP,
funções como:
11 Registro de um usuário.
11 Localização de um usuário.
Padronizado pelo IETF na RFC 1889, o Real Time Transport Protocol (RTP) foi projetado para
permitir que os receptores compensem o jitter e a perda de pacotes introduzidos pelas redes
IP. Sua última versão é o Secure RTP, publicada na RFC 3711. Inclui as seguintes informações:
11 Timestamps.
O protocolo de controle de transporte em tempo real (Real Time Control Protocol – RTCP)
foi projetado para trabalhar em conjunto com o RTP. Em uma sessão RTP, os participantes
enviam periodicamente pacotes RTCP para receberem informações sobre a qualidade da
entrega dos dados, sobre os membros, jitter e perda de pacotes.
O protocolo de descrição de sessão (Session Description Protocol – SDP), definido pela IETF
na RFC 2317, é utilizado em conjunto com o protocolo SIP para definir as sessões, tipo de
Serviço fone@RNP
O Real Time Streaming Protocol (RTSP), ou protocolo de fluxo contínuo em tempo real, é utili-
zado para transmissão de áudio e vídeo, ou seja, streams sincronizados de mídias contínuas
em tempo real pela internet. Foi definido pela IETF na RFC 2326.
22
O Media Gateway Control Protocol (MGCP) assume o modelo de inteligência centralizada,
facilita a tarifação e barateia os terminais e gateways. Utiliza os protocolos RTP/RTCP para
o transporte de mídia, funcionando como sinalização por canal comum nº 7 ISUP e outras
sinalizações. É a junção do Internet Protocol Device Control (IPDC), protocolo para controle
de dispositivos de mídia, com o Simple Gateway Control Protocol (SGCP). Foi definido pela
IETF nas RFCs 2705 e 3435.
11 IP Telephony (Iptel).
11 Simple: grupo que foca seu trabalho nas aplicações relacionadas ao protocolo SIP, conhe-
cidas como instant messages e presence.
11 Iptel: grupo com serviços focados nos problemas que dizem respeito à resolução de
nomes (URI) e ao roteamento para os protocolos de voz sobre IP.
11 Baseado em texto.
11 Assim como o HTTP, o SIP leva os controles da aplicação para o terminal, eliminando a
Capítulo 2 - Tecnologia VoIP
23
de recursos, por não prover QoS, apenas interagindo com protocolos desenvolvidos para
suportar QoS. Não é um protocolo que substituirá a PSTN, sendo bem diferente dos modelos
de chamadas telefônicas e dos protocolos de sinalização de telecomunicação. O SIP pode inte-
ragir com a PSTN por meio de gateways, mas essa não é sua função principal.
Características:
11 Simples.
11 Baseado em texto.
11 Sinalização ponto-a-ponto.
22 Trabalha juntamente com a PSTN através de gateways, mas essa não é sua função principal.
11 SIP Servers.
22 Proxy Servers.
33 Stateful.
33 Stateless.
22 Redirect server.
22 Registrar.
24
O User Agent (UA) é uma entidade lógica da arquitetura SIP. Pode atuar como um User Agent
Client (UAC) ou como um User Agent Server (UAS), ou seja, cada user agent contém um UAC
e um UAS.
11 UAC: o Usuário Agente Cliente (User Agent Client) executa a função de cliente da apli-
cação e é responsável por iniciar uma chamada SIP.
11 UAS: o Usuário Agente Servidor (User Agent Server) é a parte com função de servidor e
permanece “ouvindo” a rede, aguardando requisições.
Os terminais que usam SIP para se encontrar e negociar características da sessão são user
agents que podem ser telefones celulares, gateways ou PDAs. Proxy servers são usados
para traduzir nomes e números de identificação dos UA para o endereço IP em que eles
estão instalados. Também são chamados de SIP Proxy. Podem ser de dois tipos:
11 Proxies Stateless: não mantêm o estado das chamadas. Eles simplesmente reencami-
nham as mensagens para o destino ou para outro proxy. São mais simples e rápidos.
11 Proxies Stateful: mantêm o estado das chamadas. Podem se encarregar de tarefas como
bilhetagem e contabilização.
Registar server é a entidade lógica responsável por manter os registros dos usuários.
Ela extrai informação sobre sua localização atual, armazena-a em um banco de dados e
mapeia nomes e números em endereços IP.
Redirect server é um tipo de servidor da arquitetura SIP que, ao receber uma mensagem,
envia de volta uma resposta, com um redirecionador, para o endereço de outro servidor
proxy, para quem o UAC deve reenviar a requisição original.
Um user agent chamador atua como UAC quando envia uma mensagem de requisição
INVITE e recebe resposta das requisições feitas. Um user agent chamado se comporta como
um UAS quando este recebe a requisição INVITE e retorna uma resposta. Essa situação
muda quando a pessoa chamada decide enviar um BYE e terminar a sessão. Nesse caso, o
user agent chamado (que envia BYE) se comporta como um UAC e o user agent chamador
atua como um UAS.
Número
chamado A
Topologia SIP.
A figura anterior mostra três dispositivos SIP e um stateful forking proxy. Cada user agent
contém um UAC e um UAS. A parte do proxy que recebe a requisição INVITE do chamador
atua como um UAS. Quando repassa a requisição, cria dois UACs, cada um responsável por
um dispositivo chamado.
25
Servidor Proxy
Entidade intermediária que atua como servidor e cliente, tem o propósito de fazer q
requisições em nome de outros clientes. Existem dois tipos de servidores proxy:
stateful e stateless.
Servidores stateful são indicados para o controle de terminação, pois possuem capacidade
para controlar todas as transações, mantêm o estado das chamadas e são capazes de pro-
duzir informações que possibilitam a bilhetagem (cobrança) das ligações.
1 Request
Figura 2.2
Exemplo de
atuação do SIP
proxy.
11 Performance limitada.
Um servidor stateful mantém o estado das chamadas, do estabelecimento (INVITE) até sua
finalização (BYE), podendo implementar formas mais complexas para encontrar um usuário.
Por exemplo, pode tentar encontrar um cliente em seu telefone do escritório e, se não
atender, pode redirecionar a chamada para seu celular.
Um servidor stateless não mantém o estado das chamadas, repassando as requisições rece-
bidas. Não se importa com o que acontece com as transações, apenas as repassa. É mais
rápido do que o servidor stateful.
Serviço fone@RNP
26
Servidor DNS
DNS
2. SIP SRV
para b.com 3. proxy.b.com
Empresa A Empresa B
Joe Bob
proxy.a.com proxy.b.com
Figura 2.3 1.INVITE 4.INVITE 5.INVITE
Comunicação
entre dois domínios
diferentes. 5.6.7.8 6.BYE 1.2.3.4
Esse cenário supõe a existência de duas companhias, A e B, com dois servidores proxy
diferentes, um para cada. O funcionário Joe, da companhia A, deseja se comunicar com o
funcionário Bob, da companhia B.
O usuário Joe utiliza o endereço sip:bob@b.com para fazer uma ligação para o usuário Bob.
O user agent de Joe não sabe a localização de Bob, mas está configurado para enviar todo o
tráfego para o servidor SIP proxy.a.com de sua companhia.
O servidor proxy descobre que o usuário sip:bob@b.com está em uma companhia dife-
rente, então vai procurar o servidor SIP proxy da companhia B e enviar o convite para lá. Os
servidores proxy da companhia B podem estar pré-configurados no proxy.a.com ou o proxy
utilizará os registros DNS SRV para encontrar os servidores proxy de B.
O convite chega até proxy.b.com, que sabe que Bob tem condições de atender a chamada em
seu telefone. Então, o proxy envia o convite para o endereço do telefone IP de Bob, 1.2.3.4.
Servidor de redirecionamento
Servidor que recebe uma requisição e retorna uma resposta contendo uma lista da loca- q
lização atual do cliente. Gera respostas do tipo 3xx para as requisições feitas.
Pode ser utilizado para a implementação de serviços de voz, como o correio eletrônico, ou
para a configuração de rotas alternativas.
27
Servidor de redirecionamento
3.INVITE
Figura 2.4
Funcionamento do
User agent A User agent B redirect server.
Servidor de registro
Entidade especial SIP que recebe os registros dos usuários e extrai a informação de sua q
localização atual:
11 Endereço IP.
11 Porta.
11 Username.
Location Database
Record in Location Database
Location
Use sip:jan@iptel.org is UA Registrar Database
reachable at sip:jan@1.2.3.4.5060
REGISTER Store
Location
sip:jan@iptel.org 2. STORE
200 OK
DNS
1. REGISTER
Serviço fone@RNP
Figura 2.5
3. 200 OK
Funcionamento
1.2.3.4.5060 Registrar do servidor de
registro.
28
Esse cenário demonstra um exemplo de um servidor de registro (registrar), no qual uma
mensagem REGISTER contendo o endereço de registro sip:jan@iptel.org e o endereço
de contato sip:jan@1.2.3.4:5060, em que 1.2.3.4 é o endereço IP do telefone enviado ao
servidor de registro, que extrai a informação e a armazena em um banco de dados local. Se
tudo correr bem, o servidor de registro envia uma mensagem de resposta 200 OK ao tele-
fone e o processo de registro termina corretamente.
Tecnicamente o desafio é uma aplicação que gera um hash criptografado MD5. Para auten-
ticar-se usando esse método, o cliente deverá responder ao desafio através de um hash
criptografado baseado nas informações de domínio (realm), usuário e senha. As mesmas
informações estão disponíveis no servidor que executará a mesma função. Caso a resposta
do desafio encaminhada pelo cliente seja igual à resposta obtida pelo servidor, o cliente será
autenticado. Caso contrário, a resposta será negativa para a autenticação.
Sendo assim, no serviço SIP o envio do desafio é realizado durante a resposta 401 – Una-
thourized. Ao receber o desafio, o cliente confirma o recebimento da mensagem negativa e
encaminha um novo Register – como novo sequenciamento, porém como mesmo CALL-ID –
ao servidor com a resposta do desafio.
29
SIP User agent Proxy SIP (OpenSER)
1 – REGISTER
2-401 + www-autenticação
3 – REGISTER + autorização
Figura 2.6
Exemplo de
4-200 OK
autenticação de
telefones SIP.
Mensagens SIP
A comunicação SIP determina a troca de várias mensagens, que podem ser transportadas
via UDP ou TCP, sendo o primeiro o método mais usual.
11 SIP Requests: uma mensagem SIP enviada do cliente ao servidor com o propósito de
invocar uma operação em particular.
11 SIP Responses: quando um UA (User Agent) ou um proxy server recebe uma requisição e
envia uma resposta.
Método Funcionalidade
requisições no
OPTIONS Faz consulta ao servidor para saber suas capacidades.
SIP/2.0.
30
Há ainda os métodos estendidos de requisição, enumerados na tabela a seguir.
Max-Forwards: 10
To: sip:luiz@rnp.br
Call-ID: d10815e0-bf17-4afa-8412-d9130a793d96@213.20.128.35
CSeq: 2 INVITE
Contact: sip:213.20.128.35:9315
algorithm=”MD5”, uri=”sip:renatoduarte@rnp.br”,
nonce=”3cef753900000001771328f5ae1b8b7f0d742da1feb5753c”,
response=”53fe98db10e1074
Capítulo 2 - Tecnologia VoIP
b03b3e06438bda70f”
Content-Type: application/sdp
Content-Length: 451
31
A primeira linha indica que a mensagem INVITE é usada para estabelecer uma sessão. A URI
da primeira linha SIP, 7170@rnp.br SIP/2.0, é chamada de Request URI e contém a URI da
pessoa chamada. Um SIP request pode conter um ou mais cabeçalhos Via, que são usados
para guardar o endereço da requisição e para o roteamento de SIP Responses (respostas SIP).
A mensagem INVITE contém apenas um cabeçalho Via criado pelo user agent, que envia a
requisição. Sobre o campo Via podemos dizer que o user agent está executando no endereço
195.37.77.100, na porta 5060.
11 Código de status numérico ou status code (código de resultado com três dígitos).
11 Frase textual.
22 Usadas para respostas provisórias, que dizem ao receptor que a requisição feita foi
recebida, mas o resultado ainda está em processo.
22 Respostas utilizadas para indicar que houve erro da parte de quem enviou a requi-
sição; erro na sintaxe ou por não ter sido bem preenchida pelo servidor. Resposta de
falha de requisição.
22 Utilizadas para indicar que houve um erro da parte do servidor. Resposta de falha no
servidor.
22 Usada para indicar que a resposta não pode ser completada em nenhum servidor.
Resposta de falha global.
Serviço fone@RNP
32
Informações Sucesso Redirecionamento Falha de solicitação
From: sip:sip2@iptel.org
To: sip:sip2@iptel.org;tagi=794fe65c16edfdf45da4fc39a5d2867c.b713
Call-ID: 2443936363@192.168.1.30
Contact: Msip:sip2@66.87.48.68:5060;transport=udp>;q=0.00;expires=120
Content-Length: 0
out_uri=sip:iptel.org via_cnt==1”
Esse exemplo de SIP Response mostra que as respostas são bem similares às requisições,
exceto na primeira linha, que contém a versão do protocolo (SIP/2.0), o código da resposta e
a frase textual. Os códigos têm a intenção de serem processados pelas máquinas, não sendo
muito amigáveis aos humanos, mas facilitando para que as máquinas façam o parse deles.
Já a frase textual é legível aos humanos, descrevendo o resultado do processo.
Capítulo 2 - Tecnologia VoIP
33
Um exemplo mais completo
Atlanta.com Biloxi.com
proxy proxy
Bob SIP
Phone
INVITE F1
INVITE F2
100 Trying F3 INVITE F4
100 Trying F5
100 Trying F6
180 Ringing F7
180 Ringing F8 200 Ok F9
200 Ok F10
200 Ok F11
ACK F12
Sessão de mídia
BYE F13
Figura 2.8
200 Ok F14 Chamada SIP com
proxies.
Nesse exemplo o proxy server recebe uma requisição INVITE e envia uma resposta 100
(trying) para o softphone de Alice. A resposta 100 (trying) indica que a requisição INVITE foi
recebida e que o proxy está trabalhando por ela para rotear a mensagem INVITE para seu
destino. Respostas no SIP usam código com três dígitos seguidos de uma frase descritiva.
Essa resposta contém os mesmos campos To, From, Call-ID, CSeq e Via, que permitem que
o softphone de Alice correlacione a resposta com a mensagem INVITE enviada. O servidor
proxy atlanta.com localiza o proxy no servidor biloxi.com, possivelmente executando um
tipo de procura no servidor de DNS para encontrar o servidor SIP que serve ao domínio
biloxi.com. Como resultado, este obtém o endereço IP do servidor proxy biloxi.com e envia
a requisição INVITE para lá. Antes de enviar a requisição, o servidor proxy atlanta.com
adiciona um campo Via adicional que contém seu próprio endereço. O servidor proxy biloxy.
com recebe a requisição INVITE e responde com 100 (trying) ao servidor proxy atlanta.com,
indicando que recebeu a requisição INVITE e a está processando. O servidor proxy consulta
o banco de dados, geralmente chamado de location service, que contém o endereço IP atual
de Bob. O servidor proxy biloxi.com adiciona outro campo Via no cabeçalho com o seu ende-
reço para a requisição INVITE e a envia ao telefone SIP de Bob. O telefone SIP de Bob recebe
a requisição INVITE e alerta a Bob de que existe uma chamada de Alice. O telefone SIP de
Bob indica essa ação com uma mensagem de resposta 180 (ringing), que é roteada pelos
dois proxies na direção reversa. Cada proxy utiliza o campo Via do cabeçalho para saber
para aonde enviar a resposta, depois disso, eliminando-a do topo da mensagem. Quando o
softphone de Alice recebe a resposta 180 (ringing), a informação é passada para Alice, talvez
utilizando tom de áudio ringback ou mostrando uma mensagem na tela do softphone dela.
Quando Bob atende à ligação, o seu telefone SIP envia uma mensagem 200 (OK) para indicar
que a ligação foi atendida. A mensagem 200 (OK) contém o corpo da mensagem juntamente
Serviço fone@RNP
com a descrição de mídia Session Description Protocol (SDP) do tipo de sessão que Bob está
esperando estabelecer com Alice. Se Bob resolvesse não atender à chamada, uma mensagem
de erro seria retornada em vez da mensagem 200 (OK) e a sessão de mídia não existiria.
34
Protocolo SDP
SDP significa Session Description Protocol (Protocolo de Descrição de Sessão). É um q
formato para a descrição dos parâmetros de inicialização de mídia streaming. Foi publi-
cado pela IETF como RFC 2327 e substituído pela RFC 4566. Mídia streaming é o con-
teúdo visto ou ouvido durante um envio de dados.
Anatomia do SDP
Uma mensagem SDP é composta por uma série de linhas denominadas campos. q
Os nomes são abreviados por uma só letra. A formatação das linhas de texto está des-
crita da seguinte forma: tipo do campo = valor do campo.
Por exemplo, no campo mídia (m), o SDP usa um código para listar os codecs que poderão
ser utilizados na sessão. Os códigos correspondentes aos codecs para os diversos tipos de
mídia são detalhados na RFC 3551.
Descrição da sessão
35
Descrição da sessão
Exemplo:
v=0
s=Resultado Anual
u=http://www.esr.rnp.br/resultados
t=2873397496 0
a=rtpmap:0 PMCU/8000
a=rtpmap97 G726-32/8000
a=rtpmap101 G726/8000
a=ptime:20
Na resposta 200 OK, também está anexada a descrição de mídia do usuário chamado. Nessa
descrição, o usuário chamado responde apenas às capacidades atendidas pelo usuário e,
caso deseje não habilitar um fluxo de mídia solicitado pelo usuário chamador, o usuário res-
ponde ao fluxo de mídia com porta RTP 0. Ao final dessa comunicação, ambos os usuários
estão prontos para o estabelecimento dos fluxos de mídia dessa sessão.
11 Alteração de codecs.
Para realizar a alteração dos parâmetros da sessão, o serviço utiliza a premissa do RE-INVITE.
O método RE-INVITE não existe no protocolo SIP, o que está definido é o reenvio da requi-
sição INVITE com as mesmas informações de diálogo existentes na sessão estabelecida,
36
porém contendo as novas informações de SDP válidas para a nova sessão, de forma que
sessões não alteradas deverão ser descritas, pois fluxos não descritos serão removidos.
UDP
Desempenho
RTP
TCP
Figura 2.9
Desempenho
versus
confiabilidade. Confiabilidade
O Real-time Transport Protocol (RTP) é um protocolo que oferece funções direcionadas para
aplicações que transmitem fluxos de dados em tempo real, como áudio, vídeo e dados de
simulações, por meio de serviços de rede unicast e multicast. Esse tipo de fluxo deve ser
transportado utilizando o UDP, pois o TCP possui controle de fluxo, que diminui a taxa de
transmissão em caso de perda de pacotes. Assim, é natural que o RTP funcione sobre o
UDP em vez do TCP, evitando o controle de fluxo e retransmissões. O custo disso é a pouca
confiabilidade e a falta de ordenação na chegada dos pacotes. A retransmissão de pacotes
também não é uma característica desejada em fluxos de áudio e vídeo interativos, uma vez
que o pacote retransmitido normalmente não chega ao receptor a tempo de ser utilizado.
Alguns protocolos mais sofisticados de streaming calculam a probabilidade do pacote ser
retransmitido, permitindo que ele possa chegar a tempo de ser processado. Assim, apenas
em caso positivo o pacote é retransmitido.
O serviço inclui: q
11 Identificação do tipo payload.
11 Numeração sequencial.
tempo real.
37
Formato do pacote RTP: q
11 Version (V).
11 Padding (P).
11 Extention (X).
11 Sequence Number.
11 Timestamp.
0 8 16 24 32
Timestamp
Header Extention
11 Padding (P): indica a presença ou não de preenchimento das posições finais do pacote
com um ou mais bytes que não fazem parte da carga.
11 CSRC Counter (CC): contador do número de identificadores CSRC após o cabeçalho fixo.
11 Marker Bit (M): delimita um conjunto de dados relacionados, o início de uma rajada de
áudio ou o fim de um quadro de vídeo.
11 Payload Type (PT): indica o formato da carga do RTP e determina sua interpretação
pela aplicação.
11 Sequence Number: incrementado em cada pacote RTP e utilizado pelo receptor para
detectar perda de pacote ou para restaurar a própria sequência.
em uma sessão RTP. Necessário para o receptor agrupar pacotes com o mesmo SSRC
para reprodução.
11 Contributing Source (CSRC) Identifiers: lista de identificadores CSRC inseridos por mixers.
38
11 x - 1, se houver extensão de cabeçalho.
11 Payload Type (PT): tipo de aplicação (codec), definido nas RFCs 1890 e 3551 (PT=200/RTCP).
11 m (marker): depende do PT (igual a 1), por exemplo, quando houver supressão de silêncio.
11 Sessão RTP: cada fluxo de voz contém uma sessão RTP e uma RTCP.
Quando pacotes RTP relativos a um fluxo chegam ao seu destino, o número de sequência de
cada pacote é examinado para determinar a sequência correta dos dados e também para
registrar a fração de dados perdidos (por exemplo, amostras de áudio ou quadros de vídeo).
O valor do timestamp (estampa/selo de tempo) do cabeçalho RTP pode ser utilizado para
determinar o atraso entre a fonte e o receptor. O valor do timestamp é marcado pelo trans-
missor do fluxo no momento do envio dos dados. Conforme os pacotes do fluxo chegam ao
receptor, a variação no espaçamento entre pacotes (variação do atraso ou jitter) pode ser
examinada e, durante a reprodução, essa informação pode ser utilizada para cálculo de um
buffer dinâmico, com a finalidade de eliminar a variação do atraso e ao mesmo tempo impor
o menor atraso possível, de forma que o decodificador possa reproduzir a mídia mantendo
uma boa experiência de interatividade.
39
Informações geradas pelo RTPC: q
11 Sender Report (SR).
11 BYE.
11 APP.
Uma das melhorias que a atualização da RFC traz é justamente o desempenho do protocolo
RTCP com um novo algoritmo para cálculo do tempo de transmissão dos pacotes desse
protocolo em conferências. O RTCP provê o feedback da qualidade da distribuição, útil para
codecs adaptativos e para a detecção de problemas locais ou globais.
O RTCP controla a taxa de informações de controle que os participantes devem enviar para
que o fluxo de dados não seja prejudicado. Provê um mínimo de informações de controle.
Informações mais detalhadas, necessárias para algumas aplicações, devem ser providas por
nível superior.
11 Receiver Report (RR): para estatísticas de recepção de participantes que não são
transmissores ativos em uma sessão.
11 Estrutura do RTCP.
V P IC PT Length
Format-specific information
Padding if P=1
Serviço fone@RNP
V = version number
P = padding
IC = item count Figura 2.12
PT = packet type Mensagem RTCP.
40
Há cinco tipos de pacotes RTPC definidos na especificação do RTP, um para cada mensagem
discutida anteriormente: SR, RR, SDES, BYE e APP. Todos esses pacotes seguem uma estru-
tura comum, ilustrada na Figura 2.12.
Os cabeçalhos dos pacotes RTCP têm em comum cinco campos que ocupam 32 bits:
1. Número da versão (V): o número da versão atual do RTP é 2. Não existem planos para
introduzir novas versões, e as versões antigas são utilizadas raramente hoje em dia.
2. Padding (P): indica que o pacote foi preenchido com bits além do seu tamanho natural.
Esse tipo de expediente é necessário quando são utilizados alguns algoritmos de cripto-
grafia que necessitam de blocos com tamanho constante.
5. Comprimento (Length): indica o tamanho do conteúdo do pacote contido após esse cabe-
çalho comum.
Os pacotes RTCP nunca são transmitidos individualmente. Eles são sempre agrupados para
a transmissão, formando pacotes compostos.
O primeiro passo para a codificação de áudio consiste na captura dos sinais sonoros (ondas
sonoras) e transformação destes em sinais digitais. Como é feita a conversão de sinais ana-
lógicos para sinais digitais?
Uma técnica bastante utilizada em telefonia é o Pulse Code Modulation (PCM). Ele analisa
o sinal analógico em instantes uniformes de tempo, obtém a magnitude do sinal nesses
instantes e representa essa magnitude de forma numérica e binária. A imagem seguinte
Capítulo 2 - Tecnologia VoIP
mostra um exemplo de um sinal de áudio analógico que será convertido para digital:
41
Figura 2.13
Amostragem de
sinal analógico.
O eixo y do gráfico mostra a magnitude do sinal e o eixo x do gráfico denota o tempo. A linha
azul representa a onda sonora, enquanto as linhas verticais ao longo do gráfico marcam os
momentos em que serão obtidas amostras da onda sonora, ou seja, os momentos onde a
magnitude da onda será representada por um número binário.
O próximo gráfico mostra o resultado da aplicação do PCM sobre a primeira parte da onda:
111
110
101
100
011
O eixo y mostra uma escala com um número para cada linha horizontal. Esse número
está representado em binário (com 3 bits para facilitar o entendimento) e corresponde ao
símbolo que será utilizado pelo PCM para representar cada uma das oito linhas horizontais.
A cada instante de tempo (linhas verticais) o PCM verifica a magnitude da onda e encontra a
linha horizontal que mais se aproxima desse valor. Ele usa então o símbolo associado a essa
linha para representar a magnitude da onda nesse instante. Esse processo vai se repetindo
em instantes de tempo uniformes, gerando os símbolos que representam a onda. Esses
símbolos estão exibidos no gráfico ao longo do eixo x (000, 011, 100 etc.). A linha vermelha
mostra o formato com que a onda passa a ser representada após ser convertida para o
formato digital pelo PCM.
Cada valor obtido pelo PCM ao longo do tempo é chamado de uma amostra do sinal, e por
isso esse processo é chamado de amostragem da onda sonora. A definição do número de
amostras obtidas é um parâmetro muito importante no processo, que influencia direta-
mente na qualidade do sinal digital. Quanto maior o número de amostras, maior será a
proximidade do sinal digital com o sinal analógico, mas também maior será a quantidade de
dados necessários para representar esse sinal. Há um teorema, o teorema de Nyquist, que
indica que a taxa de amostragem do sinal deve ser o dobro ou mais do que a frequência do
Serviço fone@RNP
sinal. Esse teorema é muito usado como base para definição da taxa de amostragem que
será utilizada.
42
frequências altas são mais raras. Portanto, muitos sistemas que trabalham com voz humana
tomam como base a frequência 4 kHz, que, aplicando o teorema de Nyquist, indica o uso de
uma taxa de amostragem de 8 kHz ou 8.000 amostras por segundo.
Outro parâmetro que influencia diretamente na qualidade do sinal digital é o número de bits
utilizado em cada amostra. No exemplo anterior foram utilizados 3 bits por motivos didá-
ticos. Com um número maior de bits é possível representar mais fielmente o sinal analógico
(mais linhas horizontais no gráfico), reduzindo a diferença entre os sinais, o que é chamado
de erro de quantização. Em CDs de áudio, são utilizados 16 bits para cada amostra. Em tele-
fonia se trabalha com 8 bits por amostra.
Compansão do sinal: q
11 Voz pode variar 10 mil vezes, pois o ser humano pode falar baixinho ou gritando e o
outro lado deve ouvir perfeitamente. Como lidar com isso?
Outra técnica aplicada durante a digitalização de sinais sonoros é a compansão do sinal, repre-
sentada na figura a seguir. Esse processo é necessário, pois a amplitude dos sinais sonoros
pode variar muito. A voz humana pode variar 10 mil vezes, pois o ser humano pode falar muito
baixo ou gritando, e em ambos os casos deve ser totalmente entendido no destino. Isso cria
um problema para a digitalização, pois seriam necessários muitos bits para representar cada
amostra (o ideal seriam 13 bits por amostra, mas comercialmente são usados 8).
No processo de compansão, os sinais mais fracos são elevados e os mais fortes são redu-
zidos, e assim todos podem ser representados por um número fixo de bits, pois o sinal
analógico da voz é “homogeneizado”. Dessa forma, se a pessoa fala baixo, sua voz é ampli-
ficada antes da digitalização, e se fala alto, não é amplificada. Assim, todos os sinais podem
ser representados com os 8 bits, economizando na taxa de transmissão via rede. As duas
w
formas mais utilizadas de compansão são chamadas de lei A (mais usada na Europa) e lei μ
(mais usada nos Estados Unidos e Japão).
Saiba mais
Vs
Tutorial de VoIP dispo-
nível em: http://www.
teleco.com.br/tutoriais/
tutorialtelip/pagina_1.
asp
43
Codec
11 Codec é uma abreviação de codificador-decodificador. q
11 Codecs especificam como os sinais analógicos da voz devem ser codificados
em dados digitais.
11 Grande parte dos padrões usa técnicas baseadas na codificação da forma de onda (PCM).
Codificação paramétrica
11 Codificadores paramétricos também são denominados vocoders. q
Serviço fone@RNP
A natureza do sinal (voz) é essencial para obter máxima compressão, embora com sensível
perda de qualidade. Os codificadores paramétricos, também denominados vocoders (voice
coders), utilizam no decodificador um modelo de produção de voz, cujos parâmetros são
estimados e transmitidos pelo codificador a intervalos curtos de tempo (10 a 30 ms).
44
A classe de codificadores paramétricos mais utilizada é a dos vocoders Linear Predictive
Coding (LPC). Os vocoders conseguem codificar os sinais de voz a taxas de no máximo cerca
de 2 kbps, mas com qualidade entre ruim e regular.
Codificação híbrida
11 Codificadores híbridos combinam características dos codificadores de forma de onda q
e dos vocoders.
A codificação híbrida usa conceitos das duas outras formas de codificação (paramétrica e
em forma de onda), procurando um balanço entre qualidade e taxa de compressão. Os codi-
ficadores híbridos são esquemas que combinam características dos codificadores de forma
de onda e dos vocoders. Atualmente, a maioria dos codificadores híbridos utiliza o modelo
de codificação Code Excited Linear Predictive (Celp), com taxas de bits entre 4 e 16 kbps,
proporcionando qualidade muito melhor do que a dos vocoders. Alguns deles propiciam
qualidade muito próxima da obtida com os codificadores de forma de onda.
Com base nos tipos de codificação citados, concluímos que os codificadores de forma de
onda são os que proporcionam voz com melhor qualidade, mas despendem maior taxa de
bits. Em geral, taxas superiores a 30 kbps. Como vimos, um fator a ser considerado é o delay
inserido pelo codificador, onde de maneira geral quanto menor for a taxa do codec, maior
será seu delay.
Em uma rede de pacote, onde os pacotes de voz podem sofrer grandes delays, a escolha do
codec em função do seu atraso pode ser um diferencial do projeto em enlaces onde o delay
é crítico, como em uma conexão via satélite.
Em redes com grande disponibilidade de banda, um codec indicado é o G.711, que possui taxa
de transmissão a 64 Kbits/seg, mas com delay próximo de zero, boa qualidade e livre de licença.
11 G.729.
11 G.723.1.
11 iLBC.
45
Padrão Faixa de frequência Taxa de transmisssão Latência Qualidade
11 Padrão G.711: é um dos melhores oferecidos pelo mercado, com delay próximo de zero,
embora sua taxa de transmissão de bits seja muito alta (64 Kbits/seg), consumindo muita
banda em comparação com os demais codecs. Seu grande diferencial é que está livre de
licença, sendo um fator a considerar para projetos com disponibilidade de banda. Outro
fator a considerar é que esse codec não comprime, sendo utilizado em transmissão de fax.
11 Padrão G.729: possui taxa de 8 Kbits/seg e é muito utilizado no mercado. É um codec ITU
com a necessidade de compra de licença. Existe a versão G729a, menos complexa que
a G729, e a versão G729b, com capacidade de inserir ruído de conforto nas ligações que
utilizam detecção de atividade de voz (VAD).
11 Padrão G 723.1: possui taxas menores que o G.729, sendo um codec ITU que também
necessita de pagamento de licença. Com taxas de 6,3 ou 5,3 Kbits/seg, seu atraso é da
ordem de 37,5 mseg.
11 Codec iLBC: tem fonte aberta, sem exigência de pagamento de licença, sendo uma boa
opção de solução de fonte aberta. Sua taxa é da ordem de 13,3 Kbits/seg.
G.711
11 Codificador padrão ITU-T de larga aplicação. q
11 Representa os sinais de voz usando o formato PCM.
A função básica do algoritmo é codificar a voz utilizando 8 bits por amostra; a banda de
entrada de voz é amostrada a 8 kHz, mantendo a largura de banda de 300 a 3.400 Hz.
Com isso, cada canal de voz precisa de 64 kbps.
Dois algoritmos foram definidos no padrão ITU-T G.711: U (ulaw) e A (alaw); o primeiro é utili-
zado na América do Norte e no Japão; o segundo na Europa e no resto do mundo.
O princípio do codificador G.711 é que se deve utilizar a quantização com escala logarítmica
para obter uma relação sinal/ruído independente da intensidade. Isso foi possível dupli-
cando o passo de quantização a cada vez que a intensidade do sinal era duplicada; desse
modo obteve-se uma constante.
G.729
11 Padrão ITU-T para codificação de sinais de voz a uma taxa de 8 kbps, com quadros de q
2 ou 8 bytes a cada 10 ms.
O codificador G.729 codifica sinais de voz a uma taxa de 8 kbps usando o modelo Conjugate
Structure Algebraic Code Excited Linear Prediction (CS-ACelp), que é baseado no modelo de
codificação Code Excited Linear Prediction (Celp). Ele é projetado para operar com o sinal de
46
voz de entrada já convertido para o formato PCM uniforme, com 16 bits/amostra e taxa de
amostragem de 8 kHz.
O codificador G.729 trabalha com quadros de 10 ms (ou 80 amostras), que são divididos em
dois subquadros de 5 ms (ou 40 amostras). Cada quadro de 10 ms do sinal de voz é analisado
para extrair os parâmetros do modelo Celp: os coeficientes preditores do filtro de síntese,
os índices dos dicionários fixo e adaptativo e seus respectivos ganhos. Esses últimos são os
parâmetros da excitação, determinados para cada subquadro de 5 ms. Esses parâmetros
são codificados e transmitidos.
G.723.1
11 Padrão ITU-T para taxas de bits muito baixas (5,3 ou 6,3 kbps), desenvolvido para uso q
em telefonia por redes de pacotes.
O codificador G.723.1 tem duas taxas de bits associadas a ele, de 5,3 e 6,3 kbps. Ele codifica
sinais de voz quadro a quadro usando codificação preditiva linear baseada em análise por
síntese (CPLbAS). A codificação em taxa alta (6,3 kbps) usa um modelo Multipulse Maximum
Likelihood Quantization (MP-MLQ) para gerar o sinal de excitação, enquanto a codificação
em taxa baixa (5,3 kbps) usa um modelo Algebraic Code Excited Linear Prediction (Acelp).
O tamanho dos quadros é de 30 ms (ou 240 amostras).
O codificador G.723.1 é projetado para operar com o sinal de voz de entrada já convertido
para o formato PCM uniforme, 16 bits/amostra e taxa de amostragem de 8 kHz.
iLBC
11 Internet Low Bit Rate Codec (iLBC) se encontra em caráter experimental, a ser padro- q
nizado pela IETF.
11 Opera a taxas de 13,33 kbps (399 bits em quadros de 30 ms) ou 15,20 kbps (303 bits
em quadros de 20 ms).
trabalha com quadros de comprimento de 20 ms, produz 304 bits de saída por quadro, e
para um comprimento de 30 ms por quadro, produz 400 bits de saída, os quais devem ser
empacotados para serem transmitidos. Os dois modos para quadros de diferentes tama-
nhos operam de maneira similar. A descrição do algoritmo resulta em um sistema de codi-
ficação de voz com resposta controlada diante da perda de pacotes, similar à especificada
no PCM com perda de pacotes no padrão ITU-T G.711, que opera a uma taxa fixa de 64 kbps.
Algumas das aplicações para esse codificador estão nas formas de comunicação em tempo
real, como telefonia, videoconferência, áudio e envio de mensagens.
47
Características de escolha do codec
11 Taxa. q
11 Atrasos.
11 Qualidade da Voz.
11 Complexidade.
48
Roteiro de Atividades 2
Atividade 2.1 – Capture e avalie as mensagens SIP
Análise de mensagem de autenticação
1. Certifique-se de que o softphone 3CX ou o X-Lite do seu computador não estão sendo
executados.
No Wireshark, habilite o filtro das mensagens pelo termo SIP e, com base nas informações
capturadas, responda ao questionário abaixo:
a. Sobre qual protocolo de transporte o protocolo SIP está configurado para trafegar na rede?
b. Sobre qual protocolo de transporte o áudio das chamadas está configurado para trafegar
na rede?
observado?
49
5. Crie uma tabela de estatística utilizando o Wireshark: clique em Telephony>SIP e, em seguida,
em Create Stat, e preencha o quadro abaixo de acordo com o resultado obtido na captura.
Figura 2.16
Janela de
estatísticas SIP.
1. Efetue uma chamada entre os clientes, mantenha um diálogo entre eles e finalize a
chamada, mantendo o Wireshark ativo, “sniffando” as mensagens.
2. No Wireshark, acesse o menu Telephone e em seguida selecione a opção Flow Graph. Com
as informações exibidas, responda ao questionário a seguir:
50
e. Qual a sequência de pacotes durante o encerramento de uma ligação?
Figura 2.17
Janela de detecção
de chamadas VoIP.
No Wireshark, acesse o menu Statistics e em seguida selecione VoIP Calls. Selecione a captura e
execute o Player, conforme ilustra a figura a seguir. Será exibida uma tela onde deverá ser
executado o Decode. A partir desse instante escutaremos a conversa realizada entre os clientes.
Na tela a seguir, você poderá selecionar o canal que escutará ou ambos os canais.
Janela de
decodificação do
áudio capturado.
51
c. Qual é o codec de áudio utilizado durante a ligação?
52
3
Princípios do serviço VoIP na
instituição usuária
objetivos
conceitos
Apresentar o ambiente local do fone@RNP, correspondente aos servidores cuja
responsabilidade de administração recai sobre os técnicos indicados pelas instituições
clientes. Conhecer os requisitos de hardware e a configuração dos servidores
que compõem este ambiente, assim como a estrutura de uma instituição usuária.
Uma instituição usuária participante do serviço fone@RNP deverá seguir o modelo padrão
de instituição. Esse modelo encontra-se na versão 2. Ele pode ser obtido através de um
sistema de instalação automático, que obtém dados dinamicamente da base de dados da
RNP e através da tela de setup com o administrador.
Operadora
Fone@RNP
de telefonia
Figura 3.1
Estrutura física do
serviço fone@RNP
numa instituição
Ramal
usuária na versão 2.
Cliente Cliente
VoIP VoIP
53
11 Disco rígido: 40 GB.
11 1 Porta PCI ou PCI-e (para máquinas físicas que tenham conexão com a telefonia).
Asterisk
Gateway VoIP/PBX
PSTN/PBX
FreeRadius
co
fone@RNP
nt
a
Consulta
bi
lid
OpenLDAP
ad
Contabilidade
e
Diretório para identificação
Cliente SIP Ambiente SIP o e autenticação de usuários
çã
ica
ent
A ut
OpenSER
X-lite Consulta
Proxy SIP
Contabilidade
PostgreSQL Apache para disponibilização
de estatísticas
A Figura 3.2 apresenta os principais serviços presentes numa instituição usuária partici- Figura 3.2
pante do fone@RNP utilizando a versão 2. O principal serviço desse conjunto é o OpenSER, Serviços locais na
instituição usuária
que permite o estabelecimento de sessões SIP dos clientes VoIP (X-lite, Telefones IPs ou ATAs ), na versão 2.
dos gateways Asterisk ou com outras instituições do fone@RNP.
Bases de dados
No fone@RNP, o PostgreSQL possui quatro base de dados: asterisk, radius, openser e
chamadas. A base de dados asterisk mantém as chamadas contabilizadas pelo gateway
Asterisk. A base de dados radius mantém dados de execução do FreeRadius e chamadas
contabilizadas pelo Radius – esse serviço foi depreciado com o desuso do H.323. A base
Serviço fone@RNP
54
A ferramenta de consolidação de chamadas é responsável pela leitura e interpretação dos
dados gerados pelos dispositivos que armazenam os dados das chamadas e gera um único
registro consolidado para cada chamada. Dessa forma, torna-se fácil a realização de estudos
estatísticos do uso do serviço baseado nesse conjunto de informações consolidadas.
O OpenLDAP é a base de usuários do serviço fone@RNP. O uso do LDAP foi motivado pela
expectativa da RNP de incentivar o uso dessa estrutura nas instituições usuárias. Durante o
desenvolvimento da versão 2 do fone@RNP, não havia nenhuma estrutura pré-definida para
uso. Sendo assim, o LabVoIP desenvolveu um sistema particular que permitisse o desenvol-
vimento de diversas aplicações. Atualmente, esse é o modelo válido no serviço fone@RNP.
Outros serviços
Outros softwares também fazem parte do cenário local da instituição. Eles dão apoio ao
objetivo principal do serviço, complementando a solução do fone@RNP. Os softwares são o
Consolida, Slon e Apache2. O Consolida, conforme mencionado, realiza a consolidação das
chamadas contabilizadas pelo Asterisk, OpenSER e FreeRadius.
O Slon permite a sincronização de dados da base Mestre da RNP com a base escrava “cha-
madas” da instituição local. A sincronização é essencial para que os softwares de rotea-
mento e de consolidação dos dados possam interpretar as informações corretamente e de
forma atualizada. O Apache2 permite a utilização das ferramentas web Féjeca e Estatística.
55
Figura 3.3
Página inicial da
ferramenta de
gerência Féjeca.
O sistema web Féjeca é a principal ferramenta de gerência do serviço local. Através desse
sistema é possível gerenciar a base de usuários da instituição (cadastrar/buscar/editar/
apagar os usuários), identificar os usuários que estão on-line no serviço e acessar outras
ferramentas web.
O sistema web de Estatística permite a extração de relatórios e gráficos capazes de apre- Figura 3.4
sentar o fluxo de chamadas existente na instituição, possibilitando relatórios como número Gráfico do sistema
web para geração
Serviço fone@RNP
de chamadas nos últimos dias, chamadas por dias no mês, chamadas por hora no dia, de relatórios.
distribuição da duração de chamadas, duração da chamada por dia ou hora, motivo da
desconexão da chamada, intensidade da chamada e matriz de tráfego da chamada.
56
Distribuição dos serviços nas máquinas 1 e 2
11 Motivação das máquinas 1 e 2. q
11 Distribuição atual dos serviços.
Operadora
Fone@RNP de telefonia
OpenSER
MediaProxy
RadiusClient-NG
MAQ1 MAQ2 Central PBX
GnuGK
Asterisk (Gw SIP/H.323)
Asterisk
Zaptel
FreeRadius
Ramal
Cliente Cliente OpenLDAP
VoIP VoIP PostgresSQL
Slon
Apache2 (Fejeca, estatística,
Phppgadmin, Phpldapadmin)
Consolida
Figura 3.5 Conforme descrito na Figura 3.5, a máquina 1 detém os serviços de Proxy VoIP, tanto SIP ou
Descrição dos H.323. Serviços como MediaProxy e RadiusClient-NG são utilizados pelo OpenSER para a
serviços por
máquina numa gerência na mídia e para permitir o acesso ao FreeRadius, respectivamente.
instituição usuária.
Os softwares Asterisk, na função de gateway SIP/H.323, e o GnuGK, que exerce a função de
A máquina 2 possui duas funções básicas para a disponibilidade do serviço. A função inicial
de gateway permite que através do Asterisk e do driver Zaptel o serviço possa ter integração
com a telefonia convencional. A função secundária é a base de dados e a base de usuários
da instituição através do PostgreSQL, do OpenLDAP e do FreeRadius.
As funções secundárias da máquina 2 são de servidor web para os sistemas de Féjeca, Estatís-
tica, PHPPgAdmin, PHPLdapAdmin e para a execução em background do Consolida e do Slon.
57
Com as eliminações esperadas, o serviço provavelmente será redistribuído, mantendo
as bases de usuário, base de dados e servidor web na máquina 1, deixando a máquina 2
apenas com o serviço de gateway com o Asterisk e o driver da placa.
Caso o proxy não identifique a chamada como originada por um proxy conhecido, ele rea-
lizará a autenticação do serviço pelo modo http-digest do SIP. Caso não seja autenticado, a
chamada será encerrada pelo gateway.
11 Uma chamada originada por um proxy de um serviço do fone@RNP não pode ser
destinada a outro proxy do serviço fone@RNP, ou seja, duas instituições devem sempre
realizar chamadas diretamente no serviço fone@RNP, não permitindo transmiti-las a
instituições terceiras.
11 Uma chamada originada por um gateway local não pode retornar ao mesmo gateway
local, não permitindo transmissões de loops na instituição.
11 Um usuário de origem rede pública não pode realizar chamadas para telefones públicos.
Ramal VoIP XXXX Chamada destinada a ramal do PBX da insti- Ramal do PBX.
tuição.
Ramal VoIP 1XXXXXXX Chamada destinada a ramal VoIP da mesma Ramal VoIP.
localidade.
Ramal VoIP 0XX1XXXXXXX Chamada destinada a ramal VoIP de outra Ramal VoIP.
localidade.
58
Origem Padrão de discagem Premissa do padrão Destino
Ramal do PBX 0XX1XXXXXXX Chamada destinada a ramal VoIP de outra Ramal VoIP.
localidade a partir do IVR.
Telefone público 0XX1XXXXXXX Chamada destinada a ramal VoIP de outra Ramal VoIP.
localidade a partir do IVR.
Tabela 3.1 As possibilidades de integração são inúmeras no serviço fone@RNP. Ramais do PBX e
Tabela de ramais VoIP têm total acesso a qualquer número acessível ao serviço, seja outro ramal do
roteamento de
chamadas. PBX, outro ramal VoIP ou um telefone público, que poderão ser números da mesma
localidade ou de outras.
Contudo, chamadas originadas por telefones públicos só poderão ser completadas quando
destinadas a ramais do PBX ou ramais VoiP, permitindo números da mesma localidade ou
59
Ramais
Máquina 1
(Proxy SIP)
Telefones
PABX
Externos
Tele
Cidade A
fone@RNP
Ramais
Telefones
PABX
Externos
Figura 3.6
Esquema de
Tele integração do
Cidade B
serviço fone@RNP.
Acesso ao serviço
Por fim, para realizar chamadas através do gateway local, o administrador deverá realizar
chamadas utilizando o sistema de IVR (ou URA, em português), para que possa alcançar o
serviço VoIP através de um telefone convencional. O uso do IVR é feito a partir do número de
IVR, número de telefone chave ou tronco do PBX. Qualquer um desses sistemas permite que
o PBX encaminhe a chamada ao gateway. Ao receber a chamada, o gateway identificará a
origem da chamada através de regras pré-definidas com o PBX e tocará o áudio de intro-
dução ao IVR. Durante o áudio, o usuário poderá discar o número que deseja chamar e o
Serviço fone@RNP
60
Instituição
destino
Telefone
destino
Figura 3.7
Esquema de ligação Internet
a partir de ramal
convencional
utilizando IVR. IVR
Esse tipo de utilização reduz o custo da chamada, substituindo o valor da chamada de longa
distância que seria realizada pela instituição origem por um custo de ligação local a ser reali-
zado pela instituição localizada na mesma cidade do número destino.
Essa chamada exemplificada faz apenas o uso de um pulso, que é o pulso da chamada rea-
lizada da instituição destino para o número destino. A chamada do ramal até o serviço VoIP
não utiliza pulso – pois é uma chamada interna ao PBX da instituição de origem – e entre as
instituições de origem e destino também não utiliza pulso, pois é uma chamada VoIP privada
entre as instituições do serviço.
Esse uso do serviço realizando chamadas que consumam zero ou apenas um pulso por
chamada é autorizado pela agência reguladora do serviço de telecomunicações no Brasil, a
Anatel. Caso a chamada consuma mais de um pulso, ela somente poderia estar sendo trafe-
gada por operadoras autorizadas para esse tipo de serviço.
Para a realização desse bloqueio, as configurações dos equipamentos de IVR devem identi-
ficar que a chamada recebida é de um usuário externo – usuário não é um ramal do PBX da
instituição – e repassar essa informação ao serviço. No fone@RNP, os servidores cancelam
todas as requisições de chamada que o proxy tenha identificado como de origem externa e
destino também.
61
No serviço, os equipamentos de IVR realizam a identificação de origem interna ou externa de
diversas formas. Caso o tronco com o IVR seja digital, o número do usuário de origem pode ser
repassado ao IVR, que identifica se esse número pertence à lista de ramais da instituição ou
não. Caso o tronco seja analógico, normalmente as instituições criam números de atendimento
a ramais internos (IVR interno) e números de atendimento a ramais externos (IVR externo).
Adesão do serviço
11 Direcionado às instituições usuárias. q
11 Políticas de uso.
11 Formulário de solicitação.
O serviço fone@RNP é direcionado às instituições usuárias da rede Ipê. Para aderir ao serviço,
é preciso conhecer e concordar com sua política de uso e preencher um formulário de solici-
tação, que está disponível apenas para os contatos técnicos das instituições usuárias.
As solicitações de adesão submetidas via formulário eletrônico serão identificadas por pro-
cessos numerados e avaliadas pela gerência do serviço fone@RNP.
11 Instalação do serviço.
11 Homologação do serviço.
O administrador deverá instalar o Linux Debian 4.0 nas máquinas 1 e 2, conforme descrito no
documento de instalação. Após esse passo, o administrador deverá solicitar a liberação do
firewall da instituição para as máquinas 1 e 2 e realizar os registros SRV no servidor DNS da
instituição conforme descritas no documento de homologação. Ao final, deverá responder à
RNP (com cópia para a empresa) o formulário presente no documento de homologação.
62
Execução do checklist
O checklist é o procedimento realizado pela empresa que presta suporte ao fone@RNP, que
valida as configurações preliminares à instalação dos pacotes do fone@RNP. Esses procedi-
mentos são divididos em:
O administrador não deverá realizar a instalação dos pacotes antes de obter a auto-
rização da empresa de suporte para continuar a instalação. Caso o checklist falhe, o
administrador deverá rever as configurações preliminares descritas no documento
de homologação.
Instalação do serviço
A instalação do serviço é baseada em pacotes gerados pela equipe do LabVoIP, que per-
mitem a instalação de todas as bibliotecas, binários e configurações para montar o serviço
VoIP local na instituição usuária.
Homologação do serviço
A homologação do serviço, conforme descrita no documento de homologação, é o processo
de realização de testes, validação da instalação e das configurações existentes no serviço
VoIP da instituição usuária. Esses passos permitem que a adição da instituição usuária ao
serviço não vá prejudicar o serviço ou permitir chamadas não autorizadas.
63
64
Serviço fone@RNP
Roteiro de Atividades 3
O laboratório para estas atividades práticas foi desenhado visando refletir um ambiente real
genérico. Na unidade da Escola Superior de Redes de Brasília, o laboratório possui 24 esta-
ções de trabalho. Cada aluno utilizará uma máquina real, com Windows, softphone e anali-
sador de tráfego, uma máquina real com função de gateway do fone@RNP, onde se encontra
a interface com a telefonia tradicional, e uma máquina virtual, que funcionará como o outro
servidor do fone@RNP.
Os alunos serão divididos em instituições fictícias, grupos de 01 a 12. A sala de aula também
foi dividida para representarem estados e cidades distintas, cada uma com seu DDD (código
de área) e prefixos fictícios.
Professor
65
Atividade 3.1 – Instalação e homologação do serviço fone@RNP
Neste capítulo observamos a estrutura local das instituições clientes do serviço fone@RNP.
Após a solicitação de adesão ou re-homologação, a instituição recebe um e-mail contendo
instruções e documentos que orientarão o responsável técnico a instalar e homologar sua
instituição no serviço fone@RNP.
66
4
Manutenção do sistema
objetivos
conceitos
Apresentar procedimentos e a ferramenta para operar o serviço fone@RNP, adicionar
rotas e ramais, fazer e restaurar backups e verificar o detalhamento das chamadas,
através de atividades para manutenção local e manipulação de logins e ramais IP.
Figura 4.1
Página inicial da
interface gráfica
para manipulação
de ramais IP.
uma vez que, originalmente, o acesso está aberto a qualquer um que conheça o nome ou
endereço IP da máquina 2. Por exemplo, é possível configurar os endereços IP que possuem
acesso ao sistema no firewall interno do servidor. Também é possível configurar o servidor
Apache para permitir ou negar acesso mediante a inserção de uma senha. À esquerda, a inter-
face apresenta links para a configuração do sistema. Os dois primeiros links são funções de
manipulação de ramais IP, utilizados para adicionar e buscar ramais. O terceiro link é utilizado
para verificar os usuários ou ramais IP que estão ligados e on-line no momento. Se estiverem
na lista apresentada neste momento, é possível chamá-los em seus telefones IP.
67
Os próximos dois links “cadastrar redirect” e “listar redirect” estão fora de uso. Esta função Figura 4.2
seria utilizada para que as ligações feitas para o ramal analógico tradicional de uma pessoa Usuários on-line.
No próximo bloco de funções, os dois primeiros links dão acesso às ferramentas de terceiros
“phppgadmin” e “phpldapadmin”, utilizadas para gerência e manutenção das bases de dados
Postgres e LDAP, respectivamente.
O link “estatísticas” dá acesso a uma interface onde é possível plotar gráficos baseados no
uso do sistema local de telefonia IP. Ao clicar neste link, o administrador tem acesso aos
seguintes tipos de gráficos:
11 Últimos dias.
11 Horas do dia.
11 Motivos de desconexão.
Serviço fone@RNP
11 Matrizes de chamadas.
68
Figura 4.3
Tipos de
estatísticas
disponíveis.
Figura 4.4
Resultado de busca
por telefone.
69
22 Créditos: utilizado para o sistema de créditos, expresso em minutos; quando os cré-
ditos chegam ao fim, o ramal IP é bloqueado para fazer chamadas.
22 * Senha: Senha do ramal IP. Aqui vale aplicar as recomendações conhecidas para
senhas seguras: não existir em dicionário nenhum, não usar sequências numéricas,
datas de aniversários etc.
11 Clique em “Ok”.
Para verificar quais números estão cadastrados, basta fazer uma busca por número
de telefone, inserindo no campo de pesquisa o prefixo local dos números; por
exemplo, na rnp-rj, 1020.
Serviço fone@RNP
Figura 4.5
Resultado da ação
de adicionar um
ramal IP.
70
Modificação de um usuário ou ramal IP
Para modificar algum ramal IP é necessário primeiro realizar uma busca para identifica-lo no
sistema. Neste exemplo será atualizada a informação de “email” do ramal 10204061, criado
acima.
Figura 4.6
Busca por telefone.
71
Note que nem todas as informações são passíveis de serem alteradas. Dos campos obriga- Figura 4.7
tórios, apenas os valores de email e senha podem ser atualizados. Todos os campos não Edição de ramal.
obrigatórios podem ser alterados. Para alterar outros campos (como “nome completo”, por
exemplo) é necessário remover o ramal IP e criá-lo novamente.
72
Figura 4.8
Remoção de ramal.
Estatística e CDR
11 Princípios básicos da estatística e CDR. q
11 Contabilidade no serviço fone@RNP.
11 Relatório:
22 Últimos dias.
22 Matriz de chamadas.
11 Visualização de relatórios.
11 Estatísticas nacionais.
ções sobre as chamadas realizadas no serviço como duração, origem, destino, motivo de
desconexão, tipos de usuários e instituições envolvidas. Através do sistema de estatística
do serviço, o administrador pode também monitorar e contabilizar o sistema através de
matrizes de tráfego e utilização dos equipamentos e recursos da rede.
Todo o sistema de estatística é baseado na coleta de CDR, acrônimo de Call Detail Record
ou registro detalhado da chamada, conceito herdado do sistema de telefonia convencional.
Os dispositivos participantes da chamada registram informações detalhadas da chamada a
partir da ótica observada por cada dispositivo. Tipo de informações, formato das informa-
ções e formas de armazenamento dependem do dispositivo em questão.
73
Qualquer dispositivo participante pode gerar CDR da chamada, porém, equipamentos fora
do controle do administrador não são considerados na contabilização da chamada. Fora do
controle do administrador, estes equipamentos podem ter suas informações distorcidas e
assim inviabilizar a contabilização da chamada a partir destes registros CDR.
Exemplificando este caso, os telefones VoIP também podem gerar registros CDR. Porém, como
ficam no computador do cliente, os mesmos podem alterar estas informações e corromper a
estatística. Sendo assim, equipamentos como proxies e gateways do serviço VoIP da insti-
tuição são equipamentos confiáveis para a contabilização dos dados a partir dos CDR.
O MediaProxy é outro equipamento que poderia gerar dados adicionais para a conta-
bilização do serviço. O proxy de mídia poderia registrar os áudios que trafegaram pelo
software; porém, estes áudios deveriam ser relacionados às mensagens SIP da mesma
chamada. Outros equipamentos não gerariam informações relevantes para a contabilização
de uma chamada no serviço Fone@RNP.
FONE@RNP Consulta
OpenLDAP
FreeRadius
LDAP Server
SIP ta Radius Server
s ul
Con
DNS
OpenSER + Armazenamento
MediaProxy
Proxy SIP e Mídia to
men
SIP a zena Postgres
Arm Banco de Dados
SIP
RTFC
ATA
Tel IP Tel
O proxy SIP OpenSER armazena no banco de dados todas as requisições que possuam os Figura 4.9
Serviço fone@RNP
métodos INVITE, CANCEL e BYE e suas respostas finais. Desta forma, o OpenSER gera mais Serviço VoIP
na ótica da
de um CDR para todas as chamadas tratadas pelo proxy. O gateway de voz Asterisk arma- contabilização das
zena apenas um registro por chamada no banco de dados. O CDR será registrado apenas ao chamadas.
final da chamada no banco de dados.
74
Geração da estatística
Consulta
Armazenamento
Ferramenta de Consolidação
Consulta Consulta
Armazenamento Armazenamento
Figura 4.10
Mapa conceitual da
contabilização das
OpenSER Asterisk
chamadas.
O script consolida é uma ferramenta essencial para que a contabilização das cha-
madas seja realizada. Caso encontre problemas nas estatísticas, sempre verifique se
ele está sendo executado corretamente.
Sobre os registros consolidados que estão na tabela chamadas (da base chamadas), são
obtidas as informações para encaminhar à RNP, para geração da estatística nacional e no
sistema web local para relatórios do serviço VoIP da instituição usuária.
Capítulo 4 - Manutenção do sistema
75
Relatórios
Últimos dias
Este relatório apresenta o número de chamadas consolidadas por dia pelo serviço VoIP local
que foram completadas, e as não completadas nos últimos n dias. Por padrão a consulta é Figura 4.11
feita para n igual a 10 dias, mas este valor pode ser modificado. Caso não queira visualizar as Gráfico do número
de chamadas nos
chamadas atendidas ou não atendidas, basta desmarcar a opção direita. últimos dias.
76
Chamadas por hora no dia
Este relatório apresenta o número de chamadas por hora consolidadas pelo serviço VoIP
Figura 4.13
Gráfico de local que foram completadas e as não completadas no dia especificado. Por padrão a
chamadas por hora consulta é feita para o dia atual, mas este valor pode ser modificado. Caso não queira
no dia. visualizar as chamadas atendidas ou não atendidas, basta desmarcar a opção direita.
77
Motivo de desconexões das chamadas
Este relatório apresenta os motivos de desconexão das chamadas por quantidade de cha-
madas consolidadas pelo serviço VoIP local no dia especificado. Neste relatório é possível
identificar algum problema no serviço, pesquisando o motivo das desconexões ao serviço.
Por padrão a consulta é feita para o dia atual, mas este valor pode ser modificado.
Figura 4.15
Gráfico dos motivos
de desconexão.
Serviço fone@RNP
78
Matriz de chamadas
Este relatório apresenta as quantidades de chamadas originadas e destinadas para todas as
instituições usuárias do serviço durante o período. Este relatório permite ao administrador
identificar o fluxo de chamadas da sua instituição, e assim obter a média da economia do
serviço para a instituição.
Figura 4.16
Relatório da matriz
de tráfego.
11 Procedimento de restauração.
Desta forma, caso os arquivos não sejam modificados, não há a necessidade de realizar o
Capítulo 4 - Manutenção do sistema
backup destes arquivos. A instalação do serviço Fone@RNP não realiza nenhum procedi-
mento nas bases de dados da instituição, deixando-as vazias. Sendo assim, é importante
realizar o backup das bases de dados do PostgreSQL e do OpenLDAP.
Na máquina1, a não ser que haja alguma modificação específica feita pelos administradores
locais, não há necessidade de realizar backup utilizando o script fornecido pelo desenvol-
vedor. Neste caso, basta realizar nova homologação do serviço.
79
Procedimentos de backup
Para facilitar o trabalho dos administradores, a RNP, através de seu parceiro que presta
suporte ao serviço fone@RNP, disponibiliza o script de backup para as máquinas 1 e 2. Este
procedimento de backup cria um arquivo compactado dos principais arquivos de configu-
ração, e no caso do backup da máquina 2, o arquivo compactador também terá dumps da
base de dados PostgreSQL e do OpenLDAP.
Procedimentos de restauração
A RNP disponibiliza também o script de restauração dos backups das máquinas 1 e 2.
Este procedimento de restauração lê o arquivo compactado de backup com os principais
arquivos de configuração, e no caso do backup da máquina 2, com os dumps da base de
dados PostgreSQL e do OpenLDAP.
80
Roteiro de Atividades 4
Seguindo o documento de homologação, deve-se agora realizar a seção 5 de testes locais no
serviço Fone@RNP. Desconsidere as chamadas que utilizam o protocolo H.323.
Para iniciar, acesse através do browser de sua preferência a URL http://<IP_MAQ2>/ger2. Veri-
fique se o endereço IP da sua máquina está com acesso liberado no servidor web Apache2.
Criação de ramais
Ao acessar a FÉJECA, selecione a opção “cadastrar usuário” e preencha as informações
necessárias para a criação do usuário no serviço local. Com o usuário criado, teste-o utili-
zando um softphone.
Após realizar esta tarefa básica com sucesso, acesse a opção de “usuários online” para
identificar se o usuário foi registrado. Esta opção é importante também na manutenção do
serviço, pois ele permite apenas um único registro por usuário. Se o usuário já está regis-
trado, o mesmo receberá a mensagem de erro 487.
Edição de ramais
Com o serviço administrativo do FÉJECA, busque um usuário cadastrado no serviço local de
sua instituição e escolha a opção de editar. Nesta opção, o administrador terá acesso à alte-
ração de informações como nome, e-mail, senha e outros. Apenas dois campos não podem
ser modificados (login e telefone IP). Para alterar estes campos, o administrador deverá
remover o usuário e cadastrá-lo novamente.
Remoção de ramais
O administrador deverá realizar uma busca pelo ramal desejado, clicar em REMOVER ao lado
Capítulo 4 - Roteiro de Atividades
81
Atividade 4.3 – Estatística
Como vimos, a estatística do serviço local permite ao administrador gerenciar o uso do
serviço, sendo importante dimensionar o número de ligações diárias do serviço, o número
de ligações por hora do dia e a matriz de tráfego do serviço.
Após identificar o número de chamadas por dia, identifique a utilização do serviço por hora
utilizando a opção “Horas do dia”. Nesta opção, selecione o dia de sua preferência. Nesta
tarefa identifique a quantidade de chamadas de testes feitas na atividade anterior, ou dê
preferência ao dia que tiver mais chamadas na sua instituição no último relatório.
Por fim, extraia a matriz de chamadas da sua instituição através da opção de mesmo nome.
Nesta opção, você deverá informar o intervalo da extração; escolha o período do curso.5
Backup
Para realizar o backup, iniciamos obtendo o arquivo de backup disponível em http://www.
albatecnologia.com/downloads/faz_backup. Assim, baixe este arquivo nas máquinas 1 e 2,
utilizando o comando:
wgethttp://www.albatecnologia.com/downloads/faz_backup
Ao finalizar o wget para baixar o arquivo, realize a operação de permissão para execução do
script com o comando:
Com estas medidas iniciais, podemos realizar o passo de geração do arquivo de backup dos
dados da instituição. Para realizar o backup na máquina 1, basta o administrador executar
o comando “./faz_backup -1”. Após este comando, o administrador identificará a criação do
arquivo voip_backup_1.tar.gz. O mesmo procedimento deverá ser realizado para a máquina 2
com o comando “./faz_backup -2” para a criação do arquivo voip_backup_2.tar.gz.
Restauração
Serviço fone@RNP
Observe que na FÉJECA, após a restauração, todos os usuários foram recriados. Observe
que na estatística o número de chamadas realizadas no serviço local foi replicado.
82
5
Serviço fone@RNP: ambiente
nacional
Apresentar o ambiente nacional, parte da arquitetura do serviço fone@RNP,
objetivos
conceitos
Encaminhamento nacional de chamadas, proxy externo, operação dos nós centrais
do fone@RNP, FEGEN, DSER e replicação com SLON.
Na versão atual do fone@RNP, a forma de encaminhamento das chamadas é através do Capítulo 5 - Serviço fone@RNP: ambiente nacional
protocolo SIP. O protocolo H.323 ainda é aceito no serviço, porém, apenas habilitado para
serviços VoIP externos que desejam se comunicar com o fone@RNP através deste protocolo.
Outra função do ambiente nacional é fornecer a manutenção dos dados válidos em todo
o serviço fone@RNP. A manutenção dos dados é realizada através da gerência do banco
de dados PostgreSQL, que detêm as informações essenciais das instituições, seus equipa-
mentos, prefixos e números associados a IVR.
Estes dados permitem que o fone@RNP seja instalado ou atualizado a partir de configura-
ções padrão, evitando a manipulação destes arquivos e eliminando dificuldades com insti-
tuições co-localizadas e na geração de relatórios estatísticos do serviço.
83
Para prover tais serviços, o serviço dispõe dos equipamentos DSER e do Proxy Externo. No
intuito de oferecer maior disponibilidade do serviço, o equipamento DSER é replicado, sendo
assim usualmente invocados como DSER1 (Principal) e DSER2 (Secundário).
Proxy externo
DSER1
DSER2
Figura 5.1
Descrição da
arquitetura de
equipamentos do
Instituições usuárias do Fone@RNP
ambiente nacional.
O Directory SIP Express Router (DSER) é formado pelos equipamentos principais do serviço
fone@RNP, formados a partir da seguinte estrutura: Proxy SIP OpenSER, ENUM através do
servidor DNS Bind, Banco de Dados PostgreSQL, servidor de sincronização SLONY e a ferra-
menta web de gerência do serviço FEGEN.
84
Serviços VoIP externos
Gateway
externo
DNS DNS
DSER
Figura 5.2 A regra de roteamento de chamadas no DSER é bem simples: inicialmente o DSER identifica
Estruturação se a chamada foi originada por um proxy confiável participante do Fone@RNP; se não for, a
dos serviços do
ambiente nacional. chamada será rejeitada. Identificando a chamada como confiável, o DSER consultará o ENUM
para identificar os destinos possíveis para a chamada.
Como o ENUM roda num servidor DNS, o serviço responderá ao registro que melhor corres-
ponder ao número destino. No próximo capítulo conheceremos a forma dos registros e da
consulta ao ENUM. O próprio servidor DNS realizará o balanceamento de carga das chamadas
quando mais de um registro for encontrado baseado no peso/prioridade dos registros.
Por outro lado, a regra de roteamento do Proxy SIP Externo é similar a de uma instituição Capítulo 5 - Serviço fone@RNP: ambiente nacional
usuária do serviço Fone@RNP. Contudo, chamadas originadas por outros serviços VoIP serão
apenas roteadas para o serviço Fone@RNP, e chamadas originadas no serviço Fone@RNP que
forem tratadas pelo SIP externo poderão apenas ser destinadas a serviços VoIP externos.
Similarmente, o Proxy H.323 Externo realiza a mesma análise, contudo as chamadas são
encaminhadas inicialmente ao ambiente do Proxy SIP Externo para assim serem tratadas no
serviço VoIP do Fone@RNP.
DSER
11 Princípios do DSER. q
11 Proxy SIP.
11 ENUM.
85
O DSER, acrônimo de Directory SIP Express Router, é o Proxy SIP nacional com a responsa-
bilidade de rotear as chamadas entre as instituições usuárias, incluindo o Proxy Externo.
O conceito DSER foi importado do ambiente H.323 que define como Directory GateKeeper
(DGK) o Proxy H.323 com a responsabilidade de interligar os GKs clientes.
A figura a seguir mostra o processo de localização de vizinhos utilizando o DSER, que con-
sulta um DNS privado. Neste exemplo, a instituição A realiza uma chamada que pode ser
encaminhada pelas instituições B ou C.
Servidor de localização
DSER
4
DNS
Instituição B
3 7
DNS
6 SV2 8
Instituição A 2 5
Tel IP B
(chamador) 9
1
Instituição C
SV1
11a
10 SV1
11b
Tel IP A
11d
SV3 11c
Tel IP C
Com funções de Proxy SIP de Redirecionamento (SIP Proxy Redirect), o DSER recebe as Figura 5.3
solicitações de chamada originadas numa instituição, e autentica se a instituição de origem Cenário de
operação com o
é uma instituição usuária ou o Proxy Externo. Ao confirmar a autenticidade da requisição, o DSER.
DSER consulta o ENUM através de uma consulta NAPTR ao servidor DNS.
Esta consulta responderá quais instituições usuárias completam para o destino pesquisado
no DSER. A resposta do ENUM será encaminhada na mensagem 302 de REDIRECT para a
instituição de origem, incluindo uma ou mais instituições como contato para esta chamada.
Caso não seja encontrada nenhuma instituição que possa completar esta chamada, a insti-
tuição de origem receberá uma mensagem 404 (NOT FOUND).
A solução para o mapeamento dos números associados a cada instituição usuária é feita através
do ENUM, conforme mencionado. O Eletronic Number Mapping (ENUM) relaciona números
E.164 com URIs válidas que apontam para servidores VoIP capazes de hospedar serviços.
Essa solução consiste em usar um DNS privado como base de conhecimento, realizando a
busca nesta base através dos registros NAPTR. Usando uma expressão regular de trans-
formação, ao receber um número de telefone no formato E.164 é devolvida uma URI para o
sistema. O OpenSER possui um módulo com essa funcionalidade.
Serviço fone@RNP
86
A simplicidade se deve ao fato de não estar sendo usada nenhuma tecnologia nova, mas
apenas trabalhando recursos de forma diferente.
Como foi dito, o ENUM funciona basicamente através de registros NAPTR. Cada campo tem
um significado e uma importância. A UFRJ possui telefones IP com prefixo 1100 xxxx. A dis-
cagem para um destes telefones IP é encaminhada ao DSER como um pedido para localizar
5521100 xxxx. Durante a realização de uma chamada, um número é transformado para a
sua forma E.164, utilizando o registro NAPTR mostrado abaixo.
11 $ORIGIN 1.2.5.5.enum.arpa.
Esse número então será enviado ao DSER, que vai compará-lo com os prefixos existentes
no seu DNS privado. Caso encontre, o DSER verificará se alguma regra pode ser aplicada
ao número. Na segunda linha do registro existe a regra de transformação. Nessa linha
será verificado se ao número chamado pode ser aplicada alguma transformação. Nota-se
uma relação de especificidade entre a primeira linha e a segunda, onde a cada passo dado
restringe-se o domínio de busca.
Essas linhas definem uma regra que precisa ser atendida: o número E.164 de destino
possuir o prefixo 55211100. Atendida esta regra, a chamada é redirecionada para o servidor
“servidor.voip.nce.ufrj.br”, que a encaminha para um cliente IP do seu domínio. Dito isso e
considerando a configuração mostrada, fica simples entender o funcionamento do servidor
DNS utilizando ENUM.
A grande diferença entre os campos de ordem e preferência é que, depois de uma regra
satisfeita, não são considerados registros com ordens diferentes, mas podem ser consi-
derados registros com preferências diferentes. Partindo desse ponto de vista, podemos
ver que a preferência pode ser usada para diferenciar entre regras que possuem a mesma
importância de um ponto de vista da autoridade de domínio (como servidores de grandes
Capítulo 5 - Serviço fone@RNP: ambiente nacional
instituições), porém não do ponto de vista de balanceamento de carga.
87
No DNS, quando existe mais de uma regra que pode ser aplicada, os campos de ordem e
preferência fazem a distinção/priorização entre os destinos escolhidos. Para cada regra
aplicada, o número do requisitante sofre ação da expressão regular para ser transformado
em uma URI.
Replicação do Slon
11 Princípios da replicação. q
11 Slony.
Na versão 2 do serviço fone@RNP, todas as instituições usuárias necessitam ter uma cópia
atualizada das instituições ativas no serviço, seus equipamentos e prefixos. A identificação
das instituições ativas e os equipamentos pertencentes às instituições são importantes para
a autenticação na instituição destino de que a chamada foi originada por uma instituição
usuária do serviço.
Através dos prefixos, as instituições usuárias podem identificar se o número destino per-
tence a uma instituição co-localizada, encaminhando a chamada diretamente à instituição
sem intervenção do administrador. Através dos dados replicados, o sistema de contabili-
zação local na instituição usuária consegue identificar as instituições envolvidas na chamada
Serviço fone@RNP
A ferramenta utilizada para realizar os sincronismos da base de dados da RNP com as bases
de dados das instituições usuárias é o Slony, um software livre para sistemas de replicação de
dados para o banco de dados PostgreSQL – banco de dados definido para o serviço fone@RNP.
88
Este sistema foi desenvolvido para cenários de backup onde os nós – banco de dados das
instituições replicadas – estão sempre disponíveis. Contudo, a ferramenta mantém a sin-
cronização das tabelas dos clientes com o banco de dados principal no serviço fone@RNP,
mesmo atuando em um cenário bem diferente.
radius chamadas
instituições trusted
asterisk
instituições prefixos sip_friends
views numero_vir
LEGENDA
Replicação
View
Pertencente à base
Tabelas estáticas
Tabelas replicadas
Views
Para permitir a integração das instituições usuárias com outros serviços VoIP externos ao
serviço fone@RNP, o Proxy Externo oferece ao serviço esta comunicação sem que os
administradores das instituições realizem configurações de roteamento das chamadas e
liberação nos firewalls.
Para todas as outras instituições usuárias, o Proxy Externo comporta-se como mais uma
instituição usuária ao serviço, diferenciando apenas que não há nenhum prefixo associado
a esta instituição. Quando uma instituição realiza uma chamada destinada a um serviço
externo, ela redireciona esta chamada ao DSER, que por fim, através de regras de rotea-
mento pré-definidas no ENUM, encaminhará as chamadas ao Proxy Externo.
89
Para a troca de tráfego do Proxy Externo e os serviços externos, ele deverá definir a sinali- d
zação a ser utilizada para a troca de tráfego (SIP ou H.323) e encaminhar as informações de Para facilitar a
peering do serviço externo ao administrador do fone@RNP. Estas informações serão alimen- integração das
instituições externas a
tadas na FEGEN para que sejam compartilhadas por todo o serviço, inclusive o Proxy Externo. trocarem tráfego com o
serviço Fone@RNP, foi
A RNP definirá o SLA no momento de inclusão do VoIP Externo na FEGEN. O SLA permite a disponibilizado um
autorização da chamada no Proxy Externo. Como forma de controle do serviço, atualmente arquivo XML contendo
informações essenciais
o Proxy Externo não permite a passagem de tráfego entre instituições externas.
do serviço, disponível
em: http://gateway.
Outro ponto importante da centralização da comunicação no Proxy Externo é a coleta de dados
fone.rnp.br/request_
para contabilização das chamadas trocadas entre o serviço fone@RNP e os serviços externos. prefixs.cgi
O plano de numeração aceito pelo Proxy Externo é o endereçamento E.164 definido a seguir:
11 00<país><área><número>
11 <país><área><número>
Estrutura local
Conforme mencionado, o Proxy Externo possui características similares às de uma instituição
usuária, sendo configurado com um Proxy SIP OpenSER que, trabalhando em conjunto com o
proxy de mídia MediaProxy, trata todas as mensagens do ambiente SIP. Diferente dos outros
proxys SIPs, o Proxy Externo não possibilita a autenticação de um usuário ao serviço externo;
apenas serviços pré-configurados no ambiente internacional têm acesso ao serviço VoIP.
O proxy H.323 GnuGK e o gateway Asterisk SIP/H.323 permitem a integração das instituições
externas que ainda utilizam a sinalização H.323. Este ambiente apenas interage com as insti-
tuições externas e encaminha para o ambiente SIP para comunicação no serviço Fone@RNP.
Figura 5.5
Como não há a autenticação dos usuários no serviço, não há o serviço LDAP no Proxy Instituição usuária
Externo. Para complementar estes serviços existe o sistema de banco de dados PostgreSQL, em comunicação
de replicação SLONY e de contabilização das chamadas consolidadas. com o Proxy
Externo.
Tabela DNS
vizinhos privado
prefixos ENUM
Cliente A Ambiente nacional
Proxy SIP
“OpenSER” Proxy SIP
externo
Gateway
VoIP/PBX
DNS PABX
SRV Instituição usuária
Gateway
H.323/SIP
Serviço fone@RNP
Instituições externas
via SIP
Proxy externo
90
FEGEN
11 Princípios da ferramenta. q
11 Funcionalidades da FEGEN.
A FEGEN gerencia todas estas informações da base de dados principal da RNP, localizada
no DSER1, incluindo funcionalidades como ativar e desativar uma instituição e gerenciar as
instituições internacionais do serviço.
FeGeN
Administração do fone@RNP
(RNP)
Laptop
Nó master
Tabela 2
Tabela 1
Tabela N
Figura 5.6 BD
Gerenciamento do
serviço através da DSER
DNS
FEGEN.
A FEGEN lista todas as instituições do serviço e algumas informações básicas delas. É uma
ferramenta web acessada a partir de qualquer browser cadastrado no firewall para que
tenha seu acesso liberado.
Na página inicial, é possível acessar qualquer instituição cadastrada no serviço, criar uma
nova instituição, acessar o serviço de gerar os registros no DNS para o serviço ENUM ou
acessar o serviço de gerar as permissões das instituições ao banco de dados principal. Capítulo 5 - Serviço fone@RNP: ambiente nacional
91
Conforme descrito na figura anterior, na FEGEN existem as informações básicas de registro Figura 5.7
das instituições, os endereços IP dos equipamentos associados e os prefixos atendidos Informações
básicas de uma
pela instituição. instituição.
Serviço fone@RNP
92
Roteiro de Atividades 5
Seguindo o documento de homologação do serviço, deve-se agora realizar a seção 6 de
testes com outras instituições. Desconsidere as chamadas que utilizam o protocolo H.323.
O log do Proxy SIP está no arquivo “/var/log/openser.log”, podendo ser analisado em tempo
real através do comando:
tail – f /var/log/openser.log
11 Avalie o resultado do estabelecimento das chamadas no serviço VoIP, utilizando o log;
93
94
Serviço fone@RNP
6
Proxy SIP – OpenSER
objetivos
conceitos
OpenSER e Asterisk.
O que é OpenSER?
11 Open SIP Express Router. q
22 Open Source – GPL.
Open SIP Express Router (OpenSER) é um Proxy SIP de código aberto, altamente configurável
para atender às mais diferentes necessidades. O OpenSER foi desenvolvido e é mantido
pela companhia Voice System, sendo inicializado após a aquisição do software inicial SER, da
FhGFokus, pela Iptel.org. Ambos os softwares foram disponibilizados sob licença GPL e são
implementados em C para arquiteturas Unix, como Linux, Solaris e BSD.
Para ser compatível com todas as implementações de terceiros que usam o protocolo SIP,
o OpenSER é desenvolvido de acordo com o padrão do protocolo SIP definido pelo padrão
Request For Comments (RFC) 3261, da Internet Engineering Task Force (IETF). Outros
padrões da RFC que implementam funcionalidades adicionais ao padrão SIP também são
suportados pelo OpenSER. Alguns exemplos de padrões adicionais são as RFCs 3265, 3856,
3857 e 3858 para o módulo de presença.
Capítulo 6 - Proxy SIP – OpenSER
Atualmente, o OpenSER não é mais suportado pela Voice System. Em 2008, o OpenSER
foi dividido em duas novas variantes, os projetos Kamailio e OpenSIPS. Este curso não vai
entrar na discussão sobre qual variante é melhor. Mas é de conhecimento de todos que o
95
SER possui ciclos muito longos de disponibilização de novas versões; o OpenSER não é mais
suportado e desde 2008 novas versões não são disponibilizadas.
Características do OpenSER
Robusto: q
11 Servidor de registro, localização, proxy e redirecionamento.
Flexível:
Extensível:
O OpenSER pode ser utilizado para implementar diversas funções, como servidores de
registro, Proxy SIP (SIP Router), servidor de redirecionamento, servidor de presença, ser-
vidor de mensagens instantâneas, balanceamento de carga e front-end para diversas outras
funcionalidades aplicáveis ao protocolo SIP.
96
Comandos: q
11 /usr/sbin/openser
11 /etc/init.d/openser start
Arquivo de configuração
O arquivo de configuração do OpenSER está localizado por padrão em /etc/openser/openser.cfg
e é dividido em contextos.
Arquitetura modular
O OpenSER é construído pelo núcleo (core) responsável pelas funcionalidades básicas do
software e pelos módulos responsáveis pela maior parte das funcionalidades do software.
Toda a configuração é feita no arquivo openser.cfg. Assim é possível controlar o tratamento
das mensagens SIP e as chamadas das funcionalidades dos módulos carregados.
11 Stateless forwarding.
11 NAT traversal.
97
11 Contexto de roteamento principal. q
11 Contexto de roteamento secundário.
debug=3
log_stderror=no
fork=yes
children=4
disable_tcp=yes
listen=udp:127.0.0.1:5060
listen=tcp:127.0.0.1:5061
###################################
mpath=”/usr/local/lib/openser/modules/”
loadmodule “sl.so”
loadmodule “tm.so”
loadmodule “rr.so”
loadmodule “maxfwd.so”
loadmodule “usrloc.so”
loadmodule “registrar.so”
loadmodule “textops.so”
loadmodule “mi_fifo.so”
Serviço fone@RNP
loadmodule “uri_db.so”
###################################
98
Contém a lista dos módulos que serão carregados durante a execução do OpenSER. Todos
os módulos são invocados através do comando loadmodule.
# -- mi_fifoparams --
# -- usrlocparams --
modparam(“usrloc”, “db_mode”, 0)
Contém a configuração dos módulos para a sua execução correta. Todos os parâmetros são
definidos usando o seguinte comando:
route{
if (!mf_process_maxfwd_header(“10”)) {
exit;
if (has_totag()) {
if (loose_route()) {
route(1);
} else {
sl_send_reply(“404”,”Not here”);
Capítulo 6 - Proxy SIP – OpenSER
exit;
Contém o roteamento a ser invocado para cada requisição SIP processada, controlando a
execução de cada requisição.
99
Contexto de roteamento secundário
#initialrequests
# CANCEL processing
if (is_method(“CANCEL”) {
if (t_check_tran())
t_relay();
exit;
t_check_tran();
# record routing
if (!is_method(“REGISTER|MESSAGE”))
record_route();
if (!uri==myself) {
append_hf(“P-hint: outbound\r\n”);
route(1);
if (method==”REGISTER”) {
save(“location”);
exit;
if (!lookup(“location”)) {
switch ($retcode) {
case -1:
case -3:
t_newtran();
exit;
case -2:
Serviço fone@RNP
exit;
100
route(1);
route[1] {
t_on_reply(“2”);
t_on_failure(“1”);
if (!t_relay()) {
sl_reply_error();
};
exit;
onreply_route[2] {
xlog(“incoming reply\n”);
failure_route[1] {
if (t_was_cancelled()) {
exit;
if (t_check_status(“3[0-9][0-9]”)) {
t_reply(“404”,”Not found”);
exit;
}
Capítulo 6 - Proxy SIP – OpenSER
22 Tipo de requisição.
101
22 Informações do cabeçalho da mensagem (usuário de origem e domínio). q
22 Identificação do transporte (endereço IP de origem, porta de origem e outros).
Para cada requisição recebida pelo OpenSER, é realizado o tratamento inicial da mensagem para
obter todas as informações importantes dessa requisição e encaminhar a mensagem à rota
principal. Na rota principal serão seguidas sequencialmente as regras definidas nesse contexto.
11 Tipo de requisição: identificação do método que está sendo utilizado: INVITE, CANCEL,
REGISTER e outros.
Começo
Não Não
Usuário on-line? Solicitação INVITE? Linguagem de roteamento SER
/* user online ? */
Sim Sim if (lookup(“location”)) {
t_relay();
Reporta
break;
chamada perdida
};
If (method==”INVITE”) {
SIP: encaminha SIP: 404 /* report to syslog */
solicitação not found log(“ACC: missed call\n”);
};
Sl_send_reply(“404”, “Not Found”);
Feito
Figura 6.1
Funções básicas do OpenSER Lógica de
102
Identificação de domínio
A identificação de um domínio é feita de forma bem simples. Nos parâmetros globais do
arquivo de configuração existe o parâmetro chamado alias, que define o domínio desse
servidor SIP. E durante a lógica de roteamento, as mensagens SIP podem ser verificadas pela
seguinte programação:
alias=“demo.rnp.br”
route {
if (uri!=myself) {
#Não sou eu
};
route {
if (uri!=myself) {
t_on_reply(1);
if (!t_relay()) {
sl_reply_error();
};
return(0);
};
route {
Capítulo 6 - Proxy SIP – OpenSER
if (uri!=myself) {
forward(10.0.1.2, 5060);
return(0);
};
103
Tratamento das mensagens de resposta
O encaminhamento de mensagens statefull é realizado pelo comando t_relay. Esse comando
aguarda que mensagens de identificação de rotas de resposta e de falhas sejam definidas
para o correto funcionamento da função.
route {
if (uri!=myself) {
t_on_reply(1);
if (!t_relay()) {
sl_reply_error();
};
return(0); };
onreply_route[1] {
if (status==”200”) {
} else if (status==”180”) {
}else {
route {
if (method==”REGISTER”) {
} else if (method==”INVITE”) {
} else if (method==”CANCEL”) {
}else {
};
104
Análise da URI da mensagem
A avaliação da URI requisitada pelo UAS de origem da mensagem é feita de forma prática
através da variável pré-definida chamada de uri:
if (uri=~”^sip:1100.*”) {
return(0);
t_relay(“146.164.247.235”, “5060”);
if (uri=~”^sip:00552111000092@voip.rnp.br”) {
if (method==”INVITE”) {
rewriteuser(“teste2”);
rewritehost(“demo.rnp.br”);
forward(146.164.247.235, 5060);
return(0);
};
};
para funções específicas que podem ser utilizadas mais de uma vez em todo o código.
route {
if (method==”REGISTER”) {
route(2);
105
};
if (!www_authorize(“demo.rnp.br”)) {
www_challenge(“demo.rnp.br”, “0”);
return(0);
};
if (!check_to()) {
sl_send_reply(“401”, “Unauthorized”);
return(0);
};
consume_credentials();
if (!save(“location”)) {
sl_reply_error();
return(0);
};
OpenSER no fone@RNP
Serviço principal em execução na instituição, que realiza o tratamento de todas as q
mensagens SIP que forem encaminhadas pelo serviço.
106
11 Contabilização de cada mensagem relativa a uma chamada nos registros de CDR.
Asterisk
É um Private Automatic Branch eXchange (PABX) implementado em software que q
permite conectividade em tempo real entre redes PSTN e redes VoIP. Foi o primeiro PABX
de código aberto do mercado.
O Asterisk roda em distribuições Linux e outras plataformas Unix. Não é necessário adquirir
as placas da Digium ou de outro fabricante para que o Asterisk funcione. Mas se essas
placas forem utilizadas, é possível criar um gateway interligando a Rede Pública de Telefonia
Comutada – na sigla em inglês, Public Switched Telephony Network (PSTN) – a uma rede
de telefonia IP. Também será possível construir novas aplicações de voz para o sistema de
telefonia tradicional.
Asterisk e Linux
11 Por que utilizar o Linux? q
11 Ambos são soluções Open Source.
Licenciamento duplo:
11 GPL.
Capítulo 6 - Proxy SIP – OpenSER
11 LGPL.
Foi desenvolvido sobre o sistema operacional Linux e, por isso mesmo, esse é o sistema
operacional de suporte nativo do Asterisk. Também funciona em OpenBSD, FreeBSD e MAC
107
OS X. Portar o Asterisk para outros sistemas baseados no Unix deve ser uma tarefa relativa-
mente fácil para pessoas com tempo e habilidade com esses sistemas.
General Public License (GNU) – Licença Pública Geral, na sigla em inglês –, GNU GPL ou sim-
plesmente GPL é a designação da licença para software livre idealizada por Richard Stallman
no final da década de 90, no âmbito do projeto GNU da Free Software Foundation.
A GPL é a licença com maior utilização por parte de projetos de software livre, em grande parte
devido à sua adoção para o Linux. Em termos gerais, a GPL se baseia em quatro liberdades:
A licença GPL foi originalmente publicada em janeiro de 1989. No entanto, pouco tempo
depois, ficou claro que o texto da licença continha vários problemas. Assim, em junho de
1991 foi publicada a GPL versão 2, sendo ao mesmo tempo introduzida uma nova licença
LGPL. Em 2005, Stallman anunciou que estava preparando uma nova versão da licença em
conjunto com Eben Moglen. Essa nova versão foi chamada de GPLv3 e o primeiro esboço
dela foi publicado em 16 de janeiro de 2006.
A GNU Lesser General Public License (antes conhecida como GNU Library General Public
License) é uma licença de software livre aprovada pela FSF e escrita com o intuito de ser um
meio-termo entre a GPL e as licenças mais permissivas, como BSD e MIT. Foi escrita em 1991
(e atualizada em 1999) por Richard Stallman e Eben Moglen.
A principal diferença entre a GPL e a LGPL é que a última permite ser ligada a programas
que não sejam GPL ou LGPL (software livre ou proprietário). Outra diferença é que trabalhos
derivados (que não sejam GPL) devem ser bibliotecas de software. A LGPL coloca restrições
de copyleft no próprio programa, mas não aplica essas restrições a outro software que
apenas se liga ao programa. Há, contudo, outras restrições nesse software. Essencialmente,
deve ser possível ao software ser ligado a uma versão mais nova do programa sob LGPL. O
método mais usado para fazer isso é por meio de um mecanismo de biblioteca comparti-
lhada para ligação. Alternativamente, a ligação estática é permitida se o código-fonte ou os
arquivos do objeto a ser ligado forem disponibilizados.
108
Asterisk versus PABX
As soluções de telefonia encontradas no mercado normalmente têm custo elevado. Tradicio- q
nalmente há dificuldade para a adoção de novas funcionalidades, pelas seguintes razões:
11 Dificuldades de instalação.
11 Código aberto.
Funções básicas:
11 Salas de conferência.
11 Caller ID.
11 Siga-me.
11 Transferência de chamadas.
A definição do Asterisk na página oficial do programa diz que ele é um software livre e de
código aberto, que transforma um computador comum em um rico servidor de comunica-
ções de voz. O Asterisk é uma plataforma de desenvolvimento de aplicações de voz. Assim,
é possível criar quase qualquer tipo de serviço envolvendo aplicações de voz sem os altos
custos das licenças cobradas pelos fabricantes tradicionais de PABX e desenvolvedores de
soluções de telefonia.
O modelo de negócios adotado há muitos anos pela indústria da telefonia torna sua imple-
mentação proibitiva em muitos casos, principalmente para pequenas empresas. Para cada
novo serviço, era preciso realizar upgrade no sistema com a aquisição de novo hardware,
com a necessidade de comprar mais uma licença. Mesmo quando o PABX já estava prepa-
Capítulo 6 - Proxy SIP – OpenSER
rado para o crescimento, não sendo necessário adquirir novo hardware, para cada novo
canal de voz era preciso comprar uma nova licença. O Asterisk e a filosofia de código aberto
vêm democratizar a utilização de aplicações de voz, pois cada novo serviço no Asterisk é
implementado por software normalmente aberto e livre de licenças.
109
Para pensar
Ter controle do seu próprio sistema de telefonia é um dos benefícios que o Asterisk
oferece. Em vez de esperar e pagar para alguém configurar seu PABX proprietário (a
maioria não fornece nem a senha para o cliente final), o Asterisk dá toda a liberdade
de configurá-lo e programá-lo. Em relação à adição de novas funcionalidades, com o
Asterisk basta adicionar os programas adequados. Já com soluções convencionais é
muito provável que seja necessário adquirir novas licenças e novo hardware.
Funções do Asterisk
Algumas funções e serviços complementares suportados pelo Asterisk:
11 Identificador de chamada.
11 Siga-me.
11 Pêndulo.
11 Conferência.
11 Estacionamento de chamadas.
11 Funções avançadas:
22 Call pickup.
110
Interactive Voice Response (IVR)
Também conhecida como Unidade de Resposta Audível (URA), serve para criar menus de
navegação. Dessa forma é possível encaminhar o cliente até um atendente especializado ou
ainda, em alguns casos, automatizar o atendimento sem nenhuma participação humana.
Reconhecimento de voz
É possível instalar um módulo (software) para reconhecimento de voz. Assim, quando utili-
zado em conjunto com o IVR, possibilita a navegação simplesmente enunciando as opções
do menu, aumentando-as consideravelmente, pois o limite do teclado deixa de existir.
Text-to-Speech (TTS)
Movimento contrário ao reconhecimento de voz; um texto colhido de um banco de dados,
por exemplo, pode ser lido para o cliente. Implementada via software, essa função permite
elevado grau de automação, dispensando atendentes humanos em alguns casos.
Uma vez enfileiradas, as chamadas podem ser encaminhadas para atendentes especiali-
zados, dependendo do número chamador ou do encaminhamento através de um IVR. Ainda
é possível realizar o encaminhamento por prioridade, por data e hora, por disponibilidade
etc. É possível também obter informações estatísticas das chamadas nas filas, como o
tempo médio de espera de uma chamada em determinada fila e taxa de desistência.
Gateway Fax-E-mail
É possível utilizar o Asterisk para receber e enviar fax utilizando o sistema de e-mail. Um
usuário da rede envia um e-mail para um endereço específico; o sistema recebe o e-mail e
transforma o corpo da mensagem ou o anexo (PDF, PS, DOC e TXT) e o encaminha via fax
pela rede de telefonia. No sentido inverso, o sistema recebe um fax, transforma-o em PDF e
Capítulo 6 - Proxy SIP – OpenSER
o encaminha por e-mail para o usuário do sistema. Dessa forma, cada usuário que tiver um
ramal próprio pode ter também o seu fax pessoal.
22 OpenSER.
111
11 Gatekeeper H.323. q
22 GnuGK.
O Asterisk não é um sistema comum de telefonia, porque para utilizá-lo é necessário algum
conhecimento, mesmo que mínimo, em Linux, redes e telefonia. Não basta ligá-lo na tomada
e conectar os fios dos ramais e da linha telefônica. É preciso configurá-lo antes de utilizá-lo.
O Asterisk não é um SIP Proxy, mas um Back-to-Back User Agent (B2BUA). Isso significa
que se trata de um User Agent (dispositivo SIP), que em uma conversa entre dois telefones
SIP simula um SIP Proxy. Na verdade, é visto como um telefone SIP para cada “perna” da
chamada. Na prática, é visto como um SIP Proxy. Da mesma forma, utilizando o protocolo
H.323, o Asterisk não é um gatekeeper, mas simula ser um gatekeeper, uma espécie de
B2BUA. Essa característica faz com que o Asterisk não seja a melhor ferramenta para lidar
com grande quantidade de telefones IP. Dois exemplos de softwares de código aberto para
grandes instalações VoIP são o OpenSIPS, que funciona como SIP Proxy, e o GnuGK, que
funciona como gatekeeper. Em grandes redes, o Asterisk deve trabalhar em conjunto com
outras ferramentas mais apropriadas para essa finalidade, exercendo o papel de gateway
(traduzindo protocolos ou fazendo a interface com o sistema de telefonia convencional) ou
de servidor de aplicações de voz.
Existe um arquivo de configuração para cada parte do sistema: SIP, H.323, filas, música em
espera, interface com banco de dados, Call Detail Record (CDR) etc. Cada módulo possui um
arquivo separado e de fácil entendimento. Além disso, utilizando Asterisk Gateway Interface
(AGI) ainda é possível criar novos programas em qualquer linguagem de programação para
interação com a rede de dados. Por exemplo, é possível construir uma aplicação que, ao
receber uma chamada, o sistema peça para digitar um número de matrícula. Após o recebi-
mento do número, o sistema procura o status do cliente em um banco de dados e, depen-
dendo da informação retornada, decide a ação a ser executada.
33 Indentificador de chamada.
33 Desconexão.
112
11 IAX e o Asterisk. q
22 Protocolo aberto.
22 Histórico.
33 Protocolo de transporte.
11 Canais de sinalização.
11 Transporte de mídia.
22 Plaintext.
22 MD5 hashing.
22 RSA.
Facilidades do IAX:
Características do IAX:
11 Utiliza o mesmo protocolo para sinalização e mídia em uma mesma porta UDP.
O protocolo é um conjunto de regras. Fazendo uma analogia, imagine que você encontra
uma pessoa na rua e a cumprimenta com um “bom dia”. No mínimo você espera um “bom
dia” como resposta. Mas imagine que você não recebeu de volta a sua resposta. Então, você
repete o “bom dia”. Desta vez você recebe a sua resposta e inicia uma conversa. Durante a
conversa, enquanto a outra pessoa fala, de vez em quando você balança a cabeça afirma-
tivamente para demonstrar que está acompanhando seu interlocutor. No final, vocês se
despedem dizendo “tchau”.
Essas ações fazem parte de um protocolo de comunicação pessoal. Nada foi declarado,
escrito ou documentado para fazer desses gestos e frases um protocolo formal, mas a
Capítulo 6 - Proxy SIP – OpenSER
prática aprendida no cotidiano faz esse conjunto de ações definirem o início da conversação
(“bom dia”), o acompanhamento (“uhum”) e o término (“tchau”) da conversa.
Note que, mesmo quando a informação é perdida, quando no início da conversa você não
recebe a resposta do seu interlocutor, existe uma “regra” que o faz tentar novamente o esta-
belecimento da conversa. Essa regra diz: caso não haja resposta em um tempo adequado,
repita o “bom dia”. A mesma coisa pode-se dizer das comunicações de dados. A forma como
uma página da internet é solicitada e transferida faz parte de protocolos como HTTP, TCP,
UDP, RTP, IP e FTP, exemplos de protocolos para a transferência de informação.
113
Em VoIP não é diferente: H.323, SIP, MCGP e IAX são protocolos de Voz sobre IP suportados
pelo Asterisk. Todos eles possuem uma forma de estabelecer, controlar e finalizar chamadas,
além de uma forma de lidar com a perda de mensagens importantes. Mesmo na telefonia
tradicional, digital ou analógica, existem meios de estabelecer, controlar e finalizar chamadas.
Protocolo IAX
O Inter Asterisk eXchange (IAX) foi desenvolvido pela Digium com o propósito de comuni-
cação eficiente com outros servidores Asterisk. A versão 2 do protocolo (IAX2) está definida
na RFC 5456. É um protocolo aberto, isto é, qualquer pessoa pode baixá-lo da internet e
aprimorá-lo. De acordo com o texto da RFC, ele não é um padrão do IETF e deve ser utilizado
com cautela.
O Asterisk utiliza apenas uma porta UDP conhecida e fixa (4569), para tráfego de sinalização
e mídia. Essa estratégia cria uma boa vantagem sobre os outros protocolos de VoIP, pois não
sofre com implementações de NAT. Além disso, também facilita o tratamento dos pacotes
em firewalls, sem a necessidade da instalação de módulos específicos para VoIP.
11 MD5 Message-Digest (conforme a RFC 1321): nesse caso, a senha não trafega pela rede,
mas sim a resposta a um desafio calculado, utilizando uma combinação com o domínio e
um número aleatório. Forma utilizada pelo SIP, com base na autenticação www.
11 RSA (de acordo com a RFC 3447): utiliza par de chaves pública e privada. A chave pública
deve ser criptografada como algoritmo 3DES, descrito na RFC 1851.
Como já sabemos, o IAX utiliza apenas a porta UDP 4569, tanto para a sinalização das cha-
madas quanto para o transporte da voz. Além disso, diferentemente do SIP e do H.323, o IAX
não utiliza o RTP para transporte de mídia, mas implementa seu próprio mecanismo para
transporte e controle do canal de mídia, seja de voz ou vídeo.
O IAX foi desenvolvido para prover controle e transmissão de voz e vídeo por meio de
servidores Asterisk. Também é utilizado para conexões entre clientes e servidores que o
suportam. Ele aproveita ideias do SIP, do H.323 e de outros protocolos. Por exemplo, evita
fortemente o envio de informação redundante e já conhecida, que não seria aproveitada.
Também utiliza códigos em vez de descrever textualmente a informação. Essas caracterís-
ticas tornam o IAX um protocolo mais rápido e eficiente para tratamento de chamadas.
Network Address Translation (NAT) é um recurso de tradução de endereço de rede muito comum,
Serviço fone@RNP
usado quando é necessário ligar mais de um dispositivo de rede à internet, mas só há um ende-
reço roteável pela grande rede. O NAT causa problemas com protocolos como H.323 e SIP, porque
eles utilizam um canal (par de portas origem e destino) para o controle das chamadas e, durante
o estabelecimento da chamada, negociam dinamicamente outros dois canais para mídia, um em
cada sentido. O que acontece é que o roteador que implementa o NAT fica “perdido” e não con-
segue saber o par de portas através do qual o canal de mídia será transmitido.
114
Essa alocação dinâmica dos canais de mídia representa um problema adicional para os
firewalls que, da mesma forma que no NAT, não conseguem saber que portas devem ser
abertas para as ligações estabelecidas.
O protocolo IAX resolve facilmente esses problemas, porque utiliza apenas a porta UDP
4569 para controle e transmissão de todas as chamadas entre os dois servidores. Outra
vantagem do protocolo IAX é o modo trunk (tronco) para transmissão das chamadas entre
servidores. Quando configurados para operar nesse modo, dois servidores Asterisk são
capazes de otimizar o consumo de banda quando houver mais de uma chamada em curso
entre eles. O IAX consegue utilizar o mesmo cabeçalho IP e UDP para transmitir várias
ligações simultaneamente em um só pacote, aumentando apenas 4 bytes de cabeçalho para
cada chamada no “tronco”.
Por exemplo, para 30 chamadas utilizando SIP ou H.323 com codec G.729, para cada pacote
de voz seria necessário um cabeçalho IP+UDP+RTP. Como cada cabeçalho possui 40 bytes
e cada payload (carga útil do pacote de voz) também possui 40 bytes, teremos 30 x (40+40)
bytes trafegando na rede 50 vezes por segundo. O resultado da conta revela consumo de
banda de aproximadamente 960 kbps.
Por outro lado, se for utilizado o IAX2 em modo tronco com as mesmas 30 ligações e codec
G.729, teremos um cabeçalho IP+UDP de 28 bytes mais 30 vezes 4 bytes, mais 30 vezes o
payload de 40 bytes: 28 + 30 x (4+40). O resultado dessa conta indica consumo de banda de
539,2 kbps, pouco mais que a metade dos protocolos consagrados.
As mensagens IAX são chamadas de frames. Existem vários tipos de frames, como o
Frame completo e o Miniframe.
As mensagens IAX são chamadas de frames. Existem vários tipos de frames. Um bit F é
usado para indicar se o frame é completo (full) ou não. O valor 0 indica que é completo. Um
número de chamada de 15 bits é usado para identificar o ponto final do fluxo de mídia. Valor
0 indica que o ponto final não é conhecido. Uma chamada tem dois números de chamada
Figura 6.2
Frame completo associados a ele em qualquer uma das direções. O horário (timestamp) pode ser um campo
do IAX. de 32 ou 16 bits. De qualquer forma, o campo ocupa 32 bits.
Capítulo 6 - Proxy SIP – OpenSER
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
Timestamp
115
Um frame completo pode ser usado para enviar sinalização, áudio e vídeo de forma confi-
ável. O frame completo é o único tipo de frame transmitido de maneira confiável. Isso signi-
fica que após o recebimento o receptor deve retornar algum tipo de mensagem ao emissor.
O bit R é marcado para 1 se o frame está sendo retransmitido. A retransmissão ocorre após
um período de timeout. As retransmissões são tentadas várias vezes, dependendo do con-
texto. O número de sequência do fluxo de saída (outbound) OSeqno inicia com 0 e é incre-
mentado de um em um. O campo OSeqno é usado para identificar a ordenação dos frames
de mídia. O campo ISeqno é o mesmo, só que no sentido de entrada (inbound). O tipo de
frame indica a classe da mensagem. O bit C determina como a subclasse é interpretada.
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
Dados
Figura 6.3
O miniframe é usado para enviar áudio ou vídeo (mídia) com um mínimo de sobrecarga de Miniframe do IAX.
protocolo. O formato do miniframe é apresentado na Figura 6.3.
Campo Descrição
R Marcado para 1, indica que o frame está sendo retransmitido e o valor do 0 para a
transmissão inicial.
Subclasse Subclasse.
Serviço fone@RNP
Tabela 6.1
Campos do frame
completo do IAX.
116
Campos do miniframe do IAX
Campo Descrição
Dados Dados.
Desvantagens 11Problemas com NAT e FW. 11Protocolo ainda pouco 11Arquitetura complexa.
difundido, implementado 11Problemas com NAT e FW.
em poucos dispositivos.
Tabela 6.3 A Tabela 6.3 resume as qualidades e defeitos dos dois principais protocolos, confrontando-os
Comparativo entre com o IAX, o protocolo feito para o Asterisk.
IAX, SIP e H.323.
Resumo
11 SIP: protocolo da vez na internet, é o mais utilizado para chamadas VoIP, talvez sendo
o mais adequado para uma implementação em larga escala. Mais flexível que o H.323,
porém menos eficiente que o IAX.
Arquitetura do Asterisk
q
Capítulo 6 - Proxy SIP – OpenSER
O Asterisk possui uma arquitetura simples, diferente da maioria dos produtos de tele-
fonia. Atua como um intermediador entre:
11 Tecnologias de telefonia.
22 IAX.
22 SIP.
22 H.323.
117
11 Aplicações da telefonia. q
22 Conferência de voz.
22 Secretária eletrônica.
22 Estacionamento de chamadas.
Canais do Asterisk:
22 Físicas.
22 Baseadas em software.
Baseados em software:
11 Agent.
11 Local.
118
API de aplicação
Tradutor
Núcleo de
comutação
Carregador de
módulos dinâmicos
Figura 6.4
Dynamic Module
API de canais
Loader.
Módulo responsável por carregar e inicializar todos os drivers necessários, providos por:
11 Codecs.
11 Aplicações.
evitar realizar muitas traduções entre codecs diferentes. A utilização do cancelador de eco via
software em ambientes muito carregados ou com baixa capacidade de processamento também
pode prejudicar a qualidade das chamadas. Entretanto, existem placas para uso com o Asterisk
que contam com DSP próprio, inclusive possuem os codecs G.729 e GSM. Também existem
módulos e placas exclusivamente voltadas para o cancelamento de eco. A utilização de placas com
DSP embutido reduz consideravelmente a utilização de CPU no servidor que hospeda o Asterisk.
Para o Asterisk, canais são conexões lógicas para a trajetória das várias sinalizações e
transmissões que podem ser utilizadas para criar e conectar chamadas. Podem ser físicas
(porta analógica FXO ou FXS) ou baseadas em software (canal IAX). No plano de discagem
119
são definidas as regras que o Asterisk deve seguir para conectar canais. Por exemplo, se
uma chamada é recebida pela rede de telefonia tradicional por um tronco E1 e deve chamar
um ramal SIP, o plano de discagem deve possuir regras para ligação dos canais digitais TDM
ao canal digital (por software) SIP correspondente ao telefone de destino. A forma como o
Asterisk trata os canais de comunicação simplifica bastante sua configuração, pois no plano de
discagem todos são tratados da mesma forma, praticamente com a mesma sintaxe.
11 Primary Rate Interface (PRI): serviço Redes Digitais de Serviços Integrados (RDSI) que provê
30 canais do tipo B (Bearer) de 64 Kbps para voz e um canal do tipo D (Data) para controle e
sinalização, também conhecido como 30B+D. Utilizam interfaces digitais E1. Nos EUA, é utili-
zada a interface T1 e, nesse caso, a quantidade de canais para voz diminui para 24.
11 Basic Rate Interface (BRI): interface RDSI desenvolvida para pequenos negócios. Contém
apenas dois canais do tipo B e um canal do tipo D, também conhecido como 2B+D.
11 Agent: canal proxy de distribuição de chamadas em fila para atendentes, muito utilizado
em implementações para centrais de atendimento.
11 Local: utilizado na lógica de programação do Asterisk, faz loops com as chamadas dentro
do plano de discagem, em contextos diferentes.
11 TDMoE: canal especial do Asterisk que simula conexões Time Division Multiplexing (TDM)
Tabela 6.4
na camada de enlace da rede local, útil para interligar dois ou mais servidores Asterisk na Canais que o
mesma Local Area Network (LAN). Asterisk suporta.
Canais Detalhe
Console Cliente de console do Linux. Driver para placas de som (OSS ou ALSA).
ZAP Para conectar telefones e linhas com placas da Digium. Também usado para TDMoE e para
Asterisk ZPHFC (ISDN em modo NT).
120
Outros canais do Asterisk:
11 ZAP: canais de voz das placas baseadas no projeto Zapata (placas digitais da Digium).
Conforme mais empresas desenvolvem soluções para Asterisk, mais essa lista cresce. Os
parâmetros de configuração dos canais dependem de cada fabricante. Portanto, não há uma
regra única para configurar os diversos canais do Asterisk.
Sintaxe
Os arquivos de configuração são divididos em seções designadas pelo nome entre colchetes
“[ ]”. O ponto e vírgula “;” é o caractere de comentário.
Dentro de cada seção, seguem os atributos e seus valores, separados por um sinal de igual
“=” ou por um sinal de igual seguido de maior “=>”. Uma forma de distinguir a utilização
dos sinais de atribuição pode ser adotada como no exemplo, onde é usado o sinal “=” para
Capítulo 6 - Proxy SIP – OpenSER
atribuição de valores a variáreis e o sinal “=>” para a instanciação de objetos, muito embora
possam ser utilizados indistintamente. Veja o exemplo:
[sessao1]
[sessao2]
121
objeto => valor ; Declaração de objeto
Grupo simples
Formato mais básico, usado por arquivos de configuração em que os objetos são declarados
com todas as opções na mesma linha. Os arquivos extensions.conf, meetme.conf e voice.conf
seguem esse formato. No exemplo a seguir, o objeto1 é criado com as opções op1, op2 e
op3, enquanto o objeto2 é criado com as opções op1b, op2b e op3b.
[sessao]
Entidades individuais
Sintaxe usada por arquivos de configuração em que objetos são declarados com muitas
opções, raramente compartilhadas com outros objetos, de modo que uma seção é asso-
ciada a cada objeto. Existe normalmente uma seção [general] para as configurações globais.
No exemplo seguinte, a seção geral define duas variáveis globais. Em seguida, dois objetos
são criados: [objeto1] e [objeto2].
[general]
globalop1=valorglobal1
globalop2=valorglobal2
[objeto1]
op1=valor1
op2=valor2
[objeto2]
op1=valor3
op2=valor4
[sessao]
op1 = bas
Serviço fone@RNP
op2 = adv
objeto => 1
op1 = int
objeto => 2
122
As duas primeiras linhas configuram o valor das opções op1 e op2 para “bas” e “adv”, respec-
tivamente. Quando o objeto1 é instalado, é criado com sua opção1 como “bas” e sua opção2
sendo “adv”. Após declarar o objeto1, mudamos o valor da opção1 para “int”. O objeto2 é
criado com sua opção1 como “int” e sua opção2 permanecendo “adv”.
[entidade1]
op1=valor1
op2=valor2
[entidade2]
op1=valor3
op2=valor4
A entidade [entidade1] tem valores valor1 e valor2 para as opções op1 e op2, respectiva-
mente. A entidade [entidade2] tem valores valor3 e valor4 para as opções op1 e op2.
11 Arquivos de configuração.
22 /etc/asterisk
11 Executáveis e scripts.
22 /usr/sbin/asterisk astmanastgenkeysafe_asterisk
11 Bibliotecas e módulos.
11 /usr/lib/asterisk/modules
11 Arquivos de configuração.
22 /etc/asterisk
11 Executáveis e scripts.
22 /usr/sbin/asterisk
22 /usr/sbin/astman
123
22 /usr/sbin/astgenkey
22 /usr/sbin/safe_asterisk
11 Bibliotecas e módulos.
22 /usr/lib/asterisk
22 /usr/lib/asterisk/modules
22 /usr/include/asterisk
11 PID do processo.
22 /var/run/asterisk
22 /var/spool/asterisk
11 Área de dados.
22 /var/lib/asterisk
22 /var/lib/asterisk/agi-bin
11 Banco de dados.
22 /var/lib/asterisk/astdb
Aplicações
11 Partes fundamentais do Asterisk. q
11 Cada aplicação executa uma ação específica no canal em questão.
22 Emitem sons.
22 Aceitam dígitos.
No console do Asterisk você pode digitar o comando show applications para visualizar a lista de
aplicações suportadas pela sua instalação do Asterisk. Veja alguns exemplos de aplicações.
Aplicações Descrições
124
Aplicações Descrições
Exemplo: [incoming]
Exten=>s,1,Answer
Exten=>s,2,Background(enter-ext-of-person)
Exten=>1,1,Playback(digits/1)
Exten=>1,2,Goto(incoming,s,1)
Exten=>2,1,Playback(digits/2)
Exten=>2,2,Goto(incoming,s,1)
Nesse exemplo, as ligações que chegam ao contexto incoming são recebidas pela primeira
linha, a extensão especial “s”. A primeira aplicação associada, ou seja, o primeiro comando
executado é o Answer, que responde à chamada e prepara o ambiente para tratá-la. Em
seguida, a chamada é colocada em segundo plano pela aplicação background. Esse comando
toca o arquivo inter-ext-of-person e aguarda que o chamador digite uma opção. Caso ele
digite 1, a extensão 1, prioridade 1 (exten => 1,1) é executada tocando o arquivo digits/1.
Quando o arquivo termina, a ligação passa para a prioridade 2 (exten => 1,2), que envia o
fluxo para o contexto incoming (o mesmo em que a ligação se encontra), extensão s, priori-
dade 1, ou seja, para o início. A outra opção válida nesse exemplo é o dígito 2, que executará
as prioridades 1 e 2. Qualquer outra opção será inválida.
125
Asterisk no fone@RNP
11 Serviço de gateway da instituição. q
11 Integração do serviço VoIP ao serviço de telefonia convencional.
Pode se integrar a:
11 PABX Convencional.
11 Empresa de telecomunicação.
11 PABX IP.
O Asterisk no serviço VoIP das instituições usuárias do fone@RNP está disponível nas
máquinas 1 e 2 do serviço. Na máquina 1, o Asterisk encontra-se na versão 1.2 e seu uso é
obsoleto devido ao fato da sua função ser integrar o serviço SIP local ao serviço H.323 local.
Assim, com o desuso do serviço, H.323 também levou ao desuso do Asterisk da máquina 1.
Através desse ponto de comunicação é possível integrar o serviço VoIP a outros serviços de
telefonia, como:
126
Roteiro de Atividades 6
Atividade 6.1 – Análise do arquivo de configuração do OpenSER
Analisando os arquivos de configuração criados pelo serviço fone@RNP nas máquinas 1 e 2,
responda as questões a seguir:
d. Quais são os scripts externos utilizados pelo Proxy SIP? Identifique o objetivo de cada script.
f. Acrescente a informação do endereço IP de origem nos logs das tentativas sem sucesso
de registro de novas chamadas.
Capítulo 6 - Roteiro de Atividades
127
Atividade 6.2 – Análise do arquivo de configuração do Asterisk
Analise o arquivo de configuração do servidor Asterisk e responda as questões seguintes:
128
7
Softwares de apoio ao
ambiente local
Apresentar os principais conceitos de telefonia convencional, digital e analógica;
objetivos
conceitos
Telefonia analógica, telefonia digital, Asterisk como gateway.
LDAP
11 Lightweight Directory Access Protocol. q
11 Definido pela RFC 4510.
Os diretórios LDAP são organizados na forma de uma árvore hierárquica chamada Directory Capítulo 7 - Softwares de apoio ao ambiente local
Information Tree (DIT), onde cada um dos seus vértices representa uma entrada na base
de dados. Uma entrada no diretório representa um objeto e consiste de um conjunto de
atributos que forma uma coleção de informações sobre o elemento. Cada vértice da DIT é
identificado por um Distinguished Name (DN), que representa unicamente qualquer entrada
na árvore. Um DN é definido através de Relative Distinguished Names (RDNs), que repre-
sentam os ramos na árvore de diretório da raiz até a entrada.
11 Unbind: termina uma sessão LDAP. Não representa o contrário da operação bind.
129
11 Search: retorna um conjunto de entradas que satisfaçam a um critério de seleção. Pode
ser utilizado para ler atributos de uma entrada (BASE), de entradas subordinadas (ONE)
ou da sub-árvore de entradas com raiz em um determinado vértice (SUBTREE).
11 Modify DN: permite que um cliente modifique o RDN de uma entrada no diretório ou que
mude uma sub-árvore de entradas para uma nova localização no diretório.
O LDAP utiliza o conceito de Object Class (classe de objetos), através do qual se define
uma família de objetos que compartilham certas características. Um Object Class define o
conjunto de atributos obrigatórios e o conjunto de atributos opcionais para uma entrada
daquela classe, de forma que os elementos presentes em um objeto são definidos através
de suas classes de objetos. Entre as classes de objetos existe o conceito de herança, onde é
possível obter características a partir de uma classe pai.
11 Abstract Object Classes: classe que provê um conjunto de características que têm como
objetivo serem herdadas por outra Object Class. Não pode representar um objeto direta-
mente, sendo necessário que um Structural ou Auxiliary Object Class herdem deste tipo
de classe para que uma entrada possua suas características.
11 Structural Object Classes: Object Class que define o núcleo de um objeto, com uso na
especificação da estrutura da DIT; através deste tipo de classe é definida a posição da
entrada na árvore de diretórios.
Para definir a sintaxe utilizada na base de dados LDAP é utilizado um Directory schema. Um
schema é um conjunto de definições e limitações sobre a estrutura de uma DIT. É através
dele que se definem os Object Classes e seus atributos. O arquivo abaixo é um exemplo de
schema utilizado no ambiente fone@RNP.
attributetype ( 1.3.6.1.4.1.4203.666.3.110
NAME ‘alias’
EQUALITY caseIgnoreMatch
Serviço fone@RNP
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
130
attributetype ( 1.3.6.1.4.1.4203.666.3.111
NAME ‘categoria’
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
attributetype ( 1.3.6.1.4.1.4203.666.3.112
NAME ‘callforward’
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
attributetype ( 1.3.6.1.4.1.4203.666.3.113
NAME ‘ipaddress’
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
attributetype ( 1.3.6.1.4.1.4203.666.3.114
NAME ‘validade’
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
attributetype ( 1.3.6.1.4.1.4203.666.3.115
NAME ‘creditos’
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
131
attributetype ( 1.3.6.1.4.1.4203.666.3.116
NAME ‘creditos-periodo’
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
attributetype ( 1.3.6.1.4.1.4203.666.3.117
NAME ‘responsavel’
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
attributetype ( 1.3.6.1.4.1.4203.666.3.210
NAME ‘Cisco-AVPair’
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
attributetype ( 1.3.6.1.4.1.4203.666.3.211
NAME ‘H323passwd’
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
objectclass ( 1.3.6.1.4.1.4203.666.3.1
Serviço fone@RNP
NAME ‘foneatrnp’
DESC ‘Fone@RNP’
SUP top
AUXILIARY
132
MUST ( uid $ cn $ userPassword $ mail $ alias $ carLicense )
objectclass ( 1.3.6.1.4.1.4203.666.3.2
NAME ‘foneatrnp-h323’
DESC ‘Fone@RNP’
SUP top
AUXILIARY
OpenLDAP
11 Suporta IPv4 e IPv6. q
11 Transporte seguro utilizando TLS e SSL.
O OpenLDAP é um software open source utilizado por muitas distribuições Linux como sof-
tware padrão para acesso ao LDAP. O software foi desenvolvido inicialmente pela Universi-
dade de Michigan e conta com uma ativa comunidade de desenvolvedores.
O software possui como componentes principais um daemon (slapd), bibliotecas que imple-
mentam o protocolo LDAP e a codificação ASN.1 e outros softwares utilizados pelo cliente,
como ldapsearch, ldapadd e ldapdelete.
include /usr/etc/openldap/schema/core.schema
include /usr/etc/openldap/schema/cosine.schema
include /usr/etc/openldap/schema/nis.schema
include /usr/etc/openldap/schema/inetorgperson.schema
include /usr/etc/openldap/schema/voip.schema
pidfile /usr/var/run/openldap/slapd.pid
133
argsfile /usr/var/run/openldap/slapd.args
loglevel 255
moduleload unique
access to *
by dn=”cn=admin,dc=voip,dc=nce,dc=ufrj,dc=br” write
by anonymous auth
by * none
#############################################################
##########
#############################################################
##########
database ldbm
suffix “dc=voip,dc=nce,dc=ufrj,dc=br”
rootdn “cn=admin,dc=voip,dc=nce,dc=ufrj,dc=br”
rootpw {SSHA}73GZpfjZTAZ+cD4aCtpgwrtnNzz35yXx
directory /usr/var/openldap-data
mode 0700
134
# Indices to maintain
index objectClass eq
index uid eq
index cn eq
index alias eq
overlay unique
unique_base “ou=users,dc=voip,dc=nce,dc=ufrj,dc=br”
unique_attributes alias
unique_attributes Cisco-AVPair
Instalação do OpenLDAP
Muitas versões do Linux possuem em seus repositórios uma versão do OpenLDAP.
É possível obtê-la através do comando:
Caso não seja possível a instalação utilizando o comando acima, será necessário compilar o
código-fonte do OpenLDAP. O primeiro passo é a obtenção do código através do link:
http://www.openldap.org/software/download/
Após obter o pacote é necessário realizar a extração do código. Para isso, utilize o comando:
./configure
make
make install
RADIUS
11 Remote Authentication Dial In User Service. q
11 Definido pelas RFCs 2865 e 2866.
135
Remote Authentication Dial In User Service (RADIUS) é um protocolo Authentication, Autho-
rization, Accounting (AAA) desenvolvido em 1991 pela Livingston Enterprises e padronizado
pelas RFC 2865 e 2866. O protocolo se baseia no modelo cliente/servidor e é utilizado para
autenticação entre um Network Access Server (NAS), que atua como cliente, e um servidor
de autenticação.
As transações RADIUS são autenticadas através do uso de uma chave compartilhada que
nunca é enviada na internet, e as senhas utilizadas são enviadas de maneira criptografada.
O protocolo utiliza a porta UDP 1812 para autenticação e a porta UDP 1813 para contabilidade.
Caso os dados disponibilizados pelo cliente não correspondam aos encontrados na base
de dados, o servidor RADIUS enviará uma mensagem Access-Reject, negando o acesso do
usuário ao serviço. Caso os dados sejam válidos o servidor pode realizar um desafio através
da mensagem Access-Chalenge, enviando um número aleatório ao cliente e pedindo para que
este o criptografe com o objetivo de verificar a sua identidade.
Caso todas as condições especificadas para o acesso sejam satisfeitas, o servidor enviará
uma mensagem Access-Accept.
Cliente Servidor
RADIUS RADIUS
RADIUS: Access-Request
RADIUS: Access-Accept
or
RADIUS: Access-Reject
Figura 7.1
or Fluxo de
RADIUS: Access-Challenge
mensagens
RADIUS.
FreeRADIUS
11 Servidor modular. q
11 Rápido e escalável.
radiusd –X
136
As principais configurações do RADIUS são encontradas nos seguintes arquivos:
modules {
ldap {
server=”10.10.10.10”
identity=”cn=admin,dc=insta,dc=nce,dc=ufrj,dc=br”
password=minhasenha
basedn=”ou=users,dc=insta,dc=nce,dc=ufrj,dc=br”
filter = (uid=%{Stripped-User-Name:-%{User-Name}})
password_attribute = H323passwd
dictionary_mapping = /usr/etc/raddb/ldap.attrmap
ldap_cache_timeout = 150
Capítulo 7 - Softwares de apoio ao ambiente local
ldap_cache_size = 0
ldap_connections_number = 10
timeout = 3
timelimit = 5
net_timeout = 1
compare_check_items = no
137
11 dictionary: define todos os atributos RADIUS usados em outros arquivos de configuração.
11 clients.conf: contém o IP e uma chave secreta para todos os clientes que desejam se
conectar com o servidor. A seguir um exemplo de configuração deste arquivo:
client 127.0.0.1 {
secret = minhasenha
shortname = localhost
client 10.10.10.10 {
secret = minhasenha
shortname = maq1
Instalação do FreeRADIUS
A forma mais simples de instalar o software em algumas distribuições Linux é através do
repositório. Para estes casos, basta utilizar o comando:
Serviço fone@RNP
Caso não seja possível, será necessário compilar o código-fonte. É necessário realizar o seu
download na página:
# http://freeradius.org/download.html
138
O primeiro passo para instalar o software é a extração de seu código-fonte através do comando:
# cd freeradius-VERSAO
# ./configure
# make
# make install
Slony-I
11 Replicação assíncrona. q
11 Um mestre e múltiplos escravos.
O Slony-I define uma série de elementos que fazem parte do ambiente de replicação. São eles:
11 Cluster: conjunto de bases de dados PostgreSQL através das quais se dá a replicação. Capítulo 7 - Softwares de apoio ao ambiente local
Possui um nome definido.
11 Replication Set: conjunto de tabelas e sequências que serão replicadas entre nós em um
cluster Slony-I.
11 Origem: nó a partir do qual os dados para replicação serão disponibilizados. Também conhe-
cido como Master Provider, é onde todas as modificações na base devem ser executadas.
11 Subscriber: nós do cluster que se cadastram em um Replication Set para receber os dados
replicados. Podem ser providers caso possuam outros subscribers associados a ele.
139
A configuração do software é dada através dos parâmetros passados na execução do
daemon. Um exemplo de configuração é dado pelo script abaixo:
#!/bin/sh
CLUSTERNAME=slave
MASTERDBNAME=chamadas
SLAVEDBNAME=chamadas
MASTERHOST=dser1.rnp.br
SLAVEHOST=10.10.10.10
REPLICATIONUSER=postgres
Instalação do Slony-I
O Slony-I faz parte do repositório de algumas distribuições Linux, podendo ser obtido
usando o comando:
Outra forma de instalação é a compilação do seu código. O primeiro passo para instalação
do software é a obtenção de seu código-fonte em: http://slony.info/downloads/
# cd slony1-VERSAO
# ./configure
# make all
# make install
140
PostgreSQL
11 Livre. q
11 Código aberto.
11 Consultas complexas.
11 Chaves estrangeiras.
11 Triggers.
11 Views.
11 Integridade transacional.
Além disso, ainda é possível que os próprios usuários estendam sua funcionalidade com a
adição de novos:
11 Tipos de dados.
11 Funções.
11 Operadores.
11 Funções agregadas.
11 Métodos de indexação.
11 Linguagens procedurais.
# su postgres
O usuário postgres tem a capacidade inicial de acessar qualquer base de dados através
do comando:
hba_file = ‘/etc/postgresql/8.1/main/pg_hba.conf’
ident_file = ‘/etc/postgresql/8.1/main/pg_ident.conf’
external_pid_file = ‘/var/run/postgresql/8.1-main.pid’
listen_addresses = ‘*’
port = 5432
max_connections = 500
141
unix_socket_directory = ‘/var/run/postgresql’
ssl = true
shared_buffers = 1000
log_line_prefix = ‘%t ‘
stats_row_level = on
autovacuum = on
lc_messages = ‘en_US.UTF-8’
lc_monetary = ‘en_US.UTF-8’
lc_numeric = ‘en_US.UTF-8’
lc_time = ‘en_US.UTF-8’
Instalação do PostgreSQL
O PostgreSQL é disponibilizado no repositório de algumas distribuições Linux. Nestes casos,
basta obtê-lo a partir do comando:
Serviço fone@RNP
142
# tar -xzvf postgresql-VERSAO.tar.gz
# cd postgresql-VERSAO
# ./configure
# make
# Make install
Esta ferramenta dispõe de uma navegação simples e prática nas bases de dados existentes
e executar comandos SQL sobre elas. Como mencionado, no banco de dados do fone@RNP
existem quatro base de dados: RADIUS, OpenSER, Asterisk e chamadas.
Para acesso ao serviço também foram criados três usuários: radius, openser e asterisk.
O usuário Asterisk apenas faz acesso à base de dados Asterisk. O usuário OpenSER acessa
apenas a base de dados OpenSER. Por fim, o usuário RADIUS acessa as bases de dados RADIUS.
143
MediaProxy
11 Media Relay. q
11 Facilita a travessia de NAT.
Mediaproxy é um media relay para fluxos RTP/RTCP e UDP, sendo utilizado em conjunto com
o OpenSER/OpenSIPS. Sua principal funcionalidade é facilitar a travessia de NAT para fluxos
de mídia provenientes de agentes SIP.
[Dispatcher]
start = yes
socket = /var/run/mediaproxy/proxydispatcher.sock
group = openser
defaultProxy = /var/run/mediaproxy/mediaproxy.sock
[MediaProxy]
socket = /var/run/mediaproxy/mediaproxy.sock
group = openser
proxyIP = 146.164.247.240
portRange = 50000:50998
accounting = off
[Accounting]
Serviço fone@RNP
user = user
password = nopass
host = 10.10.10.10
144
database = openser
table = acc
Instalação do MediaProxy
O primeiro passo para instalação do software é a sua obtenção através do link:
http://download.ag-projects.com/MediaProxy/
# cd mediaproxy-VERSAO
# ./setup.py build
# ./setup.py install
145
Serviço fone@RNP
146
Roteiro de Atividades 7
Atividade 7.1 – Configurações PostgreSQL, OpenLDAP e MediaProxy
Analisando os arquivos de configuração criados pelo serviço fone@RNP nas máquinas 1 e 2,
responda as questões sobre a configuração do PostgreSQL.
b. Com qual usuário Linux o MediaProxy está configurado para ser executado? Por que o
sistema necessita desta configuração?
147
Serviço fone@RNP
148
8
Introdução à telefonia
objetivos
conceitos
LDAP, RADIUS, PostgreSQL, Slony, MediaProxy, sistema de telefonia ponto a ponto
e de telefonia hierárquica.
Assim como diversas áreas da ciência moderna, a telefonia teve como impulso a descoberta
da eletricidade e do magnetismo em 1830, por Michael Faraday. A primeira invenção após
esse impulso foi a do telégrafo elétrico, criado por Samuel Morse em 1837, que permitiu a
comunicação entre dois pontos ligados por uma fiação condutora.
Passando por dificuldades financeiras, Meucci não pôde dar continuidade à sua invenção e a
vendeu para Alexander Graham Bell, que utilizou a descoberta de Meucci para dar continui-
dade às suas pesquisas sobre o telefone. Em 1876, Bell patenteou o telefone, mesmo sem
ter ainda conseguido realizar uma ligação na U.S. Patent Office. Curiosamente, sua requi-
sição chegou horas antes da de outro inventor, Elisha Gray.
Com a patente obtida, Bell pôde trabalhar pacificamente na sua invenção e posteriormente
fundar a American Telephony & Telegraphy Company (AT&T). O sistema de telefonia desenvol-
vido por Bell inicialmente definia uma comunicação ponto a ponto entre dois equipamentos,
Capítulo 8 - Introdução à telefonia
sendo um deles ativo – gerando pulso elétrico – e outro passivo, não gerando pulso elétrico.
149
Os assinantes eram interligados às centrais e a partir delas poderiam se comunicar com
qualquer outro assinante. Esse sistema evoluiu até os dias de hoje, em que não há a neces-
sidade de solicitar à telefonista da central para estabelecer a comunicação com o assinante
final, e as inúmeras centrais existentes nas diversas cidades podem ser comunicar.
Distorções da telefonia
11 Limite da amplitude. q
11 Deslocamento da frequência.
11 Atraso na transmissão.
11 Eco.
11 Ruído.
Algumas características dos sistemas telefônicos levam à distorção do sinal de voz. Assim,
um projeto de sistema de telefonia digital necessita avaliar diversos aspectos da rede, dos
assinantes de origem ao destino. A seguir alguns dos problemas mais comuns encontrados:
11 Limite na amplitude: cortes dos níveis altos e baixos do sinal, interferindo na qualidade
da voz e afetando a inteligibilidade da fala.
11 Eco: são reflexões do sinal em pontos terminais da linha digital que provocam o retorno
da mensagem do locutor ao próprio locutor. Atrasos acima de 65 ms produzem ecos
perceptíveis.
Tráfego e dimensionamento
11 Tráfego. q
11 Grau de Serviço (GoS).
Como se sabe, os canais de telefonia são um recurso caro, finito e, em alguns casos, escasso.
É necessário otimizar ao máximo sua utilização. Por exemplo, um escritório com 100 ramais
normalmente não possui 100 canais de saída/entrada para a rede pública de telefonia.
Para aperfeiçoar o sistema é necessário calcular o número ideal de canais com a rede
Serviço fone@RNP
pública. A esse cálculo dá-se o nome de dimensionamento de canais. Para tanto, é neces-
sário conhecer três aspectos do sistema de telefonia: o tráfego, o grau de serviço e as
Tabelas de Erlang.
150
Tráfego
A correta caracterização do tráfego telefônico é essencial para o sucesso do sistema de tele-
fonia. A intensidade de tráfego em um sistema telefônico pode ser definida como o soma-
tório dos tempos das chamadas telefônicas em um determinado período de tempo.
É comum utilizar o período de uma hora, medindo-se geralmente nos 60 minutos mais movi-
mentados. Esse período de 60 minutos cuja ocupação é máxima é conhecido como a Hora
de Maior Movimento (HMM).
Por exemplo, o escritório hipotético citado faz 15 chamadas de 2 minutos cada (em média)
durante sua HMM. Pode-se afirmar que o tráfego durante a hora mais movimentada do dia é:
A = Tráfego oferecido.
Pb = Probabilidade de bloqueio.
Em vez da longa explicação da fórmula, apresentamos as Tabelas de Erlang. Com elas é pos-
sível calcular o número de canais necessários para atender à demanda, considerando o GoS.
Capítulo 8 - Introdução à telefonia
151
Tronco
11 Ring.
11 Loop fechado.
lização é do tipo loop start. Existem outras sinalizações menos comuns, como ground start.
11 Loop start: técnica para sinalização de chamada telefônica usada por praticamente
todas as linhas analógicas.
152
Existem basicamente três tipos de sinalização: q
11 Sinalização de supervisão.
11 Ringing (tocando).
11 Sinalização de endereçamento.
11 Sinalização de informação.
22 Tom de discagem.
22 Sinal de ocupado.
22 Congestionamento (congestion).
22 Número inválido.
22 Tom de confirmação.
Estado IDLE
PBX Telefone
TIP
No gancho
RING
Figura 8.1
Circuito elétrico Bateria
equivalente ao
telefone no gancho. Detector de corrente
Capítulo 8 - Introdução à telefonia
153
Off-hook (fora do gancho)
Estado IDLE
PBX Telefone
TIP
Corrente
elétrica
Fora do
RING gancho Figura 8.2
Circuito elétrico
Bateria
equivalente a
telefone fora do
Detector de corrente gancho.
O usuário que deseja fazer uma chamada telefônica deve passar para o estado off-hook,
retirando o telefone do gancho. Esse estado fecha o circuito elétrico, que indica ao PABX que
o usuário deseja fazer uma chamada telefônica. Após receber essa indicação, o PABX gera o
tom de discagem, indicando ao usuário que está pronto para receber o endereço de destino
(número do telefone).
770 4 5 6 B
Figura 8.3
Serviço fone@RNP
154
Os usuários que têm um teclado para discagem possuem, associado a cada botão, um
conjunto de frequências de tons altos e baixos. A combinação desses dois tons indica para a
central os dígitos selecionados. Esse mecanismo é conhecido como Dual Tone Multi Fre-
quency (DTMF).
Na Figura 8.3 são mostradas as frequências altas na linha superior e as baixas na coluna
mais à esquerda. No centro estão os números do teclado. Nos teclados dos telefones são
mostrados apenas os números de 1 a 0 e os caracteres * e #. Foi definida uma quarta
coluna, com letras de A a D. A frequência de 1.633 hertz correspondente aos algarismos A, B,
C e D, e é utilizada apenas internamente, entre equipamentos de teste e medida.
11 Tom de discagem: normalmente um tom contínuo, que indica que a linha está disponível.
11 Sinal de ocupado: tom intermitente, intercalado com 250 ms de silêncio, indica que o
destino está off-hook.
11 Tom de retorno.
11 Número inválido.
11 Tom de confirmação.
As frequências e tempos também podem variar ligeiramente de acordo com o padrão adotado.
Os padrões podem ser configurados no Asterisk no arquivo /etc/asterisk/indications.conf.
Os padrões utilizados no Brasil estão descritos na prática Telebras para telefonia e podem
ser encontrados no site da Anatel.
11 Duas interfaces:
Resumo
Capítulo 8 - Introdução à telefonia
11 Um canal da central da operadora é ligado em uma porta FXO (linha telefônica tradicional).
11 Então, é possível ligar uma porta FXO em uma porta FXS, assim como é possível ligar um
telefone à linha da operadora.
11 Dito de outra forma, um telefone analógico possui uma porta FXO, e um tronco na opera-
dora telefônica é uma porta FXS.
155
Gateway de voz sobre IP
ForeigneXchange Office (FXO)
11 Interface utilizada para comunicação com Central Office ou PABX. q
11 Essas interfaces conectam um PABX a outro PABX ou à rede pública.
As interfaces FXO são normalmente utilizadas para ligação com a central da operadora
telefônica ou com a posição de ramal de um PABX comum. Essa porta espera receber o tom
de discagem ou de linha (dialtone) e a indicação de que está chamando o destino (ringing). A
porta FXO deve prover indicadores de chamadas em progresso.
Figura 8.4
Porta FXO recebe
Companhia telefônica
tom de discagem.
É muito comum ligar, no lugar de um telefone, uma interface FXO de um gateway VoIP e
transportar a voz empacotada pela rede IP até outro gateway remoto, no qual o telefone é
conectado em uma interface FXS. Essa operação é conhecida como Off-Promises eXtension
(OPX) ou ramal remoto.
11 Modem.
11 Fax.
Elas devem:
11 Prover voltagem.
11 Gerar ringing.
11 Detectar off-hook.
11 Kewl start.
156
Kewl start é o mesmo que loop start, exceto por ter inteligência maior e por isso maior
capacidade para detectar desconexões remotas. Dessa forma, recomenda-se a utilização da
sinalização kewl start com interfaces analógicas no Asterisk.
E&M é uma forma de sinalização de supervisão analógica utilizada entre PABXs. Também
pode ser utilizada em linhas digitais, em versões adaptadas para isso. Entretanto, a sinali-
zação E&M está obsoleta. Essa sinalização não será abordada no curso, pois placas E&M não
estão disponíveis para o Asterisk.
Loop start
11 Usado por praticamente todas as linhas analógicas. q
11 Permite ao telefone indicar os estados de:
22 On-hook.
22 Off-hook.
22 Ring.
22 No ring.
Usado por praticamente todas as linhas analógicas, é o sistema que você tem em casa.
Permite ao telefone indicar os estados on-hook/off-hook e indicar ao PABX o estado de ring.
Cada linha tem um par separado de fios, podendo ser utilizada tanto para fazer quanto para
receber chamadas.
Nessa sinalização, o switch da central fornece 48 volts a um dos fios da linha, mas o circuito
permanece aberto pelo telefone ou PABX do cliente, indicando a posição (on-hook). Quando
o telefone é retirado do gancho, o circuito é fechado, indicando a posição off-hook. Esse é o
sinal enviado para a interface da central para que ela forneça o tom de linha, de forma que o
usuário possa discar o número de destino.
No outro sentido, ao receber uma chamada entrante, a central sinaliza o telefone ou o PABX do
cliente utilizando uma tensão alternada (20 Hz) de 88 volts, conhecida como ringing voltage. Para
responder à chamada, o loop deve ser fechado, com a retirada do telefone do gancho.
Ground start
11 Semelhante ao loop start. q
11 No momento de fazer uma ligação, o loop não é fechado.
Capítulo 8 - Introdução à telefonia
Sinalização semelhante ao loop start. Nesse caso, o switch da operadora permanece forne-
cendo -48 volts em um dos fios, mantendo o outro aberto. Quando uma ligação é iniciada, o
loop é fechado no lado do cliente e o circuito é aterrado (ground). Esse é o sinal para que a
interface da operadora feche o circuito e envie o tom de discar.
Kewl start
11 Monitora o que o outro lado está fazendo. q
11 Incorpora vantagens do loop start e do ground start.
157
Adiciona inteligência à habilidade dos circuitos em monitorar o estado do dispositivo
remoto. É a supervisão de desconexão. Desde que o kewl start incorporou as vantagens do
loop start e ground start, sendo superior a ambos, você provavelmente vai utilizá-lo. Kewl
start tornou-se, informalmente, o padrão para o uso com o Asterisk.
Para a troca de mensagens entre os equipamentos conectados pelo canal digital, os proto-
colos de telefonia são responsáveis por essa troca de sinalização. Protocolos comuns para o
estabelecimento dessas comunicações são MFC-R2, ISDN e SS7.
Entroncamento digital
T1: q
11 24 canais de 8 bits.
E1:
11 32 canais de 8 bits.
158
A tecnologia utilizada nos enlaces digitais da telefonia divide o meio de transporte em fatias
de tempo, também conhecidas como time slots. Cada fatia é um canal de transmissão de
dados. Essa tecnologia é conhecida como Time Division Multiplexing (TDM) – Multiplexação
por Divisão do Tempo. No Brasil, assim como na Europa, a interface digital mais utilizada é
a E1, composta por 32 canais de 64 kbps, comumente chamada de canal ou link de 2 Mbps.
Nos Estados Unidos é utilizado o padrão T1, composto por 24 canais de 64 kbps.
125 μseg
TS
TS 16
0
Figura 8.5
Multiplexação por
Divisão de Tempo: Sinalização Dados
32 canais digitais. Sincronismo, alarmes e mensagens (futuro)
MFC/R2: q
11 Sinalização definida pela ITU-T.
22 R2 Digital Brasil.
MFC/R2 é uma sinalização definida pela ITU (Q.421/Q.441), usada principalmente na América
Latina e na Ásia. Utiliza Sinalização por Canal Associado (CAS), onde uma associação entre
a sinalização de linha é realizada através do canal 16 e cada canal de voz, ou seja, a sinali-
zação de linha, ocorre no canal 16, enquanto a sinalização de registro ocorre no canal de voz,
definido no canal 16. O R2 possui variações específicas de acordo com o país, sendo a sinali-
zação de linha digital mais comum no Brasil, seguindo a Prática Telebras TB 210-110-703.
A Telebras estipulou que o protocolo digital padrão para comunicação dos PABX dos assi-
nantes com as operadoras deveria ser E&M pulsada, E&M contínua ou R2D/MFC-5C. O pro-
tocolo R2 é o mais utilizado e, juntamente com a interface E1, pode endereçar até 30 canais
de voz; já as sinalizações E&M caíram em desuso. Junto com o protocolo de sinalização de
linha, é utilizada a sinalização de registro multifrequencial compelida, que significa que cada
sinal só pode ser enviado após a resposta do sinal anterior ter sido recebida. O Brasil utiliza
os tipos de sinalização de registro MFC 5C terrestre (compelida), e MFC 5S (não compelida),
embora mantenha a sigla MFC.
O protocolo para telefonia digital Rede Digital de Serviços Integrados (RDSI), do inglês Inte-
grated Services Digital Network (ISDN), possui algumas vantagens sobre o R2. As principais
são sua maior rapidez e o fato de prover um serviço flexível, possibilitando inclusive uso
simultâneo de dados e voz. O ISDN utilizado com interfaces E1 é conhecido como Primary
Rate Interface (PRI) e tem capacidade para endereçar 30 canais de voz, mais um canal para
159
controle das ligações, ou seja, para sinalização. Também é conhecido como 30B+D. Nos
Estados Unidos, utilizado com o padrão T1, tem sua capacidade reduzida para 23 canais de
voz e um para sinalização.
O Asterisk é desenvolvido para permitir que novas interfaces e tecnologias sejam agregadas
facilmente. Essa meta visa suportar qualquer tipo de tecnologia telefônica possível. A lista
dos últimos protocolos e hardwares compatíveis pode ser encontrada em http://www.
digium.com ou em http://www.asterisk.org.
Zaptel Pseudo TDM interfaces proveem integração com interfaces telefônicas analógicas e
digitais, tradicionais e legadas, incluindo conexão ao sistema de telefonia pública.
Time Division Multiplexing (TDM) – ou Multiplexação por Divisão do Tempo – em telefonia sig-
nifica que o canal digital utilizado para transporte da voz é separado em fatias de tempo (Time
Slots – TS). Em cada fatia, segue um canal de voz. O termo TDM acabou ganhando um novo
sentido entre os usuários do Asterisk, designando também os canais analógicos da telefonia
tradicional, como as interfaces ForeingeXchange Station (FXS) e ForeingeXchange Office (FXO).
Essas interfaces também são conhecidas como Public Old Telephony System (POTS). O sistema
de telefonia que compreende as duas tecnologias (analógica e digital) é conhecido como Public
Switched Telephony Network (PSTN), a Rede de Telefonia Pública Comutada.
As interfaces não Zaptel proveem conectividade a outros tipos de interfaces. Essas inter-
faces dão acesso a outros dispositivos, como a placa de som do computador, interfaces BRI
(ISDN), JACK ou outras placas de telefonia não baseadas na tecnologia Zaptel.
TDM400P é uma placa base de quatro entradas que permite a inserção de até quatro
cartões irmãos, que admitem portas FXO (módulo vermelho) e FXS (módulo verde), sendo os
módulos FXO e FXS intercambiáveis para a criação de várias combinações de interface.
Figura 8.6
Zaptel: TDM400P.
Serviço fone@RNP
160
Atualmente existem outras placas para telefonia analógica que possibilitam uma série de
combinações de interfaces FXSs (para ligação de ramais analógicos comuns) e FXOs para
ligação de uma linha telefônica comum. Para mais informações, visite o site da Digium.
Outros fabricantes produzem interfaces de telefonia suportadas pelo Asterisk; porém, esses
equipamentos ainda não são suportados pelo fone@RNP. Fabricantes como Sangoma e os
nacionais Khomp e DigiVoice possuem placas e soluções com densidades diferentes. Também
possuem placas com Digital Signal Processor (DSP), provendo integração dos codecs mais
utilizados e assim aliviando consideravelmente a carga de processamento no servidor.
Protocolos de Linhas
telefonia IP digitais
SIP E1
Interface de rede
(Ethernet)
IAX2 Placas de comunicação T1
MGCP BRI
A figura anterior mostra um esquema conceitual do Asterisk utilizando uma placa de rede
(Ethernet) para sua comunicação com a rede IP, uma placa digital e uma analógica para
comunicação com a rede de telefonia. Nesse exemplo, o Asterisk pode funcionar como um
gateway entre as redes de telefonia IP e a tradicional (TDM).
Conexões FXO
Comumente utilizada, a conexão FXO ou FXS deve ser realizada por um par metálico, uti-
lizando conectores RJ11 na placa TDM de quatro ou oito portas. As vias ativas são os dois
pinos centrais do conector. Algumas placas de telefonia com maior densidade de portas FXO
ou FXS podem utilizar conectores do tipo Telco, de 25 pares.
Capítulo 8 - Introdução à telefonia
161
Figura 8.8
Conector Telco,
com 25 pares.
Conexões E1
Diferentemente do que é observado, as placas VoIP E1 não utilizam conexões RJ45, pois o
familiarizado RJ45 utiliza os pinos 1, 2, 3 e 6 para receber e transmitir dados, enquanto o
RJ48, em comunicações E1, utiliza os pinos 1, 2, 4 e 5. Ambos, RJ48 e RJ45, usam o plug 8P8C
modular e dois pares de fios, um par para transmissão e um par para receber dados.
RJ-48 Plug
1 2 3 4 5 6 7 8
1 1
2 2
3 3
4 4
5 5
6 6
7 7
Figura 8.9
8 8 Pinagem RJ48.
162
Identificação das placas
Antes de instalar e configurar a interface, deveremos inicialmente identificar que tipo de
placa VoIP é usada para cada tipo de comunicação. Atualmente existem diversos fabri-
cantes que desenvolvem interfaces VoIP, como Digium, Digivoice, Khomp ou Sangoma.
O único fabricante suportado nativamente pelo serviço fone@RNP são as interfaces da
Digium. As outras interfaces necessitam de modificações no serviço não padronizadas
pelo fone@RNP e de responsabilidade da instituição usuária.
Conforme apresentado, a placa padrão para comunicação FXO é a placa Digium TDM400P
com barramento PCI, de interface modular com a possibilidade de ter até quatro canais FXO
ou FXS. Para barramento PCI-e, a Digium lançou a placa AEX400P, também modular, com
suporte para até quatro ramais.
Para comunicação digital E1, o padrão do serviço é a placa TE110P, com apenas uma porta E1
e barramento PCI. Atualmente, essa placa não é mais fabricada na TE121, para barramento
PCI-e, e TE122, para barramento PCI.
Disponibilizar acesso a partir da rede pública é ter um número de Discagem Direta a Ramal
(DDR) que acesse o IVR, porém, conforme norma da Anatel, essa linha será bloqueada para
realizar chamada para a rede pública, disponibilizando acesso apenas a números do serviço
fone@RNP.
Caso não queira ter acesso ao IVR a partir da rede pública, configure os quatro ramais da
central telefônica (PBX) da seguinte forma:
2. Configure o roteamento entre os quatro ramais de forma que, caso dê ocupado no ramal,
a central encaminhe a chamada para o próximo ramal.
3. Habilite esses ramais para realizarem ligações para números fixos da própria cidade.
4. Identifique o dígito para obtenção da rota para a realização de ligações para números fixos.
Caso queira ter acesso ao IVR a partir da rede pública, configure os quatro ramais da central
telefônica (PBX) da seguinte forma:
3. Configure o roteamento entre os três ramais privados de forma que, caso dê ocupado no
ramal, a central encaminhe a chamada para o próximo ramal.
4. Habilite os quatro ramais a realizarem ligações para números fixos da própria cidade.
5. Identifique qual é o dígito para obtenção da rota para a realização de ligações para
números fixos.
163
Para finalizar os testes dessas linhas, utilize um telefone convencional e teste cada um
desses ramais. Ao confirmar a correta configuração das linhas de telefones, instale a placa
no servidor onde serão instalados os serviços da máquina 2. Obviamente, não deixe de
tomar alguns cuidados que devem ser realizados antes de manusear itens de hardware. É
de suma importância descarregar a energia eletrostática de seu corpo. Salienta-se também
que, mesmo estando seguro quanto ao manuseio, nunca é recomendável que toque nos
contatos metálicos das placas.
Grande dúvida dos administradores das instituições usuárias: que tipo de cabeamento deve
existir no padrão G.703 para par trançado?
Esse cabo par trançado pode ser o padrão de última milha – não ultrapassando assim dez
metros – e seguindo a combinação de 1 – 5, 2 – 4, 3 – 3, 4 – 1, 5 – 2, 6 – 6 , 7 – 7 e 8 – 8. As
placas E1 mais recentes da Digium são oferecidas com um dispositivo de loop da conexão do
par trançado para identificar alguma falha no cabeamento.
A forma de configuração do canal E1 no PBX não é a mesma do PBX com a operadora. O PBX
deverá permitir uma rota de comunicação das chamadas originadas no entroncamento do
VoIP com o PBX para a operadora – rota comumente é a 0.
O técnico da central deverá configurar uma rota de acesso aos ramais do PBX para alcançar
o tronco VoIP. Essa rota deverá permitir ligações de 4 a 20 dígitos. Caso o administrador da
instituição deseje disponibilizar o acesso ao IVR a partir da rede pública, o técnico da central
deverá configurar um número do DDR que seja redirecionado ao tronco VoIP.
root@maq2:~# lspci
164
Configuração do Canal Zapata: q
11 Editar o arquivo de configuração.
# /etc/zaptel.conf
fxsks=1-4
loadzone=us
defaultzone=us
root@maq2:~# ztscan
Asterisk
Capítulo 8 - Introdução à telefonia
Driver Zaptel
Figura 8.10
Hierarquia da Driver da Placa (wctdm)
comunicação do
Asterisk com a Interface VoIP
interface FXO.
165
Arquivo padrão do Canal Zapata para interface FXO
; /etc/asterisk/zapata.conf
[trunkgroups]
[channels]
context=from-pstn
signalling=fxs_ks
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
busydetect=yes
busycount=6
callerid=25983000
group => 1
channel => 4
jbenable=yes
context=from-pabx
signalling=fxs_ks
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
busydetect=yes
Serviço fone@RNP
busycount=6
group => 1
callerid=25983000
166
loadzone=us
defaultzone=us
# /etc/zaptel.conf
Capítulo 8 - Introdução à telefonia
span=1,1,0,ccs,hdb3,crc4
bchan=1-15,17-31
dchan=16
loadzone = us
defaultzone = us
167
Carregar arquivo de configuração
root@maq2:~# ztscan
Asterisk
Lib PRI
Driver Zaptel
; /etc/asterisk/zapata.conf
[trunkgroups]
[channels]
context=default
switchtype=qsig
Serviço fone@RNP
signalling=pri_cpe
usecallerid=yes
group=1
168
context=> from-pabx
channel=> 1-15,17-31
jbenable=yes
loadzone=us
defaultzone=us
# /etc/zaptel.conf
span=1,1,0,cas,hdb3
169
cas=1-15:1001
cas=17-31:1001
loadzone = us
defaultzone = us
root@maq2:~# ztscan
Asterisk
Lib Unicall
Lib MFC-R2
Figura 8.12
Driver Zaptel Hierarquia da
comunicação
Driver da Placa (wcte11xp) do Asterisk com
a interface E1/
MFC-R2.
Interface VoIP
;/etc/asterisk/unicall.conf
[channels]
context=from-pabx
usecallerid=yes
hidecallerid=no
170
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
group=1
callgroup=1
pickupgroup=1
immediate=no
protocolclass=mfcr2
protocolvariant=br,20,4
protocolend=cpe
171
Serviço fone@RNP
172
Roteiro de Atividades 8
A integração do serviço VoIP com o serviço de telefonia convencional é realizada no serviço
fone@RNP, atualmente utilizando a comunicação analógica FXO ou a comunicação digital
através dos protocolos ISDN ou MFC-R2.
FXO
1. Certifique-se de que os cabos RJ11 estão devidamente conectados entre o PBX e a placa VoIP.
2. Obtenha com o técnico responsável pelo serviço de telefonia (no caso, o instrutor) as
seguintes questões:
173
ISDN
1. Certifique-se de que os cabos RJ48 estão devidamente conectados entre o PBX e a placa VoIP.
MFC-R2
conceitos
IAX2, proxy transparente e troncos SIP.
Digium IAX é o acrônimo de InterAsterisk eXchange, protocolo desenvolvido pela Digium para o PABX
Empresa que lançou o IP Asterisk, também desenvolvido por essa empresa. O IAX se encontra na versão 2, por isso o
Asterisk, um PABX de
nome IAX2. Ele está descrito na RFC 5456 e sua última atualização data de fevereiro de 2009.
código aberto. Também
fabrica placas PCI para
IAX é capaz de multiplexar a sinalização e a mídia de vários fluxos de chamadas telefônicas
telefonia com interfaces
analógicas e digitais. sobre a mesma comunicação UDP entre dois computadores. Ele utiliza a porta UDP 4569
Na realidade, o Asterisk para todos os tipos de tráfego (controle das chamadas e transporte de mídia). Assim, reduz
funciona como uma
drasticamente o overhead do transporte da mídia e é transparente a implementações de
grande vitrine das
placas Digium. NAT, diferentemente de SIP e H.323.
Capítulo 9 - Serviços extras no fone@RNP
Como foi abordado, SIP e H.323 utilizam um canal para sinalização e, durante o estabeleci-
mento da chamada, negociam outros canais para o transporte de mídia, um em cada direção.
Isso faz aumentar consideravelmente a complexidade de firewalls e implementações de NAT,
podendo até em alguns casos inviabilizar a comunicação. Além disso, para transportar a
mídia, esses protocolos utilizam um cabeçalho IP/UDP/RTP para cada chamada, resultando em
um grande overhead no tráfego. O IAX não transporta a mídia sobre o protocolo RTP e pode
utilizar apenas um cabeçalho IP/UDP/IAX para todas as chamadas em curso.
IAX2 utiliza uma codificação binária que confere ao protocolo melhor utilização de banda.
Ele acrescenta 4 bytes de overhead para um fluxo de voz. Apenas o cabeçalho RTP possui
12 bytes. Sua forma de multiplexar as chamadas simultâneas é notadamente a principal
vantagem deste protocolo.
175
Para cada chamada SIP ou H.323 é necessário um cabeçalho RTP (12 bytes), UDP (8 bytes) e
IP (20 bytes). A soma destes cabeçalhos é igual a 40 bytes. O codec G.729 tem um payload de
20 bytes. Para aumentar a eficiência da comunicação, normalmente são transportados dois
Figura 9.1
payloads por pacote. Tem-se então um pacote de 40 bytes de cabeçalho mais 40 bytes de Modelo de
dados, para cada chamada simultânea, sem contar o cabeçalho de nível 2. transporte de mídia
em redes SIP ou
H.323.
IP UDP RTP PAYLOAD1 IP UDP RTP PAYLOAD2 IP UDP RTP PAYLOAD_N
Para N chamadas, tem-se N vezes 40 bytes de cabeçalho mais N vezes 40 bytes de carga,
tudo isso vezes 50 pacotes por segundo. Aproximadamente, essa conta chega ao consumo
de banda igual a N vezes a ocupação de uma chamada.
Para N chamadas tem-se 1 cabeçalho de 28 bytes (IP+UDP), mais N vezes 4 bytes, mais N
vezes 40 bytes do codec vezes 50 pacotes por segundo.
Note que o cabeçalho aumenta 10 vezes mais devagar que o payload conforme o número
de chamadas aumenta. Assim, quanto maior o número de chamadas simultâneas, maior a
eficiência do protocolo, fazendo com que o consumo de banda se aproxime da metade do
que seria consumido se fosse utilizado SIP ou H.323.
Quanto mais ligações simultâneas, mais o consumo de banda com IAX2 se aproxima
da metade do consumo do SIP ou H.323.
Para exemplificar o cálculo anterior, um tronco SIP ou H.323 utilizando o codec G.729 com
30 chamadas simultâneas consumiria 960 kbps. Um tronco IAX utilizando o codec G.729 com
30 chamadas consumiria 539,2 kbps, apenas 12,33% além da metade do consumo do SIP. Em
relação ao consumo total, o IAX2 consome 56,16% da banda que o SIP consome.
Para 60 ligações simultâneas, a diferença do consumo cai para 55,58%, sendo o consumo do
SIP igual a 1.920 kbps e do IAX2 igual a 1.067,2 kbps. E a relação entre IAX2 e a metade do
consumo do SIP cai para 11,17%.
Relay. Essa característica permite que sejam estabelecidas mais chamadas por mbps
quando se utiliza o protocolo IAX. Enquanto o SIP ou H.323 consegue transportar aproxima-
damente 30 canais G.729 por Mbps, o IAX consegue transportar quase 60 canais por Mbps.
176
IAX2 em rede VoIP
11 Mais eficiente para muitas ligações. q
11 Transparente a implementações de NAT e firewall.
O IAX traz grandes vantagens para implementações de redes de telefonia onde há a neces-
sidade de interligar dois ou mais PABX através de enlaces de velocidade limitada. Ele otimiza
o consumo de banda utilizado nas ligações, podendo oferecer economia da ordem de 55%
em relação ao SIP ou H.323. Quando configurado para operar em modo tronco, o protocolo
utiliza apenas um cabeçalho para transportar dados de todas as ligações que estão ocor-
rendo naquele instante. Todos os outros protocolos de Voz sobre IP utilizam um cabeçalho
RTP (mais UDP e IP) para cada uma das ligações em curso.
Outra vantagem que pode ser aproveitada por tele-trabalhadores é a facilidade de operação
do IAX2 com implementações de NAT. O IAX2 é transparente à NAT e não sofre nenhum pro-
blema, diferentemente do SIP e do H.323. Além disso, o IAX implementa e transfere informa-
ções em forma de códigos, além de não enviar informações redundantes, não utilizadas nas
transações. Já o SIP, por exemplo, implementa a troca de mensagens utilizando texto plano e
repete muitas informações em seus diálogos.
Conforme vimos, o serviço fone@RNP permite que instituições usuárias possam realizar
chamadas entre instituições usuárias ou externas ao serviço, quando a chamada se inicia
em uma instituição usuária para um telefone da rede pública de telefonia.
de chamadas de longa distância por chamadas locais, encaminhadas pela rede IP e termi-
nadas pela instituição na cidade de destino. Vale lembrar que o custo dessas chamadas
locais é coberto pela instituição na localidade de destino. Esta substituição só pode ser
realizada se a instituição usuária também completar chamadas em sua cidade. A entrega da
ligação para a rede pública na outra ponta (destino) é sempre transparente para o usuário,
pelo ponto de vista de que ele não sabe a instituição que está terminando a ligação na RTFC.
177
ramal convencional, é necessário “entrar” na rede do fone@RNP, digitando para o número
de acesso ao serviço. Caso o uso da rede do fone@RNP para transporte das chamadas à
distância fosse transparente, todos os usuários do sistema de telefonia seriam capazes de
economizar, e não apenas aqueles que conhecem e efetivamente usam o “ramal de entrada
no fone@RNP”.
11 Quando a ligação termina na RTFC, o custo é absorvido pela instituição que entregou
a chamada na cidade destino.
11 Substitui o custo de uma chamada DDD pelo custo de uma chamada local.
O serviço fone@RNP integra cada instituição ao serviço de telefonia local, permitindo assim
a interação do ambiente VoIP com o ambiente de telefonia legado. Esta interação é a chave
principal da economia de recursos com o serviço de telefonia pelas instituições. Usufruindo
da rede de dados, as instituições usuárias devem encaminhar o tráfego de longa distância
ao serviço VoIP e esperar que a chamada seja completada pela integração do ambiente VoIP
com a telefonia legada da instituição usuária de mesma localidade do número destino; subs-
tituindo assim o custo de chamada de longa distância na instituição de origem por um custo
de chamada local na instituição destino.
Para utilizar este benefício, é necessário que os usuários de telefones convencionais das
instituições clientes acessem a rede de telefonia IP discando um ramal especial definido
quando da instalação do serviço. Os usuários de telefones IP do fone@RNP não precisam
discar esse ramal especial, pois já estão na rede VoIP. Dessa forma, é imprescindível que as
instituições clientes divulguem para seus funcionários e alunos este procedimento.
Porém, nem todos os clientes do fone@RNP escolhem terminar ligações na STFC. Além
disso, não há instituições em todas as cidades brasileiras, sendo impossível cobrir todas as
localidades do Brasil.
Para pensar
Filtro Transparente
O Filtro Transparente completa as chamadas utilizando a rota de menor custo, sem que q
seja necessário discar o ramal de acesso (chamada em dois passos).
178
O conceito básico do serviço de Filtro Transparente é completar as chamadas recebidas
utilizando a rota de menor custo disponível, sem que seja necessário o usuário acessar o
sistema VoIP discando o ramal especial. Para isso, o servidor deverá receber todas as cha-
madas destinadas à operadora e identificar a melhor rota para completar a ligação.
Existem diversas formas de atribuir pesos (ou custos) às rotas para um número destino,
definindo assim a melhor rota. O uso mais comum é o custo em Real por minuto da ligação,
e assim será no fone@RNP. Outras formas avançadas consistem em adicionar ao custo em
Real por minuto variáveis de identificação da Qualidade de Serviço, disponibilidade e ocu-
pação das rotas.
11 Caso exista mais de uma rota com o mesmo custo, ambas as rotas devem ser utili-
zadas realizando chamadas em paralelo. A primeira rota que responder a solicitação de
chamada positivamente será utilizada pelo serviço, cancelando a chamada na outra rota.
11 Caso não haja resposta positiva, o Filtro Transparente tentará encaminhar a chamada
pela próxima rota de menor custo, obtendo assim o menor custo possível.
11 Caso não haja mais rotas para este número destino, o Filtro Transparente retornará uma
mensagem de falha para o usuário que originou a chamada.
A implementação do filtro transparente faz com que o serviço de telefonia fique dependente
do gateway que desempenha essa função. O serviço de telefonia é crítico e não pode parar,
e a adoção do Filtro Transparente implica em conseguir a mesma disponibilidade atual com
mais um componente na rede.
179
Entroncamento SIP com operadoras e outros PABX IP
11 Vantagens do entroncamento SIP sobre o entroncamento convencional E1. q
11 Formas de comunicação VoIP: SIP x IAX.
Para expandir o uso do serviço VoIP na instituição usuária, o serviço local do fone@RNP
espera ser entroncado a outros equipamentos de telefonia da instituição. Estes equipa-
mentos permitem o aproveitamento da telefonia legada e o uso inteligente do serviço.
Contudo, o protocolo SIP está amplamente utilizado no mercado pelos provedores VoIP
e centrais telefônicas (PABX Convencional). Portanto, caso o entroncamento esteja sendo
gerenciado pelo técnico e seja feito entre dois ou mais Asterisks, considere a possibilidade
de utilizar o IAX. Porém, caso não seja entre dois Asterisks, implante o entroncamento SIP
entre os dispositivos.
Serviço fone@RNP
180
Estas mudanças poderiam atrapalhar o sistema de roteamento das chamadas feitas
de forma dinâmica no OpenSER; consequentemente esta opção não é recomendada.
181
Serviço fone@RNP
182
Roteiro de Atividades 9
Atividade 9.1 - Entroncando fone com PABX SIP
O objetivo da prática de entroncamento SIP é possibilitar que o administrador do serviço
implante comunicação SIP do serviço fone@RNP para outros equipamentos de terceiros ao
serviço. Este tipo de entroncamento permite a integração de dispositivos como:
11 PBX IP;
11 Operadoras VoIP.
Nesta etapa, utilizando o PBX IP do instrutor, o grupo deverá realizar os seguintes passos:
11 O endereço IP do equipamento.
11 A porta do equipamento.
[peerPBXIP]
Capítulo 9 - Roteiro de Atividades
Host=<IP_PBXIP>
Port=<PORTA_PBXIP>
Disallow=all
Allow=ulaw
Allow=alaw
Context=from-pbxip
183
Ao finalizar a edição do arquivo, o técnico deverá reiniciar o processo do Asterisk usando o
seguinte comando:
/etc/init.d/asterisk restart
[to-pbxip]
Após a criação deste contexto, inclua no contexto “from-voip” a chamada para o contexto
“to-pbxip”. Para criar esta chamada, insira a seguinte regra:
[from-pbxip]
include => ip
Nesta etapa, será realizada apenas a configuração do Filtro Transparente, pois não temos
184
uma terceira máquina requerida pelo serviço. Assim, para a configuração de teste do
serviço, realize as seguintes ações:
[peerFILTRO]
Host=<IP_FILTRO>
Port=<PORTA_FILTRO>
Disallow=all
Capítulo 9 - Roteiro de Atividades
Allow=ulaw
Allow=alaw
Context=from-pabx
/etc/init.d/asterisk restart
185
Configurações do entroncamento SIP no canal SIP (máquina Filtro Transparente)
Para configurar o entroncamento SIP no Asterisk da máquina do Filtro Transparente, edite o
arquivo /etc/asterisk/sip.conf e adicione as seguintes informações do entroncamento no final
do arquivo:
[peerVOIP]
Host=<IP_VOIP>
Port=<PORTA_VOIP>
Disallow=all
Allow=ulaw
Allow=alaw
Context=from-voip
Por fim, crie a variável global no arquivo /etc/asterisk/extensions.conf com a seguinte definição:
DOMINIO_VOIP=peerVOIP
span=1,1,0,cas,hdb3
cas=1-15:1001
cas=17-31:1001
loadzone=us
defaultzone=us
[channels]
context=from-pstn
usecallerid=yes
hidecallerid=no
Serviço fone@RNP
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
186
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
group=1
callgroup=1
pickupgroup=1
immediate=no
protocolclass=mfcr2
protocolend=cpe
Por fim, crie a variável global no arquivo /etc/asterisk/extensions.conf com a seguinte definição:
CANAL_OPERADORA=UNICALL/g1
span=1,1,0,ccs,hdb3,crc4
bchan=1-15,17-31
dchan=16
loadzone = us
defaultzone = us
[channels]
context=default
switchtype=qsig
signalling=pri_cpe
usecallerid=yes
group=1
187
context=> from-pstn
channel=> 1-15,17-31
jbenable=yes
Por fim, crie a variável global no arquivo /etc/asterisk/extensions.conf com a seguinte definição:
CANAL_OPERADORA=ZAP/g1
span=2,0,0,cas,hdb3
cas=32-46:1001
cas=48-62:1001
loadzone=us
defaultzone=us
[channels]
context=from-pabx
usecallerid=yes
hidecallerid=no
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
Serviço fone@RNP
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
group=1
188
callgroup=1
pickupgroup=1
immediate=no
protocolclass=mfcr2
protocolend=cpe
Por fim, crie a variável global no arquivo /etc/asterisk/extensions.conf com a seguinte definição:
CANAL_PABX=UNICALL/g2
/etc/init.d/asterisk restart
span=2,0,0,ccs,hdb3,crc4
bchan=32-46,48-62
dchan=47
loadzone = us
defaultzone = us
[channels]
context=default
switchtype=qsig
signalling=pri_net
usecallerid=yes
group=1
context=> from-pabx
Capítulo 9 - Roteiro de Atividades
channel=> 32-46,48-62
jbenable=yes
Por fim, crie a variável global no arquivo /etc/asterisk/extensions.conf com a seguinte definição:
CANAL_PABX=ZAP/g2
189
Alteração do plano de discagem no Asterisk para encaminhamento das chamadas para
o Filtro Transparente (máquina 2)
Para configurar o plano de discagem para o encaminhamento de chamadas para o outro
PBX IP, o técnico deve editar o arquivo do plano de discagem /etc/asterisk/extensions.conf e
adicionar o seguinte contexto de chamadas:
CANALZAP=SIP
Todas as outras linhas que possuem a variável CANALZAP deverão ter adicionado o texto
@peerFILTRO após a variável ${EXTEN}.
[from-pstn]
[from-pabx]
190
Para configurar o plano de discagem para receber chamadas do serviço VoIP fone@RNP local,
edite o arquivo do plano de discagem /etc/asterisk/extensions.conf e adicione o seguinte
contexto de chamadas:
[from-voip]
Ao finalizar a edição do arquivo, recarregue o plano de discagem no Asterisk. Para isso, car-
regue o console do Asterisk usando o comando asterisk -vvvvr. Dentro do console do Asterisk
execute o comando dialplan reload.
[destino-local-fixo]
[destino-interurbano-fixo]
[destino-local-fixo-semvoip]
[destino-interurbano-fixo-semvoip]
191
OPERADORA}/${EXTEN},40,rtT)
[destino-local-movel]
[destino-interurbano-movel]
[destino-internacional]
[diversos]
[destino-voip]
[destino-ramal]
192
10
QoS e Troubleshooting
objetivos
conceitos
Qualidade de Serviço (QoS), firewalls e SIP.
Desde sua origem, a rede IP é uma rede de “melhor esforço”. Isto significa que a rede faz
o possível para que os pacotes que por ela trafegam alcancem seu destino, mas ela não
garante o tempo de entrega, a ordem de entrega, a integridade do pacote ou mesmo se a
entrega desses pacotes irá ocorrer. A rede IP simplesmente faz o melhor possível.
Para melhorar o serviço da rede IP, existem protocolos de camadas superiores, por exemplo
o TCP, que resolve boa parte dos problemas do IP. Entretanto, para manter a qualidade das
chamadas em uma rede de pacotes semelhante às da rede determinística, são aplicadas téc-
nicas de QoS à rede. Dessa forma, serviços com requisitos rígidos de atraso, banda e outros
parâmetros podem utilizar a rede IP sem perder qualidade.
Este capítulo apresenta considerações sobre Qualidade de Serviço em redes IP com foco
no serviço de Voz sobre IP, identificando cuidados a tomar junto aos firewalls; por fim,
demonstra técnicas de troubleshooting do serviço VoIP de uma instituição usuária local.
O que é QoS?
11 Quality of Service (Qualidade de Serviço). q
11 O tráfego é tratado de alguma forma:
Capítulo 10 - QoS e Troubleshooting
22 Priorizado.
22 Policiado.
QoS é o acrônimo para Quality of Service, ou Qualidade de Serviço. De forma geral, diz-se que
uma rede “possui QoS”, quando o tráfego que passa por ela é tratado de forma a priorizar
os fluxos críticos, mantendo uma boa experiência de uso das aplicações que exigem intensa
interatividade, como telefonia.
193
A implementação de QoS em uma rede abrange ações que vão desde a simples atenção
para que um enlace não fique congestionado até a aplicação de regras de descarte. Nor-
malmente aplicadas em enlaces de baixa velocidade, as técnicas mais comuns consistem de
classificação de pacotes, enfileiramento e encaminhamento de acordo com prioridades
pré-estabelecidas e descarte de pacotes que não estão em conformidade com as políticas
estabelecidas.
Em telefonia, QoS é definido no padrão ITU X.902 como “um conjunto de requisitos de quali-
dade no comportamento coletivo de um ou mais objetos”.
Na prática, o termo QoS causa alguma confusão. Uma interpretação mais simples diz que
a rede sem QoS presta um serviço de melhor esforço, isto é, sem garantias de tempo ou de
entrega. Por outro lado, uma rede com QoS prioriza os serviços de quem contrata “QoS”, ou
seja, de quem contrata um certo nível de serviço, que lhe assegura que alguns parâmetros
são mantidos dentro de valores acordados. QoS, neste caso, é tratado como um produto ou
serviço prestado pela operadora que garante uma boa experiência de uso da rede.
Popularmente:5
Um aspecto importante que muitos leigos desconhecem é que para ser possível adotar
políticas de QoS é necessário ter controle sobre a rede e seus dispositivos. Portanto, como
consequência da afirmação anterior, pode-se inferir que a internet é uma rede sem QoS, ou
seja, não há priorização de pacotes, classificação de serviços ou nada que garanta que fluxos
de voz terão maior prioridade que fluxos de dados. A internet é uma rede de melhor esforço.
De forma geral, para links de internet, operadoras e clientes minimizam problemas relacionados
à qualidade simplesmente mantendo a banda disponível em seus enlaces sempre acima das
suas demanda de utilização. Contudo, contratar mais banda invariavelmente significa aumentar
custos com telecomunicações. Por outro lado, em comparação com adoção de regras de QoS,
essa abordagem reduz a necessidade de recursos computacionais nos nós da rede e reduz con-
sideravelmente a complexidade na configuração e manutenção dos equipamentos.
Parâmetros importantes
Em Voz sobre IP, os parâmetros que mais degradam a qualidade da conversação são o
atraso, a perda de pacotes, o jitter (variação do atraso) e a banda disponível para as cha-
madas. Esses quatro parâmetros devem ser medidos e monitorados constantemente. Todos
concordam sobre os parâmetros que causam problemas em VoIP, mas muitos discordam
sobre os valores limites que a rede deve apresentar.
Manter estes parâmetros dentro dos intervalos indicados é condição necessária para
manter a qualidade das ligações realizadas pela rede IP. Outra característica relevante que
contribui para o atraso fim-a-fim é o tempo que um codec leva para codificar e decodificar
194
fluxos de vídeo ou áudio. Os tempos de (de)codificação estão fortemente ligados à capaci-
dade de processamento das máquinas em que estão sendo executados.
A Tabela 10.1 apresenta uma análise comparativa dos tempos (em milissegundos) que se
leva para traduzir codecs de voz em um servidor Asterisk, Pentium IV 2,26 GHz e 512 MB de
memória RAM.
g723 gsm ulaw alaw g726 adpcm slin lpc10 g729 ilbc
g723 - 14 12 12 14 12 11 17 20 28
gsm 12 - 2 2 4 2 1 7 10 18
ulaw 12 4 - 1 4 2 1 7 10 18
alaw 12 4 1 - 4 2 1 7 10 18
g726 12 4 2 2 - 2 1 7 10 18
adpcm 12 4 2 2 4 - 1 7 10 18
Tabela 10.1
Atraso (em slin 11 3 1 1 3 1 - 6 9 17
milissegundos) para
tradução entre lpc10 13 5 3 3 5 3 2 - 11 19
codecs. Formato
Fonte (linhas) – g729 13 5 3 3 5 3 2 8 - 19
Formato Destino
(colunas). ilbc 24 16 14 14 16 14 13 19 22 -
Além de ilustrar os tempos de que cada codec precisa, a Tabela 10.1 também mostra que
determinado codec A precisa de mais tempo para traduzir para B do que para outro codec C,
e que o tempo de tradução de um codec A para um codec B não é necessariamente o
mesmo tempo da tradução de B para A.
Por exemplo, para traduzir de ulaw (G.711, Lei-µ) para G.729, são necessários 10 ms; para
traduzir de G.729 para ulaw o tempo necessário é de 3 ms.
o usuário como ligações de baixa qualidade e pacotes na voz, pois faz extrapolar os níveis
aceitáveis de perda, jitter e latência.
Quando o congestionamento ocorre por conta de rajadas de tráfego de dados, sendo este
um tráfego legítimo e indispensável, é possível definir regras de QoS que priorizam o tráfego
195
de voz. Neste caso, dependendo da quantidade e intensidade das rajadas, o tráfego de
dados pode experimentar atrasos e taxas de perda maiores para que a qualidade da voz se
mantenha aceitável. Provavelmente, isto aumentará a sensação de congestionamento para
os usuários dos serviços de dados.
Caso o enlace em questão seja um acesso à internet, só faz sentido priorizar o tráfego de
voz na saída da rede para a internet. Não há como controlar o tráfego de entrada na rede
interna, pois não se tem administração sobre os roteadores da internet. Uma análise inicial
poderia afirmar que regras de policiamento aplicadas na entrada da internet não surtem
efeito. Entretanto, como boa parte das conexões de dados é realizada utilizando o protocolo
de transporte TCP, o controle ou policiamento de tráfego de entrada pode sim surtir efeito
positivo, já que o TCP possui controle de fluxo embutido em seu mecanismo de transporte
de dados. Infelizmente, este raciocínio não se aplica ao tráfego UDP, que não possui controle
de fluxo. De qualquer forma, se este for o caso, a indicação para resolver o problema é
também contratar mais banda da operadora.
Para enlaces Frame Relay, ainda muito comuns no Brasil, que estejam com ocupação
próxima à saturação existem duas recomendações principais: 1) compressão de cabeçalho
e; 2) fragmentação e interposição de pacotes.
Compressão de cabeçalho
11 Redução de 40 para 5 bytes. q
11 Economia de cerca de 50%, dependendo do codec.
IP/
UDP/ Payload
RTP Figura 10.1
Compressão de
2-5 bytes cabeçalho.
A compressão de cabeçalho precisa ser estabelecida a cada salto (hop), o que faz aumentar
o tempo de processamento total na transmissão fim-a-fim do pacote. Seu uso é indicado
Serviço fone@RNP
196
Fragmentação e interposição de quadros
11 Diminui o tempo de espera dos pacotes (tempo de serialização). q
11 Reduz o jitter.
11 Aumenta o overhead.
Antes
VOZ Dados
Depois
Figura 10.2
Fragmentação e
interposição.
Dados Dados VOZ Dados
A Tabela 10.2 mostra uma relação de valores ótimos para tamanho do fragmento de acordo
com a velocidade do enlace, para atraso de serialização de 10 ms.
64 kbps 80 bytes
Tabela 10.2
Tamanho do 256 kbps 320 bytes
fragmento de
512 kbps 640 bytes
acordo com a
velocidade do
1536 kbps (full T1) 1600 bytes
acesso (adaptado
de tabela obtida no
2048 kbps (full E1) 1600 bytes
site da Cisco).
197
Modelos de QoS
11 Integrated Services – reserva de recursos na rede. q
11 Differentiated Services – marcação e priorização de tráfego.
Os recursos da rede para encaminhamento dos pacotes são limitados. Existem alguns
modelos de QoS para minimizar os efeitos dessa limitação ou para garantir que determi-
nado fluxo atravesse uma rede e chegue do outro lado com a qualidade desejada.
11 Controle de admissão: determina que um fluxo pode ser encaminhado com o grau de
qualidade requerido sem interferir em fluxos que já estejam em curso;
11 Policiamento: age, inclusive descartando pacotes, quando o tráfego não está em confor-
midade com o especificado;
O modelo IntServ possui uma séria desvantagem. O RSVP requer muita memória nos rote-
adores. É necessário manter o estado de diversas conexões simultaneamente. A consequ-
ência desse problema é a dificuldade em escalar para redes muito grandes tornando-se
impraticável na internet.
11 Modelador: atrasa ou descarta alguns pacotes para que o tráfego fique em conformidade
com o projeto.
198
Medidor
P2
Pacotes Modelado
Descartado
Figura 10.3
Bloco de
condicionamento
de tráfego.
Para alcançar o objetivo de encaminhar pacotes de diferentes classes e, portanto, com dife-
rentes prioridades, são necessárias duas ações principais: 1) marcação dos pacotes, usando
o campo ToS do cabeçalho IP e; 2) PHB (Per Hop Behavior), que define um comportamento
diferente a cada salto do pacote, ou seja, a cada roteador.
Marcação de pacotes
O campo Type of Service (ToS) do cabeçalho IP foi redefinido na RFC 2474 e agora é chamado
de Differentiated Services (DS). Consiste de 6 bits utilizados para classificação do fluxo
e mais 2 bits reservados e não utilizados. Os 6 bits substituem os 3 bits que antes era
chamado de IP Precedence e passa a ter o nome de DiffServ Code Point (DSCP). Este campo
é utilizado para marcar um pacote de acordo com sua classificação, que pode assumir até 64
(26) valores distintos. A Figura 10.4 mostra o exposto.
0-2 6-7
Precedência
Campo TOS Não usado
do IP
Cabeçalho IP
Byte TOS
Capítulo 10 - QoS e Troubleshooting
antes de DiffServ
Cabeçalho IP
Campo DS
após DiffServ
Figura 10.4
Cabeçalho IP
antes e depois
do DiffServ. DSCP ECN
0-5 6-7
199
Per Hop Behavior
Uma vez que os pacotes são marcados, os roteadores devem encaminhá-los de acordo com
regras pré-estabelecidas. Dependendo de suas classes, um pacote terá maior ou menor
prioridade na fila de saída de cada interface de rede.
11 Pacotes com prioridade Expedit Forwarding (EF) são imediatamente enviados para a
rede. A classe EF está descrita na RFC 2598.
11 Pacotes com prioridade Assured Forwarding (AF) possuem 4 classes distintas, são enfilei-
rados e encaminhados de acordo com a política de enfileiramento. Pacotes da classe AF4
têm maior prioridade que pacotes da classe AF1. Dentro de cada classe, ainda existe uma
marcação conhecida como “three colour marking” ou marcação de três cores, que definem
a probabilidade de descartar pacotes dentro de cada fila. Assim, existem 12 classes AF
distintas, que vão desde a AF41 até AF13. As classes AF estão descritas na RFC 2597.
11 Pacotes com prioridade padrão, também chamados de Best Effort (BE), possuem a menor
prioridade e serão encaminhados depois de todas as outras classes, se houver recursos
para isso. A classe BE está descrita na RFC 2474.
A Tabela 10.3 ilustra a relação entre as diferentes classes de serviço, o campo DSCP e a
correspondência com o antigo campo IP Precedence e com o campo equivalente em redes
MPLS. A tabela ainda mostra três possibilidades de se obter uma classe de serviço menor
que o Best Effort.
Tabela 10.3
Enfileiramento Relação entre DSCP
e IP Precedence
As técnicas de enfileiramento são utilizadas para encaminhar os pacotes na interface de em ordem de
saída do roteador de acordo com as marcações do pacote. prioridade.
11 First In, First Out (FIFO): este é o mais simples dos algoritmos de enfileiramento. Como o
próprio nome sugere, o primeiro pacote que entra na fila é o primeiro a sair dela.
Serviço fone@RNP
11 Strict Priority (SP): o algoritmo Prioridade Estrita foi desenhado para aplicações de
tempo real. A fila com maior prioridade é checada e se houver algum pacote, ele é
enviado. Quando a fila SP estiver vazia, o algoritmo procura por pacotes na próxima fila.
Assim que chega um pacote na fila SP, o algoritmo volta a esvaziar esta fila e repete o
processo. Também é conhecido como Low Latency Queue (LLQ) ou fila de baixa latência.
200
11 A desvantagem deste método é a possibilidade das outras filas sofrerem um fenômeno
chamado de starvation, quando elas podem nunca ser atendidas por sempre haver
pacotes na fila SP.
11 Weighted Round-Robin (WRR): este algoritmo escalona todas as filas e quando chega ao
final volta para a primeira, mas como as filas têm pesos, o algoritmo envia uma quanti-
dade de dados maior ou menor de acordo com o peso de cada fila. Também é conhecido
como Weighted Fair Queuing (WFQ) ou enfileiramento justo com pesos.
De forma geral, uma maneira comum de se modelar as classes de serviço em uma rede é
utilizar a fila LLQ ou prioridade estrita para tráfegos marcados com DSCP EF, normalmente
tráfego de voz, mais algumas filas WFQ ou WRR para pacotes com marcação DSCP AFxy para
vídeo, sinalização e outros serviços importantes, e BE para o tráfego comum de internet.
Medindo o QoS
11 Mean Opinion Score (MOS) – Modelo subjetivo. q
11 Modelo E (E Model) – Modelo objetivo.
Não integra o escopo deste curso o aprofundamento sobre métodos de medição de QoS; entre-
tanto, se faz necessária uma apresentação mínima dos padrões de medição mais comuns.
O MOS é comumente conhecido pela escala de qualificação padronizada pela ITU-T, que
pode ser baseada na qualidade ou na degradação do fluxo a ser qualificado. A escala de qua-
lidade, a metodologia e a preparação do ambiente para determinação do MOS está descrita
na recomendação ITU-T P.800, que também descreve os testes recomendados.
5 Excelente Imperceptível
Capítulo 10 - QoS e Troubleshooting
201
Modelo-E
Obviamente, a qualidade (ou a falta dela) na comunicação digital é causada por parâmetros
mensuráveis. Dentre os fatores que definem a qualidade de um fluxo multimídia pode-se
destacar o codec utilizado, a perda de pacotes, a latência, o jitter, a vazão e ocupação do
enlace e o poder de processamento do servidor e do receptor.
O Modelo-E, apresentado pelo ETSI na proposição ETR 250 e padronizado pela ITU-T G.107
(40), é um método de medida de qualidade que leva em consideração parâmetros da rede e
do ambiente para inferir a qualidade das ligações, expressas pelo valor do Fator R, que varia
de 0 (péssimo) a 100 (ótimo).
De acordo com a recomendação G.113 (41), “profissionais que planejam redes e serviços
preocupados com desempenho fim-a-fim da transmissão da voz podem usar os fatores de
degradação com o Modelo-E para definir os efeitos da introdução das tecnologias de proces-
samento da voz”.
For 0 < R < 100: MOS = 1 + 0.035R + R(R − 60)(100 − R) x 7 x 105 MOS = 1 + 0.035R + R(R − 60)(100 − R) x 7 x 10
−6
80 4,03 Satisfeito
Firewall e NAT
11 Canal de controle da chamada, diferente dos canais de mídia. q
11 Canais de mídia são negociados dinamicamente.
11 Firewalls precisam examinar até o nível de aplicação (nível 7) para identificar portas.
estamos considerando apenas casos em que a porta para estabelecimento e controle das
chamadas esteja aberta.
202
Como vimos em capítulos anteriores, o SIP inicia uma chamada de voz ou vídeo enviando
uma mensagem INVITE para seu proxy ou diretamente para seu interlocutor. Durante o
estabelecimento da chamada, além do tipo de mídia e dos codecs que serão utilizados na
conversação, os parceiros utilizam o protocolo SDP para negociarem também os endereços
IP e as portas UDP em que estarão ouvindo a espera dos fluxos de áudio e vídeo. Assim,
para telefonia, são criados mais dois canais para transporte do áudio da ligação, um canal
para cada sentido, do chamador para o chamado e vice-versa.
Este problema se apresenta para o usuário de duas formas. A ligação sempre é estabelecida
normalmente, mas 1) um dos lados não escuta o outro ou; 2) nenhum dos lados se escutam.
Abaixo, a figura ilustra a segunda situação.
Canal de controle
Áudio
Existem diversas formas para tentar minimizar ou resolver este problema. Uma prática muito
comum é configurar os telefones e proxies para que o fluxo de áudio no sentido contrário seja
enviado utilizando o mesmo par de portas do sentido de dentro para fora do NAT, simulando
um canal duplex. Além disso, também é possível utilizar um mecanismo conhecido como
STUN para que o conteúdo do SDP seja completado com o endereço IP com que o cliente SIP/
H323 é visto pelo lado de fora da rede ao invés do endereço IP real da máquina. Normalmente,
estas técnicas são utilizadas em conjunto, mas nem sempre com o sucesso esperado.
Não é difícil encontrar soluções de firewall compatíveis com SIP e H.323. No Linux, já existem
Capítulo 10 - QoS e Troubleshooting
Um Media Proxy é um equipamento que deve ser posicionado entre a rede interna e a rede
externa, como uma ponte entre as duas redes. Dessa forma, ele precisa ter uma interface na
rede externa, com um endereço IP roteável pela internet, e outra interface na rede interna,
sem tradução de endereço. Ele funciona copiando (e, às vezes, traduzindo) o fluxo de áudio de
um lado para outro da rede, mantendo protegida a rede interna, isolando-a da rede externa.
203
Uma vantagem da utilização de Media Proxies é que não deve ser necessário realizar qual-
quer modificação no firewall. Toda configuração é feita no sistema de telefonia.
Canal de controle
Áudio
Figura 10.6
Canais de
comunicação
com utilização do
Media Proxy.
Troubleshooting
Os últimos oito capítulos apresentaram a estrutura e os softwares que formam o serviço
VoIP do fone@RNP. No intuito de manter os serviços ativados, o administrador deverá
preocupar-se com a manutenção da estrutura e dos softwares para assim obter a alta dispo-
nibilidade do serviço VoIP local.
Dependências
Serviço fone@RNP
O OpenSER possui como dependência de outros softwares para a sua execução. Possui
dependência do RADIUSClient-NG, FreeRADIUS e do OpenLDAP para a realização da autenti-
cação e autorização dos usuários VoIP. O PostgreSQL é o sistema de banco de dados utilizado
pelo OpenSER e caso a conexão seja perdida o OpenSER é encerrado automaticamente.
A permissão do proxy da mídia nas chamadas tratadas pelo OpenSER depende do MediaProxy.
204
Gateway Asterisk
A avaliação do gateway Asterisk deverá ser feita sempre que há problemas de chamadas
entre o ambiente VoIP e ramais do PBX. O gateway encontra-se na máquina 2 e para identi-
ficar se ele está em execução utiliza-se o seguinte comando:
11 zap show channels: mostra os canais configuradores do canal ZAP e seus status;
Dependências
O Asterisk depende exclusivamente do OpenSER para encaminhar a chamada para o
ambiente VoIP; do PostgreSQL para manter os registros armazenados na base de estatís-
tica, do driver Zaptel para se comunicar com a interface VoIP e com a conexão com o PBX. O
driver Zaptel possui a ferramenta ztscan que identifica o status da interface VoIP e o status
da conexão com o PBX.
205
Serviço fone@RNP
206
Roteiro de Atividades 10
Atividade 10.1 – Troubleshooting
O objetivo da prática de troubleshooting é analisar o ambiente da instituição, identificar os
problemas no serviço local e corrigi-los. Nesta etapa, utilizando a arquitetura do serviço já
implantada, o grupo deverá realizar os seguintes passos:
Problema 1
Problema 2
207
Problema 3
Problema 4
Problema 5
208
Problema 6
;TOS= 0xb8
0xb8 indica que o campo Qos/ToS/DSCP de cada pacote IP será enviado com o valor 184
(0xb8) de expedited forwarding. Após esta alteração, reinicie o MediaProxy com o comando:
/etc/init.d/mediaproxy restart
209
Serviço fone@RNP
210
Bibliografia
11 RFC 3261.
Bibliografia
211
Serviço fone@RNP
212
Thiago Maluf é bacharel em Ciência da Computação pela
UFRJ com certificaçãoDébora Christina
DCAP pela Digium, Muchaluat
atuante naSaade
área deé
desenvolvimento de professora associada doprincipalmente
aplicações multimídias, Departamento
no setor de telefonia de Ciência da
IP. Bolsista no Computação
Laboratório de daVoz
Universi-
sobre
IP da UFRJ, participoudade Federaldo
da criação Fluminense (UFF). É enge-
projeto fone@RNP. Atu-
nheira de computação formada
almente é sócio e gerente de projetos da empresa presta- pela
dora de serviços, CAM PUC-Rio e possui
Tecnologia. mestrado
A CAM e doutorado
Tecnologia, hoje,
em informática
é a empresa mantenedora do serviçopela mesmaofertando
fone@RNP, universi-
dade. É bolsista
suporte de produtividade
e ampliação do serviço. em Desenvolvimento Tec-
nológico e Extensão Inovadora pelo CNPq e foi Jovem
Cientista do Estado do Rio de Janeiro pela Faperj. Suas áreas
de pesquisa são redesAlex Galhano Robertson
de computadores, é Enge-
redes sem fio, siste-
nheiro TV
mas multimídia e hipermídia, de digital
Telecomunicações (2005)
interativa e telemedi-
e Mestre
cina. Já coordenou diversos (2010)
projetos em Engenharia
de pesquisa financiadosde
redes, ambos pela Universidade
pelo CNPq e Faperj e foi coordenadora do projeto piloto Edu- Fede-
ral Fluminense
roam-br, financiado pela (UFF).
RNP e realizado emÉparceria
professor
comde a
cursos de VoIP e tecnologias afins
UFMS, UFRJ e diversas outras instituições, implantando o ser- em
viço piloto eduroam no cursos
Brasil.extracurriculares na UFF e par-
ticipa de projetos de instalação de infraestrutura de redes
IP. Coordena projetos de desenvolvimento e instalação de
sistemas para troca de Ricardo
tráfegoCampanha Carrano é enge-
VoIP entre universidades do
nheiro de
Brasil e entre redes nacionais de telecomunicações formado
outros países. Participa ati-
vamente em projetosem 1995 pela Universidade
de modernização de sistemas de Federal
tele-
Fluminense.
fonia, de integração voz, Em 2008,
vídeo e dados e deobteve o título
otimização de
de Mestre em Engenharia de Teleco-
recursos de telecomunicações.
municações pela mesma instituição
e atualmente cursa o doutorado em
Computação, também na UFF, onde atua como Professor
do Departamento de Engenharia de Telecomunicações. Foi
empresário e participou da implantação de provedores de
acesso no início da Internet comercial no Brasil, em 1995.
Atuou como Engenheiro de Redes para a ONG internacio-
nal One Laptop per Child (OLPC) e já participou de diversos
projetos de pesquisa financiados pela RNP, pelo MEC e por
empresas privadas.
Serviço
redes, ambos pela Universidade Fede- O curso tem por objetivo capacitar profissionais das insti- Saúde (MS) e da Cultura (MinC).
ral Fluminense (UFF). É professor de
fone@RNP
ticipa de projetos de instalação de infraestrutura de redes
IP. Coordena projetos de desenvolvimento e instalação de de instalar, operar e manter em sua instituição o conjun- rede Ipê, a rede óptica nacional
Serviço fone@RNP
sistemas para troca de tráfego VoIP entre universidades do to de servidores que constituem a rede de VoIP da RNP. acadêmica de alto desempenho.
Brasil e entre redes nacionais de outros países. Participa ati-
vamente em projetos de modernização de sistemas de tele- Este livro inclui os roteiros das atividades práticas e o con- Com Pontos de Presença nas
fonia, de integração voz, vídeo e dados e de otimização de
teúdo dos slides apresentados em sala de aula, apoiando 27 unidades da federação, a rede
recursos de telecomunicações.
profissionais na disseminação deste conhecimento em tem mais de 800 instituições
suas organizações ou localidades de origem. conectadas. São aproximadamente
3,5 milhões de usuários usufruindo
Ministério da
Cultura
Ministério da
Saúde
Ministério da
Educação
9 788563 630285