[AsteriskBrasil] DigiVoice VoicerLib 4.2.5.0_rc3 e DigiVoice Channel Driver 1.1.0_rc12
Luciano Alves Barroso
lucianodigivoice em gmail.com
Quarta Abril 17 16:41:32 BRT 2013
Boa tarde Asterisk Brasil, uma nova versao "release candidate" de VoicerLib
e Channel Driver para Asterisk esta disponivel.
Seguem os links para download:
http://downloads.digivoice.com.br/pub/voicerlib/linux/unstable/voicerlib-4.2.5.0_rc3.tar.gz
http://downloads.digivoice.com.br/pub/dgvchannel/unstable/dgvchannel-1.1.0_rc12.tar.gz
Abaixo o CHANGELOG completo:
../dgvchannel-1.1.0_rc12/CHANGELOG
- Implementacoes para suportar versoes de Asterisk 10.x;
- Implementacoes para suportar versoes de Asterisk 11.x;
- Criado comando para mostrar as informacoes de todas as placas disponiveis.
Segue como utiliza-lo:
Mostra a lista de placas disponiveis.
|_ Usage: dgv show cards [all/json]
- Aprimorado comando para mostrar as informacoes de todos os canais
disponiveis.
Segue como utiliza-lo:
Mostra a lista de canais disponiveis.
Caso especifique o grupo, serao mostrados os canais deste grupo.
|_ Uso: dgv show channels [group/all/json]
- Aprimorado comando para mostrar as estatisticas de um canal, nesta versao
caso o canal seja do tipo GSM, o comando retornara a quantidade de SMS
enviados com sucesso;
- Criado mecanismo para canais GSM, este mecanismo efetua uma leitura de
todas
as mensagens contidas no SIM Card, evitando que mensagens recebidas
enquanto
o modulo esta em processo de start nao sejam informadas para a aplicacao,
este processo eh executado automaticamente logo apos a inicializacao de um
canal;
- Criada aplicacao *DgGetUnReadSMS* para funcionamento junto ao Asterisk,
com esta aplicacao eh possivel solicitar a leitura de todas as mensagens
contidas no SIM Card, evitando que mensagens recebidas enquanto
o modulo esta em processo de start nao sejam informadas para a aplicacao.
A aplicacao recebe um unico parametro referente ao canal desejado.
Segue exemplo(extensions.conf):
exten => 1001,1,DgGetUnReadSMS(1)
exten => 1001,n,Hangup
- Criado comando para solicitar a leitura de todas as mensagens contidas em
um
SIM Card, evitando que mensagens recebidas enquanto o modulo esta em
processo de start nao sejam informadas para a aplicacao.
Segue como utiliza-lo:
Solicita mensagens SMS nao lidas de um canal especifico.
|_ Uso: dgv get unread sms channel <channel/all>
- Criado comando para solicitar a leitura de todas as mensagens contidas em
um
grupo de SIM Cards, evitando que mensagens recebidas enquanto os modulos
estao em processo de start nao sejam informadas para a aplicacao.
Segue como utiliza-lo:
Solicita mensagens SMS nao lidas de um grupo especifico.
|_ Uso: dgv get unread sms group <group/all>
- Criado mecanismo que efetua um bloqueio do console durante o envio de
SMS,
este bloqueio pode ser utilizado caso o usuario queira aguardar o status
de
envio do SMS.
Segue como utiliza-lo:
Envia uma mensagem SMS utilizando um canal GSM instalado.
|_ Uso: dgv send sms <resource> <send_to> <text_message> [lock]
- Criado mecanismo que efetua um bloqueio do dialplan durante o envio de
SMS,
este bloqueio pode ser utilizado caso o usuario queira aguardar
o status de envio do SMS, logo apos a finalizacao do envio(com ou sem
sucesso)
as seguintes variaveis estarao disponiveis no dialplan:
DGV_SMSSENT_SEND_TO,
DGV_SMSSENT_GROUP, DGV_SMSSENT_PORT, DGV_SMSSENT_SIMCARDID,
DGV_SMSSENT_STATUS, DGV_SMSSENT_ERROR ou DGV_SMSSENT_TIMEOUT;
Segue exemplo(extensions.conf):
exten => 1234,1,DgSendSMS(g1,98765432,'Sending a SMS example using the
DgSendSMS application with lock parameter.',lock)
exten => 1234,n,Hangup
- Implementado deteccao do ID do SIM Card, todos os eventos gerados pelo
Channel Driver relacionados a um canal GSM tera como um de seus parametros
o ID do SIM Card;
- Melhoria nos eventos de canais GSM gerados para o Manager do Asterisk;
- Criada *extension* para recebimendo de confirmacao de envio de mensagens
SMS
em placas DigiVoice VB0404GSM. Ao receber uma confirmacao de envio de SMS
o
channel driver DigiVoice chamara o *extension* *dgv_sms_ack* do *context*
relativo, com prioridade 1. Importante lembrar que para habilitar o
recebimento da confirmacao de envio eh obrigatorio setar o parametro
*sms_confirmation* em seu digivoice.conf.
Para recuperar o conteudo da mensagem SMS acesse as seguintes variaveis:
DGV_SMS_FROM, DGV_SMS_SIMCARDID, DGV_SMS_DATE, DGV_SMS_TIME e
DGV_SMS_TEXT.
Segue exemplo(extensions.conf):
exten => dgv_sms_ack,1,NoOp(${DGV_SMS_SIMCARDID} - SMS CONFIRMATION
FROM: ${DGV_SMS_FROM} at ${DGV_SMS_DATE}(${DGV_SMS_TIME}): ${DGV_SMS_TEXT})
exten => dgv_sms_ack,n,Hangup
- Melhoria nos tratamentos de erros ao enviar mensagens SMS utilizando
placas
GSM DigiVoice;
- Implementacao no Channel Driver para gerar eventos no Manager do Asterisk
ao solicitar o nivel de sinal de placas GSM;
- Criado novo parametro no digivoice.conf, segue descricao:
*category_pass_through* - Utilizado para repassar a sinalizacao de
categoria
de uma chamada recebida da rede publica para o
PABX. Obrigatoriamente este "pass-through" deve
ser entre canais DigiVoice, onde a rede publica
deve estar com sinalizacao *r2mfc_ndis_fixed* e
o PABX deve estar com sinalizacao
*r2mfc_ndis_variable*. Este parametro deve ser
configurado apenas nos canais conectados a rede
publica e somente tera efeito em ligacoes
entrantes recebidas da rede publica.
Pode assumir os seguintes valores:
|_ 0 -> Nao repassa a sinalizacao de
categoria
de uma chamada entrante(Padrao);
|_ 1 -> Ativa o "pass-through" de
sinalizacao de
categoria de uma chamada entrante;
- Criado novo parametro no digivoice.conf, segue descricao:
*auto_dgccb* - Ativa o bloqueio de chamadas a cobrar em todas as chamadas
recebidas da rede publica. Utilizado junto a sinalizacao
*r2mfc_ndis_fixed*, *r2mfc_ndis_variable*, ou *fxo*.
Ao utilizar este parametro a aplicacao *DgCollectCallBlock*
nao tera efeito na chamada recebida.
Pode assumir os seguintes valores:
|_ 0 -> Desativa o bloqueio de chamadas a
cobrar(Padrao);
|_ 1 -> Ativa o bloqueio de chamadas a cobrar;
- Criado novo parametro no digivoice.conf, segue descricao:
*port_name* - Configura o nome de um ramal FXS para ser identificado pelo
destino(assinante B).
- Criado novo parametro no digivoice.conf, segue descricao:
*deny_prefix* - Define o prefixo do numero discado que sera bloqueado, ou
seja, caso este parametro esteja configurado com o valor
00
todas as chamadas saintes iniciadas por 00
(internacionais)
nao serao completadas e um evento de *CONGESTION* sera
gerado para a aplicacao.
Utilizado junto a sinalizacao *r2mfc_ndis_fixed*,
*r2mfc_ndis_variable*, *customcas*, *isdn*,
*channelbank_fxs*, *fxs* ou *gsm*(Padrao 00).
Exemplo:
|_ deny_prefix=00
- Implementacao no Channel Driver para que o mesmo interprete a facilidade
de
*ignorepat* publicada no dialplan. Esta facilidade eh aplicada a canais do
tipo *fxs* ou *channelbank_fxs*, com esta facilidade o usuario pode
ignorar
determinado digito e continuar ouvindo o tom de linha, simulando assim um
digito para "pegar linha externa".
Segue exemplo(extensions.conf):
ignorepat => 0
Onde:
O usuario ao retirar o aparelho do "gancho" ouvira o tom de linha,
e no caso acima, apos o mesmo digitar o numero "0", ele continuara
ouvindo
o tom de linha;
- Implementacao de um novo parametro configuravel atraves do dialplan
(extensions.conf), com este novo parametro eh possivel alterar a cadencia
do "ring" em um canal de sinalizacao *fxs*. Isto permite que o usuario
diferencie o tom de chamando para chamadas externas ou internas.
Segue exemplo(extensions.conf):
exten => 1002,1,NoOp(CallerID recebido: ${CALLERID(num)})
exten => 1002,n,GotoIf($["${LEN(${CALLERID(num)})}" >=
"8"]?chamada_ext:chamada_int)
exten => 1002,n(chamada_ext),Set(_DGV_RINGTYPE=1)
exten => 1002,n,Goto(disca_ramal)
exten => 1002,n(chamada_int),Set(_DGV_RINGTYPE=3)
exten => 1002,n,Goto(disca_ramal)
exten => 1002,n(disca_ramal),Dial(DGV/62,,r)
exten => 1002,n,Hangup
- Implementado metodo de discagem *SerialNumber*, este metodo utiliza o
numero
serial das placas para selecionar os canais em uma chamada sainte.
Segue exemplo(extensions.conf):
exten => 1003,1,Dial(DGV/s01234/21916363)
exten => 1003,n,Hangup
ou:
exten => 1004,1,Dial(DGV/S01234/21916363)
exten => 1004,n,Hangup
- Implementado metodo de discagem *Concatenado*, este metodo possibilita ao
usuario passar mais de um canal, grupo ou numero serial como parametro na
discagem.
Segue exemplo(extensions.conf):
exten => 1005,1,Dial(DGV/g1+g2+2/21916363)
exten => 1005,n,Hangup
ou:
exten => 1006,1,Dial(DGV/g1+r2+s01234/21916363)
exten => 1006,n,Hangup
- Implementado metodo de discagem *SerialNumberChannel*, este metodo
possibilita ao usuario passar o numero serial das placas e o respectivo
canal
em uma chamada sainte.
Segue exemplo(extensions.conf):
exten => 1007,1,Dial(DGV/s01234c4/21916363)
exten => 1007,n,Hangup
Onde:
No exemplo acima temos uma chamada sainte utilizando a porta 4 da placa
com numero serial 01234.
Importante:
Para esta funcionalidade recebemos a grande contribuicao de Sr. Rodolfo
Carvalho da empresa Iqnus Tecnologia (www.iqnus.com.br);
- Implementacao de deteccao de "Nome" em caso de recebimento de
"Bina"/CallerID
por FSK;
- Criado log de "WARNING" com a seguinte descricao: "Interruption lost in
DigiVoice card X, please verify your hardware". Este log eh gerado caso o
servidor nao consiga tratar as interrupcoes da placa a tempo (2 ms).
- Alteracao na disposicao dos alarmes de E1 enviados ao Manager do Asterisk;
- Definicao de padrao para os parametros de "context" e "language";
- Implementacao de envio de sinalizacao de "proceeding" em caso de
sinalizacao
*isdn* com *overlapdial*;
- Implementacao de alarme LINKDOWN para sinalizacao *isdn*, este alarme sera
gerado caso o protocolo ISDN fique indisponivel;
- Criado parametro *facilityenable", este parametro tem a funcionalidade de
habilitar as rotinas de pri_facility na *libpri*;
- Adaptacao do driver dgvfifo (ISDN) para o correto funcionamento junto ao
Kernel 3.x;
- Publicacao do binario do Channel Driver tambem para o diretorio
"/usr/lib64/asterisk/modules/";
- Remocao do binario "auto_conf_dgv" dos diretorios
"/usr/lib.../asterisk/modules";
- Correcao no script de inicializacao do modulo dgvfifo para ambientes
debian;
- Correcao na sinalizacao *fxs* ao receber um evento de "congestion";
- Removido o caracter "," que estava incorreto no final do string gerado
com o
comando "dgv show alarms json";
- Corrigido problema ao destruir a thread de Call Progress;
- Corrigido flag de canal reservado apos o recebimento de uma sinalizacao
de
ocupacao R2 incorreta;
- Corrigida informacao de CallerID invalido ao chamar a facilidade de
captura
de uma chamada (ast_pickup_call);
- Corrigido contador de caracteres (160) para envio de SMS utilizando a
placa
VB0404GSM;
- Corrigido geracao de eventos ao Manager do Asterisk ao receber um erro de
"CALL BARRED" ao enviar um SMS ou efetuar uma chamada utilizando a
sinalizacao *gsm*;
- Corrigido problema de alocacao de segunda linha ao utilizar a sinalizacao
*fxs* ou *channelbank_fxs*;
Importante: Para esta versao de channel driver eh obrigatoria a
utilizacao da
VoicerLib 4.2.5.0;
Muito obrigado.
--
Luciano Alves Barroso
Equipe de Desenvolvimento DigiVoice Channel Driver & DigiVoice Meucci
www.digivoice.com.br
www.meucci.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20130417/96614041/attachment-0001.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil