VoIP e Linux – Montando um PBX gratuito

download VoIP e Linux – Montando um PBX gratuito

of 14

Transcript of VoIP e Linux – Montando um PBX gratuito

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    1/14

    VoIPe Linux Montando um PBXgratuito

    Almerindo R. Neto, Israel D. Jnior

    Grupo de Pesquisa Web e Mdia (GPWM)Instituto de Tecnologia e Pesquisa (ITP) Universidade Tiradentes (UNIT)

    Av. Murilo Dantas, 300 49.032-490 Aracaju SE Brasil

    [email protected], [email protected]

    Abstract. This work describes some aspects of the so popular technology

    called VoIP, like its importance and how did VoIP grow up in past years. It

    also brings a case study, based on small and medium-sized networks, that

    shows Asterisk's installation, configuration and execution processes in a

    computer running Slackware Linux all steps detailed with images. The

    configuration approaches the addition of branches and how to use the

    voicemail system, creating a basic PBX system for use.

    Resumo.Este trabalho descreve alguns aspectos da tecnologia Voz sobre IP

    como sua importncia e crescimento, trazendo, na prtica, um estudo de caso

    sobre o Asterisk PBX em um computador rodando o Slackware Linux. Neste

    estudo de caso, baseado para pequenas e mdias redes, esto presentes os

    processos de instalao, configurao e execuo todos os passos

    detalhados com imagens. A configurao aborda a adio de ramais e a

    utilizao da caixa de mensagens, criando um sistema PBX bsico parautilizao.

    1. Introduo

    Voice over IP (VoIP) uma tecnologia que permite a realizao de chamadas atravs deuma redeIPqualquer. Com sua utilizao os pacotes de voz so digitalizados, trafegampela rede e, ao sair, so convertidos novamente para o formato analgico original.Assim, telefones comuns tambm podem se aproveitar da tecnologia tendo apenas queutilizar um conversor.

    A tecnologia foi o resultado do esforo de algumas pessoas em Israel no ano de1995 quando a comunicao PC-to-PC estava apenas no incio. Logo em seguida oprimeiro software VoIPapareceu, criado pela VocalTec, Inc. Infelizmente, para que duaspessoas conseguissem utiliz-lo, era necessrio que tivessem o mesmo programa. Almdisso, havia incompatibilidade nos drivers, tornando as chamadas half-duplex (apenasum canal de voz liberado por vez ou o usurio fala ou escuta) e a qualidade daschamadas no chegava perto da que era oferecida pelos equipamentos padro em uso napoca. Apesar do insucesso, tudo isto foi uma grande inovao [1].

    O crescimento da tecnologia foi marcante nos anos 2000, quando grandesempresas da rea de redes tais como a Ciscoe aLucent comearam a desenvolver e

    lanar no mercado equipamentos que pudessem rotear corretamente o trfego dospacotes de voz [3]. Com isso, o servio de telefonia VoIPcomeou a ser includo no

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    2/14

    servio de acesso Internetde banda larga por empresas como aAT&T, Time WarnereVerizon, dando aos usurios a possibilidade de efetuar e receber chamadas VoIP [4].Uma das vantagens do seu uso a drstica reduo de despesas com telefonia

    convencional, pois nesta a tarifao calculada em funo das distncias geodsicas edos horrios de utilizao definidos por empresas telefnicas [2].

    Com os crescentes custos de manter uma linha telefnica convencional e oaumento das tarifas, a utilizao de provedores VoIP por usurios obteve umcrescimento considervel. Segundo [5], o nmero de usurios passou de 150 mil no finalde 2003 para 1.2 milhes no final de 2004. No final de 2005 o crescimento foi mais queo triplo: 4.2 milhes de usurios residenciais. Os nmeros so auditorados pelaTelecommunications Industry Association e no incluem conexes VoIPdiretas entrecomputadores.

    Tambm foi notvel o crescimento nos setores empresariais. Note que em apenastrs anos (2002 a 2005) a utilizao da tecnologia cresceu consideravelmente, passandode cerca de 2,5% para mais de 10% (Figura 1).

    Figura 1. Crescimento e previso da utilizao de linhas empresariaisconectadas Internet.

    O Asterisk [10] surgiu primeiramente por necessidade e inicialmente era apenasum sistema simples de telefonia criado para uso pessoal. Entretanto, o sistema cresceu ese tornou to completo quanto um PBX tradicional [6]. Sua criao causou umarevoluo nos atuais servios de telefonia convencional por ter proporcionado um timoservio gratuito de telefonia sobre o protocolo da Internet sendo necessria umaestruturao especial (Qualidade de Servio) nas redes para que o servio possa serdisponibilizado de forma eficiente.

    Asterisk um software PBXcompleto, gratuito, de cdigo fonte livre e baseadonoLinux atualmente capaz de rodar em vrios sistemas. Foi desenvolvido por Mark

    Spencer, que o mantm at hoje com suporte daDigium [11] e de contribuidores aoredor do planeta. O Asterisk suporta diversos protocolos, dentre eles os populares:

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    3/14

    Session Initiation Protocol (SIP) [12] e o Inter-Asterisk Exchange (IAX) [13]. Almdisso oferece uma gama de servios presentes nos PBX atuais como caixa postal,conferncias, chamada em espera e atendimento automtico. Sua principal vantagem a

    eliminao de sistemas PBXcaros e complexos, j que um simples computador rodandoLinux e o Asterisk consegue simular com eficincia todas as aes de um hardwarePBX.

    Este mini-curso demonstra um estudo de caso completo, abrangendo ainstalao, a configurao e a utilizao doAsteriskem uma pequena rede e um servidorutilizando o Slackware Linux10.2 [15]. O estudo de caso tambm envolve a utilizaode um cliente para estabelecimento de chamadas.

    2. Instalao do Asterisk

    Uma das maneiras de ter o Asterisk instalado atravs do seu cdigo fonte. Destamaneira necessrio realizar uma compilao do cdigo para obter um binrio relativo.Para isto sero necessrias as ferramentas GNU Compiler Collection (GCC)[16] e GNU

    Make [17], verses 3.3.6 e 3.80, respectivamente, para o processo. Ambas estopresentes, por padro, no Slackware Linux10.2.

    Primeiramente deve-se efetuar o download do cdigo-fonte do Asterisk, queencontra-se disponvel na sua pgina oficial [10]. O processo ser efetuado totalmenteem modo texto, sendo necessrio utilizar o wget[18] para fazer o download(Tabela 1).No necessrio instalar o wget, ele j est presente no Slackware Linux10.2 (Figura 3).

    Figura 3. Download do Asterisk utilizando o wget.

    Como o cdigo-fonte vem compactado, necessrio extra-lo antes em umdiretrio qualquer. Em seguida, este diretrio acessado e a compilao feita (Figura4). Todo o processo descrito anteriormente, desde o download at a compilao,

    descrito a seguir na Tabela 1. O cifro, presente no incio de todas as linhas, indica queos comandos so executados como um usurio sem privilgios de administrador.

    Figura 4. O incio do processo de compilao do Asterisk.

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    4/14

    Tabela 1. Download, extrao e compilao do cdigo-fonte do Asterisk.

    $ cd /home/exemplo

    $ wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.10.tar.gz$ tar zxf asterisk-1.2.10.tar.gz

    $ cd asterisk-1.2.10

    $ make

    Aps os passos descritos na Tabela 1oAsteriskestar compilado, mas ainda noser possvel inici-lo (Figura 5). Para isso, necessrio que os arquivos gerados nacompilao sejam colocados em diretrios especficos como o/usr/bine o/usr/libe quealgumas permisses especiais sejam aplicadas a estes arquivos. Esta a funo do

    comando make install(Figura 6).

    Figura 5. Processo de compilao do Asterisk finalizado com sucesso.

    Figura 6. Comando make install realizado com sucesso.

    Agora o Asteriskestar realmente instalado, mas para que ele funcione ainda necessrio: (i) gerar os arquivos de configurao padro e (ii) coloc-los em locais

    apropriados. Os processos de instalao e gerao dos arquivos de configurao estodescritos na Tabela 2e devem ser executados com acesso de administrador do sistema

    http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.10.tar.gzhttp://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.10.tar.gz
  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    5/14

    (ou root), indicados pela cerquilha no incio de cada linha, e devem ser executadosdentro do diretrio no qual oAsteriskfoi compilado.

    Figura 7. Gerao dos arquivos de configurao atravs do make samples.

    Tabela 2. Instalao e criao dos arquivos de configurao padro.

    # make install

    # make samples

    3. Os protocolos de sinalizao

    Um protocolo pode ser comparado analogamente a uma linguagem: um conjunto deregras pr-estabelecidas para definir um padro de comunicao. Protocolos desinalizao trabalham enviando sinais para um destino. Estes sinais podem indicar umpedido, resposta ou apenas um aviso.

    Os trs protocolos de sinalizao mais utilizados so o SIP[12], oIAX[13] e oH.323[19]. Os trs exercem funes de sinalizao, porm oIAXe o H.323no prezampela simplicidade e tambm incluem na sua definio outros mtodos como os detransmisso de mdia.

    4. Session Initiation Protocol (SIP)

    O protocolo SIPfoi desenvolvido pelaInternet Engineering Task Force (IETF)[20] eseus padres esto descritos no documento RFC 3261 [12], de Junho de 2002. utilizado apenas para estabelecer a sinalizao em uma sesso. Ele utiliza os protocolosde transporte TCP[21] e UDP[22] na porta padro 5060 para enviar e receber os sinaisde estabelecimento ou finalizao de uma sesso multimdia.

    Os usurios do protocolo SIP so identificados atravs de Uniform ResourceIndicators (URI) [23]. Em sua forma mais simples, um usurio pode ser encontradoatravs da URIsip:[email protected] .

    Apesar da evidente simplicidade o SIP capaz de enviar mensagens de sucesso

    ou erro ao remetente quando este tenta estabelecer uma sesso. O protocolo tambm usade alguns princpios doHypertext Transfer Protocol (HTTP) [24] j que suas mensagensso compreensveis por humanos e possui mensagens de erro como a popular 404 not

    found. Alm disso, pode atuar como um proxy server ou redirect server(redirecionador).

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    6/14

    4.1. O processo de sinalizao

    Figura 2. Processo de sinalizao do protocolo SIP

    Considere a situao da figura acima, onde o cliente1 quer efetuar uma chamada para ocliente2. Inicialmente o cliente1, identificado por [email protected], envia umpedidoINVITEpara oproxy dynamicsoft.com (passo 1). Este encaminha o pedido paraoutro servidor, columbia.edu, procurando por [email protected] (passo 2). Comocolumbia.edu um redirect server, ele procura em seu banco de usurios por cliente2 eretorna uma resposta para oproxy servercom o seu endereo real (passo 3).

    Oproxy serverdynamicsoft.com, aps receber a resposta, envia oINVITEpara oproxy server que foi informado, foo.com (passo 4). O servidor, aps consultar seusregistros (passo 5), descobre que cliente2 est localizado no subdomnio sales.foo.com eencaminha oINVITEpara outroproxy, sales.foo.com (passos 6 e 7).

    Este proxy consulta no seu banco de dados e descobre que cliente2 estutilizando o computador pc1. Assim, o proxyassocia cliente2 mquina utilizada erepassa oINVITEpara [email protected] (passo 8). Como cliente2 no estem uma chamada, ser enviada uma resposta 200 OK aceitando-a. Outras respostaspoderiam ter sido enviadas: 486 Busy Herecaso o cliente2 estivesse em outra ligao ouno desejou atend-la, deixando tocar at cair ou 600 Busy Everywhere, caso o clienteestivesse realmente ocupado e no desejasse atender a ligao. A resposta volta, atravsdos proxies para [email protected] (passos 9, 10, 11 e 12), que envia umreconhecimento (ACK) (passo 13). Em seguida, a sesso iniciada e a mdia passa atrafegar (passo 14).

    Caso algum dos clientes resolva terminar a chamada, este envia uma mensagemBYEpara o outro cliente, que envia uma resposta 200 OK confirmando o seu trmino[7].

    5. Codificadores e decodificadores (Codecs)

    O termo codec uma abreviao de coder/decoder. De uma maneira geral, um codec

    pode ser um pequeno circuito ou um pequeno programa que implementa um algoritmoque efetua codificaes e decodificaes entende-se por codificao a anlise de uma

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    7/14

    quantidade de dados para determinar quanto (desta quantidade) pode ser retirado, desdeque a qualidade seja mantida ou a perda seja mnima. O processo inverso chamadodecodificao e os dados retirados para efetuar a codificao so reutilizados no

    processo. A decodificao s pode ser realizada utilizando o mesmo codec que foiempregado na codificao. Isto significa que se a pessoa A tenta enviar dadoscodificados para a pessoa B utilizando um codecX qualquer a pessoa B deve ter omesmo codecX para decodificar os dados.

    Em se tratando de telefonia, o papel de um codec transformar um sinalanalgico qualquer em sinal digital para que este possa trafegar por algum meio e,aps sair do meio digital, o sinal convertido de volta para analgico. Um simplesexemplo desta situao: dois telefones conectados em duas linhas analgicas distintas,estas conectada a um sistema de telefonia digital. Caso um telefone tente entrar emcontato com o outro atravs do sistema digital, que pode ser um PABX utilizando o

    Asterisk, o sinal analgico ser convertido para que possa trafegar por todo o sistemadigital e em seguida, ao sair, ser transformado em analgico novamente.

    Os codecsmais utilizados em conjunto com oAsteriskso os padres americanoe europeu do G.711[29] (ulawe alaw, respectivamente), GSM[30] e Speex [31].

    6. Arquivos de configurao do Asterisk

    Existem muitos arquivos localizados no diretrio /etc/asterisk, porm no necessrioficar editando todos para que oAsteriskfuncione corretamente. Os servios bsicos deplanos de discagem, ramais, trfego de dados e voicemail so configurados em quatroarquivos: extensions.conf, sip.conf, rtp.confe voicemail.conf.

    O extensions.conf engloba os planos de discagem do Asterisk. Se configuradocorretamente pode fazer o Asteriskatuar como um simples servidor ou at como umpoderoso sistema aonde o usurio pressiona as teclas do telefone para acessar servios.Pode tambm atuar das duas maneiras simultaneamente, bastando que planos dediscagens diferentes sejam configurados para finalidades diferentes.

    J a funo do sip.conf armazenar as informaes dos ramais fsicos, podendoser softphonesou hardphones, e suas respectivas configuraes. O rtp.confcontm asconfiguraes do Real-time Transport Protocol (RTP) [25], protocolo que define umpadro para o transporte dos pacotes de udio e vdeo atravs da Internet. Por ltimo, o

    voicemail.confdefine as extenses de voicemail.6.1. rtp.conf

    O rtp.conf contm informaes sobre o protocolo RTP, responsvel por efetuar otransporte da mdia (udio, vdeo). Normalmente suas opes padro no so alteradas.

    Existem apenas quatro opes dentro do arquivo: rtpstart, rtpend,rtpchecksums e dtmftimeout. Somente as duas primeiras so relevantes para ofuncionamento do protocolo (rtpstarte rtpenddefinem o incio e o fim do intervalo deportas que o protocolo poder utilizar para efetuar o trfego da mdia). As outras duasdefinem: (i) se ser ativada ou no a checagem dos pacotes UDPno trfegoRTPe (ii) o

    tempo mximo permitido entre dois dgitosDual-Tone Multi-Frequency (DTMF).

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    8/14

    Os valores padro de rtpstart e rtpend (10000 e 20000, respectivamente)satisfazem uma rede com uma quantidade relativamente grande de usurios (1000, porexemplo).

    6.2. sip.conf

    O arquivo sip.conf o responsvel por armazenar todas as configuraes relativas aoprotocolo SIP. Por existirem vrias variveis de configurao algumas sero omitidas,pois interferem apenas na funcionalidade avanada doAsterisk.

    Para o funcionamento bsico doAsteriskapenas duas sees sero necessrias noarquivo sip.conf: (i) a general, que contm todas as configuraes do protocolo e (ii)uma seo contendo um cliente SIPque pode ser discado.

    Na seo general existem as variveis context, bindport, bindaddr, disallowe

    allow. A primeira, context, informa qual ser o contexto padro de um cliente caso noesteja definido na sua configurao. As variveis bindporte bindaddrdefinem a porta eo IPpelos quais o servidor Asteriskdeve estar disponvel (note que definir bindaddrcomo 0.0.0.0 significa que ele ser acessvel por qualquerIP, seja ele local ou no). Porpadro o protocolo SIPutiliza a porta 5060 mas isso pode ser mudado, a depender daconfigurao do servidor.

    Note que os contextos criados no sip.confdevem, obrigatoriamente, existir noextensions.conf para que o Asterisk no retorne mensagens de erro indesejadas narealizao de chamadas.

    As variveis disallow e allow podem ser usadas em conjunto. Primeiramente,

    disallowpermite que voc desabilite o uso de algum codec(ou todos). O mesmo servepara allow, porm este permite habilitar um ou todos os codecs. Veja um exemplo dobloco generalna Tabela 6.

    Tabela 6. Exemplo de configurao do bloco general do sip.conf.

    [general]

    context=padrao

    bindport=5060

    bindaddr=10.1.1.3

    disallow=all

    allow=gsm

    Os outros blocos de configurao do sip.confficam reservados para a adio declientes. Novamente, existem vrias opes de configurao. Prezando pela simplicidade,apenas as mais importantes sero explicadas. As opes que aparecem no sip.conf socontext, type, username, secret, voicemail, canreinvite, qualify, hoste nat.

    Um bloco iniciado sempre com o seu nome entre colchetes. Este nome o queser utilizado no extensions.conf. Pode ser constitudo de letras e nmeros e

    geralmente definido como o nmero do ramal do cliente.

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    9/14

    A varivel context, se definida, informa em que contexto estar localizado ocliente no extensions.conf. Caso contrrio, o protocolo utiliza o context definido nobloco general. A opo typepode ser definida como peer, userou friend. Um cliente

    do tipopeer aquele que s recebe chamadas. Aquele que s realiza chamadas ocliente do tipo user. O cliente do tipofriendpode receber e realizar chamadas.

    As variveis usernamee secretdefinem o nome de usurio e a senha que seroutilizados como um meio de autenticao no servidorAsterisk. A opo voicemaildefinequal o endereo da caixa de mensagens do cliente (geralmente definida como sendo oprprio nmero do ramal).

    A opo canreinvitepermite ao usurio continuar (ou no) enviando pedidosINVITEuma vez que a chamada estabelecida. Esta opo s precisa ser configuradacomoyesse um dos clientes for o hardphone Cisco ATA-186, j que ele no interpretamuito bem os pedidosINVITE[27].

    A varivel qualify pode ser definida como yes, no ou um valor qualquer emmilisegundos e especifica o tempo mximo de resposta de um cliente. Caso este temposeja ultrapassado o cliente considerado peloAsteriskcomo desconectado. Note que adefinioyesespecifica um tempo mximo de 2 segundos, tempo-limite padro.

    A varivel host especifica o domnio (ou IP) no qual o cliente est localizado,caso seja esttico. Se for um endereo dinmico a opo hostpode ser definida comodynamic, o que significa que o cliente ter que enviar uma mensagem REGISTERcontendo o seu domnio.

    Por ltimo, a definio nat define se o cliente est ou no por trs de umNetwork Address Translator (NAT). Se definida como yes o Asterisk muda o seucomportamento para tornar a comunicao possvel [28]. Veja exemplo de configuraode um usurio na Tabela 7.

    Tabela 7. Exemplo de configurao de um cliente no sip.conf.

    [Professor]

    context=minicurso

    type=friend

    username=prof

    secret=prof

    voicemail=prof

    canreinvite=no

    qualify=700

    host=dynamic

    nat=no

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    10/14

    6.3. extensions.conf

    Pode-se dizer que o arquivo extensions.conf o corao do Asterisk. Nele todas asinstrues de discagem ficam armazenadas. Um ramal s pode ser chamadocorretamente se houver uma linha relativa a ele (ou uma configurao que permite adiscagem de uma faixa de ramais) no arquivo.

    O arquivo estruturado em blocos ou sees cada um tem seu nome entrechaves de maneira semelhante a um arquivo .ini do Microsoft Windows. Uma seopode conter configuraes gerais ou planos de discagem as sees que contm planosde discagem so conhecidas como contextos. O extensions.conf tambm pode contercomentrios cada linha destes deve ser precedida por um ponto-e-vrgula.

    A primeira seo do extensions.conf a general. Nela encontram-se asconfiguraes gerais e cada varivel booleana aqui definida com um yesou no. Existem

    5 variveis definidas no bloco general: static, writeprotect, autofallthrough,clearglobalvarse priorityjumping. A opo staticdefine se possvel salvar o planode discagem atravs da command-line interface (CLI) do Asterisk. Apesar de virpredefinida como yes pode ser perigoso mant-la ativa caso algum alm doadministrador tenha acesso ao sistema [8].

    O segundo bloco do extensions.conf chamado de globals e utilizado paradefinir variveis globais, constantes e seus valores iniciais. As variveis definidas no

    Asterisk, assim como as constantes, possuem a sintaxe ${NomeDaVariavel}e no socase-sensitive. Ou seja, as variveis EXEMPLO e Exemploso iguais, assim comoqualquer variao de minsculas e maisculas contendo a palavra exemplo, e sero

    interpretadas como sendo a mesma varivel pelo Asterisk. Por conveno, variveisglobais sempre estaro escritas em letras maisculas isto ajudar a diferenciar asvariveis globais das variveis de canais (ou variveis locais), que estaro todas em letrasminsculas (Tabela 3).

    Tabela 3. Exemplos de declarao de variveis.

    [globals]

    ; Por quanto tempo as extenses devem tocar antes de cair no Voicemail?

    TEMPOTOQUE => 3

    ; Arquivo de som que ser tocado como anncio do VoicemailANUNCIOVM => sons/anuncio-vm

    Apesar disso, apenas definir variveis no facilitar o seu trabalho (e nem mesmodificultar). Como em toda linguagem de programao (o extensions.conf tem a sua),variveis e constantes foram criadas para ser utilizadas [9].

    A terceira parte do extensions.conf constituda de blocos chamados Contextos.Estes, por sua vez, contm as extenses que permitem a discagem de um nmero.Vrios contextos podem ser definidos na configurao, bem como extenses (vejaexemplos na Tabela 4) [26].

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    11/14

    Tabela 4. Exemplos de contextos e suas extenses.

    Contexto padrao de uma empresa:

    101 (Presidente);

    102 (Assessoria de imprensa);

    103 (Recepo);

    1 (Caixa de mensagens);

    # (Desligar chamada).

    Contexto menu:

    s (Mensagem de boas-vindas e instrues);

    1 (Departamento de vendas); 2 (Suporte).

    No primeiro exemplo so mostrados os nmeros acessveis no PBX de umaempresa fictcia. J no segundo exemplo temos um exemplo de menu interativo. Noteque existe uma extenso chamada s que no acessvel atravs do teclado numrico,apenas refere-se a start(ser a extenso inicial).

    Como exemplo, duas extenses sero criadas no contexto chamado minicurso.Uma delas ser utilizada para acessar a caixa de mensagens e a outra discando para umusurio hipottico (Tabela 5). O formato para adicionar uma extenso segue o padro

    exten => extenso,prioridade,comando(parmetros).Tabela 5. Exemplo de um contexto com duas extenses.

    [minicurso]

    exten => 1,1,Ringing

    exten => 1,2,Wait,2

    exten => 1,3,VoicemailMain(${EXTEN})

    exten => 101,1,Dial(SIP/Professor,20,t)

    Note que existem trs linhas referentes extenso 1: a primeira faz o telefonetocar, a segunda mantm o telefone tocando por dois segundos e a terceira direciona ousurio para sua caixa de mensagens. A extenso 101 faz com que o cliente chamadoProfessor, configurado no protocolo SIP, seja chamado. Seu telefone tocar durante20 segundos (aps os 20 segundos a chamada encerrada com uma mensagem deusurio indisponvel).

    6.4. voicemail.conf

    O arquivo voicemail.conf o responsvel por manter todas configuraes das caixas demensagens dos clientes. Tambm organizado em blocos e deve possuir no mnimo

    duas, general e default. Estas definem as opes gerais do servio voicemail e osendereos das caixas de mensagens dos clientes, respectivamente.

  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    12/14

    Tambm existe a opo de especificar os contextos. Note que para isto oscontextos devem ser previamente definidos no sip.confe no extensions.conf. Isto podeser evitado adicionando todas as caixas de mensagens no bloco default.

    As opes bsicas do bloco general so format e maxmsg. A opo formatdefine o formato de udio que ser utilizado para gravar as mensagens. Vrios formatospodem ser definidos, separados por uma barra vertical. Isso far com que o Asterisksalve a mensagem nos formatos definidos, mas somente o primeiro ser enviado por e-mail. Os formatos disponveis so wav49, gsm, wave g723sf[28].

    A varivel maxmsgdefine a quantidade mxima de mensagens que cada clientepode guardar.

    Antes de se adicionar uma entrada no voicemail.confcontendo a configurao dovoicemail do ramal o script/usr/src/asterisk-1.2.10/addmailbox deve ser executado.

    Aps executar, o scriptpede o nmero da caixa de mensagens. Ele o encarregado decriar os arquivos necessrios caixa de mensagens. Estes arquivos podem serencontrados em/var/spool/asterisk/vm/ramal, aonde ramal representa o nmero doramal desejado (por exemplo, 1234).

    Como citado, para simplificar a adio de caixas de mensagens estas podem serguardadas no bloco default. O formato padro para adicionar uma caixa de mensagem :ramal => senha, Nome da Pessoa, [email protected]. Veja um exemplo deconfigurao na Tabela 8.

    Tabela 8. Exemplo de configurao do voicemail.conf.

    [general]format=wav49

    maxmsg=30

    [default]

    101 => 101, Professor, [email protected]

    Referncias

    [1] Intertangent Technology Directory. Brief History of VoIP,

    http://www.intertangent.com/023346/Articles_and_News/1477.html, acessado em27/05/2006.

    [2] Wikipdia, a enciclopdia livre. Voz sobre IP,http://pt.wikipedia.org/w/index.php?title=Voz_sobre_IP&oldid=2204805, acessadoem 29/05/2006.

    [3] Whichvoip. The History of VoIP,http://www.whichvoip.com/voip/articles/voip_history.htm , acessado em 31/05/2006.

    [4] Wikipedia, the free encyclopedia. Voice over IP,http://en.wikipedia.org/w/index.php?title=Voice_over_IP&oldid=56267368 , acessado

    em 31/05/2006.

    mailto:[email protected]:[email protected]://www.intertangent.com/023346/Articles_and_News/1477.htmlhttp://pt.wikipedia.org/w/index.php?title=Voz_sobre_IP&oldid=2204805http://www.whichvoip.com/voip/articles/voip_history.htmhttp://en.wikipedia.org/w/index.php?title=Voice_over_IP&oldid=56267368mailto:[email protected]:[email protected]://www.intertangent.com/023346/Articles_and_News/1477.htmlhttp://pt.wikipedia.org/w/index.php?title=Voz_sobre_IP&oldid=2204805http://www.whichvoip.com/voip/articles/voip_history.htmhttp://en.wikipedia.org/w/index.php?title=Voice_over_IP&oldid=56267368
  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    13/14

    [5] Jupitermedia Corporation Internetnews.com. VoIP Rings Up Explosive Growth,http://www.internetnews.com/stats/article.php/3587946, acessado em 17/07/2006.

    [6] Grupo de Pesquisa Web e Mdia GPWM. Asterisk PBX,http://gpwm.devin.com.br/index.php/Asterisk , acessado em 17/08/2006.

    [7] ICMI/Call Center Magazine Network. The Session Initiation Protocol (SIP): A KeyComponent for Internet Telephony,http://www.cconvergence.com/GLOBAL/stg/commweb_shared/shared/article/showArticle.jhtml?articleId=8700868&pgno=2 , acessado em 06/06/2006.

    [8] VoIP-Info.org. Asterisk Dialplan General, http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+General, acessado em 15/06/2006.

    [9] VoIP-Info.org. Asterisk Dialplan Globals, http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Globals, acessado em 20/06/2006.

    [10] Asterisk The Open Source PBX. http://www.asterisk.org, acessado em17/08/2006.

    [11] Digium The Asterisk Telephony Company. http://www.digium.com, acessado em17/08/2006.

    [12] Session Initiation Protocol. http://tools.ietf.org/html/rfc3261, acessado em17/08/2006.

    [13] Inter-Asterisk Exchange. http://www.cornfed.com/iax.pdf, acessado em17/08/2006.

    [14] Linux. http://en.wikipedia.org/wiki/Linux, acessado em 17/08/2006.[15] The Slackware Linux Project. http://www.slackware.com, acessado em 17/08/2006.

    [16] GCC, the GNU Compiler Collection. http://gcc.gnu.org, acessado em 17/08/2006.

    [17] GNU Make. http://www.gnu.org/software/make, acessado em 17/08/2006.

    [18] GNU Wget. http://www.gnu.org/software/wget, acessado em 17/08/2006.

    [19] Wikipedia, the free encyclopedia. H.323,http://en.wikipedia.org/w/index.php?title=H.323&oldid=69092029 , acessado em17/08/2006.

    [20] IETF Internet Engineering Task Force. http://www.ietf.org, acessado em17/08/2006.

    [21] Wikipdia, a enciclopdia livre. Transmission Control Protocol,http://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&oldid=2536005, acessado em 17/08/2006.

    [22] Wikipedia, the free encyclopedia. User Datagram Protocol,http://en.wikipedia.org/w/index.php?title=User_Datagram_Protocol&oldid=66538416, acessado em 17/08/2006.

    [23] Wikipedia, the free encyclopedia. Uniform Resource Identifier,

    http://en.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier&oldid=68953728, acessado em 17/08/2006.

    http://www.internetnews.com/stats/article.php/3587946http://gpwm.devin.com.br/index.php/Asteriskhttp://tinyurl.com/z9fg9http://tinyurl.com/z9fg9http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Generalhttp://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Generalhttp://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Globalshttp://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Globalshttp://www.asterisk.org/http://www.digium.com/http://tools.ietf.org/html/rfc3261http://www.cornfed.com/iax.pdfhttp://en.wikipedia.org/wiki/Linuxhttp://www.slackware.com/http://gcc.gnu.org/http://www.gnu.org/software/makehttp://www.gnu.org/software/wgethttp://en.wikipedia.org/w/index.php?title=H.323&oldid=69092029http://www.ietf.org/http://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&oldid=2536005http://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&oldid=2536005http://en.wikipedia.org/w/index.php?title=User_Datagram_Protocol&oldid=66538416http://en.wikipedia.org/w/index.php?title=User_Datagram_Protocol&oldid=66538416http://en.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier&oldid=68953728http://en.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier&oldid=68953728http://www.internetnews.com/stats/article.php/3587946http://gpwm.devin.com.br/index.php/Asteriskhttp://tinyurl.com/z9fg9http://tinyurl.com/z9fg9http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Generalhttp://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Generalhttp://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Globalshttp://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Globalshttp://www.asterisk.org/http://www.digium.com/http://tools.ietf.org/html/rfc3261http://www.cornfed.com/iax.pdfhttp://en.wikipedia.org/wiki/Linuxhttp://www.slackware.com/http://gcc.gnu.org/http://www.gnu.org/software/makehttp://www.gnu.org/software/wgethttp://en.wikipedia.org/w/index.php?title=H.323&oldid=69092029http://www.ietf.org/http://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&oldid=2536005http://pt.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&oldid=2536005http://en.wikipedia.org/w/index.php?title=User_Datagram_Protocol&oldid=66538416http://en.wikipedia.org/w/index.php?title=User_Datagram_Protocol&oldid=66538416http://en.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier&oldid=68953728http://en.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier&oldid=68953728
  • 7/23/2019 VoIP e Linux Montando um PBX gratuito

    14/14

    [24] HTTP Hypertext Transfer Protocol. http://www.w3.org/Protocols, acessado em17/08/2006.

    [25] Wikipedia, the free encyclopedia. Real-time Transport Protocol,http://en.wikipedia.org/w/index.php?title=Real-time_Transport_Protocol&oldid=70208521, acessado em 17/08/2006.

    [26] VoIP-Info.org. Asterisk Dialplan Introduction, http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Introduction , acessado em23/08/2006.

    [27] VoIP-Info.org. Asterisk sip.conf peer definition: canreinvite option,http://www.voip-info.org/wiki/index.php?page=Asterisk+sip+canreinvite , acessadoem 24/08/2006.

    [28] VoIP-Info.org. The voicemail.conf configuration file. http://www.voip-

    info.org/wiki/index.php?page=Asterisk+config+voicemail.conf, acessado em24/08/2006.

    [29] VoIP-Info.org. ITU G.711, http://www.voip-info.org/wiki/index.php?page=ITU+G.711 , acessado em 24/08/2006.

    [30] SCOURIAS, J. (1999) Overview of the Global Systems for MobileCommunications. http://www.shoshin.uwaterloo.ca/~jscouria/GSM/gsmreport.html,acessado em 24/08/2006.

    [31] Speex: a free codec for free speech. http://www.speex.org, acessado em24/08/2006.

    http://www.w3.org/Protocolshttp://en.wikipedia.org/w/index.php?title=Real-time_Transport_Protocol&oldid=70208521http://en.wikipedia.org/w/index.php?title=Real-time_Transport_Protocol&oldid=70208521http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Introductionhttp://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Introductionhttp://www.voip-info.org/wiki/index.php?page=Asterisk+sip+canreinvitehttp://www.voip-info.org/wiki/index.php?page=Asterisk+config+voicemail.confhttp://www.voip-info.org/wiki/index.php?page=Asterisk+config+voicemail.confhttp://www.voip-info.org/wiki/index.php?page=ITU+G.711http://www.voip-info.org/wiki/index.php?page=ITU+G.711http://www.shoshin.uwaterloo.ca/~jscouria/GSM/gsmreport.htmlhttp://www.speex.org/http://www.w3.org/Protocolshttp://en.wikipedia.org/w/index.php?title=Real-time_Transport_Protocol&oldid=70208521http://en.wikipedia.org/w/index.php?title=Real-time_Transport_Protocol&oldid=70208521http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Introductionhttp://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Introductionhttp://www.voip-info.org/wiki/index.php?page=Asterisk+sip+canreinvitehttp://www.voip-info.org/wiki/index.php?page=Asterisk+config+voicemail.confhttp://www.voip-info.org/wiki/index.php?page=Asterisk+config+voicemail.confhttp://www.voip-info.org/wiki/index.php?page=ITU+G.711http://www.voip-info.org/wiki/index.php?page=ITU+G.711http://www.shoshin.uwaterloo.ca/~jscouria/GSM/gsmreport.htmlhttp://www.speex.org/