Asterisk -> AGI (perl) -> sqlplus (oracle)


I’m trying to run an AGI in PERL which uses the module DBD-Oracle.

If the AGI run you manually through command line this works correctly.

If I run the AGI via asterisk dialplan. The AGI does not work, because it invokes to the module of PERL DBD-Oracle which runs to a binary (sqlplus).

Earlier because I had passed the same trying to run an AGI in PERL which invoked a binary in C, the AGI (PERL) through the asterisk does not ejecutava the binary.

Do you have experience with this topic?

Sounds like a PATH issue. The sqlplus binary is in your path when you run the AGI by hand, but not when run under whatever user Asterisk runs as.

While I agree that a problem calling a binary from Perl may be a PATH issue or a permissions issue with the userID that is running the Asterisk program, I am confused by the use of sqlplus when using DBD::Oracle.

DBD::Oracle does not use sqlplus itself.
You do need access to the Oracle shared libraries. Is your LD_LIBRARY_PATH set correctly or have you setup the /etc/ file to include the Oracle client libs?

hi everyone;

We are using the asterisk the Oracle database… in the extensions.conf file( as shown below)

exten => 3456,Answer()
exten => 3456,n,Set(LANGUAGE()=ru)

exten => 3456,n,Hangup()

exten => 1401,1,Answer()
exten => 1401,n,Set(LANGUAGE()=ru)

exten => 1401,n,Agi(agi://localhost:4591/wings.agi?ivr-menu-url=
exten => 1401,n,Hangup()
exten => 2040,1,Answer()
exten => 2040,n,Set(LANGUAGE()=ru)

exten => 2040,n,Hangup()

I need the guideline about the line#4 that what is fastagi and this line is doing what…
if you note that the root_id is different for two number s [2040 & 1401]
Looking forward for the kind reply.