[AsteriskBrasil] Transferir a variável de um context para outro context

jefaokpta jefaokpta em hotmail.com
Quinta Dezembro 5 16:17:47 BRST 2013


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 
> <http://the-asterisk-book.com/1.6/variablen.html#ftn.idp59570112>]
>
>
>         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 <mailto: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
>     <mailto: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
>         <mailto: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 emwww.Khomp.com  <http://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 - Acessewww.aligera.com.br  <http://www.aligera.com.br>.
>>             _______________________________________________
>>             Para remover seu email desta lista, basta enviar um email em branco paraasteriskbrasil-unsubscribe em listas.asteriskbrasil.org  <mailto: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 <http://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 <http://www.aligera.com.br>.
>             _______________________________________________
>             Para remover seu email desta lista, basta enviar um email
>             em branco para
>             asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>             <mailto: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 <http://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
>         <http://www.aligera.com.br>.
>         _______________________________________________
>         Para remover seu email desta lista, basta enviar um email em
>         branco para
>         asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>         <mailto: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 <http://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
>     <http://www.aligera.com.br>.
>     _______________________________________________
>     Para remover seu email desta lista, basta enviar um email em
>     branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>     <mailto: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

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20131205/7094a4ff/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil