FÓRUM DigiVoice

Fórum de Suporte Digivoice

Você não está logado.

#1 25/05/2007 12:46:32

magronez
Membro

rings diferentes para ligacao externa e interna

uso atas da grandstream, como faco?

outra coisa, estou tendo problemas com o ring, as vezes da e as vezes nao.
uso placa analogica vb0408.

Offline

 

#2 06/06/2007 13:38:51

juniou
Membro

Re: rings diferentes para ligacao externa e interna

faz um teste com a variavel _ALERT_INFO do asterisk:

exten = 425,2,SetVar(_ALERT_INFO=Bellcore-r7)     ;Tipo toque chamada externa

no extensions.conf...

neste caso o Bellcore-r7 é um toque do linksys PAP2 verifica no manual da grandstream se existe isso..

[]`s
Jr.

Offline

 

#3 06/12/2008 22:21:56

Re: rings diferentes para ligacao externa e interna

Tenho duas placas mistas (3FXS/1FXO) e gostaria de implementar toques distintos para ligações internas e externas nas portas FXS (portas 2, 3, 4, 6, 7 e 8). Uso asterisk 1.4.22, mas não achei meio de implementar. Estou pensando em enviar um caracter na string de discagem (que não represente um número de canal) para ele modificar o parâmetro ring_type do canal, alterando a cadência do toque conforme a necessidade. Para isso, teria de alterar os fontes do "chan_dgv.c". Como é GPL, aparentemente posso fazer tal mudança. Todavia,  gostaria de saber se alguém me sugere outra solução mais inteligente.

Grato pela atenção,

Vandrei Cerqueira

Offline

 

#4 03/02/2009 00:24:56

Re: rings diferentes para ligacao externa e interna

vandrei.cerqueira escreveu:

Tenho duas placas mistas (3FXS/1FXO) e gostaria de implementar toques distintos para ligações internas e externas nas portas FXS (portas 2, 3, 4, 6, 7 e 8). (...) Estou pensando em (...) modificar o parâmetro ring_type do canal, alterando a cadência do toque conforme a necessidade. Para isso, teria de alterar os fontes do "chan_dgv.c". Como é GPL, aparentemente posso fazer tal mudança.(...)

A quem interessar possa:

Consegui implementar a mudança na cadência do ring: Após a aplicação da alteração (patch), basta acrescentar uma barra ("/") após o canal no dailplan, como se fosse adicionar um número para o canal FXS que queiramos alterar o tom. Funciona bonitinho! Se alguém me ensinar como faço para anexar arquivos aqui no fórum, posto o arquivo .diff para quem quiser aplicar o patch.


Vandrei

Última alteração por vandrei.cerqueira (03/02/2009 00:38:20)

Offline

 

#5 30/04/2009 15:09:27

maax
Membro

Re: rings diferentes para ligacao externa e interna

Como fez isso?


Eu gostaria de alterar o ring externo do interno tb, e funciona quando a pessoa toca e digita o ramal desejado e vai para um ATA por exemplo.

Offline

 

#6 30/04/2009 20:16:02

Re: rings diferentes para ligacao externa e interna

Via ATA é só alterar o parâmetro do ring (Bellcore-r...). Se se tratar de placa digivoice, precisa alterar o fonte do chan_dgv.c

Offline

 

#7 19/05/2011 14:45:07

fabioalfaya
Membro

Re: rings diferentes para ligacao externa e interna

Estou com esse problema e não sei a solução, tenho uma vb3030 com Meucci e gateway grandstream, no gateway não achei p parâmetro "Bellcore-r7", e no asterisk não sei onde fica nem como alterar a fonte "chan_dgv.c". Alguém pode ajudar.

Antecipadamente agradeço

Fábio Alfaya

Offline

 

#8 20/07/2011 00:15:11

Re: rings diferentes para ligacao externa e interna

Fábio Alfaya:

Faz tempo que não posto nada, mas tá aqui minha solução caseira em produção, na forma de um patch, considerada a versão 1.0.8_beta2_L1 do chan_dgv.c:


Código:

--- /usr/src/dgvchannel/chan_dgv.c.orig    Tue Jul 19 23:44:15 2011
+++ /usr/src/dgvchannel/chan_dgv.c    Tue Jul 19 23:44:15 2011
@@ -17748,10 +17748,25 @@
                                     sCIDToFXS[strlen(p->ast_ch->caller.id.number.str) + 3] = '\0';
 #else//#ifdef CC_AST_HAS_VERSION_1_8
                                     sCIDToFXS[strlen(p->ast_ch->cid.cid_num) + 3] = '\0';
 #endif//#ifdef CC_AST_HAS_VERSION_1_8
                                       
+                    if (1)
+                    {
+                                                const char *dialplan_rt = NULL;
+                                                short ringtype = p->ring_type;
+                                                dialplan_rt = pbx_builtin_getvar_helper(p->ast_ch, "DGV_RINGTYPE");
+                                                if (dialplan_rt)
+                                                    {
+                                                        ringtype=atoi(dialplan_rt);
+                            if (ringtype>3 || ringtype<1)
+                                ringtype=1;
+                                                        if (p->ring_type!=ringtype && option_verbose >= 3)
+                                                                ast_log(LOG_NOTICE, "Port %d Changing Ring Type %d to %d\n",p->port, p->ring_type, ringtype);
+                                                }
+                                                        dg_SetRing(p->port, DG_ENABLE, ringtype);
+                    }
                                 dg_Dial(p->port, sCIDToFXS, 20, dtTone);
    
                                 if (option_verbose >= 3)                           
                                     ast_log(LOG_NOTICE, "dgv_call: Sending CallerID(%s) on FXS port %d \n", sCIDToFXS, p->port);                       
                             }

Para alterar o tipo de toque dinamicamente, basta colocar um comando Set(_DGV_RINGTYPE,valor) no dialplan antes do comando Dial para o canal tipo DGV.

A alteração acima está localizada na parte do código que antecede o envio do ring para as placas FXS; seria necessário fazer o mesmo para os ChannelBanks.


Atenciosamente,


Vandrei

Última alteração por vandrei.cerqueira (20/07/2011 00:27:42)

Offline

 

Rodapé do fórum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson