Sunteți pe pagina 1din 46

1 fim

VoIP - Asterisk

LuizArthur

VoIP - Asterisk

LuizArthur

Asterisk um software VoIP (Voz sobre Internet Protocol) opensource de licena GPL que pode transformar um simples computador em um poderoso e completo PBX (Private Branch eXchange) criado pela Digium Inc. O Asterisk pode ser executado em plataformas UNIX-Like tal como Linux e sistemas BSD, o Asterisk tambm foi projetado para facilitar a adio de qualquer componente de telefonia, seja hardware ou software, permitindo que os usurios da rede modele seus sistemas telefnicos da forma que preferir. O Asterisk est no meio de uma grande revoluo, pois ele esta tratando de uma rea da tecnologia que esteve parada no tempo que a industria de Sistemas de Ramais Privados (PBX). Os principais fabricantes de telecomunicao ainda montam sistemas de PBX caros e incompatveis entre si, com operaes complicadas, cdigos obsoletos sobre hardware e engenharia ultrapassados. Como exemplo, o Gerenciador de Telecomunicao Empresarial da Nortel mistura um servidor Windows NT 4.0, um Telefone Chaveado de teclas baseado em VXWorks de 15 anos atrs e um PC de 700 Mhz e tudo isto pode ser adquirido por algo em torno de 5 a 15 mil dlares, no incluindo telefones.

VoIP - Asterisk

LuizArthur

Todos os principais fabricantes de telecomunicaes oferecem produtos similares e eles geralmente no querem que voc tenha flexibilidade ou opo; eles querem que voc fique restrito a seus ciclos de produtos. Mas o Asterisk tenta mudar tudo isto, o Asterisk tenta proporcionar liberdade ao sistema telefnico, permitindo que voc configure o sistemas ao seu gosto. Naturalmente que esta flexibilidade tem um preo: o Asterisk pode tornar-se difcil de configurar devido as tantas possibilidades de configurao, claro que isto pode ser visto como um ponto negativo ou positivo. Mas uma coisa certa o Asterisk coloca em cheque os altos custos das centrais telefnicas convencionais, alm de proporcionar conectividade com das redes VoIP com as tradicionais PSTN (Public Switched Telephone Network). As principais vantagens do Asterisk so a reduo de custos, j que possibilita o uso de VoIP que normalmente se mostra mais em conta do que chamadas DDD e DDI das redes PSTN. Deve ser considerada tambm a economia indireta quando falamos do agregado de funes que o Asterisk proporciona, tais funes se fossem incorporadas a um PBX tradicionais representariam custos exorbitantes.

VoIP - Asterisk

LuizArthur

A autonomia para controle do sistema de telefonia tambm deve ter grande destaque como vantagem pois agora no existe mais a dependncia de um tcnico de uma central telefnica proprietria, e as novas funcionalidades, mudanas e novos desenvolvimentos podem ser implementados por qualquer conhecedor da arquitetura VoIP . O plano de discagem flexvel poderoso tambm um destaque pois possibilitam por exemplo controle de rota das chamadas. Por fim, o Asterisk pode ser utilizado em diversas aplicaes, citando apenas algumas funcionalidades, podemos ver:

Conectar empregados trabalhando em casa ao PABX da empresa (HomeOffice); Conectar escritrios em localidades, at mesmos estados diferentes via Internet; Correio de voz integrado ao e-mail/webmail; Construir aplicaes de resposta automtica por voz, que podem conectar o usurio a um sistema de pedidos por exemplo, ou outras aplicaes internas; Das acesso ao PABX da empresa para usurios em viagem, conectando por exemplo, a partir de um hotel ou aeroporto; Registro de chamadas para integrao com sistema de tarifao; Integrao com reconhecimento de voz; Msica em espera para clientes aguardando na fila com suporte a MP3;

5 Arquitetura do Asterisk

VoIP - Asterisk

LuizArthur

O Asterisk foi desenvolvido para ter o mximo de flexibilidade, assim o Asterisk fica transparente a protocolos, CODECs e hardwares, podendo ser compatvel com qualquer tecnologia existente ou que venha a ser lanada, sem que sejam necessrias mudana no ncleo do Asterisk. Desta forma o Asterisk trabalha de forma modular, e carregar os mdulos separadamente permite maior flexibilidade ao administrador, permitindo que ele escolha a melhor e mais enxuta configurao que o atenda. A arquitetura do Asterisk baseada em 4 pontos principais:

Canais Um canal pode ser interpretado como uma conexo que traz uma chamada ao Asterisk PABX. Um canal pode ser uma conexo a um telefone analgico tradicional, ou a uma linha PSTN, ou uma chamada lgica, como uma chamada via Internet. Toda chamada originada ou recebida em um canal distinto. Alguns tipos de canais suportados pelo Asterisk so SIP, H.323, IAX, PSTN, ISDN, etc. Ento um canal equivalente linha telefnica do sistema telefnico tradicional;

VoIP - Asterisk

LuizArthur

Codecs So responsveis por converter a voz em sinais digitais por exemplo. Os codecs influenciam na quantidade de chamadas que podem ser colocadas em um mesmo link, isso pode ser feito codificandose a voz em uma forma que ocupe menor banda. O trfego de voz em redes PSTN ocupa uma banda de 64 Kbps. Aplicando-se codecs como o G.711 para o trfego da voz em redes IP alcanamos a mesma banda (64Kbps). Porm, codecs como o GSM conseguem reduzir essa banda para aproximadamente 13 Kbps e o G.729 consegue compresso de 8Kbps, ento o Asterisk suporta vrios tipos de codificao de voz. Protocolos So responsveis por definir a forma/linguagem como os pontos de comunicao (terminais, gateways, etc) vo negociar entre si. So responsveis por tarefas como sinalizao para estabelecer conexo, determinar ponto de destino, roteamento entre pontos, e tambm questes de sinalizao de telefonia como campainha, identificados de chamada, desconexo, etc. Os protocolos mais utilizados so o H.323 e o SIP, mas no mbito do Asterisk seu protocolo IAX tambm tem tido grande difuso. Aplicaes So as funcionalidades encontradas no Asterisk, como voicemail, distribuidor automtico de chamadas e fila de atendimento (Call-Centers), servidor de msica de espera, discador automtico (telemarketing), sala de conferncia, Media Gateway (VoIP/PSTN), unidade de resposta automtica, etc.

7 Plano de Discagem

VoIP - Asterisk

LuizArthur

Outro ponto importante do Asterisk o Plano de discagem, este considerado o corao ou melhor o crebro que define como o Asterisk ir gerenciar as chamadas. Consiste de uma lista de instrues ou passos que o Asterisk deve seguir. Essas instrues so disparadas a partir dos dgitos recebidos de um canal ou aplicao. fundamental para configurar o Asterisk, que se entenda o plano de discagem. Ns iremos no aprofundar neste assunto mais para frente no texto. Hardware de Telefonia Bem o Asterisk s exige hardware especfico se voc quiser interligar sua rede VoIP com outro tipo de rede (PSTN, ISDN, etc). O Asterisk suporta inmeros tipos de hardware de telefonia, de inmeros fabricantes, mas principalmente o hardware fabricado pela Digium. Alguns hardwares suportados so: Wildcard TE411P, Wildcard TE410P , Wildcard TE406P, Wildcard TE405P, Wildcard TDM400P S100I (IAXy), , Generic X100P, OpenLine4, OpenSwitch6/12, etc.

VoIP - Asterisk
Vamos ver agora apenas dois exemplos de hardware Asterisk:

LuizArthur

Placa XP100P - Esta placa uma das mais simples com uma porta FXO Foreign eXchange Office, que pode ser ligada rede pblica ou a uma interface de ramal de PBX. Uma placa faz/modem com chipset Intel 537 ou MD3200 pode ser usada como uma XP100P .

VoIP - Asterisk

LuizArthur

Placa TDM400P Esta placa analgica pode conter at quatro canais. Os canais podem ser FXO (pode ser ligado rede pblica ou ramal de um PBX) ou FXS Foreign eXchange Station (pode ser ligado a um assinante, como um telefone analgico) dependendo da configurao escolhida. Ento ns utilizamos linhas FXS para ligar os terminais (aparelhos telefnicos comuns) e os FXO para ligar as linhas telefnicas que possibilitar o acesso a redes PSTN.

10 Instalao do Asterisk

VoIP - Asterisk

LuizArthur

O Asterisk faz uso intensivo de CPU, tal como qualquer aplicao em tempo real, isso se deve em grande parte, sua necessidade de acesso prioritrio aos barramentos do processador e do sistema. Em sistemas menores o hardware normalmente no um problema, entretanto em sistemas de grande capacidade, o hardware deve ser muito bem estudado para no causar falhas de desempenho, manifestadas por problemas na qualidade de udio para os usurios, muitas vezes na forma de ecos e coisas do tipo. A seguir mostrado uma lista com orientaes bsicas que devem ser observadas na construo do PBX Asterisk quanto ao hardware:

Sistemas com no mais do que 5 canais recomendado no mnimo um computador de 400Mhz x86 com 256 MB de memria RAM; Para sistemas com at 10 canais recomendado no mnimo um computador de 1GHz x86 com 512 MB de memria RAM; Ambientes com at 15 canais, neste tipo de ambiente o mnimo recomendvel um computador com 3GHz x86 e 1 GB de memria RAM; J para ambientes grandes com mais de 15 canais altamente recomendvel o uso de CPUs duplas e possivelmente mltiplos servidores em arquitetura distribuda.

11

VoIP - Asterisk

LuizArthur

Quando ao uso de disco rgido o Asterisk no utiliza muito espao em memrias secundrias, requerendo em mdia 100 MB para o programa compilado, mas a insero de cdigo fonte, voicemail, etc, requer mais espao de acordo com a quantidade de usurios. Quanto ao uso de placas especficas, estas s so necessrias caso haja necessidade de intercomunicao com outros tipos de redes que no as redes IP. O processo de instalao do software Asterisk, esta se d em qualquer sistema Linux, mas pode ser feita tambm em sistemas BSD e MAC OS X. O Asterisk utiliza trs pacotes principais: o programa principal Asterisk (asterisk), os drivers de telefonia Zapata (zaptel) e as bibliotecas PRI (libpri). Se voc planeja uma rede VoIP pura, o nico requisito real o pacote asterik. Os drivers zaptel so necessrios se voc estiver utilizando hardware digital ou analgico, ou se voc estiver usando o driver ztdummy como interface de temporizao.

12

VoIP - Asterisk

LuizArthur

A biblioteca libpri tecnicamente opcional, a no ser que voc esteja utilizando interfaces ISDN PRI. Voc poder economizar uma pequena quantidade de RAM se no a carregar, mas recomendado que a libpri seja instalada juntamente com o pacote zaptel para complet-la. Outro pacote que voc pode querer instalar o asterik-sounds. Embora o Asterisk venha com muitos sons gravados na distribuio fonte principal, o pacote asterisk-sounds ir dar a voc um pouco mais. O cdigo fonte do Asterisk pode ser obtido no servidor Digium FTP , localizado em ftp://ftp.digium.com. Entre no FTP e baixe as ultimas verses do asterisk, zaptel e libpri. Exemplo: asterisk-1.4.9.tar.gz libpri-1.4.1.tar.gz zaptel-1.4.4.tar.gz Ns iremos fazer uso do diretrio /usr/src para extrair e compilar o fonte do Asterisk.

13

VoIP - Asterisk
Os comandos a seguir diretrio /usr/src: iro extrair os pacotes

LuizArthur Asterisk no

# tar vzxf asterisk-1.4.9.tar.gz -C /usr/src/ # tar vzxf libpri-1.4.1.tar.gz -C /usr/src/ # tar vzxf zaptel-1.4.4.tar.gz -C /usr/src/

Compilao da libpri A libpri utilizada por vrios fabricantes do hardware Multiplexao por Diviso de Tempo (TDM), mas mesmo que voc no tenha esse hardware instalado, seguro compilar e instalar esta biblioteca. Voc deve compilar e instalar a libpri antes do Asterisk, j que ela vai ser detectada e usada quando o Asterisk for compilado. Segue os passos para compilar o libpri: # cd /usr/src/libpri-1.4.1/ # make # make install

14 Compilao do zaptel

VoIP - Asterisk

LuizArthur

A interface zaptel um mdulo de ncleo carregvel que apresenta uma camada de abstrao enter os drivers de hardware e o mdulo Zapata no Asterisk. esse conceito que permite que os drivers do dispositivo sejam modificados sem que sejam feitas alteraes prpria fonte do Asterisk. Os drivers de dispositivo so utilizados para comunicar com o hardware diretamente e para passar informaes entre o Zaptel e o hardware. Vrias opes podem ser passadas na compilao do zaptel, mas aqui iremos fazer uma compilao simples, como segue: # # # # cd /usr/src/zaptel-1.4.4/ ./configure make make install

15 Compilao do Asterisk

VoIP - Asterisk

LuizArthur

Assim que voc tiver compilado os pacotes zaptel e libpri (se voc precisar deles) e alguns pacotes adicionais (caso voc queira), pode se voltar para o Asterisk. Existem tambm no pacotes Asterisk inmeras alteraes que podem ser feitas j na compilao, mas aqui ficaremos apenas com a instalao padro que se da como a seguir: # # # # # cd /usr/src/asterisk-1.4.9/ ./configure make make install make sample

O comando make sample executado para instalar os arquivos de configurao originais. Instalar esses arquivos (em vez de configurar cada arquivo manualmente) permitir a voc ter seu sistema Asterik pronto e rodando muito mais rpido. Mas tome cuidado se voc estiver apenas atualizando o seu sistema Asterisk, pois este comando pode substituir os seus arquivos.

16

VoIP - Asterisk

LuizArthur

Se voc quiser que o Asterisk inicie automaticamente com boot do sistema, voc deve criar um script no Slackware em /etc/rc.d/. Existe um script pronto e pode ser copiado para o diretrio /etc/rc.d da seguinte forma: # cp /usr/src/asterisk-1.4.9/contrib/init.d/rc.slackware.asterisk /etc/rc.d/rc.asterisk Aps isto d permisso de execuo ao script com o comand chmod a +x /etc/rc.d/rc.asterik e coloque a linha /etc/rc.d/rc.asterisk start no arquivo /etc/rc.d/rc.local. Para sistemas onde os scripts de inicializao ficam em /etc/rc.d/init.d ou /etc/init.d/ o comando make config pode ser utilizado para fazer o script de forma automtica. Carregando mdulo Zaptel O mdulo zaptel no necessita de nenhuma configurao, ento basta apenas carregar o seguinte comando: # modprobe zaptel
Lembre-se

isto s vai ser necessrio caso o sistema tenha hardware Zapata. Em alguns casos tambm necessrio carregar o mdulo ztdummy.

17

VoIP - Asterisk

LuizArthur

As bibliotecas libpri no precisam ser carregadas como os mdulos. O Asterisk olha para as libpri na hora de compilar e se configura para utilizar as bibliotecas se elas forem encontradas. Carregando o Asterisk O Asterisk pode ser carregado de vrias formas. A mais fcil delas iniciar o Asterik executando o arquivo diretamente da interface de linha de comando do Linux. Se voc criou os script voc pode iniciar no Slackware o Asterik com o comando: # /etc/rc.d/rc.asterisk start Entretanto, a maneira preferida de iniciar o Asterisk por meio do script: # safe_asterisk Uma configurao bsica para testar o Asterisk A configurao do Asterisk feita atravs de arquivos de configurao localizados no diretrio /etc/asterisk. O formato dos arquivos ASCII dividido em sees com o nome da seo entre colchetes ([]). Os caracteres de comentrio so: o ponto-e-virgula e sustenido.

18

VoIP - Asterisk

LuizArthur

Iremos primeiramente criar um ramal, ento necessrio decidir qual tipo de protocolo que ser utilizado: H.323, SIP IAX, etc. Bem iremos tomar como protocolos , de configurao o SIP e o IAX. Pois o SIP bem simples e exige poucos recursos sendo ento altamente recomendado em redes locais. J o IAX apresenta grandes vantagens quando o ambiente VoIP implementado dentro ambientes que utilizam NAT, ou seja, ele altamente recomendvel quando necessrio passar por vrias redes, mas o IAX foi criado por uma empresa e no por uma entidade o que pode geral problemas futuros, alm de no apresentar tantas funcionalidades quanto o H.323 e o SIP . Vamos ento neste primeiro exemplo criar apenas ramais SIP, e depois criar alguns ramais AIX. Bem para criar ramais SIP devemos editar o arquivo /etc/asterisk/sip.conf, v at a ltima linha e inclua a seguinte configurao: [200] callerid=usuario1 secret=123mudar host=dynamic type=friend context=interno [201] callerid=usuario2 secret=123mudar host=dynamic type=friend context=interno

19

VoIP - Asterisk

LuizArthur

Bem as configuraes que fizemos no arquivo sip.conf se iniciam com o nmero do ramal entre colchetes ([200]) neste caso primeiro ramal o duzentos e o segundo o duzentos e um. A opo callrid faz referencia ao nome do usurio, no ramal 200 o usurio chama-se usuario1 e para o ramal 201 o nome do usurio usuario2. A opo secret diz respeito a senha para os respectivos usurios. O parmetro host referencia onde o IP de determinado ramal se encontra, a opo dynamic diz que este ramal pode assumir qualquer IP de forma dinmica. J a opo type diz que tipo de ligaes o ramal esta autorizado a fazer, sendo que a friend permite ao ramal efetuar e receber ligaes. Por fim, a opo context identifica a qual classe de ramal este ramal pertence, em nosso caso usamos o contexto interno que ser criado posteriormente no plano de discagem.

20

VoIP - Asterisk

LuizArthur

Ento agora iremos criar um plano de discagem para poder chamar os ramais, isto necessrio para podermos efetuar ligaes atravs do Asterisk. Para criarmos o plano de discagem que chamamos anteriormente de interno, vamos editar o arquivo /etc/asterisk/extensions.conf, indo at a ltima linha e adicionando o seguinte plano: [interno] exten => _2XX,1,Dial(SIP/${EXTEN}) exten => _2XX,2,Hangup() Assim como no sip.conf entre parenteses criamos um contexto chamado interno. Na linha exten => _2XX,1,Dial(SIP/${EXTEN}), estamos passando ao Asterisk para aceitar chamadas iniciadas pelo dgito 2 e que contenham mais dois dgitos (200, 201, 202, etc), e executar atravs da funo Dial uma chamada para o protocolo SIP com o ramal digitado no telefone VoIP que vem contido na varivel ${EXTEN}. Aps o termino da chamada, o Asterisk termina a ligao, e isto feito atravs da linha exten => _2XX, 2,Hangup(). Realizados estes passos basta reiniciar o servidor Asterisk para que as novas configuraes passem a valer. Isto pode ser feito atravs do comando:

# asterisk -rx reload

21

VoIP - Asterisk
Configurando um telefone VoIP

LuizArthur

Vamos agora configurar um ponto final que se comunique com o Asterisk. Bem como impossvel mostrar como configurar todos os tipos de pontos finais, ns utilizaremos um que sirva de exemplo sobre qual a configurao bsica de um ponto final. Ns utilizaremos o cliente da X-ten, o X-lite, que pode ser encontrado em www.xten.com e tem verses para Linux e Windows. A instalao no Windows bem fcil e no ser abordada aqui, j a instalao no Linux segue basicamente os seguintes passos: # tar # mv vzxf X-Lite_Install.tar.gz /tmp/xten-xlite/xtensoftphone -C /tmp /bin/

Para usar o software VoIP tenha certeza que a placa de som esteja ativa e configurada corretamente, no caso do Linux para configurar a placa de som voc pode usar os comandos alsaconf e alsamixer. A configurao do cliente geralmente direta. As partes mais importantes so o nome do usurio e senha para registro, alm do endereo do servidor Asterisk com o qual voc com o qual voc quer se registrar.

22

VoIP - Asterisk
ParainiciaroXLiteexecutecomousuriodainterfacegrficaocomando: #xtensoftphone Parainciaraconfiguraocliqueem1edepoisemSystem Settings:

LuizArthur

23

VoIP - Asterisk

LuizArthur

CliqueemNetwoketologosejaapresentadaaprximatelacliqueem2para configuraroservidorAsterisk: 1

24

VoIP - Asterisk
A figura a seguir mostra a tela de configurao do X-Lite:

LuizArthur

O nome no mostrador (Display Name) a seqncia que ser utilizada como Caller ID. O nome do usurio (Username) a autorizao do usurio so utilizados para autenticao, juntamente com a senha.

O domnio/reinado (Domain/Realm) deve ser o endereo IP de FQDN do seu servidor Asterisk.

25

VoIP - Asterisk

LuizArthur

O proxy do SIP o mesmo que aquele inserido para o domnio/reinado, mas com o acrscimo de :5060 (isso especifica o nmero de portas a se usar para sinalizao SIP). Depois de inserir toda essa informao, verifique se Enabled est definido como Yes, e ento feche o menu de configurao. A X-Lite ir ento se registrar no Asterisk. Se a X-Lite no aparecer para registrar, simplesmente reinicie o cliente. J que a X-Lite minimizada para a bandeja de tarefas quando voc fecha a aplicao usando o boto X, voc ir precisar sair do programa clicando diretamente no cone na bandeja e ento clicando em Exit no menu pop-up de reiniciar. Uma configurao um pouco mais elaborada Nesta configurao iremos adicionar quatro canais: um canal Escritrio de Trocas Externas (FXO), um canal Estao de Trocas Externas (FXS), um canal Protocolo de Incio de Sesso (SIP) e um canal protocolo de Troca Inter-Asterisk (IAX). Ns comeamos explorando as configuraes bsicas de interfaces analgicas tais como as portas FXS e FXO com o uso de um kit Dev-Lite da Digium. Iremos ento configurar duas interfaces VoIP: um canal SIP local conectado a um telefone por software e uma conexo para Free Wold Dialup via IAX.

26

VoIP - Asterisk

LuizArthur

O Asterisk no precisa de nenhum hardware especializado nem mesmo carto de som. Cartes de canais quem conectam o Asterisk a telefones analgicos ou linhas telefnicas esto disponveis, mas no so essenciais. Por outro lado, se voc no se conectar diretamente a uma linha de telefone analgico do seu escritrio central, voc poder rotear suas chamadas pela Internet para um provedor de servios de telefonia. Bom iremos supor que temos uma interface com dois canais FXO e FXS, o que permite que voc se conecte a uma linha de telefone analgico (FXO) e a um telefone analgico (FXS). Canais FXO e FXS A diferena entre um canal FXO e um canal FXS simplesmente qual ponta da conexo fornece o tom de discagem. Uma porta FXO no gera um tom de discagem; ela aceita um. Uma porta FXS fornece tanto o tom de discagem como a tenso de campainha para alertar o usurio da esto sobre a chegada de uma ligao. Se o servidor Asterisk tem uma porta compatvel com FXO, voc poder conectar uma linha telefnica de sua companhia de telefonia a essa porta. O Asterisk poder ento, utilizar a linha para fazer e receber chamadas telefnicas.

27

VoIP - Asterisk

LuizArthur

As portas so definidas na configurao pelas sinalizaes que utilizam em oposio aos tipos fsicos de portas que elas so. Por exemplo, uma porta FXO fsica ser definida na configurao com sinalizao FXS, e uma porta FXS ser definida com sinalizao FXO. Isso pode se tornar confuso at que se entenda as razes para isso. Os cartes FX_ so nomeados no de acordo com o que so, mas em vez disso de acordo com o que est conectado a eles. Como exemplo, um carto FXO se conecta a um escritrio central, o que significa que precisar se comportar como uma estao e utilizar sinalizao FXS. O modem em seu computador um exemplo clssico de um dispositivo FXO. Ateno!!! conectar uma porta FXS PSTN pode destruir o mdulo e o carto. Configurao de um canal FXO Vamos comear configurando um canal FXO. Primeiro configuramos o hardware Zaptel, depois o hardware Zapata. Ns vamos configurar um dialplan bsico e iremos mostrar a como testar o canal.

28

VoIP - Asterisk
Configurando o hardware Zaptel

LuizArthur

O arquivo /etc/zaptel.conf usado para configurar seu hardware. A seguinte configurao mnima define uma porta FXO com sinalizao FXS: fxks=2 loadzone=US defaultzone=US Na primeira linha (fxks=2), alm de indicar se estamos utilizando sinalizao FXO ou FXS, ns especificamos um dos seguintes protocolos para o canal 2:

Loop start (ls); Ground start (gs); Kewlstart (ks).

A diferena entre loop start e ground start tem a ver com a maneira pela qual o equipamento requer um tom de discagem:

Um circuito ground start sinaliza para o outro terminal que ele quer um tom de discagem pelo aterramento momentneo de um dos fios; Um circuito loop start utiliza um curto-circuito para requer um tom de discagem. Todas as linhas domsticas na Amrica do Norte utilizam sinalizao loop start.

29

VoIP - Asterisk

LuizArthur

Kewlstart , de fato, o mesmo que loop start, exceto que tem maior inteligncia e , por isso, mais capaz de detectar desconexes de outro terminal. Kewlstart o protocolo de sinalizao preferido para circuitos analgicos em Asterisk.

O conjunto de indicaes configurado por loadzone para uso pelo canal. O arquivo zonedata.c contm informaes sobre todos os vrios sons que um sistema telefnico emite cada pas em particular, ciclos de campainha, tom de ocupado e assim por diante. Quando aplica-se um tone zone carregado a um canal Zap, esse canal vai copiar as indicaes para o pas especificado. O defaultzone utilizado se nenhuma zona for especificada por um canal. Depois de configurar o zaptel.conf, pode-se carregar os drivers para o carto. Por exemplo, para carregar o driver wctdm, voc deve executar: # modprobe wctdm

Se no for apresentado nenhuma sada o driver foi carregado com sucesso. possvel verificar se o hardware e as portas foram carregados e configurados corretamente usando o programa ztcfg:

# ztcfg

-vv

30

VoIP - Asterisk

LuizArthur

O programa zttool uma ferramenta de diagnstico utilizada para determinar o estado do seu hardware. Um estado OK significa que o carregamento do hardware foi bem sucedido. Configurando o hardware Zapata O Asterisk utiliza o arquivo /etc/asterisk/zapata.conf para determinar os ajustes e configurao para o hardware de telefonia instalado no sistema. Tal arquivo tambm controla as vrias funes e funcionalidades associadas com os canais de hardware, tal como o Caller ID, espera de chamada, eliminao de eco e uma variedade de outras opes. No passo anterior foi ativado apenas o hardware, mas neste passo que apresenta-se o hardware ao Asterisk controlando as funes associadas a este hardware por meio do arquivo zapata.conf: [trunkgroups] ; define grupos de troncos [channels] ;canais de hardware ;defaults usecallerid=yes

31 hidecallerid=no callwaiting=no threewaycalling=yes transfer=yes echocancel=yes echotraining=yes

VoIP - Asterisk

LuizArthur

;define canais context=incoming ; Chamadas que chegarem sero passadas para ; extensions.conf na seo chamada incoming signalling=fxs_ks ; Usa sinalizao FXS para um canal FXO channel=>2 ; A PSTN esta ligada na porta 2 A seo [trunkgroups] para conexes NFAS e GR-303 e no ser discutida aqui. A seo [channels] determina o mtodo de sinalizao para os canais de hardware e suas opes. Assim que uma opo for definida, ela herdada para o restante do arquivo. Um canal definido usando-se a definio channel =>. Neste exemplo ns habilitamos Caller ID com usecallerid=yes e especificamos que isso no ser escondido para as chamadas para fora com hidecallerid=no.

32

VoIP - Asterisk

LuizArthur

A habilitao de chamadas em trs vias com threewaycalling=yes permite que uma chamada ativa seja colocada em espera, ser possvel inclusive colocar uma terceira parte na conversa e isto permitido via transfer=yes, mas isto requer que chamadas de trs vias esteja habilitado. O eliminador de eco Asterisk utilizado para remover o eco que pode ser criado em linhas analgicas com a opo echocancel=yes. O eliminador de eco do Asterisk requer algum tempo para aprender o que eco na linha, mas possvel acelerar isso habilitando o treinamento de eco com a opo echotraining=yes. Isso vai dizer ao Asterik para enviar um tom de linha no incio de uma conversa para medir o eco e ento aprender mais rapidamente. Quando uma chamada chega por meio de uma interface FXO, alguma ao deve ser tomada, tal ao configurada dentro de um bloco de instrues, chamada contexto, neste caso com a opo context=incoming, ou seja, as instrues estaro dentro do arquivo /etc/asterisk/extensions.conf em um contexto chamado incoming. Finalmente, j que um canal FXO utiliza sinalizao FXS, ns o definimos como signalling=fxs_fs.

33

VoIP - Asterisk
Configurao do Dialplan

LuizArthur

O seguinte dialpan mnimo faz uso da aplicao Echo() para verificar se as configuraes bidirecionais para o canal esto funcionando, para tanto editaremos o arquivo /etc/asterisk/extensions.conf, incluindo as seguintes linhas: [incoming] ;chamadas entrando pela FXO so direcionada para este contexto ;pelo zapata.conf exten => s,1,Answer() exten => s,2,Echo() Depois de configurar este arquivo possvel testar a linha do FXO, para tanto s discar para o nmero da linha e a linha Echo() ir permitir que escute-se no telefone sua prpria voz, caso isto ocorra a configurao esta Okay.

34

VoIP - Asterisk
Configurao de um canal FXS A configurao de um canal FXS similar a FXO

LuizArthur

Primeiro configura-se o hardware com o arquivo /etc/zaptel.conf: fxoks=1 fxsks=2 loadzone=us defaultzone=us Bem nesta configurao apenas adicionamos a linha fxoks=1, de forma que estamos sinalizando FXO para nosso FXS no canal 1 com o protocolo de sinalizao kewlstart. Para testar podemos fazer uso do comando ztcfg -vv.

35

VoIP - Asterisk
Configurao do hardware Zapata

LuizArthur

Iremos apenas acrescentar algumas alteraes arquivo /etc/asterisk/zapata.conf alterado anteriormente:


[trunkgroups] ; define grupos de troncos [channels] ;canais de hardware ;defaults usecallerid=yes hidecallerid=no callwaiting=no threewaycalling=yes transfer=yes echocancel=yes echotraining=yes immediate=no ;define canais context=internal signalling=fxo_ks channel => 1 context=incoming ; ; signalling=fxs_ks; channel=>2 ;

ao

;Utiliza o contexto [internal] em extensions.conf ;Usa a sinalizao FXO para um canal FXS ;Telefone conectado porta 1 Chamadas que chegarem sero passadas para extensions.conf na seo chamada [incoming] Usa sinalizao FXS para um canal FXO A PSTN esta ligada na porta 2

36

VoIP - Asterisk

LuizArthur

A seguinte configurao idntica do FXO, com acrscimo de uma seo para a porta FXS e da linha immediate=no, esta opo permite que o quando o telefone for tirado do gancho o Asterisk produza um tom de discagem e aguarde pela entrada do usurio. Uma ao alternativa que o Asterisk automaticamente execute um conjunto de instrues configuradas no dialplan, isto possvel configurando immediate=yes. As instrues a serem executadas para FXS devero estar no contexto [internal] em /etc/asterisk/extensions.conf. Desta forma se acrescenta ao final do arquivo as seguintes linhas: [internal] exten => 611,1,Answer() exten => 611,2,Echo() Neste contexto criado chamado internal, ns dizemos ao Asterisk onde procurar pelas instrues quando algum pressionar dgitos em seu telefone. Nesse caso, o nico nmero de ramal que ir funcionar o 611. Ao discar 611 no telefone, o Asterisk ir executar a aplicao Echo(), de forma que qualquer coisa que algum disser no telefone ser reproduzida para ela mesma (um eco), dessa forma verificamos a voz bidirecional.

37 Configurao do SIP

VoIP - Asterisk

LuizArthur

O protocolo de incializao de Sesso (SIP), cuida da configurao e decomposio das chamadas ao longo das renegociaes durante a chamada. O SIP utiliza o protocolo de Transporte em Tempo Real (RTP) para transferir a mdia entre os pontos finais. O SIP um protocolo de sinalizao da camada de aplicao que utilizam a porta 5060 normalmente UDP O RTP utiliza nmero de portas altas no . Asterisk (originalmente, de 10.000 a 20.000). Para configurar o SIP iremos configurar o aquivo /etc/asterisk/sip.conf:
[general] context=default srvlookup=yes [john] type=friend secret=welcome qualify=yes ; Qualificar um par a no menos que 2000ms de distncia nat=no ; Esse telefone no est na NAT host=dynamic ; Esse dispositivo se registra com IP dinmico canreinvite=no ; O Asterisk originalmente tenta redirecionar context=internal ; O contexto [internal] controla o que podemos fazer

38

VoIP - Asterisk

LuizArthur

O arquivo sip.conf comea com uma seo [general], que contm os ajustes do canal e as opes originais para todos os usurios. A opo srvlookup=yes habilita os registros de sistemas de nome DNS, permitindo fazer ligaes SIP por nome de domnio, por padro esta opo vem desativada, mas altamente recomendvel ativa-l. Bem iniciamos com uma ramal chamado john, que do tipo friend (pode realizar e receber ligaes), e acrescentamos a senha welcome para ele. A opo qualify=yes monitora a latncia entre o servidor Asterik e o telefone , isto pode ser usado inclusive para monitorar outros servidores Asterisk, originalmente o Asterisk ir determinar o terminal encontrvel a cada 2 segundos (2.000ms), mas podemos mudar isto alterando o yes pelo nmero de milisegundos. Se um ramal esta por trz de um NAT, tal como um roteador ou um Firewall, configure nat=yes para forar o Asterisk a ignorar a informao de contato para o ramal e utilizar o endereo de onde os pacotes esto sendo recebidos. Definir host=dynamic vai fazer o ramal se registrar para que o Asterisk saiba onde ele est. Substitua dynamic pelo endereo IP ou nome de domnio para limitar um terminal. Se definir host=static, o terminal no ter que se registrar.

39

VoIP - Asterisk

LuizArthur

Tambm foi definido canreinvite=no desta forma o Asterisk fica apto a tocar musica ou passar um anncio para o cliente em espera, j que os convites so usados para estabelecer ligaes, e re-convites para redireciona-las. Por fim, context=internal especifica as localizao das instrues usadas para controlar o que o telefone tem permisso de fazer e o que fazer com ligaes que chagam para este ramal. Configurao do Dialplan SIP Muitos telefones SIP, tanto por software como por hardware, so telefones de mltiplas linhas. Assim possvel testar o telefone ligando para voc mesmo. Para isto, disca-se o ramal 100. Se o telefone no suportar ligar para ele mesmo ligue para o ramal 611 que tem a aplicao Echo() Ao arquivo de dialplan deve ser acrescentado as seguintes linhas: [internal] exten => 100,1,Dial(SIP/john) exten => 611,1,Echo()

40

VoIP - Asterisk
Configurao de conexes IAX de entrada

LuizArthur

O protocolo de Troca Inter-Asterisk (IAX) normalmente usado para comunicaes entre servidores, mas existem atualmente telefones que tambm utilizam o IAX como protocolo de comunicao. A diferena primria entre os protocolos IAX e SIP a maneira pela qual a mdia (sua voz) passada entre terminais. Com, o SIP ou com H.323 o trfego RTP (mdia) passado utilizando portas diferentes daquelas utilizadas pelos mtodos de sinalizao. J o protocolo IAX difere em que tanto na sinalizao como o trfego de, mdia so passados por meio de uma nica porta (4569). Uma vantagem desse sistema que o protocolo IAX tende a se ligar melhor a topologias envolvendo NAT. Um usurio IAX normalmente utilizado para autenticar e manipular ligaes vindo para o sistema PBX. Para ligaes indo para fora do PBX, o Asterisk usa uma entrada par do IAX no arquivo iax.conf para autenticar com a ponta remota. Nesta implementao com o IAX conectaremos o nosso sistema com o Free Wold Dialup (FWD) via IAX. O FWD um provedor de servio VoIP gratuito que permite que se conecte a qualquer outro membro da rede, independente da localizao fsica, gratuitamente. O FWD tambm conectado a mais de 100 outras redes, s quais pode-se conectar gratuitamente.

41

VoIP - Asterisk

LuizArthur

Mas para tanto deve-se registrar no www.fwdnet.net e habilitar sua conta para dar suporta ai IAX. Ento configuraremos o /etc/asterisk/iax.conf e /etc/asterisk/extensions.conf para permitir que se receba chamadas de outro usurio FWD e fazer chamadas para usurios FWD. Configurao do iax.conf Nosso arquivo iax.conf deve ficar da seguinte forma:
[general] bandwidth=low disallow=lpc10 jitterbuffer=no forcejitterbuffer=no tos=lowdelay autokill=yes registrer => fwd_number:password@iax2.fwdnet.net [iaxfwd] type=user context=incoming auth=rsa inkeys=freewolddialup

42

VoIP - Asterisk

LuizArthur

Dentro da seo [general], foi adicionado uma declarao de registro. O propsito da declarao de registro dizer ao servidor FWD IAX o cliente esta na Internet, ou seja, registar-se no FWD passar o seu IP . Na seo [iaxfwd], foi definido o usurio para ligaes que chegam com o type=user, depois foi definido onde a ligao ser manipulada dentro do dialplan, com context=incoming. A opo auth=rsa diz que a autenticao ser feita via chave RSA. A chave pblica definida com inkeys=freewolddialup que vem como padro com o Asterisk. Configurao do Dialplan O manuseio de uma ligao que chega ao arquivo extensions.conf simples. Primeiro crie um contexto chamado incoming. O contexto seguido por uma definio de Dial() que ir discar o ramal SIP criado , anteriormente. Substitua o nmero 10001 por aquele da dua conta FWD: [incoming] exten => 10001,1,Dial(SIP/john)

43

VoIP - Asterisk

LuizArthur

Para fazer as ligaes externas configure o arquivo iax.conf da seguinte forma: [iaxfwd] type=peer host=iax2.fwdnet.net username=<nmero da conta FWD> secret=<senha-conta-fwd> qualify=yes disallow=all allow=ulaw allow=gsm allow=ilbc allow=g726 O tipo agora indica que a conexo ponto-a-ponto, e utilizado a opo host para informar qual o servidor. O disallow usado para rearmar quaisquer ajustes de codec definidos previamente, ento so usados as opes allow para indicar os codecs de preferencia de cima para baixo.

Para saber se o registro foi bem sucedido possvel usar o comando iax2 show registry no CLI Asterisk.

44

VoIP - Asterisk

LuizArthur

J a configurao do dialplan no arquivo extensions.conf fica da seguinte forma: [internal] exten => 613,Dial(IAX2/iaxfwd/613) Aqui configuramos para que possamos fazer uma ligao para aplicao FWD, possvel usar o mesmo teste do Eco para testar se tudo esta Okay.

45 fim

VoIP - Asterisk

LuizArthur

46 fim

VoIP - Asterisk

LuizArthur

S-ar putea să vă placă și