Placa QC-410-P - Segunda parte.
Dando sequencia, neste post, iremos tratar do ficheiro "chan_dahdi.conf". O mais importante como vimos na primeira parte é conectar a placa em un slot PCI e conectar um conector molex da fonte do seu servidor. É importante neste momento também fazer o calculo para saber se a fonte suporta a garga total do servidor. Devo lembrar que este conector é realmente necessário se tivermos modulos FXS, pois neste caso é nos que entregamos a corrente ao telefone analogico conectado a este modulo, como no meu laboratorio estou com os quatros modulos FXO, o conector realmente não faria falta.
Lembrando que na primeira parte, se realizamos a instalação correta do Dahdi-linux e Dahdi-Tools, podemos para melhorar os recursos de nosso servidor ter somente o modulo "wctdm24xxp" ativado. Vamos editar o mesmo e deixa-lo igual o que esta abaixo descrito. Os modulos que realmente irão ficar ativados vou deixar em vermelho:
[root@qc-pbx-ip /]# cd /etc/dahdi/
[root@qc-pbx-ip /]# vim modules
# Contains the list of modules to be loaded / unloaded by /etc/init.d/dahdi.
#
# NOTE: Please add/edit /etc/modprobe.d/dahdi or /etc/modprobe.conf if you
# would like to add any module parameters.
#
# Format of this file: list of modules, each in its own line.
# Anything after a '#' is ignore, likewise trailing and leading
# whitespaces and empty lines.
# Digium TE205P/TE207P/TE210P/TE212P: PCI dual-port T1/E1/J1
# Digium TE405P/TE407P/TE410P/TE412P: PCI quad-port T1/E1/J1
# Digium TE220: PCI-Express dual-port T1/E1/J1
# Digium TE420: PCI-Express quad-port T1/E1/J1
#wct4xxp
# Digium TE120P: PCI single-port T1/E1/J1
# Digium TE121: PCI-Express single-port T1/E1/J1
# Digium TE122: PCI single-port T1/E1/J1
#wcte12xp
#
# NOTE: Please add/edit /etc/modprobe.d/dahdi or /etc/modprobe.conf if you
# would like to add any module parameters.
#
# Format of this file: list of modules, each in its own line.
# Anything after a '#' is ignore, likewise trailing and leading
# whitespaces and empty lines.
# Digium TE205P/TE207P/TE210P/TE212P: PCI dual-port T1/E1/J1
# Digium TE405P/TE407P/TE410P/TE412P: PCI quad-port T1/E1/J1
# Digium TE220: PCI-Express dual-port T1/E1/J1
# Digium TE420: PCI-Express quad-port T1/E1/J1
#wct4xxp
# Digium TE120P: PCI single-port T1/E1/J1
# Digium TE121: PCI-Express single-port T1/E1/J1
# Digium TE122: PCI single-port T1/E1/J1
#wcte12xp
# Digium T100P: PCI single-port T1
# Digium E100P: PCI single-port E1
#wct1xxp
# Digium TE110P: PCI single-port T1/E1/J1
#wcte11xp
# Digium TDM2400P/AEX2400: up to 24 analog ports
# Digium TDM800P/AEX800: up to 8 analog ports
# Digium TDM410P/AEX410: up to 4 analog ports
wctdm24xxp
# X100P - Single port FXO interface
# X101P - Single port FXO interface
#wcfxo
# Digium TDM400P: up to 4 analog ports
#wctdm
# Digium E100P: PCI single-port E1
#wct1xxp
# Digium TE110P: PCI single-port T1/E1/J1
#wcte11xp
# Digium TDM2400P/AEX2400: up to 24 analog ports
# Digium TDM800P/AEX800: up to 8 analog ports
# Digium TDM410P/AEX410: up to 4 analog ports
wctdm24xxp
# X100P - Single port FXO interface
# X101P - Single port FXO interface
#wcfxo
# Digium TDM400P: up to 4 analog ports
#wctdm
# Digium B410P: 4 NT/TE BRI ports
#wcb4xxp
# Digium TC400B: G729 / G723 Transcoding Engine
#wctc4xxp
# Xorcom Astribank Devices
xpp_usb
#wcb4xxp
# Digium TC400B: G729 / G723 Transcoding Engine
#wctc4xxp
# Xorcom Astribank Devices
xpp_usb
Para sair do editor VIM salvando as alterações neste ficheiro utilize o comando "Esc -> Shift : -> wq"
[root@qc-pbx-ip /]#
[root@qc-pbx-ip /]# service dahdi restart
Unloading DAHDI hardware modules: ERROR:
Module dahdi is in use error
Loading DAHDI hardware modules:
wctdm24xxp: [ OK ]
xpp_usb: [ OK ]
Running dahdi_cfg: [ OK ]
[root@pbx4ip dahdi]#
Loading DAHDI hardware modules:
wctdm24xxp: [ OK ]
xpp_usb: [ OK ]
Running dahdi_cfg: [ OK ]
[root@pbx4ip dahdi]#
[root@pbx4ip dahdi]# dahdi_tool
[root@pbx4ip dahdi]#
Uma vez realizada todas as configurações anteriores, falta somente adaptar o ficheiro "chan_dahdi.conf" do servidor QualiCheck PBX IP para trabalhar com os modulos. O ficheiro "chan_dahdi.conf" pode ser tão simples ou tão complexo por permitir uma personalização, quase que milimetrica do sistema com a respectiva rede telefonica (PSTN).
O contexto principal neste ficheiro é "[channels] e apartir dai surgem varias configurações basicas que vou comentando:
[root@pbx4ip dahdi]# cd /etc/asterisk
[root@pbx4ip dahdi]# cp -a chan_dahdi.conf chan_dahdi.conf.000
[root@pbx4ip dahdi]# > chan_dahdi.conf
[root@pbx4ip dahdi]# vim chan_dahdi.conf
[trunkgroups]
[channels]
language=us
// Linguagem que vamos a usar
usercallerid=yes
// Se queremos utilizar o identificador da chamada
cidsignalling=v23
// Sinalização CID mais comun, também é a opção Bell
cidstart=ring
// Qual é o sinal de inicio de uma chamada. Aqui em caso de linhas RTB normais, ring //e o mais comum, porém em caso de usar enlaces GSM analogicos, seria uma boa //idea colocar outro sistema como polarity_IN (inversão de polaridade) pelo proprio //funcionamento do mesmo que não vem ao caso agora, o que é mais do que provado //que com o ring também funciona, claro que com mais promas propensão a falhas.
hidecallerid=no
// Auto explicativo, se queremos ocultar nosso identificador de chamadas
callwaiting=yes
// Se podemos colocar as chamadas em espera, utilizamos o boton "Hook Flash" //(muito comum de ser visto em telefones analogicos com uma letra "R" e que é //configuravel na maioria dos casos) para saltar de uma chamada em espera para //outra
callwaitingcallerid=yes
// No caso de poder ter chamadas em espera, poder ver o Identificativo da chamada quando vamos saltando de uma para outra chamada
threewaycalling=yes
// Chamadas a três ativo, considere especialmente para chamadas através da PSTN, que esses valores devem ser apoiados ainda pela mesma e a maioria dos operadores (PSTN) tem tipicamente esses como "serviços adicionais".
transfer=yes
// Chamadas de transferência de energia, não por causa de limitações de nossa Dialplan, mas pela PSTN como discutido anteriormente
canpark=yes
// Capaz de estacionar chamadas, também. Diferença entre colocar uma chamada em espera e estacioná-lo, é que, no segundo caso, o utilizador é, por exemplo, pode recuperar a chamada de outra extensão diferente
cancallfoward=yes
// Para poder “reenviar” a chamada
callreturn=yes
// Para poder voltar a receber de volta uma chamada reenviada sem exito
echocancel=yes
// Cancelamento de eco ativado
echocancelwhenbridged=no
// Se a chamada permanece "dentro" exemplo a rede de uma extensão analógico para um dispositivo SIP, para que você não cancelar o eco em vão (porque a chamada com um atraso mínimo realmente não o exigir). É engraçado porque essa opção é definida "sim" por padrão, e nós temos que desativá-lo na maioria das configurações chan_dahdi
echotraining=800
// ms (milisegundos) tempo que leva para "aprender" como "retardado", vem a chamada e cancelamento de eco para aplicar. Variáveis envolvidas no algoritmo como o atraso médio, e quantidades de jitter para algo como o desvio padrão sobre a média de atraso.
relaxdtmf=yes
// Nós tínhamos visto isso no ... o feliz DTMF SIP freqüentemente levantam questões especialmente na base de que não sabemos qual o sistema carrega o chamador.
rxgain=1.0
txgain=2.0
// Ganhos em decibéis da respectivamente entrada e de saída
busydetect=yes
busypattern=200,200
// Com essas opções, simplesmente vamos detectar se o outro lado está se comunicando com um clássico tom de ocupado em nosso aparelho. Você pode especificar a cadência em ms do tom a ser detectado. Isso é diferente em cada país e geralmente fornecido em uma linha PSTN, pode ser encontrado nas regras do maior fornecedor de Portugal, por exemplo, a PT
answeronpolarityswitch=yes
hanguponpolariryswitch=yes
// Isto é essencial para, como discutido anteriormente, a gestão de chamadas, dependendo se trabalhar diretamente em uma linha PSTN, ou se utilizar uma ligação GSM. No primeiro caso, as duas opções seria não (no), e no segundo caso, sim (yes)
faxdetect=incoming
// Para detectar os faxes recebidos, é útil, se usarmos esse canal para recebimento de fax. Ambos também presente em ambos os sentidos. O fato de detectar faxes tem aplicações como IAXmodem, como Hylafax fax recepção de candidaturas para o Asterisk, ou reencaminhamento automático de chamadas, e gerenciá-los com discadores automáticos.
mohinterpret=default
// Música padrão em espera
mohsuggest=default
// Música sugerida em espera quando colocamos uma chamada em espera para este canal
#include dahdi-channels.conf
//Ficheiro com as configurações dos canais dahdi
Para tudo isso que eu expliquei, existem milhares de opções e configurações. Aqui eu tenho uma amostra de configuração válida para executar a partir de 0. As opções estão disponíveis diretamente nas mesmas explicações que traz o ficheiro de exemplo fornecido pelo sistema gerado pela opção quando instalamos o Asterisk "samples".
Finalmente, colocamos a configuração específica dos canais e, em seguida, vamos tratalos a partir de nosso Dialplan. No meu caso, eu conectei quatro linha da PSTN (ZON), é por isso que eu coloquei as opções acima com base neste caso particular). Então seria:
Finalmente, colocamos a configuração específica dos canais e, em seguida, vamos tratalos a partir de nosso Dialplan. No meu caso, eu conectei quatro linha da PSTN (ZON), é por isso que eu coloquei as opções acima com base neste caso particular). Então seria:
[root@qc-pbx-ip /] vim dahdi-channels.conf
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;
; Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)
;;; line="1 WCTDM/0/0 FXSKS (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-01
channel => 1
callerid=
group=
context=default
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;
; Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)
;;; line="1 WCTDM/0/0 FXSKS (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-01
channel => 1
callerid=
group=
context=default
;;; line="2 WCTDM/0/1 FXSKS (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-02
channel => 2
callerid=
group=
context=default
;;; line="3 WCTDM/0/2 FXSKS (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-03
channel => 3
callerid=
group=
context=default
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-02
channel => 2
callerid=
group=
context=default
;;; line="3 WCTDM/0/2 FXSKS (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-03
channel => 3
callerid=
group=
context=default
;;; line="4 WCTDM/0/3 FXSKS (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-04
channel => 4
callerid=
group=
context=default
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-04
channel => 4
callerid=
group=
context=default
Salve o ficheiro (:wq) realize reload no serviço asterisk:
[root@qc-pbx-ip /]# service asterisk restart
Agora entre no asterisk;
[root@qc-pbx-ip /]# rasterisk -vvvvgci
qc-pbx-ip*CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
1 dahdi-00-01 us default In Service
2 dahdi-00-02 us default In Service
3 dahdi-00-03 us default In Service
4 dahdi-00-04 us default In Service
qc-pbx-ip*CLI>
qc-pbx-ip*CLI> dahdi show status
Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO
Wildcard TDM410P Board 1 OK 0 0 0 CAS Unk 0 db (CSU)/0-133 feet (DSX-1)
qc-pbx-ip*CLI>
qc-pbx-ip*CLI> dahdi show version
DAHDI Version: 2.4.1.2 Echo Canceller: MG2
qc-pbx-ip*CLI>
DAHDI Version: 2.4.1.2 Echo Canceller: MG2
qc-pbx-ip*CLI>
Neste momento já temos nosso servidor Qualicheck PBX IP quase funcional, o mesmo já tem total comunicação com o modulo da placa QC-410-P. No proximo post iremos realizar os procedimentos no ficheiro "extensions.conf" nosso plano de marcação (Dialplan), para receber chamadas dos canais Dahdi e proceder chamadas apartir dos canais Dahdi.
Fiquem bem!!!
Engº e Profº Delphini
Consultor de Tecnologia da Informação da QualiCheck.
Deixe um comentário