<div><br></div><div>Bom dia Asterisk Brasil, uma nova versao de VoicerLib e Channel Driver para Asterisk esta disponivel.</div><div><br></div><div>Abaixo o CHANGELOG completo:</div><div><br></div><div>../dgvchannel-1.0.8/CHANGELOG</div>
<div><br></div><div>- Implementacoes para suportar versoes de Asterisk 1.8.x;</div><div><br></div><div>- Alteracao no metodo de deteccao de chamadas a cobrar em links com</div><div>  *signalling* *isdn*, alem de se utilizar a aplicacao DgCollectCallBlock()</div>
<div>  para bloquear este tipo de chamada, eh possivel verificar se a chamada</div><div>  possui a identificacao de a cobrar, ou mesmo fazer uma chamada com a</div><div>  identificacao de a cobrar. Para que o Channel Driver detecte este tipo de</div>
<div>  chamada eh necessario que se utilize uma versao de Libpri 1.4.11.4 ou</div><div>  superior. Para escrever ou ler o campo de indicacao de chamada a cobrar</div><div>  utilize a nova variavel (DGV_REVERSECHARGE) configuravel atraves do</div>
<div>  dialplan (extensions.conf).</div><div>  Segue exemplo(extensions.conf):</div><div>     exten =&gt; 1001,1,NoOp(Indicacao de Reverse Charging Recebido: ${DGV_REVERSECHARGE})</div><div>     exten =&gt; 1001,n,Answer()</div>
<div>     exten =&gt; 1001,n,...</div><div>     exten =&gt; 1001,n,HangUp</div><div>  ou:</div><div>     exten =&gt; 1002,1,Set(_DGV_REVERSECHARGE=1)</div><div>     exten =&gt; 1002,n,Dial(DGV/g1/21916363)</div><div>     exten =&gt; 1002,n,HangUp</div>
<div>  Obs.: Para que o Channel Driver detecte e bloqueie a chamada a cobrar,</div><div>        obrigatoriamente a operadora devera sinalizar que a chamada eh a cobrar</div><div>        (Reverse Charging Indication).</div>
<div><br></div><div>- Criada aplicacao *DgGetStatistics* para funcionamento junto ao Asterisk,</div><div>  com esta aplicacao eh possivel recuperar a quantidade de segundos utilizados</div><div>  em chamadas de um canal especifico ou mesmo de um grupo de canais.</div>
<div>  A aplicacao recebe um unico parametro referente ao canal ou grupo de canais.</div><div>  Apos a execucao da aplicacao a quantidade de segundos utilizado sera salva na</div><div>  variavel denominada (DGV_STATISTICS).</div>
<div>  Segue exemplo(extensions.conf):</div><div>     exten =&gt; 1001,1,DgGetStatistics(1)</div><div>     exten =&gt; 1001,n,NoOp(DGV_STATISTICS(1): ${DGV_STATISTICS})</div><div>     exten =&gt; 1001,n,Hangup</div><div>  ou:</div>
<div>     exten =&gt; 1002,1,DgGetStatistics(g1)</div><div>     exten =&gt; 1002,n,NoOp(DGV_STATISTICS(g1): ${DGV_STATISTICS})</div><div>     exten =&gt; 1002,n,Hangup</div><div><br></div><div>- Criado comando para mostrar as estatisticas de todos os canais ou mesmo de um</div>
<div>  grupo de canais.</div><div>  Segue como utiliza-lo:</div><div>       Mostra estatisticas de uma lista de canais.</div><div>       Caso especifique o grupo, serao mostradas as estatisticas deste grupo.</div><div>        |_ Uso: dgv show statistics [group/all/json]</div>
<div><br></div><div>- Criado comando para resetar as estatisticas de um canal ou todos os canais.</div><div>  Segue como utiliza-lo:</div><div>       Reseta estatisticas de um especifico canal.</div><div>        |_ Uso: dgv statistics reset &lt;channel/all&gt;</div>
<div><br></div><div>- Criado comando para bloquear um canal, este bloqueio impedira que o canal</div><div>  efetue chamadas saintes.</div><div>  Segue como utiliza-lo:</div><div>       Bloqueia um canal especifico.</div><div>
        |_ Uso: dgv lock channel &lt;channel&gt;</div><div><br></div><div>- Criado comando para desbloquear um canal, apos a execucao deste comando o</div><div>  canal voltara a fazer chamadas saintes.</div><div>  Segue como utiliza-lo:</div>
<div>       Desbloqueia um canal especifico.</div><div>        |_ Uso: dgv unlock channel &lt;channel/all&gt;</div><div><br></div><div>- Criado comando para bloquear um grupo de canais, este bloqueio impedira que</div><div>
  todos os canais do grupo efetuem chamadas saintes.</div><div>  Segue como utiliza-lo:</div><div>       Bloqueia um grupo especifico.</div><div>        |_ Uso: dgv lock group &lt;group&gt;</div><div><br></div><div>- Criado comando para desbloquear um grupo de canais, apos a execucao deste</div>
<div>  comando todos os canais do grupo voltarao a fazer chamadas saintes.</div><div>  Segue como utiliza-lo:</div><div>       Desbloqueia um grupo especifico.</div><div>        |_ Uso: dgv unlock group &lt;group/all&gt;</div>
<div><br></div><div>- Criado comando que ativa ou desativa os logs de DEBUG para links com</div><div>  *signalling* *isdn*. Os logs serao salvos em /var/log/voicerlib/digi_pri.</div><div>  Segue como utiliza-lo:</div><div>
       Habilita/Desabilita debug de sinalizacao ISDN (para fins de teste).</div><div>        |_ Uso: dgv debug isdn &lt;span/all&gt; &lt;on/off&gt;</div><div><br></div><div>- Criado novo parametro no digivoice.conf, segue descricao:</div>
<div>  *wait_group_b* - Utilizado para repassar a sinalizacao de grupo B recebida</div><div>                   da rede publica para o PABX. Obrigatoriamente este</div><div>                   &quot;pass-through&quot; deve ser entre canais DigiVoice, onde a rede</div>
<div>                   publica deve estar com sinalizacao *r2mfc_ndis_fixed* e o</div><div>                   PABX deve estar com sinalizacao *r2mfc_ndis_variable*. Este</div><div>                   parametro deve ser configurado apenas nos canais conectados</div>
<div>                   ao PABX e somente tera efeito em ligacoes saintes para a</div><div>                   rede publica.</div><div>                   Pode assumir os seguintes valores:</div><div>                      |_ 0 -&gt; Nao aguarda a sinalizacao de grupo B recebida da</div>
<div>                              rede publica(Padrao);</div><div>                      |_ 1 -&gt; Aguarda a sinalizacao de grupo B recebida da</div><div>                              rede publica;</div><div>  Segue exemplo(extensions.conf) - chamada sainte em &quot;pass-through&quot; DigiVoice:</div>
<div>     exten =&gt; 021916363,1,Set(_DGV_BRIDGE_CHANNEL=${CHANNEL})</div><div>     exten =&gt; 021916363,n,Dial(DGV/g1/21916363)</div><div>     exten =&gt; 021916363,n,Hangup</div><div>  Onde:</div><div>     No exemplo acima temos uma chamada recebida do PABX, onde a mesma devera</div>
<div>     ser encaminhada para a rede publica, ou seja, um &quot;pass-through&quot; entre</div><div>     canais DigiVoice, desta forma o canal de origem(PABX) aguardara o</div><div>     recebimento do evento de grupo B recebido da rede publica(PSTN) para entao</div>
<div>     continuar a troca de sinalizacao.</div><div><br></div><div>  Segue exemplo(extensions.conf) - chamada sainte para um canal SIP:</div><div>     exten =&gt; 1001,1,DgSendR2GroupB(1)</div><div>     exten =&gt; 1001,n,Dial(SIP/1001)</div>
<div>     exten =&gt; 1001,n,Hangup</div><div>  Onde:</div><div>     No exemplo acima temos uma chamada recebida do PABX e esta devera ser</div><div>     encaminhada para um canal SIP, no entanto somente canais DigiVoice com</div>
<div>     sinalizacao R2D/MFC recebem a sinalizacao de grupo B. Neste caso deveremos</div><div>     chamar a aplicacao *DgSendR2GroupB* passando o parametro 1</div><div>     (LINHA DE ASSINANTE LIVRE COM TARIFACAO) para que o canal ligado ao PABX</div>
<div>     continue a troca de sinalizacao.</div><div><br></div><div>- Adicionado &quot;include&quot; do arquivo sched.h por padrao na instalacao do Channel</div><div>  Driver evitando alguns erros durante a compilacao com determinadas versoes de</div>
<div>  Kernel.</div><div><br></div><div>- Melhorias na logica de utilizacao dos parametros de *gen_dtmf* e</div><div>  *dtmf_to_asterisk*. Esta alteracao tem efeito quando ambos os parametros</div><div>  estao com valor 1 e no ambiente sao apenas utilizados canais DigiVoice,</div>
<div>  desta forma a melhoria evita que sejam gerados DTMFs duplicados.</div><div>  </div><div>- Padrao de ganho para RX e TX alterados;</div><div><br></div><div>- Melhoria para as informacoes de CallerID em todas as versoes de Asterisk 1.8.</div>
<div><br></div><div>- Alterado timeout padrao para comandos enviados para a operadora GSM, somente</div><div>  para *signalling* *gsm*;</div><div><br></div><div>- Corrigido tom de chamando (Ring Back) para canais do tipo FXS ao discarem</div>
<div>  para canais do tipo GSM, somente para Asterisk 1.8.x;</div><div><br></div><div>- Corrigido problema ao finalizar uma conexao de fax pass-through em canais do</div><div>  tipo FXS;</div><div><br></div><div>- Corrigido problema na variavel *Exten* utilizada no *AMI* durante o evento de</div>
<div>  *Newchannel*, somente para Asterisk 1.8.x;</div><div><br></div><div>- Corrigido problema ao tratar o comando DCHAN_DOWN para links *ISDN*, este</div><div>  problema causava uma desconexao incorreta de ligacoes de outros canais;</div>
<div><br></div><div>- Corrigido problema de concorrencia durante o desligamento do canal com</div><div>  *signalling* *r2mfc_ndis_fixed* ou *r2mfc_ndis_variable*.</div><div>  Este problema gerava o log de &quot;-- Ringing on port X - callstate=9&quot;.</div>
<div>  Para esta alteracao foi de grande ajuda o senhor Jose Antonio Sanchez da</div><div>  empresa Erimat Oeste Telecomunicações Ltda;</div><div><br></div><div>  Importante: Para esta versao de channel driver eh obrigatoria a utilizacao da</div>
<div>              VoicerLib 4.2.4.0;</div><div><br></div><div>  Importante: Para esta implementacao eh necessario utilizar um recurso</div><div>              existente somente em versoes da Libpri superiores a 1.4.11.4;</div>
<div><br></div><div><br></div><div><br></div><div>Obrigado.</div>-- <br>Luciano Alves Barroso<br>Equipe de Desenvolvimento DigiVoice Channel Driver &amp; 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><br>