[AsteriskBrasil] Transferir a variável de um context para outro context
Hudson Cardoso
hudsoncardoso em hotmail.com
Quinta Dezembro 5 18:17:33 BRST 2013
Acionar um DB, não seria mais facil ?
Hudson
(048) 8413-7000
Para quem nao cre, nenhuma prova converte,Para aquele que cre, nenhuma prova precisa.
Date: Thu, 5 Dec 2013 16:17:47 -0200
From: jefaokpta em hotmail.com
To: asteriskbrasil em listas.asteriskbrasil.org
Subject: Re: [AsteriskBrasil] Transferir a variável de um context para outro context
Em algum momento vc vai apagar essa
variavel global?
Ou vai ficar alterando ela?
Flws
Em 05-12-2013 16:03, Renata Dias escreveu:
Carlos, tentei fazer via Macro, mas depois de muito
pesquisar, entendi que a macro serve para que eu leve uma
variável do contexto para dentro da macro e faça uso dela na
macro. Não era bem isso que eu precisava.
De qualquer forma, escontrei a solução no site http://the-asterisk-book.com/1.6/variablen.html
Defining
variables with Set()
Set() is used to
define a variable inside an extension.[11]
Syntax
Set(<variable1>=<value1>[,<variable2>=<value2>][,<option>])
Setting
option g makes
the variable global; without it, the variable is treated
as a local channel variable.
Só o que fiz foi definir a variável em um contexto com essa
opção "g" e depois pude usá-la normalmente no resto do
DialPlan, mesmo após o hungup.
Obrigada.
Em 4 de dezembro de 2013 13:26, Carlos
Toguchi <carlos.toguchi em gmail.com>
escreveu:
Renata,
Pelo qeu eu li neste link https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Application_Queue
Você pode chamar a Queue passando como argumento uma
marco ou um agi que será executado depois que estive
conectado aum membro da queue, logo voce tem neste
momento o numero do ramal, use esta marco para armazenar
o numero do ramal e do chamador.
Quando retornar da pesquisa com a nota, recupere o
ramal armazenado pela macro.
Saudações
Carlos
2013/12/4 Renata Dias <renatchinha em gmail.com>
No meu caso não consegui, pois envio a
chamada para a fila (queue) através do Dial
com a opção "g".
Sendo assim, quando o atendente desliga a
ligação, a fila (queue) devolve para o Dial e
o sistema continua lendo as prioridades
abaixo.
Ocorre que por este motivo, não consigo
pegar o ramal do atendente e armazenar em
alguma variável.
Fiz um teste conforme DialPlan abaixo e
percebi que na linha 10 o Dial (com a opção
"g") envia a chamada para o context [pesquisa]
na prioridade 1, e entra na fila.
Após o atendimento, quando o atendente
desliga a ligação, a perna do cliente é
encaminhada de volta para o context
[principal] dando continuidade na prioridade
abaixo do Dial.
Dessa forma, as linhas 3 e 4 não foram
lidas. Consequentemente a linha 11 não exibiu
o conteúdo da variável X de teste.
1 [pesquisa]
2 exten => 2,1,queue(suporte,tT)
3 exten => 2,2,NoOp(${CALLERID(num)}
- ${EXTEN} - ${X})
4 exten => 2,2,Set(X=111)
5
6
[principal]
7 exten =>
00,n,background(provale/8_SUPORTE_TECNICO)
8
9 exten => 8,1,Answer()
10 exten =>
8,n,Dial(Local/2 em pesquisa,,gtT)
11 exten => 8,n,NoOp(${X})
12 exten => 8,n,hangup()
Alguma idéia?
Em 3 de dezembro de
2013 13:10, Mike Tesliuk <mike em tesliuk.com>
escreveu:
voce pode executar uma macro no momento
que o agente atende a ligação, e então
la definir os valores que você precisa.
exemplo:
exten => 2,1,NoOp(Opcao escolhida 2 -
fila 4001)
exten => 2,n,Set(QNAME="4001")
exten =>
2,n,Queue(4001,tik,,,300,,records-queues-4001)
exten => 2,n,Goto(s,1)
[macro-records-queues-4001]
exten =>
s,1,Agi(gravacoes-queues.agi,${CALLERID(num)},4001)
exten => s,n,GotoIf($["${DORECORD}"
== "0"]?ngrava)
exten =>
s,n(grava),MixMonitor(${MIXMONITOR_FILENAME})
exten => s,n(ngrava),NoOp(Gravacoes
nao executadas)
No meu caso, a macro chama um AGI
Dentro deste eu pego as variaveis
$AGI->exec("NoOp", "QNAME: $queue");
$AGI->exec("NoOp", "CALLERID:
$callerid");
$AGI->exec("NoOp", "EXTEN:
$destination");
E seto a variavel para o nome do
arquivo.
$AGI->set_variable("MIXMONITOR_FILENAME","/var/spool/asterisk/monitor-tmp/$year/$mon/$mday/QUEUE-$queue-ATENDIDO-$callerid"
. "-" . "$hour$min$sec" . ".gsm");
Que no caso gera o seguinte nome de
arquivo.
QUEUE-4001-ATENDIDO-136-124936.gsm
onde 136 é o meu ramal da fila
ou seja, dentro da macro o callerid é
quem recebeu a chamada
Em 03/12/13 09:29, Renata Dias escreveu:
Caros,
Gostaria de saber se é
possÃvel uma ou mais variáveis
de um context para outro
context.
Para explicar melhor a minha
necessidade, vou colocar como
está a minha URA:
1 [pesquisa]
2 exten =>
8,1,queue(suporte,tT)
3
4
[principal]
5
exten =>
00,n,background(provale/8_SUPORTE_TECNICO)
6
7
exten => 8,1,Answer()
8
exten =>
8,n,Dial(Local/8 em pesquisa,5,gtT)
9
exten =>
8,n,Playback(provale/pesquisa/RESPONDA&silence/1&provale/pesquisa/ATENDIDA&silence/1)
10 exten =>
8,n,Read(ATENDIDA,,1)
11exten =>
8,n,Playback(provale/pesquisa/NOTA&silence/1)
12 exten =>
8,n,Read(NOTA,,1)
13 exten =>
8,n,playback(provale/pesquisa/OBRIGADA&provale/pesquisa/AGRADECEMOS)
14 exten =>
8,n,Set(ODBC_consulta()=${CALLERID(num)}\,${EXTEN}\,${ATENDIDA}\,${NOTA})
15 exten =>
8,n,hangup()
O
que preciso é que o ramal do
atendente seja gravado no
banco de dados, conforme a
linha 14.
Estou
utilizando o ${EXTEN}, porém
o conteúdo dessa variável é
o número que o cliente
digitou quando escolheu a
opção de atendimento na URA,
conforme linha 5.
Qual
a variável que vai me trazer
o ramal do atendente que fez
o atendimento na fila
(queue) suporte?
Como
faço pra transferir esta
variavem do context
"pesquisa" para o conext
"provale" ?
Obrigada.
--
Renata Dias
_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com.
_______________________________________________
ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
_______________________________________________
KHOMP: completa linha de placas externas
FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com
R2, ISDN e SS7;
Intercomunicadores para acesso remoto via
rede IP. Conheça em www.Khomp.com.
_______________________________________________
ALIGERA – Fabricante nacional de Gateways
SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou
PCI Express.
Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta
enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
--
Renata Dias
_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS,
GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN
e SS7;
Intercomunicadores para acesso remoto via rede IP.
Conheça em www.Khomp.com.
_______________________________________________
ALIGERA – Fabricante nacional de Gateways SIP-E1
para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI
Express.
Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar
um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conheça
em www.Khomp.com.
_______________________________________________
ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2,
ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em
branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
--
Renata Dias
_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com.
_______________________________________________
ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conhe�a em www.Khomp.com.
_______________________________________________
ALIGERA � Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank � Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20131205/25bf5b10/attachment-0001.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil