Você está na página 1de 7

1

Servidor VoIP utilizando Asterisk


W. Rocha, T. Almeida, S. Lorena, G. Sousa, J. Wanzeler Laborat rio de Processamento de Sinais (LaPS) o Universidade Federal do Par a Bel m, Par 32017674 e a Site: http://www.laps.ufpa.br

AbstractThe modern approach of communications and the integration of all way of human conversation are summarized in a simple call, where doesnt care where and when it will be needed, just if it is being done with a simply and ecient form. Using Asterisk, a free and open software, we can create from a small call center, a large structure to provide comunication services based on channels, beyond voice, with quality and reliability to calls. KeywordsVoIP, RTP, H.323, SIP, Asterisk.

I.

I NTRODUC AO

Sonho da comunicacao a dist ncia entre seres humanos ` a sempre habitou a mente dos mesmos, durante a hist ria o v rios passos largos foram dados em direcao a completa a ` interacao a dist ncia, Antonio Meucci, inventor do Telefone ` a (1860), trouxe para a sociedade uma forma de trasporte da voz atrav s de uma rede feita de os de cobre que seria comutada e entre os usu rios, a mesma experi ncia foi reimplementada a e alguns anos mais tarde por Alexander Graham Bell e ganhou fama com o nome deste ultimo. A verdade e que desde a sua invencao a telefonia n o a sofreu mudancas substanciais de conceito, foram adicionadas novas caractersticas sutis, como encaminhamento e retorno de chamadas, tons DTMF, e um grande n mero de modicacoes u nas centrais para melhorar a utilizacao da rede, por m sem e uma mudanca no conceito inicial. Um outro grande passo no caminho para a interacao a ` dist ncia foi a primeira transfer ncia HTTP feita entre um a e cliente e um servidor conectados pela Internet, desenvolvida por Timothy John Berners-Lee em Novembro de 1989, era a prova nal que a rede era capaz de interconectar com sucesso dois pontos. J em 1990, pesquisadores e instituicoes comecam a se a mobilizar para trazer o servico de comunicacao de Voz para a Internet, nasce ent o o conceito de Voice Over Internet a Protocol (VoIP), com o intuito de possibilitar o mesmo servico de comunicacao que a Telefonia s que sob um contexto o completamente novo. Desde a sua criacao, o conceito em si cresceu muito, ganhando aplicacoes e mais opcoes de interacao, as implementacoes desenvolvidas foram consolidadas, e a pr pria o estrutura da Internet comeca a ser modicada para melhor se ` acoplar as necessidades da aplicacao. Bel m, Par , Brasil e a March 6, 2013

II. VO IP Voice over Internet Protocol (VoIP) e mais que a transmiss o a de voz pela internet, como o nome sugere, e transmiss o de a conversacao humana atrav s da internet. Essa conversacao em e muitos casos e composta tamb m por vdeo e texto em tempo e real. Com esses novos conte dos sendo transmitidos temos u outros paradigmas a serem analisados na hora de pensar em uma proposta de comunicacao que n o seja limitada a voz e a comutacao de circuitos. O uso de VoIP possui muitos atrativos para empresas e at para usu rios dom sticos, tais como reducao de gastos e a e com telefonia e em alguns casos eliminacao desses gastos. Solucoes para confer ncia com in meras ligacoes, xacao do e u ` custo em relacao a dist ncia, a geolocalizacao, ao hor rio do ` a a ` uso e quanto a duracao da chamada, s o pontos fortes a favor a desse tipo de solucao. Existem tr s maneiras de se usar o VoIP, pode ser atrav s e e de Analog Telephone Adapter (ATA), IP Phones e Computerto-Computer. ATA ou adaptador VoIP, e um dispositivo que permite ligar um telefone comum para fazer ligacoes atrav s e da internet. Com o ATA, usar a telefonia digital n o a e diferente do que usar um servico de telefonia regular, pois o adaptador permite que seu dispositivo funcione como um telefone tradicional. IP Phone ou VoIP Phone lembram os telefones tradicionais, mas s o projetados para trabalhar diretamente a com a internet. Essa caracterstica e notada quando olhamos elementos como porta de comunicacao que passa a ser uma interface RJ-45 em vez da RJ-11 e o design do aparelho que traz um teclado alfa num rico e e uma tela LCD para uma melhor interacao do usu rio a com os recursos que o VoIP fornece. Computer-to-Computer, e o modo de efetuar chamadas mais utilizados, precisa apenas de um computador ligado a internet e um software para realizar a chamada de um computador para o outro, fazendo o uso de softwares TM como Skype , Ekiga. Dessa forma, o VoIP se mostra superior a telefonia conven cional, entretanto o mercado telef nico convencional ainda e o grande e n o pode ser ignorado, portanto e necess rio que o a a VoIP e esse sistema coexistam e se comuniquem normalmente, para isso h custos tarif rios que variam de acordo com a a a concession ria ou software que fornece os servicos de VoIP. a VoIP permite mais ainda, a habilidade de convergir em uma unica conex o para tudo, vdeo, voz e dados. Essa e a a

caracterstica que atrai principalmente as empresas, pois reduz os custos de instalacao e manutencao. Em adicional n o h a a mais a limitacao geogr ca, j que e possvel estar em qualquer a a ponto conectado a internet e ter todos os servicos disponveis como no local de origem. Para a transmiss o de voz e vdeo, os dados precisam ser a gravados e enviados, o processo de gravacao dos dados e uma convers o anal gica-digital. Em uma convers o, s o exa o a a tradas amostras em pequenos intervalos. A reproducao dessas amostras em sequ ncia representa o sinal obtido, quanto mais e amostras por segundo, maior ser a qualidade e o tamanho. a Em sequ ncia, temos que comprimir esses dados obtie dos e enviar atrav s da rede para descomprimir do outro e lado, para isso usamos algoritmos chamados de Compressor/Decompressor (CODEC). Com as informacoes devidamente compactadas, precisamos denir o modo de envio, para isso temos protocolos de transmiss o, os mais usados s o Session Initiation Protocol [1] a a (SIP), Real-time Transfer Protocol [2] padronizados pelo IETF e o H.323 [3], produzido pelo ITU Telecommunication Standardization Sector (ITU-T). A. CODECs Em uma comunicacao TCP/IP, temos a limitacao de banda disponvel e a imperfeicao do canal, provocando gargalos, atrasos e perdas de dados. Um CODEC tem que ter a capacidade em lidar com todas essas adversidades, fazendo a compress o dos dados para poupar banda, utilizacao de buffers a para suavizar a sensacao de atraso da conex o e t cnicas de a e recuperacao de perdas de pacotes no canal, visto que em m dia e um pacote carrega de 15 ms a 30 ms, ent o a perda constante a de pacotes pode comprometer a comunicacao. Alguns m todos e de recuperar a perda de pacotes s o Packet-Loss Concealment a (PLC) e Forward-error correction (FEC). Algumas t cnicas de PLC s o a zero insertion, waveform e a substitution, que consiste em repetir uma porcao de informacao recebida e o model-based methodos que utiliza modelos de voz para interpolar os gaps provocados pelas perdas. FEC e uma t cnica que permite o controle de erros na e transmiss o de dados em um canal com rudos. Ao contr rio de a a outras t cnicas, n o e necess rio a retransmiss o para lidar com e a a a erros, o FEC foi projetado para detectar e corrigir um n mero u limitado de erros.Existem v rios algoritmos como Hamming a Code e Reed-Solomon Code.Uma outra alternativa para lidar com essas perdas, e introduzir a redund ncia no envio dos a pacotes. Al m da capacidade em lidar com perdas, temos que lidar e com a quantidade de dados transmitidos pela rede, ent o a entra a principal caracterstica de um CODEC, os algoritmos de compress o. Temos alguns algoritmos como Pulse Code a Modulation (PCM) usado comumente em gravacoes feitas em computadores, Adaptative Differential Pulse Code Modulation (ADPCM) e Conjugate-Structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP) usados em alguns CODECs da famlia G.7** produzida pelo ITU-T. E importante atentar que cada CODEC tem suas caractersticas al m do algoritmo de compress o, temos tamb m bit e a e

rate e sampling rate, que tratam respectivamente da quantidade de bits que podem ser enviados em um segundo (kb/s) e a quantidade de amostras de um sinal em um segundo (kHz). Outro ponto importante e o Mean Opinion Score (MOS), que e um teste subjetivo para medir a qualidade do audio em uma escala de 1 a 5. B. Protocolos 1) SIP: Cada agente SIP, possui uma unica Uniform Re source Identier (URI), que normalmente e da sequinte forma: sip:username:password@host:port Quando um agente SIP incia, ele primeiramente entra em contato com um elemento da rede SIP chamado REGISTRAR, esse elemento e respons vel por identicar o IP que o agente a SIP est utilizando no momento, e mant -lo guardado por um a e certo tempo, normalmente uma hora, o REGISTRAR ent o a ` mant m um banco de dados de todos os agentes conectados a e rede e seus devidos IPs, como pode ser visto na Figura 1.

Fig. 1.

SIP Registro

Para que um agente inicie uma sess o com outro agente e a necess rio um segundo elemento de rede, chamado PROXY, a ele ser respons vel por interfacear os agentes com o banco a a de dados do REGISTRAR. Digamos que um agente A quer iniciar uma sess o com um a agente B, ent o A envia uma mensagem INVITE ao PROXY a contendo a URI de B, o PROXY analisa o banco de dados do REGISTRAR encontra o IP de B e envia uma mensagem ` INVITE a B, se B estiver disponvel retorna uma mensagem ` OK, ent o o PROXY envia uma mensagem OK a A contendo a o IP de B, e por m o agente A envia um ACK diretamente ` a B, sinalizando a comrmacao da sess o. a Ap s esse handshake, o agente A j de posse do IP de B, o a pode incializar o uxo de dados diretamente para B. Um grande problema para o protocolo SIP, e a presenca de NATs na rede, por um motivo simples, o PROXY ir perguntar a ao agente qual o seu IP e este responder o IP interno ao a NAT, que e invalido na rede externa. Dessa forma, o protocolo

Fig. 2.

SIP Handshake

funcionar perfeitamente, por m o ultimo ACK nunca chegar a e a e a sess o nunca ser iniciada. a a ` Existem v rias formas de se sobrepor a esse problema, entre a elas: a utilizacao agentes capazes de descobrir o NAT na rede (Utilizando UPnP) e negociar o endereco p blico do NAT, u outra solucao e a criacao de NATs mais inteligentes quanto ao protocolo SIP, por m a solucao mais utilizada e a troca e da transmiss o peer-to-peer por duas transmiss es clientea o servidor, essa estrat gia e chamada de Media-Relay. e 2) RTP: Real-time Transport Protocol (RTP) e um protocolo desenvolvido pelo grupo de trabalho de transporte de Audio-Video do Internet Engineering Task Force (IETF) e publicado em 1996 na RFC 1889, substituda pela RFC 3550 em 2003. Criado para utilizacao em uxos de multimdia em tempo real sobre redes IP, o RTP trata-se de um padr o para quase a todas as aplicacoes que transmitem audio e vdeo entre com ` putadores conectados a uma rede. Foi criado para ser utilizado em redes ponto-a-ponto, por m tamb m pode ser usado em e e comunicacoes para destinat rios multicast. a O RTP possui compensacao de uxo de dados e facilidade para deteccao de jitter na rede, em contrapartida, ele n o a reserva recursos e tampouco garante qualidade de servico. Para amenizar o problema da falta de conabilidade do RTP, utilizase o protocolo RTCP (do ingl s, RTP Control Protocol) em e conjunto, ele e respons vel por fazer um certo monitoramento a do RTP. O RTCP ca respons vel por monitorar as estatsticas relaa ` cionadas a transmiss o e QoS e auxilia na sincronizacao dos a uxos de mdia carregados pelo RTP, desta maneira os dois protocolos trabalham em conjunto, completando a funcionali dade do outro. E importante salientar que mesmo trabalhando de forma conjunta, os pacotes transmitidos pelos dois protocolos s o independentes e a largura de banda de tr fego RTCP a a e muito pequena,cerca de 5%, quando comparada a do RTP. Quando fala-se de uxo de mdia em tempo real, e im portante lembrar que aplicacoes deste tipo primam pela alta velocidade na entrega de dados e s o tolerantes a perdas de a pacotes para alcancar este objetivo, sabendo disso, o TCP (Transmission Control Protocol) acaba na maioria das vezes

n o sendo uma boa escolha para utilizacao como protocolo de a transporte neste determinado tipo de rede, mesmo possuindo um padr o para comunicacoes deste tipo, pelo fato de se tratar a de um protocolo con vel, orientado a conex o. a a O UDP (User Datagram Protocol) e o protocolo mais utilizado para transporte de sess es multimdia implementadas o em RTP. Por se tratar de um protocolo n o con vel, r pido, a a a simples e que quando combinado com o RTP, consegue efetuar multiplexacao de diversos uxos multmidia em um unico uxo de pacotes UDP. O RTCP utiliza o mesmo m todo que o e RTP, por m os dois protocolos utilizam portas UDP diferentes. e Os segmentos UDP n o possuem quaisquer informacoes a sobre o tempo de transmiss o dos pacotes, impossibilitando a ao receptor que possa fazer uma compensacao nos atrasos na entrega, esta e uma funcao que ca encarregada pelos protocolos RTP/RTCP que s o implementados na camada de a aplicacao. Essa combinacao de protocolos n o garante em si a entrega a de pacotes e qualidade de servico, mas a partir dela pode-se ter um controle da qualidade observada na rede em que est a sendo utilizada, al m de poder acompanhar o uxo de bits, e segmentacao de blocos de dados em pacotes e a transmiss o a pela rede. Para cada uxo de multimdia e estabelecida uma sess o a RTP, que e composta por um endereco IP e o par de portas UDP sem privil gios que ser o utilizadas para uso do RTP e e a RTCP (1024 a 65535). Seguindo as especicacoes estabaleci das, a porta para RTP deve ser de n mero par e a porta para u RTCP deve possuir o pr ximo valor de porta superior mpar. o O protocolo RTP possui ainda funcionalidades muito interessantes, como a utilizacao de uma ferramenta chamada misturador (mixer), que tem a funcao de disponibilizar mdias em formatos diferentes dependendo dos receptores, podendo disponibilizar vdeos e a dios de qualidade maior, para aqueles u destinat rios que posurem bandas maiores ou conex es de a o alta velocidade. H tamb m, o que chamamos de tradutor a e (translator), que funciona como uma ponte para usu rios a que se encontram bloqueados para pacotes por algum tipo de seguranca, como Firewall. Um tradutor e respons vel por a converter os pacotes para um formato que tenha permiss es de o passar pela seguranca e o outro do outro lado, ca respons vel a por traduzi-lo de maneira que os receptores possam compreender do que se trata. O cabecalho RTP possui 12 bytes no mnimo e pode ser visualizado na Figura 3. 3) H.323: O protcolo H.323 e uma recomendacao da ITU-T, publicada em 1996, que dene uma pilha de protocolos para a provis o de comunicacao audio e vdeo sobre redes comutadas a por pacotes. Ele dene protocolos para incio transporte e controle de um uxo de dados em tempo real, a pilha de protocolos denidas pelo H.323 pode ser vista na Figura 4 No protocolo H.323 os agentes s o ditos Terminais, e a s o respons veis por iniciar um uxo, transmitir os dados, e a a nalizar o uxo. Quando um terminal inicia o seu trabalho, a primeira coisa que ele faz e entrar em contato com um elemento da rede, chamado GATEKEEPER, que e respons vel por registrar o a

Fig. 3.

Cabecalho RTP

Fig. 5.

Handshake inicial

necessitando que esse tenha um poder maior de processamento e de banda. III. A STERISK A. O que e Asterisk? Asterisk [4] e uma implementacao em software livre de uma private branch exchange (PBX), termo que pode ser compreendido como central telef nica privada em uma traducao o livre. Desenvolvido por Mark Spencer em 1999 e mantido atualmente pela Digium sob lincencas p blicas como a GNU u General Public License (GPL) ou privadas. Ele e um programa de computador que possui todos os recursos de uma central telef nica tradicional e mais alguns. Assim como um PBX o tradicional com o Asterisk e possvel realizar chamadas entre os telefones conectados a ele, permite conex o com outros a servicos telef nicos tais como a rede p blica de telefonia o u comutada, que ainda e o modelo tradicional de telefonia, e voz sobre IP. O nome Asterisk vem do smbolo *, muito comum no mundo da telefonia. No comeco ele foi desenvolvido para rodar em sistemas LINUX, com o passar do tempo ele foi sendo atualizado e atualmente roda em uma variedade de sistemas, como NetBSD, FreeBSD, OpenBSD, Mac OS X e Solaris. Existe uma vers o a desenvolvida para Windows conhecida como AsteriskWin32. Algumas informacoes sobre o projeto Asterisk no mundo: Mais de quatro milh es de servidores instalados rodando o Asterisk; Aproximadamente 56.000 f runs ativos; o Mais de 17.700 listas de discuss o sobre Asterisk; a Aproximadamente 400 colaboradores ativos no projeto; Mais de 200 provedores VoIP em todo o mundo usando Asterisk B. Sobre o Asterisk O Asterisk e um software, baseado na licenca GPL (GNU General Public License), que executa todas as funcoes de

Fig. 4.

Pilha de protocolos do H.323

Terminal, guardar o seu endereco, autenticar o usu rio e outros a servicos que venham a ser implementados no primeiro contato do Terminal com a rede. Todas essas transacoes iniciais s o feitas baseadas no a protocolo H.255.0 RAS, que dene servicos de Registro Autenticacao e Status, o pr prio GATEKEEPER usa esse o protocolo para se comunicar com outros de sua classe. Quando o terminal e ligado ele envia uma mensagem Gatekeeper Request (GRQ) para descobrir quais os GATEKEEPERs da rede, caso existam na rede eles responder o com a uma mensagem Gatekeeper Conrm (GCF), o terminal ent o a escolhe um GATEKEEPER para trabalhar. O pr ximo passo e o o Terminal se registrar enviando uma mensagem Registration Request (RRQ), que o GATEKEEPER responder com a mena sagem Registration Conrm (RCF), nesse ponto o Terminal e reconhecido na rede e j pode fazer/receber ligacoes, como a pode ser visualizado na Figura 5. Uma aplicacao interessante dos GATEKEEPERs e a habil idade que estes tem de agrupar os Terminais em Zonas, de forma que tais zonas denem facilidade de ligacao intra Zona, e planos de ligacao entre zonas, a denicao das zonas vai muito da implementacao da rede, ou seja, e uma possibilidade de customizacao da rede. E tamb m no GATEKEEPER que se dene qual o m todo e e de uxo que se usar na transmiss o, pode-se escolher a a a perspectiva direct routed, onde os dados do uxo ser o transa mitidos de forma peer-to-peer entre os dois Terminais, ou pode-se escolher a perspectiva gatekeeper routed, onde os dados do uxo obrigatoriamente passar o pelo GATEKEEPER, a

uma central telef nica convencional atrav s das principais o e tecnologias de comunicacao existentes no mercado, como por exemplo: linhas telef nicas anal gicas, links de telefonia o o digital via placas de comunicacao Time-Division Multplexing, ou Multiplexacao por divis o de tempo(TDM) , VoIP atrav s a e dos protocolos SIP, H.323, IAX2, MGCP, Skinny,GoogleTalk, Skype, entre outros. Atrav s do Asterisk e possvel estabelecer uma chamada e entre qualquer um desses protocolos. O Asterisk e o que chamamos de B2B User Agent, ou melhor, Back-to-Back User Agent, ele estabelece uma chamada telef nica, separando cada o perna da chamada entre origem e destino, e monitora todo o tr fego de audio entre esses pontos. Por isso, caso esses pontos a estejam utilizando CODECs diferentes, o Asterisk consegue transcodicar o audio sem qualquer problema. Pode-se dizer que o Asterisk possui todas as funcionalidades das chamadas centrais telef nicas convencionais, como unidade de resposta o audvel (URA), correio de voz, confer ncia, distribuicao au e tom tica de chamadas, entre outras, e caso seja necess rio, e a a possvel acrescentar novas funcionalidades ao sistema atrav s e do pr prio plano de discagem do Asterisk, m dulos customizao o dos escritos em C, ou ainda atrav s de scripts escritos em e Asterisk Gateway Interface (AGI). IV. A MBIENTE A. Sobre a distribuicao Para este trabalho utilizamos uma m quina virtual feita a com o VirtualBox [5], tendo como sistema operacional uma distribuicao Linux de nome Gentoo [6], uma meta distribuicao baseada no gerenciador de pacotes portage. Ela e baseada em uma instalacao onde o usu rio decide quais s o as suas necessi a a dades em relacao a um sistema operacional, desde o Kernel [7] que ser compilado manualmente incluindo ou n o certos a a m dulos, at as vers es das aplicacoes que ser o compiladas o e o a uma a uma seguindo a ags de compilacao passadas a elas. Ele e distribudo como um software gratuito e de c digo aberto o e n o tem um versionamento similar aos demais sistemas a operacionais, seu versionamento e em funcao do perodo em que e lancada uma mdia com os recursos mnimos para uma instalacao. Com vers es para as mais diversas arquiteturas essa o distribuicao se mostra altamente escal vel para diversos tipos a de funcao, desde servidores de grande porte, passando por usu rios nais chegando a ser utilizada at em dispositivos a e embarcados. Possui uma das maiores comunidades ativas em termos de colaboracao no desenvolvimento tanto de softwares quanto em pacotes que viabilizam a instalacao desses softwares e em relacao a documentacao (conhecida como uma das maiores e mais ecientes documentacao na comunidade linux) da maioria desses softwares. A exibilidade do gerenciador de pacotes portage e uma das raz es do Gentoo ser chamado de meta distribuicao. o Baseado no conceito de ports collection, onde temos um conjunto de makeles e patches provenientes da arvore ocial da distribuicao que t m como objetivo de ser um m todo e e simples de instalar softwares ou apenas compilar os bin rios do a mesmo. No Gentoo temos para realizar essa funcao os ebuilds, scripts bash com funcoes separadas para baixar, congurar,

compilar, instalar e remover determinado software, al m de e funcoes especcas para alguns pacotes. A principal ferramenta de utilizacao do portage e o emerge. Escrito em Python e com muitos argumentos que fazem chamadas as opcoes contidas nos ebuilds, ele e a ferramenta ideal para o administrador do sistema realizar tarefas de instalacao e vericacao de depend ncias de forma ecaz e satisfat ria. e o B. Da instalacao do sistema O servidor foi criado em uma m quina virtual (VM) no a VirtualBox vers o 4.2.4, sem nenhuma conguracao especial. a Alguns informacoes sobre a m quina: a A VM possui uma interface de rede; A rede foi congurada em modo bridge conectada a uma interface wirelles; O processador virtual e composto por tr s n cleos de e u 3.3GHz; O disco rgido tem cerca de 18 GB; Para informacoes sobre m quinas virtuais com o VirtualBox a o site ocial da aplicacao oferece informacoes sucientes. A tarefa de instalacao do sistema operacional e um tanto quanto complexa quando se trata do Gentoo. Por conta disso essa parte ser apenas mencionada como feita seguindo o a manual de instalacao da distribuicao [8]. Algumas informacoes pertinentes ao sistema operacional: A arquitetura do sistema utilizado e x86 64; A vers o do kernel utilizada e 3.4.9-gentoo; a A vers o do compilador GCC utlizada e 4.5.4; a C. Da instalacao do Asterisk Instalar o software Asterisk no Gentoo e uma tarefa relativamente simples por conta das ferramentas mencionada anteriormente. O comando a seguir mostra como instalar o asterisk no nosso cen rio. a
emerge -av net-misc/asterisk

Esse pacote est na cetegoria net-misc do reposit rio ocial a o e possui como opcoes na hora de instalacao suporte a diversos componentes como codecs, drivers de som, escolha pelo tipo de banco de dados e outras. Para o nosso cen rio selecionamos a banco de dados sqlite3, drivers de audio com alsa, utilizar logs com o servidor de logs syslog, informacoes extra no log, suporte a conex o com servicos de mensagem instant nea que a a utilizam protocolo jingle e conex es via http. Para congurar o essas opcoes de maneira pr tica e sem correr o risco de em a uma atualizacao descongurar alguma opcao adcionamos o conte do a seguir no arquivo /etc/portage/package.use : u
net-misc/asterisk curl debug http jingle sqlite3 syslog

Ap s a instalacao, se ocorrer tudo bem, passemos para o conguracao do servico. D. Da conguracao Os arquivos de conguracao relacionado ao asterisk est o a localizados no diret rio /etc/asterisk/. A conguracao foi feita o seguindo a p gina da wiki do gentoo para o asterisk e a a

p gina da wiki de um softphone chamado ekiga onde as prina cipais conguracoes s o feitas nos arquivos extensions.conf a e sip.conf. O arquivo extensions.conf e o respons vel por a criar as extens es ou ramais, nele criamos tamb m caminhos o e gen ricos como XXX para cada X um dgito, onde podemos e usar a imaginacao para solucionar as quest es que precisamos. o No extensions.conf criamos grupos de chamadas locais no qual podemos incluir outros grupos e criar os ramais dentro dele. O arquivo sip.conf armazena informacoes sobre contas de usu rios de protocolo SIP as informacoes s o simples a a como nome de usu rio, bina, senha e qual grupo participam. a No ap ndice est o os arquivos de conguracao devidamente e a comentados. E. Do cen rio a O cen rio utilizado para essa demonstracao foi um servidor a em m quina virtual e alguns clientes com computadores, a tablets e smartphones rodando o software Linphone [9], externamente ao servidor principal foi um implementado um segundo servidor VoIP com conex o ao software OpenBTS a tornando-o um gateway GSM respons vel por transferir as a ligacoes VoIP para o protocolo GSM podendo ent o conectar a as duas redes. V. C ONCLUS AO

O arquivo sip.conf armazena informacoes sobre contas de usu rios de protocolo SIP as informacoes s o simples como a a nome de usu rio, bina, senha e qual grupo participam. a No exemplo abaixo estamos criando os usu rios que recea beram um n mero no extensions.conf. u
[general] ; configuraces bsicas do protocolo o a context=default ; Context padro para recebimento de chamadas a bindport=5060 ; Porta UDP (A padro 5060) a e bindaddr=0.0.0.0 ; Endereco IP para escutar (0.0.0.0 Escuta todos) srvlookup=yes [teste] type=friend ; tipo friend=faz e recebe chamadas, user=faz chamadas, ;peer=recebe ;chamadas. callerid = "Teste" <6600> username=teste ;Nome do usurio para login a secret=123 ;Senha host= dynamic ; se no tem ip fixo a nat=yes ; se est debaixo de nat a canreinvite=no ; no para no encaminhar chamadas a context=grupo1 [teste2] type=friend callerid = "Teste2" <6601> username=teste2 secret=123 host= dynamic nat=yes canreinvite=no context=grupo1

Vimos que o desenvolvimento das telecomunicacoes prove a oportunidade para a implementacao de novas tecnologias que visam melhorar a comunicacao humana, fazendo uso da tecnologia VoIP podemos integrar todas as formas de comunicacao atrav s da internet, liberando de in meras bar e u reiras tpicas da telefonia tradicional. Utilizando softwares livres, tais como Asterisk e OpenBTS conseguimos interligar uma rede GSM a uma rede VoIP atrav s da intranet sem custo adicional algum. Isso mostra e suas versatilidade em solucionar problemas dos mais variados, como prover servico de telefonia a comunidades remotas e consequentemente a inclus o digital dos mesmos. a A P E NDICE A C ONFIGURAC AO DO S ERVIDOR A STERISK Abaixo temos um exemplo de conguracao do grupo de chamada grupo1 que inclui os ramais do grupo demo e cont m os seguintes ramais. Os coment rios deste arquivo s o e a a precedidos de ;.
[grupo1] include => demo exten => 6600,1,Dial(SIP/teste) ; SIP- o tipo da conta E ;teste-O nome do usurio a exten => 6600,2,Hangup exten => 6601,1,Dial(SIP/teste2,25) exten => 6601,2,Hangup

Temos abaixo as conguracoes no arquivo sip.conf que permitem a intercomunicacao entre dois servidores asterisk. Servidor 10.57.2.217
[general] register => 700111:123@10.57.2.243 ;essa diretiva segue o modelo: ;register => user:secret@host[:port] context=home ; essa diretiva conecta o servidor 10.57.2.217 ao 10.57.2.243

Servidor 10.57.2.243
[general] register => 100110:123@10.57.2.217 ;essa diretiva segue o modelo: ;register => user:secret@host[:port] context=home ; essa diretiva conecta o servidor 10.57.2.243 ao 10.57.2.217

Temos abaixo as conguracoes no arquivo extensions.conf que permitem o redirecionamento de chamadas que correspondam a um padr o previamente selecionado ao outro servidor a voip.

Servidor 10.57.2.217
[home] exten => 1000110,1,Dial(SIP/100110) exten => _7.,1,NoOp() exten => _7.,n,Dial(SIP/700111/${EXTEN}) ;todas as chamadas para nmero que iniciarem com 7 e tiverem sejam l quantos u a ;caracteres forem, sero redirecionadas para o nmero 700111 a u exten => _7.,n,Hangup()

Servidor 10.57.2.243
[home] exten => 7000111,1,Dial(SIP/700111) exten => _1.,1,NoOp() exten => _1.,n,Dial(SIP/100111/${EXTEN}) ;todas as chamadas para nmero que iniciarem com 1 e tiverem sejam l quantos u a ;caracteres forem, sero redirecionadas para o nmero 100111 a u exten => _1.,n,Hangup()

R EFERENCES
J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, and E. Schooler, SIP: Session Initiation Protocol, http://www.ietf.org/rfc/rfc3261.txt, June 2002. [2] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, RTP: A Transport Protocol for Real-Time Applications, http://www.ietf.org/rfc/ rfc1889.txt, January 1996. [3] T. S. S. of ITU, Packet-based multimedia communications systems. ITUT, 2009. [4] D. Mark Spencer, Asterisk Project, http://www.asterisk.org/, January 2013. [5] Oracle, VirtualBox Project, http://www.virtualbox.org/, January 2013. [6] G. Foundation, Gentoo Project, http://www.gentoo.org/, September 2007. [7] L. Torvalds and thousands of collaborators, Linux Kernel Project, http://www.kernel.org/, Janeiro 2013. [8] G. Foundation, Gentoo Linux AMD64 Handbook, http://www.gentoo. org/doc/en/handbook/handbook-amd64.xml?full=1, September 2007. [9] M. Spencer, Linphone VoIP phone software, http://www.linphone.org, November 2010. [1]