PROBLEMA con AGI y conexion a MSSQL

335 views
Skip to first unread message

Pablo Bernasconi

unread,
Aug 5, 2009, 6:09:52 PM8/5/09
to aster...@googlegroups.com, ib...@xtratelecom.es, Saúl Ibarra
Hola, como andan? todo bien?
Les cuento mi problema.

Tengo un script hecho en php que utiliza la libreria ADODB para conexion a bases de datos, el script corre perfectamente desde la linea de comando de linux, pero si lo quiero correr desde Asterisk se tranca al momento de definir la conexion. Lo pase a otros servidores en produccion funcionando impecable y tampoco anda.
Entonces decidi hacer un script de prueba tambien en php, el cual unicamente lo que hace es recibir parametros y conectarse a una base MSSQL utilizando las funciones nativas de php para ello (mssql_connect, mssql_select_db, mssql_query, etc). Nuevamente, desde la linea de comando de Linux corre perfectamente y ejecuta la consulta, pero desde asterisk da error al abrir la conexion cuando utilizo la funcion mssql_connect .
Todos los scripts estan bajo /var/libasterisk/agi-bin/, tienen permiso 777, asterisk es su dueño.
Todos los Asterisk donde fue probado fueron compilados con ODBC. A su vez en todos estaba instalado FreeTDS tambien. Igual no creo que esto afecte o deje de afectar en algo, porque en definitiva estoy corriendo un script externo a asterisk.

En extensions.conf

exten => 56789,1,Answer()
exten => 56789,n,System(/var/lib/asterisk/agi-bin/VDP-consulta_BBDD.php mssql 192.168.0.48 asterisk asterisk ForwardTestAbril)
exten => 56789,n,Wait(5)
exten => 56789,n,AGI(/var/lib/asterisk/agi-bin/VDP-consulta_BBDD.php,mssql,192.168.0.48,asterisk,asterisk,ForwardTestAbril)
exten => 56789,n,Hangup()


Ni haciendo System o AGI funciona. Se tranca en el mismo lugar.
Si ejecuto lo mismo desde la consola anda y me trae el resultado de la consulta:

[root@isbFSR agi-bin]# /var/lib/asterisk/agi-bin/VDP-consulta_BBDD.php mssql 192.168.0.48 asterisk asterisk ForwardTestAbril

Cual puede ser el problema???? Me parece muy extraño que suceda esto....
Tengo que definir algo en odbc.ini o odbcinst.ini? Si es asi, porque deberia de hacerlo, si yo desde Asterisk estoy llamando un programa externo? Es este programa el que se encarga de conectarse y hacer todo el resto....

Desde ya muchas gracias,
Saludos, Pablo Bernasconi






Luis Morales

unread,
Aug 5, 2009, 6:26:09 PM8/5/09
to aster...@googlegroups.com
Activa el Debuger y ve que sucede cuando llamas a la extension.

Haces:

> asterisk -r

asterisk*> core set debug 255
asterisk*> core set verbose 255

Luego procede a llamar a la extension y ve q mensaje te bota por
consola, quizas eso te ayude a diagnosticar la falla.

Anexa el programa para revisar y darte nuestros comentarios.

Saludos,



2009/8/5 Pablo Bernasconi <bernasco...@gmail.com>:
--
---------------------------------------------------------------------------------
Luis Morales
Consultor de Tecnologia
Cel: +(58)416-4242091
---------------------------------------------------------------------------------
"Empieza por hacer lo necesario, luego lo que es posible... y de
pronto estarás haciendo lo imposible"

Leonardo Da'Vinci
---------------------------------------------------------------------------------

Pablopablo

unread,
Aug 6, 2009, 10:45:39 AM8/6/09
to asterisk-es
Esto es lo que tira el asterisk, al parecer todo bien:

======================================================================================================
======================================================================================================
-- Executing [56789@from-internal:1] Answer("SIP/1000-b7c50ad0",
"") in new stack
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/1000-b7c50ad0]
-- Executing [56789@from-internal:2] System("SIP/1000-b7c50ad0", "/
var/lib/asterisk/agi-bin/VDP-consulta_BBDD.php mssql 192.168.0.48
asterisk asterisk ForwardTestAbril") in new stack
-- Executing [56789@from-internal:3] Wait("SIP/1000-b7c50ad0",
"5") in new stack
-- Executing [56789@from-internal:4] AGI("SIP/1000-b7c50ad0", "/
var/lib/asterisk/agi-bin/VDP-consulta_BBDD.php,mssql,
192.168.0.48,asterisk,asterisk,ForwardTestAbril") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/1000-b7c50ad0]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/1000-b7c50ad0]
-- <SIP/1000-b7c50ad0>AGI Script /var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php completed, returning 0
-- Executing [56789@from-internal:5] Hangup("SIP/1000-b7c50ad0",
"") in new stack
======================================================================================================
======================================================================================================


Mientras que el archivo es:

======================================================================================================
======================================================================================================
#!/usr/bin/php -q
<?php

error_reporting(0);
set_time_limit(60);
ob_implicit_flush(false);

$cantidad_de_logs = 3;
$version = "1.0";
$dir_log = "/var/lib/asterisk/LOG/";
$nombre_log = "VDP-consulta-BBDD.log";

include_once '/var/lib/asterisk/Utiles.php';


$tipo_base = $argv[1];
$tipo_base = trim($tipo_base);
$ip_base = $argv[2];
$$ip_base = trim($ip_base);
$user_base = $argv[3];
$user_base = trim($user_base);
$pass_base = $argv[4];
$pass_base = trim($pass_base);
$base = $argv[5];
$base = trim($base);
$sql = $argv[6];
$sql = trim($sql);

$sql = "select numero_a_transferir from cm_flujos_bloquetransferir
where flujo ='12'";

escribir_log("||||Iniciando|||| la consulta a BBDD. Tipo base =
$tipo_base. IP base = $ip_base. User base = $user_base. Pass base =
$pass_base. Base = $base. SQL = $sql.");

$link = mssql_connect($ip_base,$user_base,$pass_base);
if(!$link){
escribir_log("ERROR al conectar a MSSQL");
exit; }

//***********da error al conectar y termina el script*********

if(!mssql_select_db($base, $link))
{
escribir_log("ERROR al elegir la base");
exit;
}

$resultado = mssql_query($sql);
//$row = mssql_fetch_array($sql);

mssql_free_result($resultado);
escribir_log("Resultado = $resultado");

?>
======================================================================================================
======================================================================================================

insisto, desde Linux anda perfecto....

Muchas gracias, Pablo


On 5 ago, 19:26, Luis Morales <faston...@gmail.com> wrote:
> Activa el Debuger y ve que sucede cuando llamas a la extension.
>
> Haces:
>
> > asterisk -r
>
> asterisk*> core set debug 255
> asterisk*> core set verbose 255
>
> Luego procede a llamar a la extension y ve q mensaje te bota por
> consola, quizas eso te ayude a diagnosticar la falla.
>
> Anexa el programa para revisar y darte nuestros comentarios.
>
> Saludos,
>
> 2009/8/5 Pablo Bernasconi <bernasconi.pa...@gmail.com>:

Raúl Alexis Betancor Santana

unread,
Aug 6, 2009, 12:56:55 PM8/6/09
to aster...@googlegroups.com
On Thursday 06 August 2009 15:45:39 Pablopablo wrote:

> insisto, desde Linux anda perfecto....

Tu script no es un AGI, es un shell script escrito en php, si lo llamas desde
AGI, debería de ejecutarse, pero no puede devolverte nada ya que no respetas
el "protocolo AGI"

--
Raúl Alexis Betancor Santana
Dimensión Virtual

Iñaki Baz Castillo

unread,
Aug 6, 2009, 1:08:26 PM8/6/09
to aster...@googlegroups.com
El Thursday 06 August 2009 16:45:39 Pablopablo escribió:
> insisto, desde Linux anda perfecto....

Si un script funciona desde Linux (demos por hecho que te refieres a "desde
una shell") entonces significa que no es un AGI y por lo tanto *NO* puede
funcionar como un AGI dentro de Asterisk.

Igual pensabas que un AGI no es más que un script en el lenguaje que sea y que
se invoca desde Asterisk, pero eso no es así. AGI es un protocolo de
comunicación entre Asterisk y un script externo a través del STDIN y STDOUT,
usando unos comandos específicos, y no "cualquier cosa".

Tal vez tendrías que leer la documentación de lo que es un AGI antes de
intentar hacer uno, parece lo lógico:

http://www.voip-info.org/wiki/view/Asterisk+AGI

--
Iñaki Baz Castillo
<ib...@xtratelecom.es>

Pablopablo

unread,
Aug 6, 2009, 1:19:07 PM8/6/09
to asterisk-es
Hola Raul,

Porque decis que mi script no es un agi? segun el libro de Asterisk de
O´Reilly lo unico que se debe tener en cuenta al momento de hacer un
agi en php es incluir al comienzo del archivo lo siguiente:

#!/usr/bin/php -q
<?php
set_time_limit(60);
ob_implicit_flush(false);
error_reporting(0);

Lo decis porque no defino STDIN, STDOUT, STDERR???

Independientemente que mi script sea o no un agi, y por tanto no me
pueda devolverme nada, porque mi script falla al momento de conectarse
a la base de datos si lo llamo desde Asterisk, mientras que si lo
corro de Linux funciona.
Si fuera un shell script no deberia hacerlo de todas formas??

Saludos, muchas gracias, Pablo

On 6 ago, 13:56, Raúl Alexis Betancor Santana <r...@dimension-

Pablopablo

unread,
Aug 6, 2009, 1:40:04 PM8/6/09
to asterisk-es
Hola Iñaki, que tal?

Estoy de acuerdo que mi script es un shell script hecho en php, pero
digamos, si yo quiero hacer un agi para q unicamente inserte algo en
una base MSSQL, para que tengo que definir STDIN, STDOUT, etc??

Estoy de acuerdo que si yo quiero interactuar con Asterisk, SI debo
definir STDIN, STDOUT y utilizar los comandos especificos (o usar la
libreria PHPAGI y listo). He hecho muchos agis que hacen esto y no
hubo problemas.
Pero no creo que este sea el caso...
Para que tengo que usar STDIN, STDOUT o alguno de lo comandos para
agi, para conectarme a una base MSSQL?

Dime que piensas, saludos, Pablo

Raúl Alexis Betancor Santana

unread,
Aug 6, 2009, 1:40:52 PM8/6/09
to aster...@googlegroups.com
On Thursday 06 August 2009 18:19:07 Pablopablo wrote:
> Hola Raul,
>
> Porque decis que mi script no es un agi? segun el libro de Asterisk de
> O´Reilly lo unico que se debe tener en cuenta al momento de hacer un
> agi en php es incluir al comienzo del archivo lo siguiente:

Porque como te ya te ha dicho Iñaki, AGI es un protocolo de comunicación entre
Asterisk y scripts y hay que respetarlo, sino no funciona el invento.


> #!/usr/bin/php -q
> <?php
> set_time_limit(60);
> ob_implicit_flush(false);
> error_reporting(0);
>
> Lo decis porque no defino STDIN, STDOUT, STDERR???

Mas que nada porque no sigue la estructura de un AGI.

> Independientemente que mi script sea o no un agi, y por tanto no me
> pueda devolverme nada, porque mi script falla al momento de conectarse
> a la base de datos si lo llamo desde Asterisk, mientras que si lo
> corro de Linux funciona.

Activa el logging del php-cgi o php-cli, el que estés usando, para que te
muestre los errores, es que tampoco tienes tratamiento de errores en el
script ... como primer intento de hacer un AGI ... es un poco "flojo".

> Si fuera un shell script no deberia hacerlo de todas formas??

No, no tiene porqué.

Deberías de leerte la documentación de desarrollo de AGI's si pretendes hacer
uno.

Raúl Alexis Betancor Santana

unread,
Aug 6, 2009, 2:39:57 PM8/6/09
to aster...@googlegroups.com
On Thursday 06 August 2009 18:40:04 Pablopablo wrote:
> Hola Iñaki, que tal?
>
> Estoy de acuerdo que mi script es un shell script hecho en php, pero
> digamos, si yo quiero hacer un agi para q unicamente inserte algo en
> una base MSSQL, para que tengo que definir STDIN, STDOUT, etc??
>
> Estoy de acuerdo que si yo quiero interactuar con Asterisk, SI debo
> definir STDIN, STDOUT y utilizar los comandos especificos (o usar la
> libreria PHPAGI y listo). He hecho muchos agis que hacen esto y no
> hubo problemas.
> Pero no creo que este sea el caso...
> Para que tengo que usar STDIN, STDOUT o alguno de lo comandos para
> agi, para conectarme a una base MSSQL?
>
> Dime que piensas, saludos, Pablo

A ver Pablo ... te lo voy a explicar aunque lo bueno sería que te leyeras la
bendita documentación sobre el protocolo AGI, para que entendieras que has
hecho mal.

Te falla estrepitosamente, porque tu esperas los parámetros como argv[1],
argv[2], etc ... y eso en un script AGI NO SE HACE ASÍ

Ahora, si insistes en crear un AGI, haz el favor de leerte la documentación
del protocolo o de usar la phpagi si prefieres.

Pablopablo

unread,
Aug 6, 2009, 2:54:09 PM8/6/09
to asterisk-es
Muchachos,

En mi maquina tengo instalado FreePBX (se que es mala palabra aqui,
pero bueno), si hago "amportal stop" (parará asterisk y otras cosas),
y luego "service asterisk start" y corro mi flojo shell script sin
estructura de AGI jeje desde Asterisk, anda bien, se conecta a MSSQL y
hace la consulta.
Si luego hago "service asterisk stop", y "amportal start" y corro el
script, éste vuelve a NO funcionar.

De esto saco una conclusion y una pregunta.
La conclusion es que mi shell script funciona correctamente desde
Asterisk, fui testigo de eso.
La pregunta que me surge es, como es posible que una vez funcione y la
otra vez no....

Creanme que he leido la documentacion, tanto el libro de O´reilly,
como la wiki de Asterisk, etc. Y como yo NO QUIERO interactuar con
Asterisk, para que necesito definir STDIN, STDOUT, etc? SI quisiera
hacerlo usaria PHPAGI, como lo hice en otra cantidad de agi que he
realizado y funcionan correctamente. En que difiere la estructura de
mi agi con la "correcta" estructura de los agis, veo ejemplos por
todos lados y no la encuentro?

Acerca del tratamiento de errores, aclare cuando postee el tema
original que este era un agi de prueba, ya que uno mas complejo (con
debug incluido) que habia hecho, fallaba al conectarse a MSSQL usando
ADODB.


Por sobre todo, lo anterior... tienen idea porque si incio asterisk
"pelado" funciona, mientras que si lo inicio desde la freepbx no? La
freepbx para iniciarlo lo que hace es: /usr/sbin/safe_asterisk -U
asterisk -G asterisk

Saludos, muchas gracias

On 6 ago, 14:40, Raúl Alexis Betancor Santana <r...@dimension-

Pablopablo

unread,
Aug 6, 2009, 2:54:24 PM8/6/09
to asterisk-es
On 6 ago, 14:40, Raúl Alexis Betancor Santana <r...@dimension-

Adrià Vidal

unread,
Aug 6, 2009, 3:28:18 PM8/6/09
to aster...@googlegroups.com
2009/8/6 Pablopablo <bernasco...@gmail.com>:

> Por sobre todo, lo anterior... tienen idea porque si incio asterisk
> "pelado" funciona, mientras que si lo inicio desde la freepbx no? La
> freepbx para iniciarlo lo que hace es: /usr/sbin/safe_asterisk -U
> asterisk -G asterisk
>
> Saludos, muchas gracias

Pues igual te has contestado tu mismo:
ese script no se ejecuta correctamente corriendo Asterisk con el
usuario asterisk...pero si ejecutandose Asterisk como usuario root

;-D

--
--
Adrià Vidal

Adrià Vidal

unread,
Aug 6, 2009, 3:29:10 PM8/6/09
to aster...@googlegroups.com
2009/8/6 Adrià Vidal <adria...@gmail.com>:
Pero que conste que si pretendes lanzarlo como un AGI debas respetar
su formato, otro cantar es que sea un script...


--
--
Adrià Vidal

Paco Gil

unread,
Aug 6, 2009, 3:36:51 PM8/6/09
to aster...@googlegroups.com
creo que no Adrià, FreePBX trae un enano cabrón oculto que telecomandado por ISR pa joder la marrana....

2009/8/6 Adrià Vidal <adria...@gmail.com>



--
http://ualtech.wordpress.com

Raúl Alexis Betancor Santana

unread,
Aug 6, 2009, 3:41:22 PM8/6/09
to aster...@googlegroups.com

Buff .. en medio de FreePBX ... vete a saber que muela, digo macro, le
duele ... XD

La única diferencia en los modos de ejecutar asterisk que comentas, son los
permisos del usuario efectivo, osea .. que como el problema no esté
relacionado con que el usuario asterisk no pueda acceder a algun recurso que
la librería de MSSQL de php necesite ... poca cosa mas puede fallar.

¿Porqué no activas los logs de php, en el php.ini y lo vuelcas a syslog o lo
que sea y miras el error que canta?

También puedes probar ha hacer "agi debug" en la consola y lanzar el agi .. a
ver si por casualidad ves el error

Pablopablo

unread,
Aug 6, 2009, 3:44:03 PM8/6/09
to asterisk-es
Como es que dices que los parametros no se traen con argv[1], argv
[2]..
si tengo cantidad de agis hechos de esa forma que funcionan
correctamente, en cantidad de links se especifica asi, y hasta la
gente de freepbx lo hace asi...

mira lo q escribio Saul en el sexto post de este tema:
http://groups.google.es/group/asterisk-es/browse_thread/thread/8eb3260176ff6328

Recuerda que en extensions.conf tengo:

exten => 56789,1,Answer()
exten => 56789,n,System(/var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php mssql 192.168.0.48 asterisk asterisk
ForwardTestAbril)
exten => 56789,n,Wait(5)
exten => 56789,n,AGI(/var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php,mssql,
192.168.0.48,asterisk,asterisk,ForwardTestAbril)
exten => 56789,n,Hangup()


Ni llamandolo como System anda (si incio Asterisk haciendo "amportal
start"). Con System deberia andar, no usa el "protocolo agi"...
Como traerias los parametros usando phpagi sin ser con argv[1], argv
[2], etc...

Saludos Raul.

Pablopablo

unread,
Aug 6, 2009, 3:44:18 PM8/6/09
to asterisk-es
Como es que dices que los parametros no se traen con argv[1], argv
[2]..
si tengo cantidad de agis hechos de esa forma que funcionan
correctamente, en cantidad de links se especifica asi, y hasta la
gente de freepbx lo hace asi...

mira lo q escribio Saul en el sexto post de este tema:
http://groups.google.es/group/asterisk-es/browse_thread/thread/8eb3260176ff6328

Recuerda que en extensions.conf tengo:

exten => 56789,1,Answer()
exten => 56789,n,System(/var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php mssql 192.168.0.48 asterisk asterisk
ForwardTestAbril)
exten => 56789,n,Wait(5)
exten => 56789,n,AGI(/var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php,mssql,
192.168.0.48,asterisk,asterisk,ForwardTestAbril)
exten => 56789,n,Hangup()


Ni llamandolo como System anda (si incio Asterisk haciendo "amportal
start"). Con System deberia andar, no usa el "protocolo agi"...
Como traerias los parametros usando phpagi sin ser con argv[1], argv
[2], etc...

Saludos Raul.

On 6 ago, 15:54, Pablopablo <bernasconi.pa...@gmail.com> wrote:

Raúl Alexis Betancor Santana

unread,
Aug 6, 2009, 5:04:13 PM8/6/09
to aster...@googlegroups.com
On Thursday 06 August 2009 20:44:03 Pablopablo wrote:
> Como es que dices que los parametros no se traen con argv[1], argv
> [2]..
> si tengo cantidad de agis hechos de esa forma que funcionan
> correctamente, en cantidad de links se especifica asi, y hasta la
> gente de freepbx lo hace asi...
>
> mira lo q escribio Saul en el sexto post de este tema:
> http://groups.google.es/group/asterisk-es/browse_thread/thread/8eb3260176ff
>6328

Nada, nada .. andaba yo con las SPECS de AGI de Asterisk 1.6 .. que los
parámetros ya no se pasan así.

Pablopablo

unread,
Aug 13, 2009, 9:09:26 AM8/13/09
to asterisk-es
Muchachos,

luego de unos dias ausente, cambie la forma de traer los parametros a
mi agi. Igualmente sigo con el mismo problema, si inicio asterisk como
"service asterisk start" el script me funciona bien, mientras que si
lo hago con "amportal start" falla al conectarse a la base MSSQL.
Version de Asterisk: 1.6.0.6


Primero mi agi:
**********************************************************************************************************

#!/usr/bin/php -q
<?php

error_reporting(E_ALL); //lo puse asi para ver si me decia algo. Con 0
hace lo mismo
set_time_limit(60);
ob_implicit_flush(false);

$cantidad_de_logs = 3;
$version = "1.0";
$dir_log = "/var/lib/asterisk/agi-bin/";
$nombre_log = "VDP-consulta-BBDD.log";

include_once '/var/lib/asterisk/agi-bin/phpagi.php';
include_once '/var/lib/asterisk/agi-bin/Utiles.php';

$agi = new AGI();
$tipo_base = $agi->request[agi_arg_1];
$ip_base = $agi->request[agi_arg_2];
$user_base = $agi->request[agi_arg_3];
$pass_base = $agi->request[agi_arg_4];
$base = $agi->request[agi_arg_5];
$sql = $agi->request[agi_arg_6];

$sql = trim($sql);
$tipo_base = trim($tipo_base);
$ip_base = trim($ip_base);
$user_base = trim($user_base);
$pass_base = trim($pass_base);
$base = trim($base);

escribir_log("||||Iniciando|||| la consulta a BBDD. Tipo base =
$tipo_base. IP base = $ip_base. User base = $user_base. Pass base =
$pass_base. Base = $base. SQL = $sql.");
$link = mssql_connect($ip_base,$user_base,$pass_base);
escribir_log("Paso por aca 1.");

if(!$link)
{
escribir_log("ERROR al conectarme a MSSQL");
exit;
}
escribir_log("Paso por aca 2.");
if(!mssql_select_db($base, $link))
{
escribir_log("ERROR al elegir la base");
exit;
}
escribir_log("Paso por aca 3.");
$resultado = mssql_query($sql);
$row = mssql_fetch_array($resultado);
escribir_log("Resultado = $resultado. Row = $row[0].");
mssql_free_result($resultado);

?>

**********************************************************************************************************


INICIANDO CON "service asterisk start":

isb177*CLI> core set debug 255
Core debug is at least 255
isb177*CLI> core set verbose 255
Verbosity is at least 255
isb177*CLI> agi set debug on
AGI Debugging Enabled
== Manager 'admin' logged off from 127.0.0.1
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
-- Executing [56789@from-internal:1] Answer("SIP/1000-09df4860",
"") in new stack
-- Executing [56789@from-internal:2] AGI("SIP/1000-09df4860", "/
var/lib/asterisk/agi-bin/VDP-consulta_BBDD.php,mssql,
192.168.0.48,asterisk,asterisk,ForwardTestAbril,select
numero_a_transferir from cm_flujos_bloquetransferir where flujo
='12'") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php
<SIP/1000-09df4860>AGI Tx >> agi_request: /var/lib/asterisk/agi-bin/
VDP-consulta_BBDD.php
<SIP/1000-09df4860>AGI Tx >> agi_channel: SIP/1000-09df4860
<SIP/1000-09df4860>AGI Tx >> agi_language: en
<SIP/1000-09df4860>AGI Tx >> agi_type: SIP
<SIP/1000-09df4860>AGI Tx >> agi_uniqueid: 1250167628.1
<SIP/1000-09df4860>AGI Tx >> agi_version: 1.6.0.6
<SIP/1000-09df4860>AGI Tx >> agi_callerid: 1000
<SIP/1000-09df4860>AGI Tx >> agi_calleridname: device
<SIP/1000-09df4860>AGI Tx >> agi_callingpres: 0
<SIP/1000-09df4860>AGI Tx >> agi_callingani2: 0
<SIP/1000-09df4860>AGI Tx >> agi_callington: 0
<SIP/1000-09df4860>AGI Tx >> agi_callingtns: 0
<SIP/1000-09df4860>AGI Tx >> agi_dnid: 56789
<SIP/1000-09df4860>AGI Tx >> agi_rdnis: unknown
<SIP/1000-09df4860>AGI Tx >> agi_context: from-internal
<SIP/1000-09df4860>AGI Tx >> agi_extension: 56789
<SIP/1000-09df4860>AGI Tx >> agi_priority: 2
<SIP/1000-09df4860>AGI Tx >> agi_enhanced: 0.0
<SIP/1000-09df4860>AGI Tx >> agi_accountcode:
<SIP/1000-09df4860>AGI Tx >> agi_threadid: -1216910448
<SIP/1000-09df4860>AGI Tx >> agi_arg_1: mssql
<SIP/1000-09df4860>AGI Tx >> agi_arg_2: 192.168.0.48
<SIP/1000-09df4860>AGI Tx >> agi_arg_3: asterisk
<SIP/1000-09df4860>AGI Tx >> agi_arg_4: asterisk
<SIP/1000-09df4860>AGI Tx >> agi_arg_5: ForwardTestAbril
<SIP/1000-09df4860>AGI Tx >> agi_arg_6: select numero_a_transferir
from cm_flujos_bloquetransferir where flujo ='12'
<SIP/1000-09df4860>AGI Tx >>
-- <SIP/1000-09df4860>AGI Script /var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php completed, returning 0
-- Executing [56789@from-internal:3] Hangup("SIP/1000-09df4860",
"") in new stack
== Spawn extension (from-internal, 56789, 3) exited non-zero on 'SIP/
1000-09df4860'


Mi log:

1.0 2009/08/13 09:47:08 ||||Iniciando|||| la consulta a BBDD. Tipo
base = mssql. IP base = 192.168.0.48. User base = asterisk. Pass base
= asterisk. Base = ForwardTestAbril. SQL = select numero_a_transferir
from cm_flujos_bloquetransferir where flujo ='12'.
1.0 2009/08/13 09:47:08 Paso por aca 1.
1.0 2009/08/13 09:47:08 Paso por aca 2.
1.0 2009/08/13 09:47:08 Paso por aca 3.
1.0 2009/08/13 09:47:08 Resultado = Resource id #14. Row = 2001.



***************************************************************************************************************

INICIANDO ASTERISK CON "amportal start":

isb177*CLI> agi set debug on
AGI Debugging Enabled
isb177*CLI> core set verbose 255
Verbosity was 3 and is now 255
isb177*CLI> core set debug 255
Core debug was 0 and is now 255
== Manager 'admin' logged off from 127.0.0.1
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
-- Executing [56789@from-internal:1] Answer("SIP/1000-08b5bbf8",
"") in new stack
-- Executing [56789@from-internal:2] AGI("SIP/1000-08b5bbf8", "/
var/lib/asterisk/agi-bin/VDP-consulta_BBDD.php,mssql,
192.168.0.48,asterisk,asterisk,ForwardTestAbril,select
numero_a_transferir from cm_flujos_bloquetransferir where flujo
='12'") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php
<SIP/1000-08b5bbf8>AGI Tx >> agi_request: /var/lib/asterisk/agi-bin/
VDP-consulta_BBDD.php
<SIP/1000-08b5bbf8>AGI Tx >> agi_channel: SIP/1000-08b5bbf8
<SIP/1000-08b5bbf8>AGI Tx >> agi_language: en
<SIP/1000-08b5bbf8>AGI Tx >> agi_type: SIP
<SIP/1000-08b5bbf8>AGI Tx >> agi_uniqueid: 1250167772.0
<SIP/1000-08b5bbf8>AGI Tx >> agi_version: 1.6.0.6
<SIP/1000-08b5bbf8>AGI Tx >> agi_callerid: 1000
<SIP/1000-08b5bbf8>AGI Tx >> agi_calleridname: device
<SIP/1000-08b5bbf8>AGI Tx >> agi_callingpres: 0
<SIP/1000-08b5bbf8>AGI Tx >> agi_callingani2: 0
<SIP/1000-08b5bbf8>AGI Tx >> agi_callington: 0
<SIP/1000-08b5bbf8>AGI Tx >> agi_callingtns: 0
<SIP/1000-08b5bbf8>AGI Tx >> agi_dnid: 56789
<SIP/1000-08b5bbf8>AGI Tx >> agi_rdnis: unknown
<SIP/1000-08b5bbf8>AGI Tx >> agi_context: from-internal
<SIP/1000-08b5bbf8>AGI Tx >> agi_extension: 56789
<SIP/1000-08b5bbf8>AGI Tx >> agi_priority: 2
<SIP/1000-08b5bbf8>AGI Tx >> agi_enhanced: 0.0
<SIP/1000-08b5bbf8>AGI Tx >> agi_accountcode:
<SIP/1000-08b5bbf8>AGI Tx >> agi_threadid: -1218925680
<SIP/1000-08b5bbf8>AGI Tx >> agi_arg_1: mssql
<SIP/1000-08b5bbf8>AGI Tx >> agi_arg_2: 192.168.0.48
<SIP/1000-08b5bbf8>AGI Tx >> agi_arg_3: asterisk
<SIP/1000-08b5bbf8>AGI Tx >> agi_arg_4: asterisk
<SIP/1000-08b5bbf8>AGI Tx >> agi_arg_5: ForwardTestAbril
<SIP/1000-08b5bbf8>AGI Tx >> agi_arg_6: select numero_a_transferir
from cm_flujos_bloquetransferir where flujo ='12'
<SIP/1000-08b5bbf8>AGI Tx >>
-- <SIP/1000-08b5bbf8>AGI Script /var/lib/asterisk/agi-bin/VDP-
consulta_BBDD.php completed, returning 0
-- Executing [56789@from-internal:3] Hangup("SIP/1000-08b5bbf8",
"") in new stack
== Spawn extension (from-internal, 56789, 3) exited non-zero on 'SIP/
1000-08b5bbf8'



Mi log:

1.0 2009/08/13 09:49:32 ||||Iniciando|||| la consulta a BBDD. Tipo
base = mssql. IP base = 192.168.0.48. User base = asterisk. Pass base
= asterisk. Base = ForwardTestAbril. SQL = select numero_a_transferir
from cm_flujos_bloquetransferir where flujo ='12'.
1.0 2009/08/13 09:49:32 Paso por aca 1.
1.0 2009/08/13 09:49:32 ERROR al conectarme a MSSQL

*************************************************************************************************************

QUE PUEDE ESTAR PASANDO????

Desde ya muchas gracias y saludos, Pablo

Pablopablo

unread,
Aug 13, 2009, 12:11:11 PM8/13/09
to asterisk-es
Reply all
Reply to author
Forward
0 new messages