X-ECN Telecoms-MailScanner-Information: Contact ECN Telecoms X-ECN Telecoms-MailScanner: Found to be clean X-ECN Telecoms-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-97.488, required 6, AWL -0.22, FH_HOST_ALMOST_IP 1.75, RCVD_IN_SORBS_DUL 0.88, RDNS_DYNAMIC 0.10, USER_IN_WHITELIST -100.00) X-ECN Telecoms-MailScanner-From: damjan@ecntelecoms.com X-Spam-Status: No On Sat, 2007-11-24 at 19:46 -0800, jonathan augenstine wrote:
I am encountering the following error when I try to use the mod_java interface:
2007-11-24 18:38:07 [NOTICE] switch_core_state_machine.c:134 switch_core_standard_on_execute() Execute java(fs_ivr arg1 arg2 arg3) Exception in thread "Thread-0" java.lang.NoClassDefFoundError: org/freeswitch/Launcher
My dialplan has the following entry:
<extension name="Validation_Demo"> <condition field="destination_number" expression="1234"> <action application="java" data="fs_ivr arg1 arg2 arg3"/> </condition> </extension>
I'm assuming fs_ivr is a class without a package and outside any jar.
java.conf.xml has the following entry:
<options> <!-- Your class path (make sure freeswitch.jar is on it) --> <option value="-Djava.class.path=/usr/local/freeswitch/scripts/freeswitch.jar"/>
Make sure you have a /usr/local/freeswitch/scripts/freeswitch.jar
<option value="-Djava.class.path=/usr/local/freeswitch/scripts/fs_ivr"/>
This means you have a directory /usr/local/freeswitch/scripts/fs_ivr containing fs_ivr.class. Also I'm not sure if you can have multiple -Djava.class.paths like this (that could be why it isn't finding org/freeswitch/Launcher), you might have to have one colon (:) separated list of paths. This is also why I prefer having JARs by the way, you don't have to set the classpath before running freeswitch and reload mod_java if it changes, and if you overwrite the JAR with a newer version it starts using the newer version for calls made from then on (no dialplan editing required :-).
<!-- Enable remote debugging --> <option value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=MailScanner warning: numerical links are often malicious: 127.0.0.1:8000"/> </options>
I have also tried setting the class path to freeswitch.jar in the CLASSPATH environment variable.
export CLASSPATH=/usr/local/freeswitch/scripts/freeswitch.jar.
The CLASSPATH environment variable is ignored.
None of the permutations have met with success. Can anyone spot the error I am making? Any ideas on what to try?
Sorry it's so confusing, I'll document it better when you get it working.
Jonathan
Damjan