I am currently working on a thesis to finish my studies in computer science. The plan is, to integrate a SIP and XMPP client into our existing business framework MINOS. As this framework is web-based, the client should also start from the web, either as an applet or as Java WebStart.
I found two java clients which are able to speak the SIP as well as the XMPP protocol. Those are SIP Communicator and Spark.
I would prefere to use Spark, but I have got some problems with the sip plugin:
A major point is, that the plugin is not running on Linux (I know that this is due to the limited support of JMF for Linux). So I tried to use FMJ instead of JMF, which was partly succesfull (I could place a call to a hardphone, where the sound on spark was ok, but the sound on the hardphone was stutteringly), but still not satisfying. Is it possible to replace FMJ with JMF?
It takes very long until the call gets established (when Spark is the caller as well as the callee), after the phone of the callee is picked up (6 seconds or even more - this happens on Linux as well as on WinXP). On the logs I can see that Spark tries to find a matching format for the audio stream. Compared to SipCommunicator: here a call gets directly established, as soon as the callee picks up the phone. It also checks for the audio formats, but here it is done at startup, so that there is already information available when a call comes in/ is placed. Is it possible to handle this in Spark in the same way?
The sound has a very long delay (about 500ms - on Linux and WinXP), although it is on our local net. On tests with other phones there is nearly no delay at all. SipCommunicator (as another Java SIP app) for example has nearly no delay - so I think this should also be possible with Spark? For what are these 500ms currently used?
Do you think those problems could be solved?