IAX2 Java library (was Re: [Asterisk-Users] New IAX software phone (for WIndows platform))

Alastair Maw asterisk at almaw.com
Mon Nov 3 11:02:14 MST 2003


On 03/11/03 16:35, Jeremy McNamara wrote:

>> I'm implementing a Java-based IVR server (and yes, I know Asterisk does
>> IVR, and no, it's not flexible enough to do what I want and no, it
>> doesn't integrate well with the Java systems we have, etc. hence my
>> doing this).
> 
> Are you mad?  What is not flexable enough for you? Java knows what STDIN 
> and STDOUT is, right?  What more do you need?

Not wanting to start a flamewar, but...

   - I can't possibly fork a whole JVM process for each caller. It's much
     too inefficient. This needs to support hundreds of simultaneous
     calls, and the GNU Java compiler just isn't good enough for our
     needs. I guess I could write an AGI wrapper script which connected
     to the Java server over a TCP connection or something and piped the
     stdin/out down the line to it.

   - We'd like to use Java because:
     - Need to do RMI to existing systems. Can't be bothered with all
       the CORBA nonsense.
     - It's more maintainable within our organization.
     - We have lots of existing components to support.
     - It does all the interoperability stuff we need very nicely,
       so we save time once the system is built (XML, etc.).
     - We like it. :)

   - I need access to the raw audio streams in realtime for various
     reasons (need to do DSP stuff for some clients, etc). Can I get this
     easily with AGI? Along with this, I need to be able to play audio
     from a URL. I don't want to have to download the whole file from the
     URL in order to play it - it wants to be streamed. Is this possible
     with AGI? The docs aren't very good for AGI, so I don't really
     know...

   - I need to be able to generate large amounts of audio in realtime,
     conference people together but then only play an audio file to one
     person within the conference, etc. I don't think AGI is flexible
     enough to do this.

   - I'd like to be able to move from Asterisk to something else if I
     need to. This is why originally I was doing things using SIP/RTP.

   - The documentation for AGI is very poor. I know it is for IAX, too,
     but I can see a Java IAX library being useful for client development
     too, and I'd like to give a little back to the * community, you
     know?

There are other reasons, but I haven't the time to explain right now. 
The above are the most important.

-- 
Alastair Maw
MX Telecom
http://www.mxtelecom.com




More information about the asterisk-users mailing list