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