[AsteriskBrasil] RES: Atxfer e Queue

Alexandre Abreu abreu em redt.com.br
Domingo Setembro 16 12:55:20 BRT 2007


Dioedu,

Acredito que esse ‘chan_agent.c’ seja da versão 1.4.
Você está correto. A ligação só será terminada se for detectado o DTMF * _E_
a opção 'endcall' seja verdadeira (conforme lida no agents.conf). O padrão
dessa variável ‘endcall’ é 1 (ou YES se olhando pela perspectiva do
agents.conf). Do contrario, a ligação não será terminada.

Olhando por esse trecho do 'chan_agent.c' da versão 1.2.18, eu consigo
entender que um simples * invoca automaticamente ast_frfree() para terminar
a ligação.

1.2.18:
case AST_FRAME_DTMF:
                        if (!p->acknowledged && (f->subclass == '#')) {
                                if (option_verbose > 2)
                                        ast_verbose(VERBOSE_PREFIX_3 "%s
acknowledged\n", p->chan->name);
                                p->acknowledged = 1;
                                ast_frfree(f);
                                f = &answer_frame;
                        } else if (f->subclass == '*') {
                                /* terminates call */
                                ast_frfree(f);
                                f = NULL;
                        }
                        break; 

Aqui um simples 'endcall=no' no agents.conf impediria que '*' terminasse a
ligação.

1.4.4:
case AST_FRAME_DTMF_BEGIN:
case AST_FRAME_DTMF_END:
                        if (!p->acknowledged && (f->subclass == '#')) {
                                if (option_verbose > 2)
                                        ast_verbose(VERBOSE_PREFIX_3 "%s
acknowledged\n", p->chan->name);
                                p->acknowledged = 1;
                                ast_frfree(f);
                                f = &answer_frame;
                        } else if (f->subclass == '*' && endcall) {
                                /* terminates call */
                                ast_frfree(f);
                                f = NULL;
                        }
                        break;


E viva nosso canal de IRC na freenode!

[]'s
--
Alexandre Abreu
RedT Telecom
http://www.redt.com.br



________________________________________
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Dio
Makibara
Enviada em: sexta-feira, 14 de setembro de 2007 14:38
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] Atxfer e Queue

Denis,

De que versão é este código ? Acredito que não aconteça isso sempre que a
tecla * for pressionada. Esta condição "endcall" deve prevenir este fato.
Pelo menos eu tenho algumas filas que utilizam transferência e não tenho
problemas deste tipo. O problema que eu tenho, é que quando um agente
desliga ou transfere a chamada e o outro lado não desliga, o agente fica
"preso" por um determinado tempo (acredito eu, que seja o timeout R2,
preciso fazer testes para confirmar este problema).


Diógenes Makibara





Denis Galvão <denisgalvao em gmail.com> escreveu:
É só não utilizar a tecla "*", pois ela está instruída a derrubar a 
chamada, caso seja pressionada.

Isso acontece caso o atendimento seja feito por agentes logados...

Segue o trecho do fonte:

chan_agent.c

496 case AST_FRAME_DTMF_BEGIN:
497 case AST_FRAME_DTMF_END:
498 if (!p->acknowledged && (f->subclass == '#')) {
499 if (option_verbose > 2)
500 ast_verbose(VERBOSE_PREFIX_3 "%s acknowledged\n", p- 
>chan->name);
501 p->acknowledged = 1;
502 ast_frfree(f);
503 f = &answer_frame;
504 } else if (f->subclass == '*' && endcall) {
505 /* terminates call */
506 ast_frfree(f);
507 f = NULL;
508 }

--
Denis Galvão
AsteriskBrasil.org

Ajude a comunidade AsteriskBrasil.org, compre uma camiseta!
http://www.voipmania.com.br


On 13 de set de 2007, at 19:54, Rafael Augusto wrote:

> Boa noite Pessoal, alguém conseguiu fazer funcionar a transferência 
> de uma chamada recebida na fila, usando o atxfer?
> Ou outra forma de transferência chamadas recebidas na fila ?
>
> Abraços,
>
>
> Rafael
> Flickr agora em português. Você clica, todo mundo vê. Saiba mais.
>
> _______________________________________________
> Compre uma camiseta da AsteriskBrasil.org!
> http://www.voipmania.com.br
> == VoIPMania.com.br ==
>
> _______________________________________________
> LIsta de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br
== VoIPMania.com.br ==

_______________________________________________
LIsta de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

  Flickr agora em português. Você clica, todo mundo vê. Saiba mais. 



Mais detalhes sobre a lista de discussão AsteriskBrasil