[AsteriskBrasil] Variavel Goto

Gilberto Nunes gilberto em bitmix.com.br
Terça Julho 1 16:05:38 BRT 2008


Desculpem
Acabei escrevendo Postgrey e não PostgreSQL... rsrsrs
É que estava fazendo outra coisa com servidor de E-mail... Aí embanou aqui...
Desculpem...


Em Ter, Julho 1, 2008 4:03 pm, Gilberto Nunes escreveu:
> Ok
>
> vamos lá
>
> Eu tenho uma URA personalizada aqui...
> Eu mesmo a fiz e está horrivel eu sei...
> Por isso tenho que melhorá-la, principalmente no quesito 'logica'.
>
> Acontece que temos aqui um DB com Postgrey que é parte do nosso CRM.
> Então criei uma URA pra quando a pessoa digitar o numero certo de caracteres, no caso
> *XXXXXX (X = 0-9), ele captura essa sequencia, dentro da URA:
>
> exten => 1, 3, Goto(consulta,_*XXXXXX,1)
>
> E como pode perceber, "joga" o fluxo da ligação para o contexto [consulta].
> Dentro deste contexto temos o seguinte:
>
> exten => _*XXXXXX, 1, Answer()
> exten => _*XXXXXX, 2, WaitExten()
> exten => _*XXXXXX, 3, Set(CHANNEL(language)=pt_BR)
> exten => _*XXXXXX, 4, Set(OS=/etc/asterisk/OS)
> exten => _*XXXXXX, 5, System(/bin/mkdir ${OS}/${EXTEN:1})
> exten => _*XXXXXX, 6, System(psql -U postgres -h IP -d BANCO -c "SELECT * FROM tabela where
> ord_cod=${EXTEN:1} order by situacao asc" > ${OS}/${EXTEN:1}/os_${EXTEN:1})
> exten => _*XXXXXX, 7, System(cat ${OS}/${EXTEN:1}/os_${EXTEN:1} | grep "|" | cut -d"|" -f3 |
> grep -v sta_cod | tail -n -1 > ${OS}/${EXTEN:1}/sit_final_${EXTEN:1})
> exten => i,1,Playback(invalid)
> exten => i,2,Wait,1
> exten => i,3,Goto(_*XXXXXX,1)
>
> ;;;                  Set(foo=${SHELL(echo \"bar\")})\n");
> exten => _*XXXXXX,8,Set(SITUACAO=${SHELL(cat "${OS}/${EXTEN:1}/sit_final_${EXTEN:1}")})
>
> ;;;;; GotoIf($["${ALLERIDNUM}" = "303"]?3)
> ; Executa uma macr para OS na Bancada
> exten => _*XXXXXX,9,Gotoif($[${SITUACAO} = 101]?12)
> ; Executa uma macr para OS Concluida
> exten => _*XXXXXX,10,Gotoif($[${SITUACAO} = 2]?13)
> ; Executa uma macr para OS Concluida
> exten => _*XXXXXX,11,Gotoif($[${SITUACAO} = 104]?13)
>
>
> ; Vai para macro bancada
> exten => _*XXXXXX,12,Macro(bancada,${EXTEN:1})
> ; Vai para macro O Concluida
> exten => _*XXXXXX,13,Goto(concluido,s,1)
>
> Como dá pra perceber, ele faz uma consulta ao PostgreSQL, via System, usando o comando psql
> do Linux.
>
> Perceba mais aqui em baixo, que tem uma desvio, um usando Macro e outro o Goto.
> Na Macro consigo passar argumentos, porém no Goto não...
>
> Como fazer?
>
> Obrigado
>
> P.S.: Sei que esse código tá horrivel! Se houver alguma maneira mais fácil de interfacear com
> o PostgreySQL e tirar dados de lá, por favor me avisem! :)
>
>
>
>
> Em Ter, Julho 1, 2008 3:46 pm, Tiago Durante escreveu:
>> Gilberto,
>>
>> Dê um exemplo simples do que vc quer fazer, acho que nao ficou muito claro...
>>
>>
>> Abraços!
>>
>> --
>> Tiago Durante
>>
>> ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,
>> Perseverance is the hard work you do after you
>> get tired of doing the hard work you already did.
>> -- Newt Gingrich
>>
>>
>>
>>
>> On Tue, Jul 1, 2008 at 3:33 PM, Gilberto Nunes <gilberto em bitmix.com.br> wrote:
>>> Boa tarde
>>>
>>> Sei que quando usamod Macros, podemos passar argumentos dentro do DialPlan.
>>> Por exemplo:
>>>
>>> exten => _*XXXXXX,12,Macro(teste,${EXTEN:1}
>>>
>>> Isso faz que seja executada a Macro teste, passando como argumento o ${EXTEN:1}, ou seja,
>>> a
>>> sequencia _*XXXXXX.
>>>
>>> Existe alguma maneira de fazer isso com o Goto ou outra variavel?
>>>
>>> Obrigado
>>>
>>>
>>> --
>>> Atenciosamente
>>>
>>> ---
>>> Gilberto Nunes
>>> MSN: gilberto em bitmix.com.br
>>> Fones: 47-3348-8020
>> _______________________________________________
>> Compre uma camiseta da AsteriskBrasil.org!
>> http://www.voipmania.com.br
>>
>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede
>> Freenode.net:
>> #asterisk-br
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> AsteriskBrasil em listas.asteriskbrasil.org
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>> --
>> This message has been scanned for viruses and
>> dangerous content by MailScanner, and is
>> believed to be clean.
>>
>>
>
>
> --
> Atenciosamente
>
> ---
> Gilberto Nunes
> MSN: gilberto em bitmix.com.br
> Fones: 47-3348-8020
>
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
> _______________________________________________
> Compre uma camiseta da AsteriskBrasil.org!
> http://www.voipmania.com.br
>
> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net:
> #asterisk-br
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>


-- 
Atenciosamente

---
Gilberto Nunes
MSN: gilberto em bitmix.com.br
Fones: 47-3348-8020



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the AsteriskBrasil mailing list