Macros y escape de comas

50 views
Skip to first unread message

H

unread,
Nov 11, 2010, 11:19:17 AM11/11/10
to asterisk-es
Hola buenas, soy nuevo por aquí y también bastante nuevo con asterisk.
Ya he consultado bastantes veces la página y ya era hora de
intervenir!

Pues a ver si me podéis echar una mano. Tengo un problema con una
macro:


; Creo una varialbe que contenga la sintaxis para hacer una consulta a
una base de datos

exten => 500,n,Set(QUERY_SINTAX=INSERT INTO Output_DB (v_id,v_tel)
VALUES ('','219'))

;Llamo a la Macro

exten => 500,n,Macro(mysql,${USER},${PASS},${NAME},${QUERY_SINTAX})

; Aquí el problema, QUERY_SINTAX lo interpreta hasta la primera coma,
es decir hasta INSERT INTO Output_DB (v_id y después nada más. Por lo
tanto en:

exten => s,n,MYSQL(Query resultid ${connid} ${ARG4})

; el argumento 4 queda incompleto y no funciona.

He probado escapando la coma \, y nada. También he probado escapando
la coma y poniendo todo entre "" y nada.

Me podríais ayudar?

Muchas gracias!

El Ale...

unread,
Nov 11, 2010, 11:55:32 AM11/11/10
to aster...@googlegroups.com
no veo la sintaxis de conexion, proba con algo asi:

exten => _X.,1,MYSQL(Connect connid localhost user password db)
exten => _X.,2,MYSQL(Query resultid ${connid} SELECT campo  from tabla  where campo=${EXTEN})


--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)

Entra ahora en el canal de irc de Asterisk-ES para charlar en directo sobre VoIP y
Asterisk: http://www.asterisk-es.org/

~~~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Para anular la suscripción: asterisk-es...@googlegroups.com




H

unread,
Nov 12, 2010, 2:02:59 AM11/12/10
to asterisk-es
Creo que no nos hemos entendido, os pongo un poco más de codigo para
que quede más claro:

...
exten => 500,n,Set(QUERY_SINTAX="INSERT INTO Output_DB (v_id,v_tel)
VALUES ('','219')")
exten => 500,n,Macro(mysql,${USER},${PASS},${NAME},${QUERY_SINTAX})

[macro-mysql]

...
exten => s,n,MYSQL(Connect connid localhost ${DBUSER} ${DBPASS} $
{DBNAME})
exten => s,n, GoToIf($["${connid}" = ""]?ERROR_CONEX).
exten => s,n,MYSQL(Query resultid ${connid} ${ARG4})

;exten => s,n,MYSQL(Query resultid ${connid} SELECT ${ARG5} FROM calls
WHERE it_id=${ARG4})
;exten => s,n(fetchrow),MYSQL(Fetch fetchid ${resultid} name)
;exten => s,n,set(RETVAL=${name})

exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})

...
NOTA: el ARG4 se corta después de la coma ...v_id,... .
Quiero hacer una inserción de ciertos parámetros de una tabla en el
siguiente registro disponible.

gracias

Jorge Eduardo Silva Jackson

unread,
Nov 12, 2010, 7:22:56 AM11/12/10
to aster...@googlegroups.com
H wrote:
> Hola buenas, soy nuevo por aqu� y tambi�n bastante nuevo con asterisk.
> Ya he consultado bastantes veces la p�gina y ya era hora de
> intervenir!
>
> Pues a ver si me pod�is echar una mano. Tengo un problema con una

> macro:
>
>
> ; Creo una varialbe que contenga la sintaxis para hacer una consulta a
> una base de datos
>
> exten => 500,n,Set(QUERY_SINTAX=INSERT INTO Output_DB (v_id,v_tel)
> VALUES ('','219'))
>
Hay que poner el caracter de escape antes de las comas y la comillas

EJ:

exten = s,n,Set(Query=Insert\ into\ queue_table\
(name\,context\,timeout\,strategy\,periodic_announce\,periodic_announce_frequency)\
values(\'${ARG1}\'\,\'default\'\,${ARG2}\,\'ringall\'\,\'record/queue-exten-menu\'\,30))

Saludos
EDU

> ;Llamo a la Macro
>
> exten => 500,n,Macro(mysql,${USER},${PASS},${NAME},${QUERY_SINTAX})
>

> ; Aqu� el problema, QUERY_SINTAX lo interpreta hasta la primera coma,
> es decir hasta INSERT INTO Output_DB (v_id y despu�s nada m�s. Por lo


> tanto en:
>
> exten => s,n,MYSQL(Query resultid ${connid} ${ARG4})
>
> ; el argumento 4 queda incompleto y no funciona.
>

> He probado escapando la coma \, y nada. Tambi�n he probado escapando


> la coma y poniendo todo entre "" y nada.
>

> Me podr�ais ayudar?
>
> Muchas gracias!
>
>

Reply all
Reply to author
Forward
0 new messages