[AsteriskBrasil] Variavel AGI
Listas - Anderson Morhy
listas em morhy.com
Quarta Maio 16 13:35:55 BRT 2012
Complementando
Se observarem, olhando a Chamada entrando e verificando as variaveis
Globais, não é mostrado o CallerID também
voip*CLI> core show channel DAHDI/i1/-254b
-- General --
Name: DAHDI/i1/-254b
Type: DAHDI
UniqueID: 1337185718.91905
LinkedID: 1337185718.91905
Caller ID: (N/A)
Caller ID Name: (N/A)
Connected Line ID: (N/A)
Connected Line ID Name: (N/A)
DNID Digits: 4641
Language: en
State: Up (6)
Rings: 1
NativeFormats: 0x8 (alaw)
WriteFormat: 0x2 (gsm)
ReadFormat: 0x8 (alaw)
WriteTranscode: Yes gsm->slin->alaw
ReadTranscode: No
1st File Descriptor: 11
Frames in: 436
Frames out: 431
Time to Hangup: 0
Elapsed Time: 0h0m9s
Direct Bridge: <none>
Indirect Bridge: <none>
-- PBX --
Context: ext-queues
Extension: 5002
Priority: 9
Call Group: 0
Pickup Group: 0
Application: Playback
Data: custom/clarotv
Blocking in: ast_waitfor_nandfds
Variables:
MONITOR_FILENAME=/var/spool/asterisk/monitor/q5002-20120516-132838-1337185718.91905
NODEST=5002
DIAL_OPTIONS=trM(auto-blkvm)
BLKVM_BASE=5002
BLKVM_OVERRIDE=BLKVM/5002/DAHDI/i1/-254b
MACRO_DEPTH=0
TTL=64
AMPUSERCIDNAME=
AMPUSER=
REALCALLERIDNUM=
CALLINGPRES_SV=allowed_not_screened
GOSUB_RETVAL=
CALLED_BLACKLIST=1
MYSQL_STATUS=0
connid=1
FROM_DID=4641
CALLEDTON=33
PRIREDIRECTREASON=UNKNOWN
ANI2=0
TRANSFERCAPABILITY=SPEECH
CDR Variables:
level 1: dnid=4641
level 1: dst=4641
level 1: dcontext=from-pstn
level 1: channel=DAHDI/i1/-254b
level 1: lastapp=Playback
level 1: lastdata=custom/audionovo
level 1: start=2012-05-16 13:28:38
level 1: answer=2012-05-16 13:28:38
level 1: duration=8
level 1: billsec=8
level 1: disposition=ANSWERED
level 1: amaflags=DOCUMENTATION
level 1: uniqueid=1337185718.91905
level 1: linkedid=1337185718.91905
level 1: sequence=125384
Em 16-05-2012 13:09, Listas - Anderson Morhy escreveu:
> Irei procurar ser detalhado, e irei colocar alguns comentários
> iniciando com ==> #
> Estou usando Elastix 2.2
>
> Bom, o que estou fazendo e o seguinte
>
> # # Neste momento eu "pego" a informação de quem está ligando e qual
> DDR e insiro em um DB
>
> exten => 4641,1,Set(__FROM_DID=${EXTEN})
> exten => 4641,n,MYSQL(Connect connid host userdb senhadb banco)
> exten => 4641,n,MYSQL(Query resultid ${connid} INSERT INTO teste SET
> origem = ${CALLERID(num)}, data = NOW(), tronco = ${EXTEN})
> exten => 4641,n,MYSQL(Fetch fetchid ${resultid} AGIScript)
> exten => 4641,n,MYSQL(Clear ${resultid})
> exten => 4641,n,MYSQL(Disconnect ${connid})
> exten => 4641,n,Gosub(app-blacklist-check,s,1)
> exten => 4641,n,ExecIf($[ "${CALLERID(name)}" = "" ]
> ?Set(CALLERID(name)=${CALLERID(num)}))
> exten => 4641,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
> exten => 4641,n,Set(CALLERPRES()=allowed_not_screened)
> exten => 4641,n(dest-ext),Goto(ext-queues,5002,1)
>
>
> ##
> ## Aqui na primeira linha, observamos que o sistema Recebe o número
> originário ( 8488729215 ) e o DDR ( 4641
>
> [May 16 13:01:43] VERBOSE[2977] sig_pri.c: -- Accepting call from
> '8488729215' to '4641' on channel 0/1, span 1
>
> ##
> ## Aqui começa a execução do AGI
>
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:1] Set("DAHDI/i1/-2539", "__FROM_DID=4641") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:2] MYSQL("DAHDI/i1/-2539", "Connect connid host userdb
> senhadb banco") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:3] MYSQL("DAHDI/i1/-2539", "Query resultid 1 INSERT
> INTO teste SET origem = "" <>, data = NOW(), tronco = 4641") in new stack
>
> ##Este erro aparece por que o campo origem = "" <> na Query SQL está
> vazio, já testei com outras variaveis e a sintaxe está correta.
> ##
> [May 16 13:01:43] WARNING[21078] app_mysql.c: aMYSQL_query:
> mysql_query failed. Error: You have an error in your SQL syntax; check
> the manual that corresponds to your MySQL server version for the right
> syntax to use near ' data = NOW(), tronco = 4641' at line 1
>
> ## Continua a Execução
>
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:4] MYSQL("DAHDI/i1/-2539", "Fetch fetchid AGIScript")
> in new stack
> [May 16 13:01:43] WARNING[21078] app_mysql.c: aMYSQL_fetch: missing
> some arguments
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:5] MYSQL("DAHDI/i1/-2539", "Clear ") in new stack
> [May 16 13:01:43] WARNING[21078] app_mysql.c: Identifier 0,
> identifier_type 2 not found in identifier list
> [May 16 13:01:43] WARNING[21078] app_mysql.c: Invalid result
> identifier 0 passed in aMYSQL_clear
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:6] MYSQL("DAHDI/i1/-2539", "Disconnect 1") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:7] Gosub("DAHDI/i1/-2539", "app-blacklist-check,s,1")
> in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em app-blacklist-check:1] GotoIf("DAHDI/i1/-2539", "0?blacklisted") in
> new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em app-blacklist-check:2] Set("DAHDI/i1/-2539", "CALLED_BLACKLIST=1")
> in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em app-blacklist-check:3] Return("DAHDI/i1/-2539", "") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:8] ExecIf("DAHDI/i1/-2539", "1 ?Set(CALLERID(name)=)")
> in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:9] Set("DAHDI/i1/-2539",
> "__CALLINGPRES_SV=allowed_not_screened") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:10] Set("DAHDI/i1/-2539",
> "CALLERPRES()=allowed_not_screened") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [4641 em from-pstn:11] Goto("DAHDI/i1/-2539", "ext-queues,5002,1") in new
> stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Goto (ext-queues,5002,1)
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:1] Macro("DAHDI/i1/-2539", "user-callerid,") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:1] Set("DAHDI/i1/-2539", "AMPUSER=") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:2] GotoIf("DAHDI/i1/-2539", "0?report") in new
> stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:3] ExecIf("DAHDI/i1/-2539",
> "1?Set(REALCALLERIDNUM=)") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:4] Set("DAHDI/i1/-2539", "AMPUSER=") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:5] Set("DAHDI/i1/-2539", "AMPUSERCIDNAME=") in
> new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:6] GotoIf("DAHDI/i1/-2539", "1?report") in new
> stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Goto
> (macro-user-callerid,s,10)
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:10] GotoIf("DAHDI/i1/-2539", "0?continue") in
> new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:11] Set("DAHDI/i1/-2539", "__TTL=64") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:12] GotoIf("DAHDI/i1/-2539", "1?continue") in
> new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Goto
> (macro-user-callerid,s,19)
>
> ##
> ## Observei que neste ponto NEM AQUI onde não foi mexido o nº é
> identificado
>
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:19] Set("DAHDI/i1/-2539", "CALLERID(number)=")
> in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:20] Set("DAHDI/i1/-2539", "CALLERID(name)=") in
> new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [s em macro-user-callerid:21] NoOp("DAHDI/i1/-2539", "Using CallerID ""
> <>") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:2] Answer("DAHDI/i1/-2539", "") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:3] Set("DAHDI/i1/-2539",
> "__BLKVM_OVERRIDE=BLKVM/5002/DAHDI/i1/-2539") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:4] Set("DAHDI/i1/-2539", "__BLKVM_BASE=5002") in new
> stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:5] Set("DAHDI/i1/-2539",
> "DB(BLKVM/5002/DAHDI/i1/-2539)=TRUE") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:6] ExecIf("DAHDI/i1/-2539",
> "1?Set(_DIAL_OPTIONS=trM(auto-blkvm))") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:7] Set("DAHDI/i1/-2539", "__NODEST=5002") in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:8] Set("DAHDI/i1/-2539",
> "MONITOR_FILENAME=/var/spool/asterisk/monitor/q5002-20120516-130143-1337184103.91783")
> in new stack
> [May 16 13:01:43] VERBOSE[21078] pbx.c: -- Executing
> [5002 em ext-queues:9] Playback("DAHDI/i1/-2539", "custom/audio-novo") in
> new stack
> [May 16 13:01:43] VERBOSE[21078] file.c: -- <DAHDI/i1/-2539>
> Playing 'custom/audio-novo.gsm' (language 'en')
>
>
>
> OBS: Não consegui em momento algum visualizar o nº de entrada em
> nenhum lugar, e como se a Placa/canal reconhecesse o nº e isso não
> fosse passado para o Asterisk.
>
>
> Alguma sugestão? Ou Orientação?
>
> Preciso apenas pegar o nº de entrada o Tronco (DDR) e inserir em um
> Banco de dados no momento da entrada da ligação. Nada além disso
>
> Obrigado a todos
>
>
> Att
>
> Anderson Morhy
>
>
> Em 16-05-2012 12:13, Leandro Alves escreveu:
>> Pq não manda a parte do seu codigo AGI, pra ficar melhor pra todos?
>>
>> Nas varáveis globais do seu canal (vc enviou apenas as variáveis
>> CDR), o seu celular é exibido?
>>
>> Em 16 de maio de 2012 12:05, Mike Tesliuk <mike em tesliuk.com
>> <mailto:mike em tesliuk.com>> escreveu:
>>
>> De acordo com o log abaixo é callerid(num) e exten
>>
>> [May 15 20:34:05] VERBOSE[2977] sig_pri.c: -- Accepting call
>> from
>> '8494322145 <tel:8494322145>' to '4641' on channel 0/1, span 1
>>
>> dentro do agi (no meu caso em perl), eu faria da seguinte forma
>>
>>
>> $callerid = $agi->get_variable("CALLERID(num)");
>> $dnid = $agi->get_variable("EXTEN");
>>
>> em todo caso, voce pode por no seu extension o seguinte
>>
>> exten => 4641,1,NoOp(CALLERID: ${CALLERID(num)})
>>
>> e voce deverá ver com a legenda na frente
>>
>> se eu estiver falando algo que voce ja saiba peço deculpas mas como
>> re-assinei a lista agora não peguei o contexto todo.
>>
>>
>>
>> _______________________________________________
>> KHOMP Inovação: External Board Series
>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções
>> Asterisk e FreeSWITCH.
>> Tenha a External Series Experience na sua aplicação. Visite
>> www.khomp.com <http://www.khomp.com>
>> _______________________________________________
>> DIGIVOICE Fabricante de Placas de Voz e Channel Bank
>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>> Centro Treinamento - Curso de PABX IP - Asterisk - Site
>> www.digivoice.com.br <http://www.digivoice.com.br>
>> ________
>> YEALINK: Telefones IP e VídeoPhones IP com o melhor
>> custo/benefício do mercado.
>> email: yealink em commlogik.com.br <mailto:yealink em commlogik.com.br>
>> | www.commlogik.com.br <http://www.commlogik.com.br> | (11)
>> 5503-1011 <tel:%2811%29%205503-1011>
>> ______________________________________________
>> 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>
>>
>>
>>
>>
>> --
>> Att.,
>>
>> Leandro Alves
>>
>>
>>
>> _______________________________________________
>> KHOMP Inovação: External Board Series
>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.
>> Tenha a External Series Experience na sua aplicação. Visitewww.khomp.com
>> _______________________________________________
>> DIGIVOICE Fabricante de Placas de Voz e Channel Bank
>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>> Centro Treinamento - Curso de PABX IP - Asterisk - Sitewww.digivoice.com.br
>> ________
>> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
>> email:yealink em commlogik.com.br |www.commlogik.com.br | (11) 5503-1011
>> ______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco paraasteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
>
> _______________________________________________
> KHOMP Inovação: External Board Series
> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.
> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
> _______________________________________________
> DIGIVOICE Fabricante de Placas de Voz e Channel Bank
> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
> Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br
> ________
> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
> ______________________________________________
> 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/20120516/1d86bf04/attachment-0001.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil