[Asterisk-Dev] VXML (was Call control problems from Java)

Zac Wolfe zacw at safisys.com
Fri Oct 1 15:26:47 MST 2004


Ya I agree completely (especially after I read your earlier post about
"changing *'s module invocation"). In some ways it's convenient for
development to start asterisk from your java app but not the way you want to
go for production.  The version of JAsterisk i'm playing with right now is
modified so I can go either way, JVM in * or * in JVM.  I haven't released
it yet since my classpath is currently hardcoded into asterisk.c (doh!) for
the former configuration.

As you probably know, there are some strategies to reduce GC time and make
Java more amenable to real-time applications (I think there's even a JSR for
a real-time api) but I agree it's not Java's strongpoint.  Are you building
a VXML engine for Asterisk or a general purpose one? If it's going to be
opensource (or even if it's not), please let me know if I can be of service.

Zac


-----Original Message-----
From: David Pollak [mailto:dpp-asterisk at projectsinmotion.com]
Sent: Friday, October 01, 2004 2:18 PM
To: zacw at safisys.com; Asterisk Developers Mailing List
Subject: Re: [Asterisk-Dev] VXML (was Call control problems from Java)


Guys,

Doing CCXML and VoiceXML in Java is a great idea.  I've been working on
it myself for a couple of weeks.  However, I'd strongly recommend
against doing it in the same process as Asterisk for a number of reasons:
- JVMs crash.  A crashing JVM should not bring your Asterisk process down.
- If you run the JVM in a separate process that enables running it on a
different machine and having one control machine handling multiple
Asterisk instances.
- You'll want to control the CCXML process from a web browser (e.g.,
check on call status, etc.) Putting a web server (e.g., Tomcat) inside
the Asterisk process doesn't make a lot of sense
- If you want to access corporate data via Enterprise Java Beans
(something that folks might want to do in a CCXML/VoiceXML application)
you'll need an EJB container (WebLogic, WebSphere, JBoss)... which you'd
also have to run in the Asterisk process.

There's no real benefit to running the JVM in the Asterisk process and
there are a lot of downsides to it.  My 2 cents -- do a bridge to an
external JVM.

Thanks,

David

Zac Wolfe wrote:

>Actually VXML/CCXML isn't that huge.  Once we get the Java stuff sorted out
>(which is almost there), building a VXML interpreter in Java isn't that big
>a deal.  And, I like Java.
>
>Zac
>-----Original Message-----
>From: Steve Underwood [mailto:steveu at coppice.org]
>Sent: Friday, October 01, 2004 12:11 PM
>To: zacw at safisys.com; Asterisk Developers Mailing List
>Subject: Re: [Asterisk-Dev] Call control problems from Java
>
>
>Zac Wolfe wrote:
>
>
>
>>Hi Miroslav,
>>
>>I'd *love* to have some help on this project but lets see if our goals are
>>in sync.
>>
>>My overall goal is to develop a Java-based VXML/CCXML engine for Asterisk.
>>Achieving this requires that I have complete call control from Java.
>>Optimally, we could then do away with the Asterisk Dialplan entirely and
do
>>everything via VXML/CCXML.  The AGI interface is OK but for my application
>>
>>
>I
>
>
>>need fine-grained event-driven processes where we can track each call from
>>setup to tear-down and everything in between.
>>
>>
>>
>>
>Why would it make any sense to build a huge thing like a VoiceXML again
>in Java, when a perfectly good free one in C++ already exists? Reusing
>OpenVXI seems far more sane.
>
>Regards,
>Steve
>
>
>
>
>
>_______________________________________________
>Asterisk-Dev mailing list
>Asterisk-Dev at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-dev
>To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>
>








More information about the asterisk-dev mailing list