[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. |