Pode fazer como havia lhe sugerido também, criar uma função com a
consulta SELECT
COUNT() FROM portados WHERE numero=${SQL_ESC(${ARG1})}. Se retornar um
valor maior que 0, ai executa a outra consulta.Att, *Rafael dos Santos Saraiva* Tel: (51) 8174-7956 *Digium Certified Asterisk Administrator (dCCA)* http://www.astdocs.com | <http://br.linkedin.com/pub/rafael-saraiva/52/aab/230> Em 21 de agosto de 2013 17:55, Hudson Cardoso <[email protected]>escreveu: > Não resolveu isolando a variavel. > mas resolvi de outra forma. > criei um valor 0 pra todas as colunas do BD. > não era que tinha em mente, mas parou de encher o saco. > > > > Hudson > (048) 8413-7000 > Para quem nao cre, nenhuma prova converte,Para aquele que cre, nenhuma prova > precisa. > > > > ------------------------------ > Date: Wed, 21 Aug 2013 17:45:43 -0300 > From: [email protected] > To: [email protected] > Subject: Re: [AsteriskBrasil] Mensagem de EOL no MYSQL > > Olá! > > O problema está em 'set(podeligar=${DB(bloq/${origem})});' > atribuir nada à podeligar, aí quando faz '${podeligar}=1' seria o mesmo > que '=1', já que podeligar é nada, aí dá erro de sintaxe. Tente fazer `" > ${podeligar}"="1"´ (colocar aspas) e veja se resolve. > > []'s > Junior Polegato > > > Em 21-08-2013 17:35, Hudson Cardoso escreveu: > > Como ja tinha dito antes, não estou tendo problemas com o dialplan, nem > com o BD. > tá tudo certinho, so quero saber se posso tirar esse aviso chato de erro > > Esse é trecho do dialplan que dá esse aviso ' > set(podeligar=${DB(bloq/${origem})});' > > Abaixo um trecho do dialplan: > > macro discaroi(origem,destino) { > &grava(S,CEUSA,${origem},${destino}); > set(CDR(motivo)=S_${destino}); > set(podeligar=${DB(bloq/${origem})}); > if (${podeligar}=1) {playback(/etc/asterisk/vozes/sorry);} > else > {set(DB(bloq/${origem})=0); > dial(dahdi/g1/${destino},90,T);} > Hangup; > return; > } > > macro discacelular(origem,destino) { > &consultaop(${destino}); > set(CDR(op)=${operadora}); > set(podeligar=${DB(bloq/${origem})}); > if (${podeligar}=1) {playback(/etc/asterisk/vozes/sorry);} > else > { if (${destino:0:1}=0) > { noop(discando com prestadora - ${operadora}); > if (len(${operadora}<1)) > dial(sip/easytel/${destino},90,T); > if (${operadora}=41) > dial(sip/goip1/1041${destino:1},90,T); > if (${operadora}=21) > dial(sip/easytel/${destino},90,T); > if (${operadora}=20) > dial(sip/goip2/1015${destino:1},90,T); > if (${operadora}=23) > dial(sip/goip2/1015${destino:1},90,T); > if (${operadora}=31) > dial(sip/goip2/2014${destino:1},90,T); > if (${operadora}=14) > dial(sip/goip2/2014${destino:1},90,T);} > else > { noop(Inserindo prestadora - ${operadora}48); > if (len(${operadora}<1)) > dial(sip/easytel/048${destino},90,T); > if (${operadora}=41) > dial(sip/goip1/104148${destino},90,T); > if (${operadora}=21) > dial(sip/easytel/048${destino},90,T); > if (${operadora}=20) > dial(sip/goip2/101548${destino},90,T); > if (${operadora}=23) > dial(sip/goip2/101548${destino:1},90,T); > if (${operadora}=31) > dial(sip/goip2/201448${destino},90,T); > if (${operadora}=14) > dial(sip/goip2/201448${destino},90,T);} > } > return;} > > context entrada_goip { > _20XX => dial(dahdi/g2/2000,90,t);} > > context pabx{ > _90ZX. => {&discaroi(${CALLERID(NAME)},${EXTEN});} > _19X => {&discaroi(${CALLERID(NAME)},${EXTEN});} > _14XX => {&discaroi(${CALLERID(NAME)},3441${EXTEN});} > _[234]X. => {&discaroi(${CALLERID(NAME)},${EXTEN});} > _0[38]00X. => {&discaroi(${CALLERID(NAME)},${EXTEN});} > _52099 => goto uraceusa,s,1; > _52XXX => playback(/etc/asterisk/vozes/voz${EXTEN:2}); > _20XX => {dial(dahdi/g2/${EXTEN},90,t);} > _0XX[789]X. => {set(CDR(motivo)=S_${EXTEN}); > &grava(S,CEUSA,${CALLERID(NAME)},${motivo}); > &discacelular(${CALLERID(NAME)},${EXTEN}); > Hangup;} > _[789]X. => {set(CDR(motivo)=S_${EXTEN}); > &grava(S,CEUSA,${CALLERID(NAME)},${motivo}); > &discacelular(${CALLERID(NAME)},${EXTEN}); > Hangup;} > _0XX[2-6]X. => {set(origem=${CALLERID(num)}); > &discaroi(${origem},014${EXTEN:1}); > HangUp;} > _00X. => {&discaroi(${CALLERID(NAME)},0014${EXTEN:2});} > _5151XXXX => {set(DB(bloq/3441${EXTEN:4})=1); > playback(/etc/asterisk/vozes/programado); > HangUp;} > _5252XXXX => { set(DB(bloq/3441${EXTEN:4})=0); > playback(/etc/asterisk/vozes/desprogramado); > HangUp;} > > includes {publica;}} > > context publica { > _2099 => { &consultaop(${CALLERID(num):0:6}); > // set(id_recados(${CALLERID(all)})); > // goto uraceusa,s,1; > hangup; > } > _XXXX => {answer; > set(encontrado=nao); > set(CDR(motivo)=E_${EXTEN}); > if (${CALLERID(num)}=4884137000) > {&callback(o84137000,${EXTEN});} > if (${encontrado}=nao) > > {&grava(E,CEUSA,${EXTEN},${CALLERID(num)}); > noop(entrada---------------------- = > ${EXTEN}); > switch (${EXTEN}) { > // case 2011 : > dial(dahdi/g2/2011&sip/goip2/284137000); > case 2047 : > dial(dahdi/g2/2047&sip/goip1/196542937); > case 2017 : > dial(dahdi/g2/2017&sip/goip1/199741259); > case 2041 : > dial(dahdi/g2/2041&sip/goip1/199249321); > case 2027 : > dial(dahdi/g2/2027&sip/goip1/199220622); > case 2039 : > dial(dahdi/g2/2039&sip/goip1/199849621); > default : > dial(dahdi/g2/${EXTEN},90,t); > } > } > hangup;} > } > > Esse é o BD : func_ODBC.conf > [LEPORTADOS] > dsn=easytel > readsql= SELECT op FROM portados WHERE numero=${SQL_ESC(${ARG1})} order by > data desc limit 1 > > [LEOP] > dsn=easytel > readsql= SELECT op FROM opcel WHERE numero=${SQL_ESC(${ARG1})} > > > Hudson > (048) 8413-7000 > Para quem nao cre, nenhuma prova converte,Para aquele que cre, nenhuma prova > precisa. > > > > ------------------------------ > Date: Wed, 21 Aug 2013 16:46:21 -0300 > From: [email protected] > To: [email protected] > Subject: Re: [AsteriskBrasil] Mensagem de EOL no MYSQL > > mas quem esta dando erro é o AST .. nao o mysql !! > > Sds. > Alexandre J. Correa > Onda Internet > http://www.onda.net.br > > > IPV6 Ready !!! > > > > 2013/8/21 Mike Tesliuk <[email protected]> > > joga um exit ou return 0 no fim do script pra ver > > Em 21/08/13 15:36, Rafael dos Santos Saraiva escreveu: > > Fica meio dificil sem ver o contexto, mas a principio, você tem que tratar > o resultado null no dialplan e na consulta. Por exemplo, antes de buscar um > valor especifico, use o "SELECT COUNT", se retornar >0, então realiza a > consulta que você quer. > > > Att, > *Rafael dos Santos Saraiva* > Tel: (51) 8174-7956 > *Digium Certified Asterisk Administrator (dCCA)* > http://www.astdocs.com | > <http://br.linkedin.com/pub/rafael-saraiva/52/aab/230> > > > Em 21 de agosto de 2013 16:30, Hudson Cardoso > <[email protected]>escreveu: > > O asterisk diz ser erro de sintaxe, mas na verdade trata-se de EOL no > BD do MYSQL. > da seguinte forma: > se ele consulta e encontra dados, nao gera o erro. > mas se consulta dados e encontra nill, gera o erro de sintaxe, parece > absurdo, mas é isso ai. > gera erro se encontra nill ou vazio. > > > Hudson > (048) 8413-7000 > Para quem nao cre, nenhuma prova converte,Para aquele que cre, nenhuma prova > precisa. > > > > ------------------------------ > Date: Wed, 21 Aug 2013 15:16:58 -0400 > From: [email protected] > To: [email protected] > Subject: Re: [AsteriskBrasil] Mensagem de EOL no MYSQL > > > Aqui é erro de syntaxe, > > > se nao for esta mensagem, então não sei qual você ta falando :) > > > Em 21/08/13 14:58, Hudson Cardoso escreveu: > > [2013-08-21 15:59:22] WARNING[21305]: ast_expr2.fl:468 ast_yyerror: > ast_yyerror(): syntax error: syntax error, unexpected '=', expecting $end; > Input: > > > > _______________________________________________ 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 > [email protected] > > _______________________________________________ > 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 > [email protected] > > > > > _______________________________________________ > 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 > [email protected] > > > > _______________________________________________ > 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 > [email protected] > > > > _______________________________________________ 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 > [email protected] > > > _______________________________________________ > 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 > [email protected] > > > > -- > []'s > > Junior Polegato > > > _______________________________________________ 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 > [email protected] > > _______________________________________________ > 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 > [email protected] >
_______________________________________________ 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 [email protected]

