Manual de Configuração do Asterisk Como Gateway de Voz
Transcrição
Manual de Configuração do Asterisk Como Gateway de Voz
1. Instalação da Placa TE110P 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 (máquina 2), efetuando assim a interligação do mundo VoIP com o mundo da telefonia tradicional. Instale cuidadosamente a placa de voz E1 digium TE110P no slot PCI. Ligue a máquina, e após a carga do sistema operacional utilize o utilitário lspci para verificar se a placa E1 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 E1 é impressa no comando lspci conforme exibido acima. Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface 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 wcte11xp root@maq2# modprobe zaptel Verifique se os módulos foram carregados através do comando lsmod. root@maq2# lsmod | grep zaptel zaptel 224260 1 wcte11xp crc_ccitt 5888 1 zaptel Edite o arquivo /etc/zaptel.conf para que reflita a placa E1 Digium TE110P. O canal 16 do canal E1 será utilizado para sinalização e os outros 30 para transporte de mídia. Note que a identificação destes canais pode variar conforme a quantidade de placas de telefonia instaladas no servidor No exemplo a seguir é apresentada a configuração de uma placa TE110P onde será utilizada sinalização ISDN. span=1,1,0,ccs,hdb3,crc4 bchan=1-15,17-31 dchan=16 loadzone = us Caso seja utilizada sinalização E1/R2 deve ser usada a configuração abaixo. span=1,1,0,cas,hdb3 bchan=1-15,17-31 dchan=16 loadzone = us Carregue a configuração especificada através do utilitário ztcfg. root@maq1# ztcfg -vvvd Zaptel Configuration ====================== SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1) Channel map: Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel 01: 02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: D-channel (Default) (Slaves: 16) Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: Clear channel (Default) (Slaves: 01) 02) 03) 04) 05) 06) 07) 08) 09) 10) 11) 12) 13) 14) 15) 17) 18) 19) 20) 21) 22) 23) 24) 25) 26) 27) 28) 29) 30) 31) 31 channels configured. O utilitário zttool pode ser utilizado para verificar se a placa foi identificada e configurada corretamente. 3. Configuração do Canal Zap A configuração a ser seguida se for utilizada sinalização ISDN, caso a instituição vá utilizar E1/R2 siga as instruções do capítulo 4. Edite o arquivo /etc/asterisk/zapata.conf para refletir as interfaces instaladas no servidor e a sinalização utilizada por essas interfaces. [channels] context=default switchtype=qsig signalling=pri_cpe ajuste de acordo com o adotado pelo PABX usecallerid=yes group=1 context=> from-pabx channel=> 1-15,17-31 4. Configuração do Canal Unicall Caso a instituição vá utilizar a sinalização E1/R2, edite o arquivo /etc/asterisk/modules.conf e comente a linha noload => chan_unicall.so, caso exista. Edite o arquivo /etc/asterisk/unicall.conf para refletir as interfaces instaladas no servidor e a sinalização utilizada. [channels] context=from-pabx usecallerid=yes hidecallerid=no callwaitingcallerid=yes threewaycalling=yes transfer=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes rxgain=0.0 txgain=0.0 group=1 callgroup=1 pickupgroup=1 immediate=no protocolclass=mfcr2 protocolvariant=br,20,7 protocolend=cpe group = 3 channel => 1-15 channel => 16-31 ajustar de acordo com o PABX 5. 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] gw-pabxnome=sigip:xxx.xxx.xxx.xxx nome da instituição / IP da MAQ2 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 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 gatekeeperTTL=600 userInputMode=STRING amaFlags=default accountCode=H323 language=en musiconhold=default context=from-voip [register] alias=gw-pabxnome gwprefix=NNNN gwprefix=0XX [codecs] codec=G711U frames=20 6.codec=G711A frames=20 Configuração do Plano de Numeração use o IP da MAQ2 use o IP da MAQ1 <- este contexto deve ser from-voip nome da instituição Prefixo do PABX Código da cidade da instituição 6. 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] exten => 25983000,1,Answer() exten => 25983000,n,Set(TIMEOUT(digit)=5) exten => 25983000,n,Set(TIMEOUT(response)=10) exten => 25983000,n,Background(ivr/welcome) exten => t,1,Hangup() exten => i,1,Hangup() exten => h,1,Hangup() include include include include include => => => => => internacional colocalizados ip local-block identifica-origem [internacional] exten => _00XXXXXXX.,1, Dial(OH323/${EXTEN},60,rtT) [colocalizados] exten => _PPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _0DDPPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _55DDPPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT) ; PPPP => prefixo do ramal do PABX ; DD => código da instituição ; fazer isto para cada ramal e para cada instituição colocalizada [ip] exten => _1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _0XX1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT) exten => _55XX1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT) [local-block] exten => _0DDNXXXXXXX,1,Hangup() exten => _55DDNXXXXXXX,1,Hangup() ; DD => código para instituição [identifica-origem] exten => _0XXNXXXXXXX,1,SetGlobalVar(destino=${EXTEN}) exten => _0XXNXXXXXXX,n,GotoIf($[ ${CALLERID(num)} : "YYYY“ ]?semum0|_0XX.|1) ... ; repetir esta linha, substituindo por todos os prefixos o seu PABX ... ; YYYY => prefixo do PABX exten => _0XXNXXXXXXX,n,GotoIf($[ ${CALLERID(num)} : "YYYY“ ]?semum0|_0XX.|1:comum0|_0XX.|1) exten => _55XXNXXXXXXX,1,SetGlobalVar(destino=${EXTEN}) exten => _55XXNXXXXXXX,n,GotoIf($[ ${CALLERID(num)} : "YYYY“ ]?semum55|_55XX.|1) ... ; repetir esta linha, substituindo por todos os prefixos o seu PABX ... ; YYYY => prefixo do PABX exten => _55XXNXXXXXXX,n,GotoIf($[ ${CALLERID(num)} : "YYYY“ ]?semum55|_55XX.|1:comum55|_55XX.a|1) [comum0] exten => _0XXNXXXXXXX,1,SetVar(prefixo=${destino:0:3}) exten => _0XXNXXXXXXX,n,Dial(OH323/${prefixo}1${destino:3},60,rtT) [comum55] exten => _55XXNXXXXXXX,1,SetVar(prefixo=${destino:0:4}) exten => _55XXNXXXXXXX,n,Dial(OH323/${prefixo}1${destino:4},60,rtT) [semum0] exten => _0XXNXXXXXXX,1,Dial(OH323/${destino},60,rtT) [semum55] exten => _55XXNXXXXXXX,1,Dial(OH323/${destino},60,rtT) [to-pabx] exten => _YYYYXXXX,1,Dial(CHANNEL/g1/${EXTEN:4},60,rtT) exten => _YYYYXXXX,n,Hangup() ; YYYY => Prefixo do Ramal da instituição ; fazer isto para cada prefixo do ramal do PABX, supondo que o seu PABX ; reconheça o telefone do seu PABX pelos seus últimos 4 dígitos. ; CHANNEL => Nome da sinalização usada ; – se ISDN, usar ZAP ; – se R2, usar UNICALL [to-pstn] exten => _0DDNXXXXXXX,1,Dial(CHANNEL/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 ; CHANNEL => Nome da sinalização usada ; – se ISDN, usar ZAP ; – se R2, usar UNICALL 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 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. • Identifica-Origem – identifica se a origem da chamada é um ramal interno ou um telefone da rede pública. Usa contextos diferentes para tratar o encaminhamento da chamada de acordo com a origem e o número discado. • 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. Copie o arquivo de áudio que será tocado quando da chegada de uma chamada através do tronco E1 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# root@maq2# root@maq2# mkdir /var/lib/asterisk/sounds/ivr cd /var/lib/asterisk/sounds/ivr wget http://www.voip.nce.ufrj.br/download/bemvindo.gsm Inicialize o Asterisk 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 -vvvvc ... maq2*ClI> zap show channels Chan Extension Context pseudo from-pabx 1 from-pabx 2 from-pabx 3 from-pabx 4 from-pabx 5 from-pabx 6 from-pabx 7 from-pabx 8 from-pabx 9 from-pabx 10 from-pabx 11 from-pabx 12 from-pabx 13 from-pabx 14 from-pabx 15 from-pabx 17 from-pabx 18 from-pabx 19 from-pabx 20 from-pabx 21 from-pabx 22 from-pabx 23 from-pabx 24 from-pabx 25 from-pabx 26 from-pabx 27 from-pabx 28 from-pabx 29 from-pabx 30 from-pabx 31 from-pabx Language MusicOnHold
Documentos relacionados
Configuração do ASTERISK
Um dos mecanismos que aumentam a segurança, é a hipótese de não se ter que correr o asterisk com a conta de um utilizador com permissões elevadas (eg. root). Um pequeno tutorial sobre como se por a...
Leia mais