[Asterisk-java-users] Ami freezes on error -> Sending DTMF to zombie channel
Brought to you by:
srt
|
From: Jorge <gus...@gm...> - 2015-02-25 20:11:47
|
Hi:
I have seen an error that is quite strange. I am connecting to Asterisk
using asterisk-java-1.0.0.M3.jar on this way :
ManagerConnectionFactory factory = new ManagerConnectionFactory(url, user,
pwd);
managerConnection = factory.createManagerConnection();
asteriskServer = new AsteriskServerImpl(managerConnection);
try {
managerConnection.login();
After that it connects well. I see the connection in the Asterisk CLI and I
am able to send commands. I have seen that when I try to transfer a call
and, at the same time, send DTMF tones it crash. I think this behaviour is
normal because I am tryinig to send DTMF tones to a Zombie channel. The
problem here is that the connection between Java and Asterisk is lost. I am
using PingThread and it says that it is not possible to reach the AMI but
when I see the Asterisk cli using "*manager show connected"* I see the
connection between Asterisk and Java, but the connection is not there
because of the PingThread error.
This is the error I got. Could you let me know if there is a way to
maintain the connection with the AMI? Is it normal losing the connection?.
Theoretically the AMI connection is maintained throw a process that tries
to reconnect. What is going on here?
org.asteriskjava.live.NoSuchChannelException: Channel
'AsyncGoto/DAHDI/i1/123456789-7d<ZOMBIE>' is not available: Channel not
found
at
org.asteriskjava.live.internal.AsteriskChannelImpl.playDtmf(AsteriskChannelImpl.java:727)
[...]
org.asteriskjava.live.ManagerCommunicationException: Unable to send
PlayDTMFAction
at
org.asteriskjava.live.internal.ManagerCommunicationExceptionMapper.mapSendActionException(ManagerCommunicationExceptionMapper.java:60)
at
org.asteriskjava.live.internal.AsteriskServerImpl.sendAction(AsteriskServerImpl.java:846)
at
org.asteriskjava.live.internal.AsteriskChannelImpl.playDtmf(AsteriskChannelImpl.java:724)
[..]
Caused by: org.asteriskjava.manager.TimeoutException: Timeout waiting for
response to PlayDTMF
at
org.asteriskjava.manager.internal.ManagerConnectionImpl.sendAction(ManagerConnectionImpl.java:825)
at
org.asteriskjava.manager.internal.ManagerConnectionImpl.sendAction(ManagerConnectionImpl.java:781)
at
org.asteriskjava.manager.DefaultManagerConnection.sendAction(DefaultManagerConnection.java:311)
at
org.asteriskjava.live.internal.AsteriskServerImpl.sendAction(AsteriskServerImpl.java:842)
... 12 more
Thank you very much for your help. Kind regards.
|