Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
de voz
Abstract. Este artigo descreve o estudo e avaliação dos protocolos SIP e IAX, através de verificações de
qualidade do áudio em ligações VoIP. Essa análise foi realizada definindo uma estrutura que representa as
chamadas VoIP no simulador Network Simulator e, após a simulação das ligações, empregou-se método de
avaliação de qualidade PESQ.
Pertencente a classe de sinalização, o protocolo SIP prática, o encapsulamento no RTP ocorre através
teve seu projeto iniciado em 1996 por Henning protocolo UDP com configurações de portas negociadas
Schulzrinne (Columbia University) e Mark Handley antes do início da transmissão dos dados. Destaca-se ainda
(University College London), sendo especificado em que o RTP não garante a entrega de dados, pois a técnica
conjunto ao IETF (Internet Engineering Task Force), que de retransmissão causa atrasos subseqüentes a pacotes
mantém a última versão (RFC3261 [Rosenberg et al. reenviados.
2002]). Localizado na camada de aplicação da pilha O cabeçalho empregado pelo protocolo RTP contém
TCP/IP, o SIP foi modelado para ser independente da em sua estrutura básica 12 bytes, podendo aumentar caso
camada de transporte, verificando e retransmitindo necessite de sincronização de múltiplos canais de dados,
mensagens tanto sobre TCP como UDP. como exigido por sons stereo, ou transmissão de áudio e
Apresentando uma estrutura de rede dividida em vídeo. Os principais campos dispostos pelo cabeçalho
clientes e servidores, o protocolo SIP realiza troca de RTP são o tempo relativo de variação do pacote e número
mensagens utilizando quatro tipos de entidades lógicas: de seqüência. Estes contribuem respectivamente para
User Agents(UA), Redirect Servers, Registrars e Proxy reordenação e controle de pacotes perdidos.
Servers. O protocolo RTP apresenta dificuldades ao trabalhar
Em uma chamada estabelecida pelo protocolo SIP, os em conjunto a protocolos VoIP quando clientes tentam se
User Agents (UA) representam os elementos envolvidos comunicar através de alguns tipos de NAT (Network
na comunicação. Estes subdividem-se em User Agent Address Translation) [Khlifi et al. 2006]. O NAT, forma
clients, os quais são responsáveis pela geração de com que endereços de rede não-roteáveis conseguem se
requisições e User Agente Servers, os que encarregam-se comunicar com endereços de rede válidos, foi
de responder aos clientes. Os Proxy Servers são desenvolvido devido ao número limitado de endereços IP
roteadores da camada de aplicação e fazem a comunicação previsto no IPV4 [Tanenbaum 1999]. Todavia, apenas as
entre os User Agents de forma indireta, transladando classes de endereços em redes locais definidas pelas
requisições e respostas. Os Redirect Servers atuam apenas regras da RFC1918 [Rekhter et al. 1996] e IANA (Internet
redirecionando pedidos a específicos Proxy Servers, Assigned Numbers Authority) são permitidas.
informando aos clientes o endereço da nova rota. Os O problema no uso do RTP em aplicações VoIP
Registrars gerenciam dados de endereços referentes aos acontece nos tipos de NAT symmetric e restricted
UA, para que Proxies possam localizar informações [Rosenberg et al. 2003, Khlifi et al. 2006]. Como o
durante o estabelecimento de chamadas. protocolo RTP escolhe dinamicamente uma porta para a
As mensagens trocadas pelo protocolo SIP são transferência de dados, quando um elemento da rede
baseadas em texto e sintaxe similar a do HyperText interna inicia uma troca de mensagens RTP com um
Transfer Protocol (HTTP), onde a linha inicial de cada dispositivo localizado em um endereço externo, seus
mensagem a classifica em método ou resposta. Os dados de endereço e porta são armazenados na tabela
métodos são padrões de solicitações aplicados na NAT. Entretanto, quando um indivíduo externo tenta
determinação de funcionalidades. As respostas são iniciar a troca de mensagens RTP com um endereço da
indicadores de resultados às requisições efetuadas e rede interna, se a porta utilizada na transmissão não
baseiam-se em códigos numéricos inteiros de três dígitos, estiver armazenada na tabela, não é possível relacionar o
sendo que o primeiro dígito do código define a classe de endereço interno com a porta de chegada de dados. Para a
respostas e os últimos dois a categorização da regra solução desses problemas, algumas técnicas foram
[Zhang 2002]. desenvolvidas, inclusive o surgimento do protocolo VoIP
Para a realização da transferência de dados de mídia, IAX.
o SIP recorre à protocolos específicos de tráfego de voz, O protocolo Inter Asterisk eXchange (IAX) [Spencer
os quais realizam o transporte desses dados quando a and Miller 2006], localizado na camada de aplicação da
chamada já está estabelecida. Dessa forma, o padrão pilha TCP/IP, ocupa a terceira posição na lista de
estabelecido pelo SIP utiliza o Real Time Transport protocolos VoIP mais utilizados atualmente e tem sido
Protocol (RTP) [Group et al. 1996]. procurado e estudado nos últimos anos tanto na área
O nome Real Time Transport Protocol indica um acadêmica quanto por empresas de equipamentos VoIP
protocolo da camada de transporte, ou seja, que é [Abbasi and Prasad 2005].
armazenado diretamente a pacotes IP. Entretanto, na
3
A criação do protocolo IAX teve inicio com Mark cabeçalho específico para este fim. Os mini-frames
Spencer no desenvolvimento de uma solução própria de limitam-se ao uso do campo de timestamp com apenas 16
um sistema de telefonia privada, o Asterisk [ast 2006]. bits de tamanho, diferentemente do dos 32 bits definidos
Percebendo a carência de hardware no mercado para pelos full-frames e RTP, otimizando o uso da banda.
aplicação efetiva do sistema Asterisk, Spencer criou a Desta maneira, como são muitas as variáveis
Digium, empresa responsável pela fabricação de placas e consideradas no problema de verificação da qualidade das
aparelhos. Hoje a Digium é uma provedora de soluções ligações, são necessárias técnicas para mensurar a
em telefonia e se dedica a vender hardware, custeando o qualidade do áudio trocado durante as chamadas.
desenvolvimento do projeto open source Asterisk.
Com o propósito de definir um modelo de 3 Medidas de Qualidade
comunicação entre vários servidores Asterisk, a criação do
protocolo IAX se baseia em experiências relacionadas a Mensurar qualidade de áudio é considerado um
outros protocolos VoIP, mostrando conceitos diferentes, procedimento subjetivo, pois o entendimento da
tais como a multiplexação de dados de mídia, sinalização mensagem de voz depende da capacidade auditiva de cada
através do mesmo canal, provendo transparência em NAT pessoa. Dessa forma, procedimentos devem ser seguidos
e simplificando configurações de firewall. O protocolo para que valores relacionados a qualidade de chamadas
IAX está atualmente na versão 2 e utiliza a porta 4569 VoIP sejam comparados. Para isso, as análises das
sobre a camada de transporte UDP. propriedades de comunicações VoIP consideram
problemas como: atraso, jitter, perda de pacotes e eco.
Dividindo-se basicamente em clientes e servidores, o
Objetivando quantizar a qualidade de voz em ligações,
protocolo IAX não contém em sua documentação um
foram desenvolvidos métodos classificados globalmente
padrão lógico bem definido sobre servidores como o
como subjetivos e objetivos.
protocolo SIP, sub-entendendo-se que todos os padrões
são agrupados em um único servidor. A avaliação da qualidade das ligações através de
métodos subjetivos fundamentalmente se resumem a
As mensagens trocadas pelo protocolo IAX são feitas
gravações de amostras de som, as quais são ouvidas e
de forma binária, o que o torna vantajoso quanto ao uso
avaliadas por pessoas, após passarem por diversas
mais eficiente da largura de banda. Também evita-se o
condições de comunicação. Utiliza-se como medida
emprego de analisadores sintáticos utilizados nas
padrão o Mean Opinion Score (MOS), desenvolvido pela
mensagens textuais, que podem sofrer ataques de buffer
ITU [ITU-T 1996], o qual associa a percepção do som
overflow dependendo da implementação [Zhang 2002].
observado pelo ouvido humano com a escala numérica de
Entretanto, destaca-se que mensagens binárias devem ter
1 a 5, onde 5 é a qualidade máxima.
campos bem definidos para armazenamento dos dados.
Métodos de avaliação subjetiva apresentam
Enquanto o SIP necessita de estabelecimento de um
desvantagens pois dependem da experiência, humor e
novo canal lógico através do protocolo RTP para a
cultura dos avaliadores, o que pode fazer com que a
transferência de dados de mídia, o IAX tem a capacidade
opinião sobre o mesmo áudio seja divergente . Além de
de transferir os dados através do mesmo canal
serem bastante custosos pela necessidade do uso de salas
estabelecido na sinalização da chamada, evitando
especiais e fatores de ambiente controlados, também
problemas de NAT.
exigem uma quantidade de pessoas para obtenção de
Para prover todo o mecanismo de multiplexação de resultados verídicos.
mensagens de mídia e sinalização, além de otimizar o
De forma a solucionar os problemas decorrentes dos
consumo de banda, outros formatos de mensagens
métodos subjetivos, tais como os altos custos para a
classificadas como frames são definidos pelo protocolo
realização de análises e a não possibilidade de avaliação
IAX. Os chamados full frames são responsáveis pela
durante a realização das chamadas, os métodos objetivos
transmissão de dados de sinalização, podendo ser
medem a qualidade das ligações através de cálculos de
utilizados também para o transporte de mídia, apesar de
valores que representam diferentes fatores prejudiciais,
causar maior consumo de banda em relação a outras
combinados a parâmetros da comunicação. A meta dos
alternativas por definir parâmetros não utilizados a essa
métodos objetivos é alcançar resultados próximos aos
aplicação.
valores de MOS obtidos em testes subjetivos.
A classe de mini frames é a que possui o melhor
desempenho no transporte de dados de mídia pois tem um
4
Os métodos objetivos são categorizados em intrusivos Enumeradas de um a oito e divididas em duas áreas,
e não intrusivos. Os métodos não intrusivos fazem a simulação e análise de qualidade, as etapas seguidas no
avaliação durante a ocorrência das chamadas, tornando fluxograma são descritas na seqüência:
prescindível a utilização dos dados originais. Por outro
lado, os métodos intrusivos fazem uso da comparação dos
dados originais com as amostras obtidas nas ligações.
Os métodos intrusivos utilizam normalmente duas
amostras para fazer a avaliação: a primeira contendo
dados originais obtidos antes da transmissão e a segunda
dados degradados pela transmissão. O método intrusivo
considerado mais fiel à análises subjetivas é o Perceptual
Evaluation of Speech Quality (PESQ) [Rix et al. 2001]. O
padrão P.862 desenvolvido pela ITU-T [ITU-T 2001],
surge como uma união entre as melhores características de
outros dois métodos de análise objetiva intrusiva:
Perceptual Analysis Measurement System (PAMS) e
Perceptual Speech Quality Measure (PSQM), sendo
aplicado na verificação de codificadores, otimização de Figura 1: Etapas percorridas para medição da
equipamentos e monitoramento de redes. qualidade em cada execução de simulação.
Como as análises comparativas de qualidade entre os
protocolos SIP e IAX foram realizadas pela técnica de Etapa 1: Neste primeiro passo, são definidos cenários
avaliação de desempenho denominada simulação, foi e os parâmetros utilizados em cada cenário
desenvolvida uma metologia capaz de efetuar e,
posteriormente, examinar as chamadas geradas no Etapa 2: O cenário definido anteriormente é
ambiente fictício. executado no Network Simulator, que por sua vez,
armazena em arquivo texto com formatação
própria, informações correspondentes a todos os
4 Metodologia
pacotes trocados na simulação VoIP.
A metodologia empregada na realização dos experimentos
Etapa 3: Os dados resultantes da simulação são
baseou-se na criação de um ambiente de testes flexível à
importados na base de dados neste momento. O
manipulação de cenários e parâmetros. Tais
mesmo padrão de formatação adotado no arquivo
procedimentos fazem uso fundamentalmente das
de texto é empregado no armazenamento.
tecnologias de base de dados, a qual atua como
centralizador de informações pois, além de armazenar e Etapa 4: Este passo é realizado dentro da base de
processar dados gerados nas simulações, ainda guarda os dados. A partir de dados brutos importados pela
resultados obtidos pelo PESQ, facilitando a geração dos etapa 3, são calculados e armazenados os tempos
relatórios de resultados. Como pode ser observado na de envio, recebimento e caminhos sobre todos os
figura 1, existe uma divisão de duas áreas de estudos pacotes trocados na simulação.
específicos. A primeira, classificada como simulação, Etapa 5: Com a utilização de um arquivo de áudio
concentra informações relacionadas aos protocolos SIP e compatível com as variáveis aplicadas às
IAX e suas implementações no ambiente do Network simulações e às informações geradas no banco de
Simulator. A segunda, nomeada de análise de qualidade, dados pela etapa anterior, a execução do
trabalha basicamente com manipulação de dados de mídia nsTraceVoIP é iniciada. O aplicativo então gera
contínua em sistemas de tempo real. Como as etapas um segundo arquivo de áudio a partir do arquivo
apresentadas estão bem segmentadas, o modelo de referência e dos dados obtidos pela
empregado torna-se flexível e expansível a aplicações de comunicação VoIP simulada.
futuros trabalhos.
Etapa 6: O arquivo com defeitos gerado pela etapa
A figura 1 ilustra os passos percorridos na execução anterior é comparado ao de referência através do
de cada modificação nas variáveis do cenário para
mensurar a qualidade das simulações.
5
aplicativo [ITU-T 2001] fornecido pela própria 4.2 Análise da qualidade das simulações
ITU que implementa o algoritmo PESQ.
Para que as simulações representassem pacotes de sons foi
Etapa 7: O resultado obtido pelo PESQ é armazenado necessário o uso de arquivos no formato G.711 [ITU-T
no banco de dados em conjunto com os parâmetros 1988] pois, neste tipo de codificação, existe a
empregados na simulação para que futuras correspondência direta entre fragmentos de áudio e dados
consultas possam ser realizadas. trafegados na comunicação. Desta maneira, cada pacote
obtido nas simulações representa um fragmento de som
Para a simulação das chamadas VoIP foi utilizada a também codificado no formato G.711, o que aproxima os
ferramenta Network Simulator, a qual é um simulador de eventos sofridos pelos pacotes de áudios simulados aos
eventos discretos que possibilita simulações aplicadas a aplicados em sistemas reais.
protocolos de rede, roteamento sobre redes locais, áreas
distribuídas, sem fio e via satélite. Como o som de referência será alterado tendo como
base os resultados da simulação, a forma mais
Embora o Network Simulator mantenha em seu simplificada para obtenção de resultados de qualidade
repertório um número elevado de protocolos de aplicação, deve seguir o modelo do método objetivo intrusivo PESQ,
os protocolos SIP e IAX não foram encontrados em suas este que apresentou resultados mais precisos quando
listas, bem como também não são fornecidos pelo comparado a outros modelos [Rix et al. 2001].
simulador ferramentas para medir a qualidade das
ligações, exigindo adaptações apresentadas nas seções 4.1 Para o procedimento de geração de arquivos de áudio
e 4.2. modificados com base nos resultados das simulações
VoIP foi desenvolvido o aplicativo nsTraceVoIP.
4.1 Simulação usando NS-2 O nsTraceVoIP essencialmente trabalha na geração
de arquivos de áudio que representem pacotes recebido
Várias pesquisas foram realizadas na literatura científica por clientes nas simulações VoIP executadas no Network
objetivando a busca por implementações dos protocolos Simulator. Para isso, um arquivo de som codificado em
SIP e IAX no simulador NS, onde encontrou-se o G.711 é fragmentado de acordo com a quantidade de bytes
algoritmo para simulação do protocolo SIP utilizado nos de dados armazenados em cada pacote das simulações.
trabalhos de Lulling e Vaughan [Lulling and Vaughan
2006].
Como não foram encontrados algoritmos que
capacitassem o NS para o gerenciamento de chamadas
IAX, tornou-se necessária a elaboração de um algoritmo
para a simulação e conseqüente análise de qualidade de
protocolo.
A criação do protocolo IAX seguiu os padrões
lógicos adotados pela camada de aplicação do algoritmo
SIP encontrado, ou seja, as definições sobre os elementos
de sinalização e transporte de mídia foram mantidas. Figura 2: Funcionamento do aplicativo NsTraceVoIP.
Porém foi inevitável a geração de estruturas lógicas para
criação, finalização e estabelecimento de chamadas e troca A figura 2 ilustra a maneira com que o algoritmo
de dados de mídia IAX. Afim de tornar as ligações IAX emprega a associação entre as partes resultantes da divisão
simuladas fiéis às reais, foram empregados cabeçalhos de um arquivo de som G.711 e os pacotes trocados na
obtidos a partir da divulgação do código do aplicativo simulação. Como a codificação G.711 utiliza 8000
Asterisk, tanto nas mensagens de sinalização quanto na amostras por segundo, a uma taxa de transmissão de
troca de dados de mídia. Para o acesso aos serviços da 64kbps1, os fragmentos de som da figura representam um
rede foram utilizados os agentes de rede que representam áudio de por 20ms e têm tamanho de 160bytes de dados.
o protocolo de rede UDP do simulador na implementação Adicionalmente, os pacotes obtidos nas simulações não
IAX. são compostos apenas dados de mídia (160bytes).
1
kilobytes por segundo.
6
Cabeçalhos IP, UDP e RTP ou mini-frames empregados único arquivo de áudio codificado em G.711 com 48
respectivamente para endereçamento e roteamento, segundos de duração, este obtido juntamente com a
transporte e transmissão de mídias contínuas, também são distribuição do algoritmo PESQ.
agrupados às mensagens. Para cada cenário, foram associadas categorias de
Para avaliar a fidelidade dos resultados fornecidos possíveis defeitos, possibilitando a verificação dos
pelo aplicativo, foram efetuados estudos sobre resultados causados por cada problema dentro do contexto
comportamento dos clientes VoIP no envio e recebimento das análises.
de dados de som. Esta análise trouxe modelos de
algoritmos que visam minimizar os efeitos causados pelo 5.1 Cenário 1
atraso e jitter, aumentando, assim a qualidade das
ligações. O cenário 1, ilustrado pela figura 3, faz uso apenas dos
elementos que implementam os protocolos SIP e IAX. Na
O esquema multi-buffer [Baratvand et al. 2008] foi o
intenção de simular problemas de perda de pacotes,
padrão mais simples encontrado, sendo então adicionado à
limitação da taxa de dados e atraso, três variações para
estrutura do nsTraceVoIP para manipular os pacotes
este cenário foram definidas.
recebidos pelos clientes SIP e IAX simulados.
A partir da estrutura criada para avaliação das
chamadas simuladas no NS, foi possível a definição de
cenários baseados em problemas relacionados às métricas
empregadas na medição da qualidade das ligações.
7 Conclusões
A partir dos problemas de perda de pacotes, limitação da
taxa de transferência, atraso e adição de ruído de fundo,
foi possível a comparação das ligações simuladas pelos
protocolos SIP e IAX.
Desta maneira, apesar do protocolo IAX ter
conseguido notas maiores de qualidade em determinadas
áreas de resultados nos problemas de atraso, limitação da
taxa de transferência e jitter, as análises estatísticas
Figura 7: Valores de médias PESQ obtidas a partir de consideraram que o áudio transportado pelos protocolos
variações de atraso tiveram a mesma qualidade na maioria dos experimentos.
As pequenas vantagens do IAX foram atribuídas ao uso
dos mini-frames, os quais empregam um cabeçalho 8
bytes menor que o RTP, protocolo de transporte utilizado
pelo SIP.
10
De uma maneira geral o protocolo SIP tem a mesma [ITU-T 1988]ITU-T (1988). ITU-T recommendation
eficiência de transporte de voz que o IAX. Apesar das G.711. Recommendation G.711, International
dificuldades relacionadas ao uso de NAT com o RTP, o Telecommunication Union.
protocolo SIP apresenta uma especificação e [ITU-T 1996]ITU-T (1996). P.800.1 - mean opinion score
documentação mais detalhada, o que facilita o seu uso (mos) terminology. Technical report, International
comercial e acadêmico. Telecommunication Union.
[ITU-T 2001]ITU-T (2001). ITU-T recommendation
8 Contribuições P.862. Recommendation P.862, International
Este trabalho teve como principais contribuições: Telecommunication Union.
[ITU-T 2004]ITU-T (2004). Definition of next generation
• Integração de três áreas de estudos distintas:
network. Technical report, International
protocolos VoIP, simulação e métodos de
Telecommunication Union.
avaliação de qualidade de voz.
[Kevin Fall 2007]Kevin Fall, K. V. (2007). The ns
• Implantação dos protocolos VoIP SIP e IAX no manual. http://isi.edu/nsnam/ns/doc/ns_doc.pdf.
contexto do simulador Network Simulator.
[Khlifi et al. 2006]Khlifi, H., Gregoire, J. C., and Phillips,
• Desenvolvimento de um aplicativo que representa J. (2006). Voip and nat/firewalls: issues, traversal
o funcionamento de um cliente VoIP, associando techniques, and a real-world solution.
pacotes de áudio trocados nas simulações NS a Communications Magazine, IEEE, 44(7):93–99.
fragmentos de arquivos de áudio codificados em [Lulling and Vaughan 2006] Lulling, M. and Vaughan, J.
G.711 (nsTraceVoip). (2006). A simulation-based comparative evaluation
• Criação de uma infra-estrutura modularizada, of transport protocols for sip. Computer
flexível à manipulação de cenários e parâmetros, Communications, 29(4):525–537.
capacitada para modificar, executar e analisar [Rekhter et al. 1996]Rekhter, Y., Moskowitz, B.,
simulações NS baseadas nos protocolos VoIP SIP Karrenberg, D., de Groot, G. J., and Lear, E. (1996).
e IAX. Desta forma, outras variáveis podem ser Address Allocation for Private Internets. RFC 1918
empregadas e estudadas. (Best Current Practice).
[Rix et al. 2001]Rix, A. W., Beerends, J. G., Hollier,
9 Referências M. P., and Hekstra, A. P. (2001). Perceptual
[ast 2006](2006). Asterisk. http://www.asterisk.org/. evaluation of speech quality (pesq)-a new method
for speech quality assessment of telephone networks
[int 2008](2008). Internet traffic report.
and codecs. In ICASSP ’01: Proceedings of the
http://www.internettrafficreport.com/.
Acoustics, Speech, and Signal Processing, 200. on
[Abbasi and Prasad 2005]Abbasi, T. and Prasad, S. IEEE International Conference, pages 749–752,
(2005). A comparative study of the SIP and IAX Washington, DC, USA. IEEE Computer Society.
voip protocols. In Canadian Conference on
[Rosenberg et al. 2002]Rosenberg, J., Schulzrinne, H.,
Electrical and Computer Engineering 2005,
Camarillo, G., Johnston, A., Peterson, J., Sparks, R.,
Saskatoon Inn.
Handley, M., and Schooler, E. (2002). SIP: Session
[Baratvand et al. 2008]Baratvand, M., Tabandeh, M., Initiation Protocol. RFC 3261 (Proposed Standard).
Behboodi, A., and Ahmadi, A. (2008). Jitter-buffer Updated by RFCs 3265, 3853, 4320, 4916, 5393.
management for voip over wireless lan in a limited
[Rosenberg et al. 2003]Rosenberg, J., Weinberger, J.,
resource device. Networking and Services, 2008.
Huitema, C., and Mahy, R. (2003). STUN - Simple
ICNS 2008. Fourth International Conference on,
Traversal of User Datagram Protocol (UDP)
pages 90–95.
Through Network Address Translators (NATs). RFC
[Group et al. 1996]Group, A.-V. T. W., Schulzrinne, H., 3489 (Proposed Standard). Obsoleted by RFC 5389.
Casner, S., Frederick, R., and Jacobson, V. (1996).
[Spencer and Miller 2006]Spencer and Miller (2006).
RTP: A Transport Protocol for Real-Time
Iax2: Inter-asterisk exchange version 2.
Applications. RFC 1889 (Proposed Standard).
http://www.ietf.org/internet-drafts/draft-guy-iax-
Obsoleted by RFC 3550.
02.txt.
11