during the tests I discovered a problem that it is not possible to
do a re-call, for example after entering a SIP address and pressing
the call button this call is established. When terminating this first
call I cannot setup a second call by just pressing the call button
again. Even re-entering the SIP address doesn't help.
After a lengthly debug session I figured that the createOutgoingCall
method (it's a synchronized method) hangs. The first root cause is that
the hangup method (in the same object, also synchronized) never returns
and thus locks the object. The second root cause: during hangup
processing the media sources will be closed and here the I found the
The class MutePushBufferDataSource disconnects its real data source
using the following method:
public void disconnect()
System.out.println("before disconnect: " + dataSource);
The "dataSource" is a JMF class "com.sun.media.protocol.javasound.DataSource"
and its disconnect() does not return. Thus the whole hangup processing
is blocked and in turn the telephony operators object. Is this a known
Because my system is a 64bit system, running 64 bit Java 1.5 it may happen
that JMF and the Linux specific JMF implementation do not run very well
on a 64 bit system. Do I need to do some specific setup for 64bit JMF?
Is there a pure Java JMF implementation? If yes how to use it in SC?
Another option would be to use FMJ - how to force SC to use FMJ instead