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

Mike Tesliuk mike em tesliuk.com
Terça Dezembro 3 13:10:30 BRST 2013


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

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20131203/546a063d/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil