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