Manual de Configuração do Asterisk Como Gateway de Voz
Transcrição
Manual de Configuração do Asterisk Como Gateway de Voz
Manual de Configuração do Asterisk Como Gateway de Voz Utilizando Placa de Voz Fxo Versão: 2.0 Thiago Maluf Resende Março de 2007 Este Manual descreve um passo a passo de como configurar o Asterisk como gateway de Voz através de uma placa de voz fxo no projeto do fone@RNP Sumário 1. Instalação da Placa TDM400P ........................................................................................................... 3 2. Carga do Driver da Placa Digium ....................................................................................................... 4 3. Configuração do Canal Zap................................................................................................................ 5 4. Configuração do Canal OH323........................................................................................................... 6 5. Configuração do Plano de Numeração............................................................................................... 7 6. Passos Finais ....................................................................................................................................10 Manual de Configuração do Asterisk como gateway de voz FXO 2 1. Instalação da Placa TDM400P Com a máquina devidamente desligada da energia elétrica, abra o servidor Dell na qual estará sendo executado o software Asterisk como gateway de voz, efetuando assim a interligação do VoIP com a telefonia tradicional. Instale cuidadosamente a placa de voz FXO Digium TDM400P no slot pci. Atenção: Não conecte o plug de força da fonte na placa FXO. Ligue a máquina, e após a carga do sistema operacional utilize o utilitário lspci para verificar se a placa FXO instalada está sendo reconhecida. root@maq2:~# lspci 0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 03) 0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP] 0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) 0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) 0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a) 0000:00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a) 0000:00:07.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40) 0000:00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 50) 0000:00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8139/8139C/8139C+ (rev 10) 0000:00:0d.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface 0000:01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 300/305 PCI/AGP VGA Display Adapter (rev 90)0000:00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 0000:01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 300/305 PCI/AGP VGA Display Adapter (rev 90) Verifique se a placa FXO é impressa no comando lspci conforme exibido acima. Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface Manual de Configuração do Asterisk como gateway de voz FXO 3 2. Carga do Driver da Placa Digium O próximo passo é carregar os drivers da placa da Telefonia Digium, os drivers devem ser carregados usando o comando modprobe. root@maq2# modprobe wctdm root@maq2# modprobe zaptel Verifique se os módulos foram carregados através do comando lsmod. root@maq2# lsmod | grep zaptel zaptel crc_ccitt 223620 5888 2 wctdm 1 zaptel,hisax Edite o arquivo /etc/zaptel.conf para que reflita a placa Digium TDM400P com 4 módulos FXO. fxsks=1-4 loadzone = us defaultzone=us Carregue a configuração especificada através do utilitário ztcfg. root@maq1# ztcfg -vvvd Zaptel Configuration ====================== Channel map: Channel 01: FXS Kewlstart (Default) (Slaves: 01) Channel 02: FXS Kewlstart (Default) (Slaves: 02) Channel 03: FXS Kewlstart (Default) (Slaves: 03) Channel 04: FXS Kewlstart (Default) (Slaves: 04) O utilitário zttool pode ser utilizado para verificar se a placa foi identificada e configurada corretamente. Se as informações da sua placa TDM400P aparecem na janela do aplicativo ZTTOOL, ela está configurada e funcionando corretamente. Manual de Configuração do Asterisk como gateway de voz FXO 4 3. Configuração do Canal Zap Edite o arquivo /etc/asterisk/zapata.conf para refletir as interfaces instaladas no servidor e a sinalização utilizada por essas interfaces. Como há a necessidade de identificar se a chamada que chega do PABX para uma porta FXO é de um ramal interno ou de um telefone público, a instituição deve ter dois ramais chave. O primeiro será utilizado para quem originar a chamada da rede pública, e o segundo, para quem originar chamadas de ramais internos. É importante que o segundo número seja restrito e não possa receber chamadas da rede pública. Estes números chave devem então ser associados a ramais físicos que serão conectados às portas FXO. Das portas FXO disponíveis, normalmente 4 portas, uma parte será reservada para receber chamadas externas, que só poderão alcançar telefones IP ou ramais de outras instituições, e outra parte reservada para receber chamadas internas, que poderá também discar para rede pública a partir de outra instituição. Normalmente está reservada uma porta para ligações externas e três para as internas. Na configuração do arquivo zapata.conf, os canais associados ao primeiro número chave serão encaminhadas para um contexto, enquanto que os outros serão encaminhados para um contexto diferente. Desta forma, poderão ser dados tratamentos diferentes às chamadas no plano de discagem. No exemplo abaixo, o contexto from-pabx será usado para tratar chamadas originadas de ramais internos, e o contexto from-pstn para tratar das originadas da rede pública. A menos que os ramais no PABX associados às FXO tenham restrições diferentes, todos os canais devem ser associados a um único grupo. O grupo criado será usado para o encaminhamento de chamadas do Asterisk para o PABX. [trunkgroups] [channels] context=from-pstn signalling=fxs_ks echocancel=yes echocancelwhenbridged=yes rxgain=0.0 txgain=0.0 busydetect=yes busycount=6 group => 1 channel => 1 context=from-pabx signalling=fxs_ks echocancel=yes echocancelwhenbridged=yes rxgain=0.0 txgain=0.0 busydetect=yes busycount=6 group => 1 channel => 2-4 Manual de Configuração do Asterisk como gateway de voz FXO 5 4. Configuração do Canal OH323 Para que o Asterisk possa se registrar no GK da instituição é necessário inicialmente configurar o GnuGK na MAQ1. Inserir uma linha representando o Asterisk na seção RasSrv::RRQAuth do arquivo gnugk.ini, conforme apresentado abaixo. Vale lembrar que já devem existir outras linhas nesta seção, as quais devem ser mantidas. [RasSrv::RRQAuth] nome da instituição / IP gw-pabxnome=sigip:xxx.xxx.xxx.xxx Verifique se a regra regex em [GKStatus::Auth] inclui o IP do servidor MAQ2 (máquina onde estará sendo executada o asterisk gateway de voz). Após este passo, é necessário reiniciar o software gnugk. root@maq1# killall gnugk root@maq1# gnugk -c /etc/gnugk.ini & Após configurado o GNUGK da MAQ1, deve ser feita a configuração do Asterisk na MAQ2, onde está instalada a placa FXO. Configurar canal oh323 através do arquivo /etc/asterisk/oh323.conf . Nesta configuração deve ser indicado o endereço IP do gatekeeper, no caso o IP da MAQ1, o ID do registro e os prefixos que serão registrados. Deve se ter cuidado para que o ID indicado no arquivo seja exatamente igual ao ID indicado na configuração do gatekeeper. [general] listenAddress=xxx.xxx.xxx.xxx use o IP da MAQ2 listenPort=1720 tcpStart=10000 tcpEnd=20000 udpStart=10000 udpEnd=20000 fastStart=yes h245Tunnelling=yes jitterMax=100 h245inSetup=yes jitterMin=20 jitterMax=100 ipTos=none outboundMax=100 inboundMax=100 simultaneousMax=100 wrapLibTraceLevel=0 libTraceLevel=0 libTraceFile=stdout gatekeeper= xxx.xxx.xxx.xxx use o IP da MAQ1 gatekeeperTTL=600 userInputMode=STRING amaFlags=default Manual de Configuração do Asterisk como gateway de voz FXO 6 accountCode=H323 language=en musiconhold=default context=from-voip [register] alias=gw-pabxnome gwprefix=NNNN nome da instituição Prefixo do PABX gwprefix=0XX Código da cidade da instituição [codecs] codec=G711U frames=20 codec=G711A frames=20 5. Configuração do Plano de Numeração Agora que as configurações associadas aos canais ZAP e OH323 já foram realizadas, deve ser definido o plano de numeração que será utilizado no Asterisk. Este plano é especificado no arquivo /etc/asterisk/extensions.conf. Ao configurar o seu arquivo, use o código de DDD correspondente à cidade da sua instituição. [general] static=yes writeprotect=no autofallthrough=yes clearglobalvars=no priorityjumping=yes [globals] [from-voip] include => to-pabx include => to-pstn [from-pabx] include => inicial include => semum0 include => semum55 include => internacional [from-pstn] include => inicial include => comum0 include => comum55 Manual de Configuração do Asterisk como gateway de voz FXO 7 [inicial] exten => s,1,Answer() exten => s,n,Set(TIMEOUT(digit)=5) exten => s,n,Set(TIMEOUT(response)=45) exten => s,n,Background(ivr/bemvindo) exten => s,n,WaitExten(10) exten => t,1,Hangup() exten => i,1,Hangup() exten => h,1,Hangup() include => pbx-block include => colocalizados include => ip include => local-block [pbx-block] exten => _YYYYXXXX,1,Hangup() ; YYYY => prefixo associado ao PABX exten => _0DDYYYYXXXX,1,Hangup() ; DD => código de área da cidade exten => _0055DDYYYYXXXX,1,Hangup() ; YYYYXXXX => YYYY[INTERVALO DE RAMAIS] ; Caso a instituição tenha vários prefixos ; associados aos ramais, devem ser criads ; extensões especificas para estes prefixos [colocalizados] exten => _PPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _PPPPXXXX,n,Hangup() exten => _0DDPPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _0DDPPPPXXXX,n,Hangup() exten => _0055DDPPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _0055DDPPPPXXXX,n,Hangup() ; PPPPXXXX => PPPP[INTERVALO DE RAMAIS] / PPPP => Prefixo do PABX ; repetir configuração para cada instituição colocalizada [ip] exten => _1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _1XXXXXXX,n,Hangup() exten => _0XX1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _0XX1XXXXXXX,n,Hangup() exten => _0055XX1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _0055XX1XXXXXXX,n,Hangup() [local-block] exten => _0DDNXXXXXXX,1,Hangup() exten => _0055DDNXXXXXXX,1,Hangup() [semum0] exten => _0XXNXXXXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _0XXNXXXXXXX,n,Hangup() Manual de Configuração do Asterisk como gateway de voz FXO 8 [comum0] exten => _0XXNXXXXXXX,1,SetVar(prefixo=${EXTEN:0:3}) exten => _0XXNXXXXXXX,n,Dial(OH323/${prefixo}1${EXTEN:3},60,rtT) exten => _0XXNXXXXXXX,n,Hangup() [internacional] exten => _00XXXXXXXXX.,1,Dial(OH323/${EXTEN},60,rtT) exten => _00XXXXXXXXX.,n,Hangup() [semum55] exten => _0055XXNXXXXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _0055XXNXXXXXXX,n,Hangup() [comum55] exten => _0055XXNXXXXXXX,1,SetVar(prefixo=${EXTEN:0:6}) exten => _0055XXNXXXXXXX,n,Dial(OH323/${prefixo}1${EXTEN:6},60,rtT) exten => _0055XXNXXXXXXX,n,Hangup() [to-pabx] exten => _YYYYXXXX,1,Dial(ZAP/g1/${EXTEN:4},60,rtT) exten => _YYYYXXXX,n,Hangup() ; YYYYXXXX => YYYY[INTERVALO DE RAMAIS] ; YYYY => Prefixo do Ramal da instituição ; fazer isto para cada prefixo do ramal do PABX [to-pstn] exten => _0DDNXXXXXXX,1,Dial(ZAP/g1/0${EXTEN:3},60,rtT) exten => _0DDNXXXXXXX,n,Hangup() ; DD => Código da cidade ; 0 => Dígito usado para pegar uma linha externa ; :3 => Exclui os 3 primeiros digitos, no caso do PABX tiver ; aceitando somente os 8 digitos do numero Contextos definidos: • • • • • • From-voip – trata as chamadas recebidas do canal oh323. O nome do contexto deve ser o mesmo que o definido no arquivo oh323.conf; From-pabx – trata as chamadas provenientes do PABX originadas de ramais internos. O nome do contexto deve ser o mesmo que o definido no arquivo zapata.conf para os canais que receberão chamadas internas; From-pstn – trata as chamadas provenientes do PABX originadas da rede pública. O nome do contexto deve ser o mesmo que o definido no arquivo zapata.conf para os canais que receberão chamadas externas; Inicial – apresenta mensagem de voz para o usuário e coleta os dígitos do telefone chamado; Pbx-block – evita que o usuário disque de volta para os ramais da instituição. Não faz sentido um usuário ligar para um ramal conectado ao Asterisk e discar para um ramal do PABX. Isto deve ser evitado, pois ocuparia duas linhas desnecessariamente; Colocalizados – cria regras que permitem o encaminhamento das chamadas para instituições localizadas na mesma cidade que compartilham o mesmo código de área. Este contexto só deve ser definido se a instituição estiver configurada para encaminhar chamadas para a rede pública. Caso contrário é desnecessário. Objetiva o encaminhamento das Manual de Configuração do Asterisk como gateway de voz FXO 9 • • • • • • • chamadas para estas instituições através da rede IP, e não através da rede de telefonia pública; IP – encaminha chamadas para telefones IP, números iniciados com 1, para o gatekeeper via canal oh323; Local-block – não permite que chamadas originadas do PABX sejam encaminhadas para a rede pública da cidade local, evitando a ocupação de duas linhas do PABX; To-pabx – Encaminha chamadas originadas do VoIP para ramais da instituição. Ao passar a chamada para o PABX são enviados os somente os dígitos relativos ao ramal, 4 no exemplo; To-pstn - Encaminha chamadas originadas do VoIP para telefones da rede pública. Ao passar a chamada para o PABX é enviado o digito utilizado para obter uma linha externa, no exemplo o digito 0, e depois o número do telefone chamado retirando o código de área; Comum0 e Comum55 – chamadas originadas da rede pública, tendo como destino um telefone tradicional alcançado através de outra instituição, são encaminhadas para o gatekeeper através do canal oh323. Insere o digito 1 entre o código de área e o número do telefone, para que chamadas originadas da rede pública não possam ser encaminhadas para a rede pública; Semum0 e Semum55 – chamadas originadas de ramais internos, tendo como destino um telefone tradicional alcançado através de outra instituição, são encaminhadas para o gatekeeper através do canal oh323. As chamadas podem ser encaminhadas para a rede pública; Intercional – Chamadas originas no pabx com destinos internacional. Copie o arquivo de áudio que será tocado quando da chegada de uma chamada à porta FXO de seu gateway Asterisk. Este arquivo pode ser obtido da RNP no site http://voip4ll.rnp.br usando o usuário fornecido pela RNP. root@maq2# mkdir root@maq2# root@maq2# cd /var/lib/asterisk/sounds/ivr cp bemvindo.gsm /var/var/lib/asterisk/sounds/ivr /var/lib/asterisk/sounds/ivr 6. Passos Finais Configure nas máquinas 1 e 2 para não habilitar canais não utilizados. Para isto, edite o arquivo /etc/asterisk/modules.conf conforme o quadro abaixo. [modules] autoload=yes noload => pbx_gtkconsole.so noload => pbx_kdeconsole.so noload => app_intercom.so noload => chan_modem.so noload => chan_modem_aopen.so noload => chan_modem_bestdata.so noload => chan_phone.so Manual de Configuração do Asterisk como gateway de voz FXO 10 noload => chan_modem_i4l.so noload => chan_unicall.so noload => chan_alsa.so noload => chan_skinny.so noload => chan_mgcp.so noload => chan_iax2.so noload => chan_oss.so noload => chan_agent.so noload => app_queue.so noload => app_enumlookup.so noload => app_voicemail.so noload => app_ices.so noload => pbx_dundi.so noload => cdr_csv.so noload => cdr_custom.so noload => cdr_manager.so noload => cdr_pgsql.so noload => pbx_ael.so [global] Na máquina 2 apenas, adicione a linha abaixo no arquivo /etc/asterisk/modules.conf: noload => chan_sip.so Inicialize o Asterisk nas duas máquinas com tela de comando, e utilize o comando zap show channels para visualizar os canais configurados e o contexto associado a cada canal. root@maq2# asterisk -vvvc ... maq2*ClI> zap show channels Chan Extension pseudo 1 2 3 • Context Language MusicOnHold from-pabx from-pabx from-pabx from-pabx Garantir que todas as interfaces FXO entregues sejam instaladas e todos os canais estejam operando. Manual de Configuração do Asterisk como gateway de voz FXO 11 Exemplo para o primeiro canal da placa FXO depois de executar “asterisk -vvvvr” maq2 *CLI> zap show channel 1 <= “1” é o número do canal Channel: 1 File Descriptor: 9 Span: 1 Extension: Dialing: no Context: from-pstn Caller ID: Calling TON: 0 Caller ID name: Destroy: 0 InAlarm: 0 Signalling Type: FXS Kewlstart Radio: 0> Owner: <None> Real: <None> Callwait: <None> Threeway: <None> Confno: -1 Propagated Conference: -1 Real in conference: 0 DSP: no Relax DTMF: no Dialing/CallwaitCAS: 0/0 Default law: ulaw Fax Handled: no Pulse phone: no Echo Cancellation: 128 taps, currently OFF Actual Confinfo: Num/0, Mode/0x0000 Actual Confmute: No Hookstate (FXS only): Offhook Deve aparecer a informação “Hookstate (FXS only): Offhook”, que foi mostrado em negrito no exemplo acima. Repetir este comando para todos os canais, ou seja, em “zap show channel 1” no exemplo acima, alterar o número 1 pelo número do canal que será verificado. Manual de Configuração do Asterisk como gateway de voz FXO 12
Documentos relacionados
Como configurar um ramal SIP/IAX em um servidor Asterisk
Onde teríamos as seguintes especificações: o ramal 200 pertence ao usuário Alex, que está no contexto interno e se loga de qualquer host (opção dynamic) com a senha x200y300 e pode efetuar a recebe...
Leia mais