<span style="font-family: courier new,monospace;">Boa tarde Lista,</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Informo uma nova versão de VoicerLib e Channel Driver para Asterisk.</span><br style="font-family: courier new,monospace;">
<br><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">../dgvchannel-1.0.4/CHANGELOG</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">v1.0.4</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">======</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Implementacoes no Channel Driver para funcionamento junto as placas VB0404GSM,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  para isso foi criado um novo *signalling* com nome *gsm*;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  Importante: Para esta implementacao foram necessarias alteracoes na VoicerLib,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">              portanto para compilar o Channel Driver 1.0.4 eh obrigatorio</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">          efetuar a compilacao da VoicerLib 4.2.0.0;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">          </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Criado novo parametro no digivoice.conf, segue descricao:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  *hide_number* - Esta opcao permite que o canal de sinalizacao *gsm*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                  envie o seu numero telefonico(Bina) ou mantenha-o como</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                  privado.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                  Pode assumir os seguintes valores:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                     |_ 0 -&gt; Envia o numero telefonico(Bina)(Padrao);</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                     |_ 1 -&gt; Mantem o numero como privado;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Criado novo parametro no digivoice.conf, segue descricao:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  *pin_number* - Define o numero PIN em um canal de sinalizacao *gsm*. Se esta</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                 opcao for deixada em branco, o sistema nao ira configurar um</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                 numero PIN para este canal.</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Criada aplicacao *DgSendSMS* para funcionamento junto ao Asterisk, onde eh</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  possivel enviar uma mensagem SMS utilizando placas VB0404GSM. A aplicacao</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  recebe tres parametros, no primeiro o canal ou grupo de canais que sera</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  utilizado para enviar a mensagem SMS, no segundo o numero do celular de</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  destino e no terceiro parametro o texto da mensagem SMS.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  Segue exemplo(extensions.conf):</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     exten =&gt; 1234,1,DgSendSMS(g1,98765432,&#39;Sending a SMS example using the DgSendSMS application, thank you for using DigiVoice cards.&#39;)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">     exten =&gt; 1234,n,Hangup</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">- Criada *extension* para recebimendo de mensagens SMS em placas DigiVoice</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  VB0404GSM. Ao receber uma mensagem SMS o channel driver DigiVoice chamara</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  o *extension* *dgv_sms* do *context* relativo, com prioridade 1. Desta forma</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  pode-se recuperar o conteudo da mensagem SMS acessando as seguintes variaveis:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  DGV_SMS_FROM, DGV_SMS_DATE, DGV_SMS_TIME e DGV_SMS_TEXT.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  Segue exemplo(extensions.conf):</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">     exten =&gt; dgv_sms,1,NoOp(SMS RECEIVED FROM: ${DGV_SMS_FROM} at ${DGV_SMS_DATE}(${DGV_SMS_TIME}): ${DGV_SMS_TEXT})</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">     exten =&gt; dgv_sms,n,System(echo &quot;${DGV_SMS_DATE}(${DGV_SMS_TIME}): ${DGV_SMS_TEXT}&quot; &gt;&gt; /tmp/&quot;${DGV_SMS_FROM}&quot;)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">     exten =&gt; dgv_sms,n,Hangup</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  Obs.: Na prioridade 2, a aplicacao *System* esta criando um arquivo no</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">        diretorio /tmp/, onde o nome do arquivo eh o numero do celular de origem</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    da mensagem SMS, e o conteudo do arquivo eh:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    &quot;Data(Hora): Texto da Mensagem&quot;.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">- Criada aplicacao que possibilita o envio de mensangens SMS em placas VB0404GSM</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  em modo console, ou seja, sem a necessidade de um *dialplan* para faze-lo.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  Segue exemplo(console):</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     rasterisk -x &#39;dgv send sms g1 98765432 &quot;Sending a SMS example using the DgSendSMS application, thank you for using DigiVoice cards.&quot;&#39;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Implementacao de rotina para verificar o *device_state* dos canais, desta</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  forma atraves do *dialplan* pode-se obter o estado do canal ao utilizar a</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  aplicacao DEVSTATE(Asterisk 1.4.x) ou DEVICE_STATE(Asterisk 1.6.x).</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  Segue exemplo(extensions.conf - Asterisk 1.6.x):</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     exten =&gt; 1234,1,NoOp(Has state: ${DEVICE_STATE(DGV/61)})</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">     exten =&gt; 1234,n,Hangup</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Implementacao de bloqueio automatico de canais ao detectar um alarme de</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  ALARM_LOSS(Indicacao de Perda de Sinal), desta forma o Channel Driver nao</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  tentara alocar os canais deste E1 para efetuar ligacoes;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Implementacao de alarme de ausencia de tom de discagem para *signalling* *fxo*</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  e *channelbank_fxo*. O funcionamento deste alarme eh bem simples, caso o canal</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  *fxo* ou *channelbank_fxo* nao detecte tom de discagem por 2 vezes seguidas, o</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  Channel Driver coloca este canal em alarme. Para visualizar os canais com</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  alarme basta executar o comando *dgv show alarms* no *CLI* do Asterisk. Este</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  alarme eh desativado automaticamente apos 10 minutos ou apos receber um *Ring*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  na linha. Para desativa-lo manualmente basta executar o comando</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  *dgv alarms reset* no *CLI* do Asterisk;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">- Criado novo parametro no digivoice.conf, segue descricao:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  *ccb_pass_through* - Utilizado para repassar a sinalizacao de bloqueio de</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                       chamada a cobrar recebida do PABX para a rede publica.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                       Obrigatoriamente este &quot;pass-through&quot; deve ser entre</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                       canais DigiVoice, onde a rede publica deve estar com</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                       sinalizacao *r2mfc_ndis_fixed* e o PABX deve estar com</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                       sinalizacao *r2mfc_ndis_variable*. Este parametro deve</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                       ser configurado no canal de sinalizacao</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                       *r2mfc_ndis_variable* e somente tera efeito em ligacoes</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                       entrantes recebidas pela rede publica.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                       Pode assumir os seguintes valores:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                          |_ 0 -&gt; Nao repassa a sinalizacao de bloqueio de</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                                  chamada a cobrar(Padrao);</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                          |_ 1 -&gt; Ativa o &quot;pass-through&quot; de sinalizacao de</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                                  bloqueio de chamada a cobrar;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Implementacao de indicacao de Q931_PROGRESS e Q931_CALL_PROCEEDING para</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  *signalling* *isdn*, utilize respectivamente Progress() ou Proceeding() em seu</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  *dialplan*;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Implementacao de deteccao de chamada a cobrar em links com *signalling*</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  *isdn*, desta forma pode-se utilizar a aplicacao DgCollectCallBlock() para</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  bloquear este tipo de chamada. Para que o Channel Driver detecte este tipo de</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  chamada sao necessarias algumas alteracoes na Libpri, estas alteracoes sao</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  feitas automaticamente pelo *Makefile* do Channel Driver(apenas para as</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  seguintes versoes de Libpri: 1.4.7, 1.4.8, 1.4.9, 1.4.10 e 1.4.10.1).</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  Para esta implementacao alguns coloboradores foram de grande importancia:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">     Alexandre Cavalcante Alencar &lt;<a href="mailto:alexandre.alencar@gmail.com">alexandre.alencar@gmail.com</a>&gt;,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">     Moises Silva &lt;<a href="mailto:moises.silva@gmail.com">moises.silva@gmail.com</a>&gt; e</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     Sean Bright &lt;<a href="mailto:sean.bright@gmail.com">sean.bright@gmail.com</a>&gt;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  Obs.: Para que o Channel Driver detecte e bloqueie a chamada a cobrar,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        obrigatoriamente a operadora devera sinalizar que a chamada eh a cobrar</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    (Reverse Charging Indication).</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">- Corrigido problema ao utilizar o metodo *RoundRobin*(por Daniel Bichara);</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">- Corrigido problema ao capturar a segunda chamada de um canal com *signalling*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  *fxs* ou *channelbank_fxs*;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Corrigido possivel problema de seg. fault ao utilizar *signalling* *isdn* com</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  *qsig*;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">- Corrigido possivel problema de deadlock;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Arquivos/Procedimento para instalação:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   VoicerLib =&gt; <a href="http://downloads.digivoice.com.br/pub/voicerlib/linux/stable/voicerlib-4.2.0.0.tar.gz">http://downloads.digivoice.com.br/pub/voicerlib/linux/stable/voicerlib-4.2.0.0.tar.gz</a></span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   DgvChannel =&gt; <a href="http://downloads.digivoice.com.br/pub/dgvchannel/stable/dgvchannel-1.0.4.tar.gz">http://downloads.digivoice.com.br/pub/dgvchannel/stable/dgvchannel-1.0.4.tar.gz</a></span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   O procedimento para instalação encontra-se no arquivo INSTALL dentro do diretório dgvchannel-1.0.4</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">_____________________</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">A DigiVoice agradece.</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">*** Vamos fortalecer o mercado interno. Por que não utilizar tecnologia do Brasil no Brasil? ***</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><br clear="all"><br>-- <br>Luciano Alves Barroso<br>Equipe de Desenvolvimento DigiVoice Channel Driver &amp; DigiVoice Meucci<br><a href="http://www.digivoice.com.br">www.digivoice.com.br</a><br>
<a href="http://www.meucci.org">www.meucci.org</a><br>