Você está na página 1de 27

GT-VOIP Relatrio P4.1: Documento de Avaliao do Ambiente Experimental de VOIP durante o 4o. WRNP e 21o.

SBRC: Descrio, Resultados, Problemas

Paulo Henrique de Aguiar Rodrigues, Cesar Cavalheiro Augusto Marcondes, Fabio David, Joo Carlos Peixoto de Almeida da Costa

Junho de 2003

Este relatrio consiste da descrio e da anlise dos resultados do ambiente de demonstrao VOIP montado pelo GT-VoIP durante o Workshop da RNP e o Simpsio Brasileiro de Redes de Computadores em Natal, em maio de 2003.

RNP/REF/0204

Sumrio 1. Introduo........................................................................................................................................... 3 2. Infra-Estrutura Instalada ..................................................................................................................... 3 2.1. Equipamentos Utilizados ................................................................................................................ 4 2.2. Topologia Completa do Ambiente................................................................................................... 4 2.3. Softwares Envolvidos no Ambiente ................................................................................................ 8 2.4. Configurao de QoS nos Roteadores ......................................................................................... 14 3. Descrio do Servio........................................................................................................................ 15 4. Relatrios de Uso ............................................................................................................................. 16 4.1. Histrico da Utilizao do Ambiente ............................................................................................. 16 4.2. Estatsticas de Uso e Perfil do Trfego dos Gateways VOIP ....................................................... 17 5. Problemas Encontrados ................................................................................................................... 23 6. Concluses ....................................................................................................................................... 23 7. Anexos ............................................................................................................................................ 24

GT-VoIP Relatrio P4.1

1. Introduo Este relatrio tcnico descreve a implantao do servio experimental de telefonia e de voz sobre IP (VOIP), instalado para atender aos participantes do 4o. Workshop da Rede Nacional de Pesquisa (WRNP) e do 21o. Simpsio Brasileiro de Redes de Computadores (SBRC). Os dois eventos foram realizados no Hotel Pirmide em Natal, Rio Grande do Norte, em maio de 2003. O objetivo deste experimento foi realizar uma demonstrao do servio VOIP utilizando a estrutura da Rede Nacional de Pesquisa, com uma topologia idntica do futuro piloto a ser implementado pelo GT-VOIP, que envolver vrias instituies interligadas atravs da RNP2. Para a implantao do piloto VOIP necessrio a instalao de equipamento gateway, que conectar o PBX da instituio participante Internet. O piloto ir envolver diversas instituies e, no momento, estamos aguardando a chegada dos gateways que esto sendo adquiridos pela RNP. Com o uso de gateways emprestados pela Cisco, um instalado na UFRJ e o outro no hotel do evento, foi possvel avaliar as configuraes adequadas dos equipamentos envolvidos, bem como aspectos associados a segurana, qualidade de servio (QoS), plano de numerao e gerenciamento (monitorao do servio e contabilizao das chamadas), necessrios implementao do servio. 2. Infra-Estrutura Instalada A idia do experimento foi possibilitar que os usurios congressistas do WRNP/SBRC pudessem realizar e receber ligaes vindas tanto da Internet como da telefonia convencional, atravs dos PBXs da UFRJ e do hotel do evento. Deste modo foi montado um ambiente no hotel, onde o evento estava sendo realizado, e outro, na Universidade Federal do Rio de Janeiro, conforme apresentado no esquema abaixo.

Fig.1 Esquema adotado no ambiente experimental de Voz sobre IP

GT-VoIP Relatrio P4.1

2.1. Equipamentos Utilizados Gateway de Voz sobre IP: Equipamento com capacidade de realizar a traduo entre a sinalizao do PBX e a sinalizao VOIP da Internet. Gatekeeper: Servidor de registro, autorizao e autenticao no Cenrio H.323. Suas funes incluem o registro de terminais H.323, de forma que s os clientes autorizados faam uso do servio; o mapeamento de identificadores (nmeros de telefone E.164, URLs) para endereos IP de gateways ou terminais, para que possa ser localizado o destino das chamadas; e um controle bsico de admisso de chamadas. Todos os gateways de Voz sobre IP devem se registrar no Gatekeeper, para que seus prefixos atendidos pelos PBXs conectados fiquem acessveis. Radius: Servidor de autenticao e contabilizao. Sua funo controlar o acesso aos equipamentos VOIP e armazenar as estatsticas associadas s chamadas realizadas atravs dos gateways de voz. Em sua funo de autenticao, este servidor previne que usurios no autorizados tenham acesso console dos equipamentos de VoIP, ou seja, toda vez que uma mudana na configurao tiver que ser feita, o usurio ter que ser validado e autenticado previamente pelo servidor RADIUS. importante ressaltar que esta funo de autenticao no tem nenhum relacionamento com a autenticao das chamadas telefnicas IP. Sua segunda funo consiste em obter as estatsticas de uso, extraindo de cada chamada parmetros como tempo de ligao, quantidade pacotes transmitidos e perdidos, entre outros. O servio Radius foi implementado utilizando o pacote FreeRadius 0.8.1 instalado em um PC Pentium com sistema operacional Linux Slackware. 2.2. Topologia Completa do Ambiente A Fig. 2 apresenta a topologia completa do ambiente experimental implantado. Foram instalados dois gateways durante o evento: um roteador Cisco 2611 conectado ao PBX do hotel Pirmide, configurado com 4 interfaces analgicas FXO (Foreign Exchange Office) e uma interface de rede ethernet (10 Mbps), configurada com o IP 200.19.164.2/24; e um segundo gateway modelo Cisco Access Gateway 4224 instalado no laboratrio VOIP do Ncleo de Computao Eletrnica/UFRJ, contendo 1 interface digital E1, com suporte sinalizao CAS R2 e conectada ao PBX do NCE, e uma interface de rede FastEthernet (100 Mbps), configurada com o IP 146.164.247.200/26.

GT-VoIP Relatrio P4.1

Fig.2 - Topologia Completa do Ambiente Experimental de Voz sobre IP Configurao do gateway da UFRJ ! Configurao da controladora E1 para utilizar a sinalizao E1/R2, padro Brasil (CAS) ! Foram utilizados somente 12 canais em funo do nmero de DSPs disponveis no ! gateway. Todos os canais estavam associados ao ramal 3000 do PBX (2598-3000) controller E1 2/0 framing NO-CRC4 ds0-group 1 timeslots 1-12 type r2-digital r2-compelled ani cas-custom 1 country brazil answer-signal group-b 1 ! ! Configurao da Interface Fast Ethernet. Definio do Gatekeeper onde o gateway ir se ! registrar (200.19.164.3) com o ID UFRJ-VOIP-E1 interface FastEthernet0/0 ip address 146.164.247.200 255.255.255.192 h323-gateway voip interface h323-gateway voip id NATALGK ipaddr 200.19.164.3 1719 h323-gateway voip h323-id UFRJ-VOIP-E1 h323-gateway voip bind srcaddr 146.164.247.200 ! ! ! Configurao do plano de discagem ! 842022 Direcionar para o gatekeeper (NATAL) ! ! ! 212598 212562 21 Direcionar para o PBX conectado porta E1 (discagem direta ao ramal) Direcionar para o PBX conectado porta E1 (discagem direta ao ramal)

Direcionar para o PBX conectado porta E1 (acrescentar prefixo 0 para

GT-VoIP Relatrio P4.1

! selecionar linha externa). dial-peer voice 10 pots preference 5 application ring destination-pattern 21........ port 2/0:1 prefix 0 ! dial-peer voice 11 pots preference 1 destination-pattern 212598.... port 2/0:1 ! dial-peer voice 12 voip destination-pattern 842022... session target ras no vad ! dial-peer voice 51 pots preference 1 destination-pattern 212562.... port 2/0:1 ! gateway

Configurao do gateway de Natal ! Configurao das porta de voz FXO. Os ramais 781, 782, 783 e 784 estavam associados ! s porta 1/0/0, 10/1, 11/0 e 1/1/1, respectivamente ! Configurada desconexo na porta ao identificar trmino da chamada. Foi utilizado o ! cptone BE (Blgica) para compatibilizar com o PBX do hotel. ! voice-port 1/0/0 cptone BE timeouts call-disconnect 1 supervisory disconnect dualtone mid-call no battery-reversal ! voice-port 1/0/1 cptone BE timeouts call-disconnect 1 supervisory disconnect dualtone mid-call no battery-reversal ! voice-port 1/1/0 cptone BE timeouts call-disconnect 1 supervisory disconnect dualtone mid-call !

GT-VoIP Relatrio P4.1

voice-port 1/1/1 cptone BE timeouts call-disconnect 1 supervisory disconnect dualtone mid-call ! ! Configurao da Interface Ethernet. Definio do Gatekeeper onde o gateway ir se ! registrar (200.19.164.3) com o ID VOIP-NATAL, respondendo pelo prefixo 842022 interface Ethernet0/0 ip address 200.19.164.2 255.255.255.0 h323-gateway voip interface h323-gateway voip id NATALGK ipaddr 200.19.164.3 1719 h323-gateway voip h323-id VOIP-NATAL h323-gateway voip tech-prefix 842022 ! ! Configurao do plano de numerao ! prefixo 21 direciona para o gatekeeper (destino Rio de Janeiro) ! prefixo 842022 ! Configurao IVR direciona para as portas FXO Application ring (olhar captulo especifico)

dial-peer voice 20 pots application ring destination-pattern 842022... port 1/1/0 ! dial-peer voice 21 pots application ring destination-pattern 842022... port 1/1/1 ! dial-peer voice 22 pots application ring destination-pattern 842022 port 1/0/0 ! dial-peer voice 23 pots application ring destination-pattern 842022 port 1/0/1 ! dial-peer voice 16 voip destination-pattern 21........ session target ras dtmf-relay h245-alphanumeric no vad

Na estrutura montada, o gateway da UFRJ respondeu pelo prefixo 21 (ligaes para o Rio de Janeiro), enquanto que o do hotel, pelo 842022.

GT-VoIP Relatrio P4.1

2.3. Softwares Envolvidos no Ambiente

Interactive Voice Response (IVR) O desenvolvimento de um script, utilizando o suporte linguagem TCL presente nos gateways de voz dos equipamentos Cisco, permitiu que uma mensagem audvel fosse apresentada ao usurio, orientando-o sobre o uso do servio. O usurio, ao discar para um ramal conectado ao gateway, recebia a mensagem e atravs da discagem normal, que tambm interpretada pelo IVR, podia chamar qualquer dispositivo utilizando o protocolo H.323. Esta facilidade permitiu que o servio pudesse ser oferecido aos usurios sem alteraes na configurao do PBX e sem que os usurios precisassem ter qualquer treinamento no uso do servio. A configurao do gateway para que seja utilizado o script ring.tcl apresentada a seguir. O cdigo fonte do script apresentado no anexo 1. Configurao do script IVR TCL nos gateways de VOZ Cisco !## Definio da aplicao ring, cujo carga do cdigo (script TCL) ser feita a partir do servidor !## TFTP Router(config)# call application voice ring tftp://146.164.247.209/tcl/ring.tcl !## Configurao do Dial-Peer 1 pots para acionar automaticamente o IVR quando receber !## ligaes atravs da porta de voz 2/0:1 (CAS-group 1 associado controladora E1 2/0) !## Esta porta est associada ao ramal 3000 no PBX da UFRJ Router(config)# dial-peer voice 1 pots application ring port 2/0:1 Dentre as dificuldades enfrentadas, podemos relatar que os scripts TCL IVR s funcionam quando assinados com a ferramenta lockScript da Cisco, cuja nica verso disponvel para plataforma Sun Solaris. Alternativamente, pode ser desativada a opo de verificao de assinaturas com o comando test voip scripts. No nosso ambiente, utilizamos a ferramenta lockScript, obtida do site da Cisco, para assinar o script ring.tcl. As mensagens de udio utilizadas no servio IVR foram gravadas no Laboratrio de Multimdia do NCE/UFRJ. (http://videolab.nce.ufrj.br/). Por restrio do gateway, os arquivos tiveram que ser codificados utilizando o padro .au do UNIX. Na primeira bateria de testes do ambiente, verificamos que os espaos de silncio dentro de cada mensagem foram suprimidos pelo gateway, descaracterizando a mensagem. Para solucionar este problema, colocamos um som de fundo durante a mensagem, para que no tivssemos nenhum perodo de silncio absoluto. As mensagens de voz adotadas no ambiente seguiram os seguintes textos: Texto 1 (arquivo welcome.au) Bem-vindo ao Sistema Experimental de Telefonia sobre IP do GT-VOIP Maiores informaes podem ser obtidas no site www.voip.nce.ufrj.br. Todas as chamadas esto sendo contabilizadas, e existe um tempo mximo de utilizao por chamada. Aproveite o servio. Aps o sinal disque o nmero desejado.

GT-VoIP Relatrio P4.1

Texto 2 (arquivo (user_busy.au)

Nmero Ocupado, por favor tente mais tarde. Acesse nosso website (http://www.voip.nce.ufrj.br) para saber mais informaes sobre o uso

GnuGK No experimento foi utilizado apenas um Gatekeeper, localizado em Natal e instalado em um PC Desktop com sistema operacional Linux Conectiva utilizando o software GNUGK v2.0.3. O GnuGK um software de gatekeeper de cdigo-fonte aberto, apresentando uma srie de vantagens e flexibilidades para nosso ambiente VoIP experimental. Com ele, foi criada uma zona administrativa H.323, qual os gateways VOIP e clientes H.323 que quisessem fazer uso do servio deveriam se registrar. O gatekeeper pode ser configurado para permitir que somente clientes registrados possam fazer chamadas usando o(s) gateway(s) VOIP tambm registrados nele. Outras facilidades desta implementao de gatekeeper incluem a operao como proxy de mdia e a convivncia com NATs na rede, facilitando a configurao de firewalls. O GnuGK pode ainda limitar o registro a clientes autorizados atravs do endereo IP ou somente a usurios pr-cadastrados. Configurao do GnuGK durante o evento WRNP/SBRC [Gatekeeper::Main] Fourtytwo=42 # Aqui temos o Identificador do Gatekeeper = NATALGK Name=NATALGK [RoutedMode] # Para uma anlise de problemas durante o evento, optamos por redirecionar toda a # sinalizao H.225/H.245 atravs do Gatekeeper, facilitando a configurao do # Firewall GKRouted=1 H245Routed=1 AcceptNeighborsCalls=1 AcceptUnregisteredCalls=1 SupportNATedEndpoints=1 [Proxy] # O gatekeeper foi configurado para atuar como proxy, de forma que todo o trfego H.323 # proveniente ou destinado rede interna (10.249.0.0) passasse necessariamente atravs # do gatekeeper, possibilitando uso de H.323 atravs do NAT. necessrio que o # gatekeeper tenha conectividade com a rede interna, seja atravs de conexo direta, # ou atravs de roteamento Enable=1 ProxyForNAT=1 ProxyForSameNAT=0 InternalNetwork=10.249.0.0/16 # Esta seo mapeia estaticamente prefixos ao gateway que ser utilizado para # alcana-los. Esta configurao necessria com as verses mais recentes de IOS

GT-VoIP Relatrio P4.1

# Cisco registrados no gnugk (o problema ocorre porque o gnugk ainda no interpreta # corretamente as mensagens enviadas pelo Cisco (H.323 verso 4). [RasSrv::GWPrefixes] VOIP-NATAL=842022 UFRJ-VOIP-E1=21;212598;212562 # Nesta seo temos os endereos IPs dos Gateways e Clientes H.323 autorizados # a usar o ambiente VoIP Demo durante o evento # Endereos IP fora desta faixa automaticamente recebem uma rejeio no seu registro [RasSrv::RRQAuth] VOIP-NATAL=sigip:200.19.164.2:1719 VOIP-UFRJ=sigip:146.164.247.200:1719 04001= sigip:146.164.248.28:1719 04002= sigip:200.135.21.253:1719 04003= sigip:200.133.0.200:1719 04004= sigip:200.179.187.24:1719 04005= sigip:169.254.224.131:1719 04006= sigip:200.17.63.111:1719 04007= sigip:146.164.251.72:1719 default=reject # Limitamos o acesso console de gerenciamento do gatekeeper (porta TCP 7000) # Foi permitido o acesso a qualquer mquina da rede 200.19.164 [GkStatus::Auth] rule=regex regex=^200\.19\.164\. # O Gatekeeper vizinho o DGK (Directory Gatekeeper) que permite realizar ligaes # internacionai. [RasSrv::Neighbors] UFRJGK=146.164.247.202:1719;00 [RasSrv::LRQFeatures] AlwaysForwardLRQ=1 # Mensagens ARQ e RRQ podem ser autenticadas atravs do protocolo H.235 com o # uso de senhas, se o cliente tiver suporte a esta funcionalidade, ou atravs das regras # definidas na seo RasSrv::RRQAuth. O cadastro das senhas pode ser realizado # atravs do programa addpasswd [Gatekeeper::Auth] SimplePasswordAuth=optional;RRQ;ARQ AliasAuth=required;RRQ default=allow # Habilitamos o mecanismo de anlise destino para limitar as ligaes para celulares # locais, cujas regras esto na seo CallTable [Gatekeeper::DestAnalysis] default=allow

GT-VoIP Relatrio P4.1

10

# Aqui temos as regras de permisso e negao dependendo do nmero discado [CallTable] 212598=allow ipv4:0/0 21=allow alias:^77.*|allow ipv4:0/0 # ligao local = permitida para qualquer IP 219=deny ipv4:0/0 # ligao para celular local = proibida para qualquer IP O GNUGK oferece uma console de gerenciamento atravs da porta TCP/7000, onde pode ser controlada a operao do gatekeeper, visualizados os gateways e clientes registrados e gerenciadas as chamadas em curso. Vrias mensagens de console so apresentadas, incluindo o CDR (Call Detail Record), que apresenta informaes sobre as chamadas, quando estas terminam. Exemplo das Estatsticas Coletadas pelo GnuGK ao longo do evento: CDR|111|91 7d 56 f1 87 c6 11 d7 82 27 cd a5 4d 5c c3 69|39|Sat, 17 May 2003 14:47:19 +0300|Sat, 17 May 2003 14:47:58 +0300|200.19.164.2:1720|8129_endp| 146.164.247.196:1721|oz_1008_endp|2125983240:dialedDigits|782: dialedDigits=VOIP-NATAL:h323_ID|NATALGK; Onde: CDR = Call Detail Record 111 = Call number 91 7d 56 f1 87 c6 11 d7 82 27 cd a5 4d 5c c3 69 = Call ID Sat, 17 May 2003 14:47:19 = Data /Hora do incio da chamada Sat, 17 May 2003 14:47:58 = Data /Hora do trmino da chamada 200.19.164.2:1720 = Endereo IP do terminal chamador 146.164.247.196:1721 = Endereo IP do terminal chamado 2125983240 = Nmero telefnico chamado 782 = Nmero telefnico do chamador

Servidor FreeRadius O software FreeRadius v 0.8.1 foi utilizado para implementar o servio que permitiu manter uma descrio de todas as chamadas realizadas atravs dos dois gateways de voz, permitindo identificar o tempo da chamada e o trfego gerado por cada uma. A contabilizao realizada atravs de informaes recebidas nos CDRs (Call Detail Record), registros que podem ser enviados pelos gateways quando iniciada ou encerrada uma chamada. O IETF (Internet Engineering Task Force) definiu, atravs da RFC 2866, um conjunto de atributos bsico para fins de contabilizao, incluindo o tempo da sesso e o trfego (bytes e pacotes) recebido e enviado. Entretanto, os fabricantes podem incluir novos atributos aos bsicos, chamados de Vendor Specific Attributes (VSA). Os gateways Cisco podem incluir VSAs que fornecem dados sobre a qualidade da chamada, como por exemplo, pacotes perdidos, pacotes atrasados, pacotes adiantados, round trip time (RTT), receive delay, entre outros. para coletar estas informaes foram utilizados os comandos a seguir na configurao dos gateways: (config)#gw-accounting aaa (config-gw-accounting-aaa)# acct-template callhistory-detail As informaes bsicas obtidas pelo FreeRadius provenientes dos gateways de voz podem ser vistas a seguir, as quais incluem atributos definidos pelo IETF e VSAs (informaes H.323).

GT-VoIP Relatrio P4.1

11

Acct-Session-Id = "000003F6" h323-setup-time = "h323-setup-time=.06:29:54.049 BRST Wed May 21 2003" h323-gw-id = "h323-gw-id=VOIP-NATAL." h323-conf-id = "h323-conf-id=973AD848 8AA511D7 82F3CC5B BEEA20B3" h323-call-origin = "h323-call-origin=originate" h323-call-type = "h323-call-type=VoIP" Cisco-AVPair = "h323-incoming-conf-id=973AD848 8AA511D7 82F3CC5B BEEA20B3" Cisco-AVPair = "subscriber=RegularLine" Cisco-AVPair = "session-protocol=cisco" h323-connect-time = "h323-connect-time=.06:30:05.685 BRST Wed May 21 2003" Acct-Input-Octets = 40210 Acct-Output-Octets = 182080 Acct-Input-Packets = 2071 Acct-Output-Packets = 9104 Acct-Session-Time = 182 h323-disconnect-time = "h323-disconnect-time=.06:33:07.849 BRST Wed May 21 2003" h323-disconnect-cause = "h323-disconnect-cause=1B" h323-remote-address = "h323-remote-address=200.19.164.3" Cisco-AVPair = "release-source=1" h323-voice-quality = "h323-voice-quality=9" Detalhes Especficos Coletados pelos CDRs gerados pelos equipamentos Cisco (AVPairs) Cisco-AVPair = "remote-media-address=146.164.247.200" Cisco-AVPair = "outgoing-area=NATALGK" Cisco-AVPair = "gw-final-xlated-cdn=21XXXXXXXX" Cisco-AVPair = "gw-final-xlated-cgn=783" Cisco-AVPair = "charged-units=0" Cisco-AVPair = "disconnect-text=destination out of order (27)" Cisco-AVPair = "peer-address=21XXXXXXXX " Cisco-AVPair = "info-type=speech" Cisco-AVPair = "peer-id=16" Cisco-AVPair = "peer-if-index=21" Cisco-AVPair = "logical-if-index=0" Cisco-AVPair = "codec-bytes=20" Cisco-AVPair = "coder-type-rate=g729r8" Cisco-AVPair = "ontime-rv-playout=39780" Cisco-AVPair = "remote-udp-port=1721" Cisco-AVPair = "remote-media-udp-port=19280" Cisco-AVPair = "vad-enable=disable" Cisco-AVPair = "receive-delay=57 ms" Cisco-AVPair = "round-trip-delay=74 ms" Cisco-AVPair = "hiwater-playout-delay=70 ms" Cisco-AVPair = "lowater-playout-delay=57 ms" Cisco-AVPair = "gapfill-with-interpolation=0 ms" Cisco-AVPair = "gapfill-with-prediction=80 ms" Cisco-AVPair = "gapfill-with-redundancy=0 ms" Cisco-AVPair = "gapfill-with-silence=20 ms" Cisco-AVPair = "early-packets=1"

GT-VoIP Relatrio P4.1

12

Cisco-AVPair = "late-packets=0" Cisco-AVPair = "lost-packets=3" User-Name = "783" Acct-Status-Type = Stop Calling-Station-Id = "783" Called-Station-Id = "21XXXXXXXX " Service-Type = Login-User NAS-IP-Address = 200.19.164.2 Acct-Delay-Time = 0 Client-IP-Address = 200.19.164.2 Timestamp = 1053509577 A fim de limitar o tempo das chamadas foi desenvolvido um script perl que controlava as chamadas atravs da console de gerenciamento do gatekeeper (porta TCP/7000). O cdigo desse script apresentado abaixo: Cdigo-Fonte do script KillConn.pl #!/usr/sbin/perl -w use Socket; use Net::Telnet (); $timeout = ($ARGV[0] ? $ARGV[0]:5) * 60; $arquivolog = "killconn.log"; $port = 7000; $host = '146.164.247.196'; # Abre a conexao com o GateKeeper $t = new Net::Telnet; $t->open(Host => $host, Port => $port) or die "Erro na conexao com GK"; while ($t) { $line = $t->getline; $t->open(Host => $host, Port => $port) or die "Erro na conexao com GK"; for (;;) { if ($t->getline =~ /^;/o) { last; } } $now = `date`; chomp($now); if ( $now =~ /.* (.*) (.*) (.*):(.*):(.*) .* (.*)/o ) { $horaatual = converteparasegundos ($6, $1, $2, $3, $4, $5); } $t->print("cv"); while ($t) { $line = $t->getline;

GT-VoIP Relatrio P4.1

13

if ($line =~ /^;/o ) { last; } if ($line =~ /^Call No. (\d*)/o ) { $call = $1; } if ($line =~ /^\#.*\|.*\|.*\|.*, (.*) (.*) (.*) (.*):(.*):(.*) -.*/o ) { $iniciochamada = converteparasegundos ($3, $2, $1, $4, $5, $6); $duracao = $horaatual - $iniciochamada; if ( $duracao >= $timeout) { open (LOG, ">>$arquivolog") or die ("Erro na abertura do arquivo de log"); print LOG "$now *** Timeout ($timeout) conexao $call com duracao $duracao\n"; print LOG $line; close LOG; $t->print("disconnectcall $call"); } } } $t->close; Foi tambm desenvolvido outro script perl que permitia a visualizao dos equipamentos registrados no GK, as chamadas ativas e os CDRs associados s ltimas chamadas terminadas. Cdigo-Fonte do script de Visualizao de Registros Cdigo-Fonte do script de Visualizao de Chamadas Ativas # Manda o comando (seja ele RV registros ativos ou CV ligaes ativas) $t->print($CMD); while ($t) { $line = $t->getline; if ($line =~ /RCF\|(.*):.*\|(.*):.*\|gateway/o ) { print "<TR><nobr><TD style=\"COLOR: black; BACKGROUND-COLOR: #66ff99\" align=left>Gateway</nobr></TD><TD align=left><nobr>$2</ nobr></TD>"; } elsif ($line =~ /^Prefixes: (.*)/o ) { print "<TD align=left><nobr>Prefixos: $1</nobr></TD></TR>"; } elsif ($line =~ /^RCF\|(.*):.*\|(.*):.*=(.*):.*terminal/o ) { print "<TR><TD style=\"COLOR: black; BACKGROUND-COLOR: #ffcc00\" align=left><nobr>Terminal</nobr></TD><TD align=left><nobr>$2< /nobr></TD><TD align=left><nobr>$3</nobr></TD></TR>"; } elsif ($line =~ /^;/o ) { last; 2.4. Configurao de QoS nos Roteadores O servio VOIP sensvel a problemas como atraso, variao no atraso (jitter) e perda de pacotes. Desta forma, necessrio que a rede onde o servio implementado oferea mecanismos de QoS que tratem os pacotes de Voz com a maior prioridade possvel. De acordo com as RFCs 2597 e 2598 recomendvel que o trfego de voz seja marcado como servio expedited forwarding (EF, DSCP

GT-VoIP Relatrio P4.1

14

46). O trfego associado sinalizao de voz deve ser marcado com servio AF31, DSCP 26, para que tambm possa priorizado. No experimento, s o roteador do POP-RN estava preparado para dar tratamento diferenciado ao trfego de voz. A identificao do servio era realizada atravs de listas de acesso que identificavam a origem dos pacotes (IPs 200.19.164.2 e 3). Este trfego era classificado como EF e era tratado por uma fila de baixa latncia (Low Latency Queue LLQ). No entanto, a mesma marcao foi incorretamente adotada para o trfego de vdeo, quando o recomendvel seria que este fosse classificado com o servio AF41, DSCP34, de prioridade abaixo da de voz. importante lembrar que o trfego de vdeo, diferentemente do trfego de voz, gera pacotes maiores e requer uma grande banda, podendo impactar significativamente na qualidade da voz. A voz por seu lado. Gera pacotes pequenos e a banda total associada a uma sesso de voz est, em geral, abaixo de 100 kbps. Durante o evento, o trfego de vdeo estava sendo roteado somente para So Paulo, no havendo competio direta com o de voz, em boa parte da rota utilizada. O restante dos roteadores, no caminho entre Natal e a UFRJ, no foram configurados com nenhuma opo de priorizao de trfego. Tambm no existia nenhuma priorizao para o trfego de voz no sentido UFRJ Natal, pela prpria impossibilidade de suportar QoS no roteador da RNP no Rio. Para a implantao do servio de VOIP na RNP recomendado o uso de duas LLQs, a primeira utilizada exclusivamente para voz e a segunda para vdeo.

Configurao de QoS no roteador do POP-RN class-map match-any Gateway-VoIP match access-group 170 policy-map VoIP class Gateway-VoIP priority 600 interface ATM4/0/0.111 point-to-point description Conexao PoP-RN <--> PoP-RJ pvc RJ 0/111 service-policy out VoIP access-list 170 permit ip host 200.19.164.2 any access-list 170 permit ip host 200.19.164.3 any 3. Descrio do Servio A divulgao do servio aos participantes do WRNP e do SBRC foi realizada atravs da prpria pgina do evento e de avisos colocados em vrios locais do hotel, que orientavam como fazer uso do servio. Atravs da pgina havia a possibilidade de se cadastrar para receber um nmero de telefone virtual para que as ligaes pudessem ser feitas de/para clientes H.323 instalados em micros. Os usurios que fizeram cadastro receberam um e-mail com instrues de como usar o servio. Uma cpia do e-mail e das instrues de uso do servio so apresentadas no anexo 2.

GT-VoIP Relatrio P4.1

15

4. Relatrios de Uso

4.1. Histrico da Utilizao do Ambiente So apresentadas abaixo as estatsticas obtidas atravs dos CDRs gerados pelo gatekeeper. Foram consideradas somente as chamadas que conseguiram iniciar com sucesso, sendo expurgadas as chamadas realizadas durante os testes. Na seqncia podem ser observados os quadros contendo o nmero de chamadas, os tempos totais das chamadas e a mdia de durao de cada chamada, englobando: Todas as chamadas realizadas no perodo; As chamadas realizadas do Rio de Janeiro para Natal; As chamadas realizadas de Natal para o Rio de Janeiro; As chamadas realizadas de ramais da UFRJ para Natal, no includas nas chamadas do Rio para Natal; As chamadas realizadas a partir de clientes H.323 (ramais virtuais). Total Global de Chamadas realizadas utilizando o servio VOIP no SBRC Natal
Nmero de ligaes realizadas 44 44 72 65 68 73 74 440 Tempo total de uso do servio (segundos) 4970 6646 8209 12666 15745 15344 15030 78610 Durao Mdia das Chamadas (segundos) 113 151 114 195 232 210 203 179

Dia 17/mai 18/mai 19/mai 20/mai 21/mai 22/mai 23/mai TOTAL

Chamadas realizadas do Rio de Janeiro para Natal


Nmero de ligaes realizadas 13 5 11 7 8 3 5 52 Tempo total de uso do servio (segundos) 1451 579 470 2299 1103 1981 345 8228 Durao Mdia das Chamadas (segundos) 112 116 43 328 137 660 69 158

Dia 17/mai 18/mai 19/mai 20/mai 21/mai 22/mai 23/mai TOTAL

GT-VoIP Relatrio P4.1

16

Chamadas realizadas de Natal para o Rio de Janeiro


Nmero de ligaes realizadas 31 39 61 52 56 69 68 376 Tempo total de uso do servio (segundos) 3519 6067 7739 10151 14460 13324 14570 69830 Durao Mdia das Chamadas (segundos) 114 156 127 195 258 193 214 186

Dia 17/mai 18/mai 19/mai 20/mai 21/mai 22/mai 23/mai TOTAL

Chamadas realizadas de ramais internos do NCE para Natal


Nmero de ligaes realizadas Tempo total de uso do servio (segundos) Durao Mdia das Chamadas (segundos)

Dia 17/mai 18/mai 19/mai 20/mai 21/mai 22/mai 23/mai TOTAL

6 2 1 1 10

216 73 39 115 443

36 37 39 115 44

Chamadas realizadas utilizando ramais virtuais


Nmero de ligaes realizadas Tempo total de uso do servio (segundos) Durao Mdia das Chamadas (segundos)

Dia 17/mai 18/mai 19/mai 20/mai 21/mai 22/mai 23/mai TOTAL

109

54

109

54

4.2. Estatsticas de Uso e Perfil do Trfego dos Gateways VOIP Os CDRs recebidos pelo servidor Radius relativos a todas as chamadas, incluindo as que no foram iniciadas por algum motivo, foram armazenados para anlise. Com as informaes recebidas, foi

GT-VoIP Relatrio P4.1

17

possvel gerar um histograma com a distribuio das chamadas realizadas por dia. A maior incidncia de chamadas ocorria no final do dia, entre 19:00 e 20:00 hs, quando terminavam as atividades dos eventos. Durante o experimento foi possvel observar problemas como degradao na qualidade da voz durante a chamada, normalmente sentida somente por um dos lados, e o trmino anormal das chamadas. Atravs dos dados dos CDRs foram detectados alguns fatores que poderiam explicar estes problemas. Foram analisados a princpio, o round-trip time (RTT) e a perda de pacotes, j que a qualidade de ligaes VOIP afetada diretamente por estes dois fatores. Uma chamada VOIP est associada pelo menos a dois fluxos de mdia independentes, um para cada sentido da conversa. Desta forma, a anlise foi realizada nos fluxos gerados nos dois sentidos: Rio de Janeiro/Natal e Natal/Rio de Janeiro. No sentido Natal/Rio de Janeiro foi possvel observar uma perda grande no domingo (18/05/03) e na segunda (19/05/03), o que explica uma perda na qualidade na voz recebida pelos usurios no Rio de Janeiro. Aps um trabalho realizado em conjunto com a equipe da RNP (Marcel e Ari Frazo), foram identificados vrios fluxos saindo da Natalnet ocupando completamente o PVC da RNP (limitado a 2.5Mbps) no sentido Natal-Rio de Janeiro. Por limitaes impostas pela interface ATM do roteador Cisco do POP-RN, no pudemos determinar precisamente a ocorrncia de descartes naquele ponto, embora soubssemos que as estatsticas de perda do trfego de voz indicavam perdas acima de 20% e elevado RTT. As perdas poderiam estar ocorrendo por problemas de policiamento na Embratel, ou em algum ponto intermedirio na rota. A partir da noite de domingo, todo o trfego de Natal direcionado ao gateway VOIP localizado na UFRJ, passou a ser roteado por So Paulo, j que havia uma suspeita no comportamento do PVC Natal/Rio. Entretanto, foi observado que este caminho acabava sendo pior, o que pde ser visto pelo RTT coletado nos dois sentidos. O RTT persistiu elevado na segunda-feira, o que pode ser explicado pela mudana no roteamento por So Paulo e pelo gargalo existentes na rede da UFRN, cuja existncia somente seria desvendada mais tarde. Em uma reunio de emergncia na noite de segunda feira, envolvendo o POP-RNP, Natal-Net, UFRN, GT-VOIP e VT-Vdeo, o trfego saturante foi identificado como experimento do GT-Vdeo a partir de estaes de trabalho internas da UFRN, que, inadvertidamente, estavam gerando trfego pesado de testes para vrios destinos na RNP, ocupando banda alm da capacidade em enlaces na UFRN e saturando a conexo para o POP-RN. Esta gerao desenfreada de trfego certamente estava provocando provavelmente descartes em switch na UFRN com entrada em portas de 100 Mbps e sada em 10 Mbps. Por este switch na UFRN estava passando todo o trfego do hotel (inclusive o de VOIP), com exceo do trfego de vdeo de gerao local, que utilizava um PVC de 155Mbps direto com o POP-RN. de VOIP. O roteamento voltou situao original na noite de segunda-feira. Na noite da segunda-feira, todo o trfego proveniente do hotel passou a ser roteado atravs do mesmo PVC dedicado anteriormente aos experimentos de vdeo, evitando a rede local da UFRN. Estas alteraes puderam explicar algumas melhoras nas condies da rede. Nos outros dias, o RTT mdio esteve dentro de valores mais aceitveis em ambos os sentidos. Ao serem removidos os fluxos saturantes na manh de tera-feira, houve uma reduo na perda de pacotes e uma melhora significativa na qualidade de voz obtida. De qualquer forma, o tratamento de filas configurado no roteador do POP-RN deveria dar preferncia aos fluxos associados a VOIP, o que no foi observado. As suspeitas sobre este comportamento estavam associadas a problemas no IOS,

GT-VoIP Relatrio P4.1

18

que s foi trocado na quarta-feira (21/05/03), e rede ATM da Embratel, onde poderia estar havendo algum descarte em funo da configurao de policing, como j mencionado. A fim de verificar o motivo do trmino anormal das chamadas, foram mapeados os motivos de desconexo das chamadas VOIP atravs de informaes obtidas do Radius. Estas informaes esto ainda sendo estudadas de forma a correlacionar as chamadas terminadas de forma anormal e os motivos da desconexo. Distribuio horria das chamadas realizadas

Grfico de uso do canal Natal/Rio de Janeiro

Trfego Rio de Janeiro/ Natal (Limitado a 5Mbps) Trfego Natal/Rio de Janeiro (Limitado a 2.5Mbps) (Extrado da pgina de estatstica da RNP. Grfico original produzido atravs do software MRTG)

GT-VoIP Relatrio P4.1

19

Perda de Pacotes Fluxos de mdia Rio de Janeiro Natal

Fluxos Natal

Rio de Janeiro

GT-VoIP Relatrio P4.1

20

Round Trip Time (RTT) Fluxos Rio de Janeiro Natal

Fluxos Natal

Rio de Janeiro

GT-VoIP Relatrio P4.1

21

Motivos de Desconexo Gateway Rio de Janeiro Natal (146.164.247.200)

17/05 Causa da Desconexo destination out of order (27) no resource (47) no route to destination (3) no user answer (19) normal normal call clearing (16) recovery on timer expiry (102) service or option not available subscriber absent (20) switch congestion (42) unassigned number (1) user busy (17) Total 5 63 1 26 8 1 2003 20 2

18/05 2003 5 29

19/05 2003 25 46

20/05 2003 30 31 3

21/05 2003 20 47

22/05 2003 41 32

23/05 2003 38 47 3

1 11 2 1 1 5 1 49 4 94 5 83 4 1 2 84 5 98 4 102 11 3 1 1 13 4 13 10 4 6

Gateway Natal

Rio de Janeiro (200.19.164.2)

18/05 Causa da Desconexo destination out of order (27) message in incomp call state (101) no resource (47) no route to destination (3) Normal normal call clearing (16) recovery on timer expiry (102) service or option not available subscriber absent (20) switch congestion (42) user busy (17) Grand Total 71 13 6 2003 52

19/05 2003 126 3

20/05 2003 98 1

21/05 2003 108 2 1

22/05 2003 130

23/05 2003 132

1 1 8 1 2 3 147 115 118 2 155 147 15 5 20 1 15

GT-VoIP Relatrio P4.1

22

5. Problemas Encontrados Em funo de suas caractersticas, os protocolos utilizados no ambiente VOIP so problemticos quando utilizados em ambientes com firewalls e NATs, como no caso da rede montada para atender o SBRC. A soluo para que o servio VOIP pudesse funcionar corretamente foi utilizar uma rede com IPs vlidos (rede 200.19.164.0/24), onde foram instalados o gateway de voz e o gatekeeper. O gatekeeper foi configurado para atuar como proxy de mdia para as mquinas internas, que eram protegidas por NAT (rede 10.249.0.0/16) e por firewall. Houve a necessidade de abrir a porta TCP/1720 do gatekeeper para a rede interna. Desta forma, era possvel a comunicao de clientes da rede interna com qualquer outro na Internet, ou com um telefone ligado aos PBXs conectados. Um dos problemas que afeta interfaces FXO conectadas a ramais de PBXs o reconhecimento da desconexo quando termina a chamada. Em funo da sinalizao adotada nos ramais de telefonia tradicional, o gateway no tem como identificar o trmino da chamada e, por conseguinte, no libera a linha. Algumas solues so adotadas para contornar este problema. A soluo adotada no gateway instalado em Natal permitiu que o mesmo identificasse o tom de desconexo gerado pelo PBX ao trmino da chamada. Como estes tons variam de pas para pas, necessrio que o gateway seja configurado para reconhecer o tom adequado, compatibilizando-o com a configurao do PBX. Normalmente a configurao do gateway para reconhecer o padro de tons adotado no Brasil. Entretanto, ao utilizar esta configurao no havia o reconhecimento dos tons gerados pelo PBX do hotel. A soluo foi testar as vrias opes disponveis de configurao, s funcionando corretamente quando foi utilizado o padro belga. A verso utilizada de sistema operacional ( Cisco IOS 12.2(13)T3 ) implementa a verso 4 do H.323, a qual ainda no implementada no gatekeeper (GnuGK 2.0.3). Algumas facilidades que funcionavam em verses anteriores do IOS com o gatekeeper, deixaram de funcionar corretamente. Um exemplo o cadastro de prefixos (tech-prefix) atendidos pelo gateway, que agora tem que ser registrado manualmente no gatekeeper. H incompatibilidades tambm com o software Netmeeting da Microsoft. Neste caso, tiveram que ser desabilitadas algumas funcionalidades do gateway (comando h245 caps mode restricted). 6. Concluses O servio foi implementado com relativo sucesso durante o evento. O retorno recebido pelos usurios era de que, apesar de alguns problemas que ocorriam, o servio ficou acima das expectativas. Entretanto, ficou claro que o servio VOIP bastante sensvel a problemas como o atraso e a perda de pacotes, fatores que podem afetar seriamente a qualidade da voz. Logo, dentre vrias medidas, importante que o trfego de voz seja priorizado para que o servio possa ser operacionalizado no backbone da RNP. Com este objetivo, recomendvel que os roteadores do backbone sejam configurados para dar um tratamento de mais alta prioridade ao trfego de voz com um mnimo de descarte e de atraso (servio Expedited Forwarding, DSCP 46). Uma ateno especial deve ser dada tambm aos fluxos de sinalizao. O recomendvel neste caso trabalhar com AF31, DSCP26.

GT-VoIP Relatrio P4.1

23

7. Anexos Anexo 1 Cdigo fonte do script IVR TCL ring.tcl The TCL Script is: -----------------# Script Locked by: voip # Script Version: 1.1 # Script Name: ring.tcl # Script Lock Date: Fri Jan 17 14:16:46 2003 # Copyright (c) 1998, 1999, 2000 by cisco Systems, Inc. # All rights reserved. #-----------------------------------------------------------------# Audio files required: # user_busy.au # welcome.au # # The main routine is at the bottom. Start reading there. proc do_active_notimer {} { global state set event [waitEvent] while { $event == "digit" || $event == "call connected" } { set event [waitEvent] } set state end return 0 } proc do_active {} { global state do_active_notimer } proc do_place_fail {} { global state puts "The call was released with User Busy\n" set prompt(url) flash:user_busy.au set prompt(playComplete) true set event [promptAndCollect prompt info] set state end return 0 } proc do_place_call {} { global state global destination puts $destination

GT-VoIP Relatrio P4.1

24

set event [placeCall $destination callInfo info] if {$event == "active"} { set state active return 0 } if {$event == "call fail"} { if {$info(code) == 17} { set state place_fail return 0 } set state end return 0 } set state end return 0 } #------------------------------------------------------# And here is the main routine # acceptCall set state init set prompt(url) flash:welcome.au set prompt(interrupt) true set prompt(abortKey) * set prompt(dialPlan) true set event [promptAndCollect prompt returnInfo] if { $event != "collect success" } { puts "Call [callID] got event $event collecting destination" exit 0 } set state place_call set destination $returnInfo(digits) while {$state != "end"} { puts "cid([callID]) running state $state" if {$state == "place_call"} { do_place_call } elseif {$state == "place_fail"} { do_place_fail } elseif {$state == "active"} { do_active } else { break } } # Script Approval Signature: C/fa2d

GT-VoIP Relatrio P4.1

25

Anexo 2 - Email enviado aos usurios que se cadastraram para uso do servio na pgina do evento

Caro usurio. Estamos confirmando Seu telefone virtual 04001. o seu registro no Sistema VoIP WRNP/SBRC.

Para fazer o acesso ao servio, utilize um software cliente baseado em H.323 como o Netmeeting. Configure o Netmeeting com os seguintes parmetros:

Acione o Netmeeting Acesse o menu *Tools*. Depois acesse a opo *Options* e, por fim, clique no boto: *Advanced Calling* Habilite a opo Use a Gatekeeper to place calls Configure o endereo IP oficial do Gatekeeper do Servio VoIP WRNP/SBRC: *Gatekeeper: 200.19.164.3* Opcionalmente configure o seu nome na opo *Log on using my account name Obrigatoriamente configure a identificao do seu nmero telefnico virtual na opo Log on using my phone number = 04001

Para usar o servio, siga estas orientaes: Quero ligar para ramais internos do Hotel Pirmide? Cliente H.323 disca 84-202-2XXX, onde XXX um ramal interno do hotel Pirmide. Quero ligar do ramal do hotel para ramal virtual? Discar 784 ou 783 ou 782 ou 781. Aps entrada da mensagem gravada, disca 0 seguido do nmero de telefone virtual. Quero ligar para nmeros telefnicos no Rio? Discar (21) 2598-3000 Aps entrada da mensagem gravada, disca 0 seguido do nmero de telefone virtual. Quero ligar do Rio de Janeiro para ramal virtual? Cliente H.323 disca 21-202-2XXX, onde XXX um ramal interno do hotel Pirmide. Quero ligar para outro telefone virtual? Cliente H.323 disca 0 seguido do nmero de telefone virtual. Quais os ramais virtuais esto logados e disponveis para conversao pelo Brasil? http://belem.voip.nce.ufrj.br/cgi-bin/rv.cgi Ateno! Todas as ligaes aproximadamente 5 minutos. esto sendo contabilizadas e limitadas em

No esto permitidas ligaes para celulares pelo Servico VOIP da UFRJ.

GT-VoIP Relatrio P4.1

26

Anexo 3 Anncio do servio VOIP durante o WRNP/SBRC

WRNP/SBRC

2003

Servio VOIP
GT-VOIP
ACESSANDO E RECEBENDO LIGAES TELEFNICAS
Telefones da rede de telefonia (fixa ou celular) ligando para ramais internos do hotel atravs do Servio VOIP na UFRJ: Discar para (21) 2598-3000. Aps entrada da mensagem gravada, disca 84-202-2XXX, onde XXX um ramal interno do hotel Pirmide. Ramais internos do hotel discando para telefones fixos no Rio de Janeiro, atravs do Servio VOIP do GT-VOIP implantado no hotel: Discar 784 ou 783 ou 782 ou 781. Aps entrada da mensagem gravada, discar 21, seguido do nmero de telefone fixo no Rio.

TELEFONES VIRTUAIS
Ligando para ramais internos do Hotel Pirmide: Cliente H.323 chama 84-202-2XXX, onde XXX um ramal interno do hotel Pirmide.

Ramal do hotel ligando para ramal virtual:


Discar 784, ou 783, ou 782, ou 781. Aps entrada da mensagem gravada, discar 0 seguido do nmero de telefone virtual.

Ligando para nmeros telefnicos no Rio: Cliente H.323 chama 21 + nmero de telefone fixo no Rio. Ligando para outro telefone virtual:
Cliente H.323 chama 0 + nmero de telefone virtual. Telefones virtuais devem ser pr-cadastrados nos sites www.voip.nce.ufrj.br ou www.sbrc2003.ufrn.br . Todas as ligaes esto sendo contabilizadas e limitadas em aproximadamente 5 minutos. No esto permitidas ligaes para celulares pelo Servico VOIP da UFRJ.

GT-VoIP Relatrio P4.1

27

Você também pode gostar