[AsteriskBrasil] Adicionar campo CDR para Queue

Rodrigo Lang rodrigoferreiralang em gmail.com
Quinta Novembro 26 17:13:08 BRST 2009


Boa tarde lista, descobri o motivo deste comportamento estranho para gerar o
CDR. O motivo era bastante simples, eu estava chamando outra macro e não
havia herança na variável, por isso que não estava salvando o valor da
variável. Porém o campo CDR não aceita herança de valor. Então minha idéia
foi por água abaixo. O que eu fiz foi só uma view no mysql para contornar o
problema! :)


Obrigado a todos que ajudaram,
Rodrigo Lang.



2009/11/11 Rodrigo Lang <rodrigoferreiralang em gmail.com>

> O meu res_mysql.conf está assim:
>
> [general]
> dbhost=127.0.0.1
> dbname=asterisk
> dbuser=usuario
> dbpass=*****
> dbport=3306
>
> Mas teoricamente está correto, pois ele está salvando o CDR no banco.
>
>
> Ats,
> Rodrigo Lang.
>
>
> 2009/11/11 Rodrigo Vian <listas em porttaltecnologia.com.br>
>
>  Fala Xara.. blz????
>>
>> Por acaso seu arquivo res_mysql.conf está configurado corretamente??
>>
>> Tive um problema semelhante que resolvi configurando assim:
>>
>> #RES_MYSQL.CONF
>> [general]
>> dbhost=localhost
>> dbname=asterisk
>> dbuser=asteriskuser
>> dbpass=suasenha
>> dbport=3306
>> dbsock=/var/lib/mysql/mysql.sock
>>
>> Espero que te ajude...
>>
>> Abs
>>
>> Rodrigo Lang escreveu:
>>
>> Na verdade, pode não ser um bug do Asterisk e sim do Asterisk-addons. Fiz
>> algumas modificações e agora está me retornando o seguinte erro no console
>> após setar às variávies.
>>
>>
>>     -- Executing [s em macro-atendentes:1] Set("DAHDI/11-1",
>> "CDR(Agente)=11") in new stack
>>     -- Executing [s em macro-atendentes:2] NoOp("DAHDI/11-1", "11") in new
>> stack
>>     -- Executing [s em macro-atendentes:3] ResetCDR("DAHDI/11-1", "w") in
>> new stack
>> [Nov 11 14:00:43] WARNING[18888]: res_config_mysql.c:465 store_mysql:
>> MySQL RealTime: Failed to query database. Check debug for more info.
>>
>>
>> E ele está continuando salvando na tabela CDR, porém ainda não salva as
>> variáveis setadas. Continuo na pesquisa. Ainda não encontrei nada nos bugs.
>>
>>
>>
>>
>> 2009/11/11 Rodrigo Lang <rodrigoferreiralang em gmail.com>
>>
>>> É isso que estou tentando fazer agora, pegar pelo UNIQUEID e relacionar
>>> as tabelas, inserindo assim o número do agente na tabela cdr. Depois que
>>> estiver pronto irei postar os comandos que usei no banco.
>>>
>>> Ats,
>>> Rodrigo Lang.
>>>
>>>
>>>
>>>
>>> 2009/11/10 Denis Galvão <denisgalvao em gmail.com>
>>>
>>> Rodrigo, tente usar a variavel UNIQUEID.
>>>>
>>>> Provavelmente com ela vc irá conseguir relacionar CDR com queue_log.
>>>>
>>>> --
>>>> Denis Galvão
>>>> AsteriskBrasil.org
>>>>
>>>> Ajude a comunidade AsteriskBrasil.org, compre uma camiseta!
>>>>  http://www.voipmania.com.br
>>>>
>>>>
>>>>  On 06/11/2009, at 16:03, Rodrigo Lang wrote:
>>>>
>>>> > Boa tarde Eder, testei também com o CDR(userfields) porém não deu em
>>>> > nada... Talvez possam me mostrar alguma alternativa. O que eu
>>>> > preciso é salvar na tabela CDR um campo que diga qual agente atendeu
>>>> > a ligação que caiu na fila. E também estou pesquisando como vou
>>>> > fazer para ele gravar a hora que o agente atende a ligação.
>>>> >
>>>> > Ats,
>>>> > Rodrigo Lang.
>>>> >
>>>> >
>>>> > 2009/11/5 Rodrigo Lang <rodrigoferreiralang em gmail.com>
>>>> > Coloquei assim e não funcionou... Segue como ficou o contexto e logo
>>>> > abaixo o log do console.
>>>> >
>>>> >
>>>> > exten => s,1,Set(CDR(Agente)=${CDR(channel):6:2})
>>>> > exten => s,2,NoOp(${CDR(Agente)})
>>>> > exten => s,3,ResetCDR(w)
>>>> >
>>>> >     -- Executing [4300 em khomp-00-01:1] Macro("Khomp/B0C31-1", "fila")
>>>> > in new stack
>>>> >     -- Executing [s em macro-fila:1] Answer("Khomp/B0C31-1", "") in new
>>>> > stack
>>>> >     -- Executing [s em macro-fila:2] NoOp("Khomp/B0C31-1", "2") in new
>>>> > stack
>>>> >     -- Executing [s em macro-fila:3] GotoIf("Khomp/B0C31-1", "1?4:fila-
>>>> > ocupada,s,1") in new stack
>>>> >     -- Goto (macro-fila,s,4)
>>>> >     -- Executing [s em macro-fila:4] Set("Khomp/B0C31-1",
>>>> > "CDR(fluxo)=Entrante") in new stack
>>>> >     -- Executing [s em macro-fila:5] Set("Khomp/B0C31-1",
>>>> > "MONITOR_FILENAME=1257451255.2342") in new stack
>>>> >     -- Executing [s em macro-fila:6] Wait("Khomp/B0C31-1", "3") in new
>>>> > stack
>>>> >     -- Executing [s em macro-fila:7] Playback("Khomp/B0C31-1",
>>>> > "obrigado") in new stack
>>>> >     -- <Khomp/B0C31-1> Playing 'obrigado.gsm' (language 'en')
>>>> >     -- DAHDI/15-1 is ringing
>>>> >     -- DAHDI/15-1 is ringing
>>>> >   == Begin MixMonitor Recording Khomp/B0C31-1
>>>> >     -- Executing [s em macro-atendentes:1] Set("DAHDI/15-1",
>>>> > "CDR(Agente)=15") in new stack
>>>> >     -- Executing [s em macro-atendentes:2] NoOp("DAHDI/15-1", "15") in
>>>> > new stack
>>>> >     -- Executing [s em macro-atendentes:3] ResetCDR("DAHDI/15-1", "w")
>>>> > in new stack
>>>> >     -- Hungup 'DAHDI/15-1'
>>>> >   == Spawn extension (macro-fila, s, 8) exited non-zero on 'Khomp/
>>>> > B0C31-1' in macro 'fila'
>>>> >   == Spawn extension (khomp-00-01, 4300, 1) exited non-zero on
>>>> > 'Khomp/B0C31-1'
>>>> >   == MixMonitor close filestream
>>>> >
>>>> >
>>>> >
>>>> > Ats,
>>>> >
>>>> > Rodrigo Lang.
>>>> >
>>>> >
>>>> > 2009/11/5 Italo Rossi <italorossib em gmail.com>
>>>> > Rodrigo,
>>>> >
>>>> > Execute com o w e APÓS o Set().
>>>> >
>>>> > w força a gravação dos dados antes do reset.
>>>> >
>>>> > Posta aqui o resultado.
>>>> >
>>>> > On Nov 5, 2009, at 4:51 PM, Rodrigo Lang wrote:
>>>> >
>>>> > > Então Italo, ele não salva o campo especifico que eu chamo dentro da
>>>> > > macro setada no Queue(). Eu tentei o ResetCDR() sem o w, porém
>>>> > > apagava os outros campos que eu setava antes de entra na Queue. Vou
>>>> > > tentar com o "w" e vou postar o que aconteceu. Assim que eu tentei:
>>>> > >
>>>> > > [macro-atendente]
>>>> > > exten => s,1,ResetCDR()
>>>> > > exten => s,2,Set(CDR(Agente)=${CDR(channel):6:2})
>>>> > > exten => s,3,NoOp(${CDR(Agente)})
>>>> > >
>>>> > >
>>>> > > Obr,
>>>> > > Rodrigo Lang.
>>>> > >
>>>> > >
>>>> > > 2009/11/5 Italo Rossi <italorossib em gmail.com>
>>>> > > Rodrigo,
>>>> > >
>>>> > > Ele não grava nenhuma informação ou somente o campo que você
>>>> > > adicionou?
>>>> > > Se você executar um ResetCDR(w) funciona?
>>>> > >
>>>> > > On Nov 5, 2009, at 4:42 PM, Rodrigo Lang wrote:
>>>> > >
>>>> > > > Opa Eder, seguinte, fora da Queue ele salva normal... A quarta
>>>> > > > prioridade no meu contexto que eu passei no primeiro e-mail
>>>> > ("exten
>>>> > > > => s,4,Set(CDR(fluxo)=Entrante)") funciona direitinho, salva no
>>>> > > > MySQL de boa. Porém quando vai para a Queue e eu chamo uma macro
>>>> > > > quando o agente atender, ele seta, aparece no console só que não
>>>> > > > salva... Estou procurando no SVNView para ver se acho alguma
>>>> > > > documentação sobre o assunto, mas tá foda... Estou procurando faz
>>>> > > > alguns dias já... Vou tentar colocar dentro da macro
>>>> > > > Set(CDR(userfields)=...) que nem você sugeriu.
>>>> > > >
>>>> > > >
>>>> > > > Obrigado,
>>>> > > > Rodrigo Lang.
>>>> > > >
>>>> > > >
>>>> > > >
>>>> > > > 2009/11/5 Eder Souza <eder.souza em bsd.com.br>
>>>> > > > humm cdr customicos já testou algo bem simples só para ver se ele
>>>> > > > seta no seu cdr qq valor algo assim ?
>>>> > > >
>>>> > > > exten => 123456,1,Set(CDR(fluxo)=Entrante)
>>>> > > >
>>>> > > > coloca isso no extensions e disca para o 123456 e veja se ele
>>>> > insere
>>>> > > >
>>>> > > > tenta tambem com o userfield e ve se insere
>>>> > > >
>>>> > > > exten => 1234,1,Set(CDR(userfield)=testessss)
>>>> > > > Eu uso isso Aqui mas com um Asterisk 1.4 sem problemas ..
>>>> > > >
>>>> > > >
>>>> > > > Att,
>>>> > > >
>>>> > > >
>>>> > > > Eng Eder de Souza
>>>> > > >
>>>> > > >
>>>> > > >
>>>> > > > 2009/11/5 Rodrigo Lang <rodrigoferreiralang em gmail.com>
>>>> > > > Boa tarde lista, estou com um pequeno problema para adicionar um
>>>> > > > campo CDR dentro da fila e salva-lo em banco MySQL. O que eu
>>>> > > > necessito é que seja salvo alguns parâmetros somente quando o
>>>> > agente
>>>> > > > atende a ligação. Para isso eu adicionei uma macro setando os
>>>> > campos
>>>> > > > necessários. Quando o agente atende, os campos são setados e se
>>>> > > > colocar um NoOp()  mostrando a variavél após o parametro ser
>>>> > setado,
>>>> > > > ele informa o valor tudo certinho. Porém quando desliga a
>>>> > ligação o
>>>> > > > campo não é salvo no CDR. Já tentei colocando a macro para rodar
>>>> > > > direto na aplicação (Queue(atendimento,tc,,,30,,atendente) e
>>>> > tentei
>>>> > > > também colocando o parâmetro "membermacro=atendente" no
>>>> > queues.conf.
>>>> > > > Mais um detalhe, se eu colocar a opção "c" no Queue() para ele
>>>> > > > retornar para o contexto e colocar um NoOp() mostrando a variável,
>>>> > > > ela simplesmente vem em branco... Estou imaginando que possa ser
>>>> > um
>>>> > > > bug de versão, estou procurando no Issues para ver se encontro
>>>> > > algo...
>>>> > > >
>>>> > > > exten => s,1,Answer()
>>>> > > > exten => s,2,NoOp(${QUEUE_WAITING_COUNT(atendimento)})
>>>> > > > exten => s,3,GotoIf($[ "${QUEUE_WAITING_COUNT(atendimento)}" <
>>>> > 30 ]?
>>>> > > > 4:fila-ocupada,s,1)
>>>> > > > exten => s,
>>>> > > > 4
>>>> > > > ,Set
>>>> > > > (CDR
>>>> > > >
>>>> > (fluxo)=Entrante)                                               ;;;
>>>> > > > Este campo é salvo no CDR normalmente.
>>>> > > > exten => s,5,Set(MONITOR_FILENAME=${UNIQUEID})
>>>> > > > exten => s,6,Wait(3)
>>>> > > > exten => s,7,PlayBack(obrigado)
>>>> > > > exten => s,8,Queue(atendimento,tc,,,300,)
>>>> > > > exten => s,9,NoOp(${CDR(Agente)})
>>>> > > > exten => s,10,Hangup()
>>>> > > >
>>>> > > > [macro-atendente]
>>>> > > > exten => s,1,Set(CDR(Agente)=${CDR(channel):6:2})  ;Tem o ":6:2"
>>>> > > > pois eu pego a informação "DAHDI/12", assim ele seta o campo
>>>> > > > CDR(Agente)=12.
>>>> > > > exten => s,2,NoOp(${CDR(Agente)})
>>>> > > >
>>>> > > > Estou usando Asterisk 1.6.0.15, Dahdi-Linux 2.2.0.2, Libpri
>>>> > 1.4.10.1
>>>> > > > e Addons 1.6.0.3.
>>>> > > >
>>>> > > > Agradeço desde já,
>>>> > > > Rodrigo F. Lang
>>>> > > > Amd. de Redes em Telecom
>>>> > > >
>>>> > > >
>>>> > > > _______________________________________________
>>>> > > > http://www.voipmania.com.br
>>>> > > > Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>> > > > Promoção por tempo limitado!
>>>> > > > Acesse agora http://promo.voipmania.com.br
>>>> > > >
>>>> > > > _______________________________________________
>>>> > > > Lista de discussões AsteriskBrasil.org
>>>> > > > AsteriskBrasil em listas.asteriskbrasil.org
>>>> > > > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>> > > >
>>>> > > >
>>>> > > >
>>>> > > > _______________________________________________
>>>> > > > http://www.voipmania.com.br
>>>> > > > Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>> > > > Promoção por tempo limitado!
>>>> > > > Acesse agora http://promo.voipmania.com.br
>>>> > > >
>>>> > > > _______________________________________________
>>>> > > > Lista de discussões AsteriskBrasil.org
>>>> > > > AsteriskBrasil em listas.asteriskbrasil.org
>>>> > > > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>> > > >
>>>> > > >
>>>> > > >
>>>> > > > --
>>>> > > > Rodrigo F. Lang
>>>> > > > Amd. de Redes em Telecom
>>>> > > >
>>>> > > > _______________________________________________
>>>> > > > http://www.voipmania.com.br
>>>> > > > Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>> > > > Promoção por tempo limitado!
>>>> > > > Acesse agora http://promo.voipmania.com.br
>>>> > > >
>>>> > > > _______________________________________________
>>>> > > > Lista de discussões AsteriskBrasil.org
>>>> > > > AsteriskBrasil em listas.asteriskbrasil.org
>>>> > > > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>> > >
>>>> > >
>>>> > > _______________________________________________
>>>> > > http://www.voipmania.com.br
>>>> > > Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>> > > Promoção por tempo limitado!
>>>> > > Acesse agora http://promo.voipmania.com.br
>>>> > >
>>>> > > _______________________________________________
>>>> > > Lista de discussões AsteriskBrasil.org
>>>> > > AsteriskBrasil em listas.asteriskbrasil.org
>>>> > > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>> > >
>>>> > >
>>>> > >
>>>> > > --
>>>> > > Rodrigo F. Lang
>>>> > > Amd. de Redes em Telecom
>>>> > >
>>>> > > _______________________________________________
>>>> > > http://www.voipmania.com.br
>>>> > > Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>> > > Promoção por tempo limitado!
>>>> > > Acesse agora http://promo.voipmania.com.br
>>>> > >
>>>> > > _______________________________________________
>>>> > > Lista de discussões AsteriskBrasil.org
>>>> > > AsteriskBrasil em listas.asteriskbrasil.org
>>>> > > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>> >
>>>> >
>>>> > _______________________________________________
>>>> > http://www.voipmania.com.br
>>>> > Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>> > Promoção por tempo limitado!
>>>> > Acesse agora http://promo.voipmania.com.br
>>>> >
>>>> > _______________________________________________
>>>> > Lista de discussões AsteriskBrasil.org
>>>> > AsteriskBrasil em listas.asteriskbrasil.org
>>>> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Rodrigo F. Lang
>>>> > Amd. de Redes em Telecom
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Rodrigo F. Lang
>>>> > Amd. de Redes em Telecom
>>>> >
>>>> > _______________________________________________
>>>> > http://www.voipmania.com.br
>>>> > Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>> > Promoção por tempo limitado!
>>>> > Acesse agora http://promo.voipmania.com.br
>>>> >
>>>> > _______________________________________________
>>>> > Lista de discussões AsteriskBrasil.org
>>>> > AsteriskBrasil em listas.asteriskbrasil.org
>>>> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>>
>>>> _______________________________________________
>>>> http://www.voipmania.com.br
>>>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>> Promoção por tempo limitado!
>>>> Acesse agora http://promo.voipmania.com.br
>>>>
>>>> _______________________________________________
>>>> Lista de discussões AsteriskBrasil.org
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>
>>>
>>>
>>> --
>>>  Rodrigo F. Lang
>>> Amd. de Redes em Telecom
>>>
>>
>>
>>
>> --
>> Rodrigo F. Lang
>> Amd. de Redes em Telecom
>>
>> ------------------------------
>>
>> _______________________________________________http://www.voipmania.com.br
>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>> Promoção por tempo limitado!
>> Acesse agora http://promo.voipmania.com.br
>>
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.orgAsteriskBrasil em listas.asteriskbrasil.orghttp://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>>
>>  Rodrigo S. Vian
>> Analista TI
>> Porttal Tecnologia
>> Soluções em TI & Telecom
>> http://www.porttaltecnologia.com.br
>> phone:55+19+3542-9667
>>
>> |-- Antes de Imprimir, pense em sua responsabilidade com o Meio Ambiente
>> --|
>>
>>
>> _______________________________________________
>> http://www.voipmania.com.br
>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>> Promoção por tempo limitado!
>> Acesse agora http://promo.voipmania.com.br
>>
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> AsteriskBrasil em listas.asteriskbrasil.org
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>
>
>
> --
> Rodrigo F. Lang
> Amd. de Redes em Telecom
>



-- 
Rodrigo F. Lang
Amd. de Redes em Telecom
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091126/4e44be43/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil