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@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 <m...@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@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-unsubscr...@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-unsubscr...@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-unsubscr...@listas.asteriskbrasil.org