0

Asterisk-Java を使用して、Asterisk PBX からのメッセージをリッスンしています。このアプリは以前は機能していましたが、いくつかの変更を加えました。現在、このアプリを実行してデスクフォンからテスト会議通話を発信しようとすると、次のように表示されます。

Asterisk-Java ManagerConnection-0-Reader-2 2012-06-06 17:17:46,858 DEBUG [manager.internal.ManagerConnectionImpl] - Dispatching event:
org.asteriskjava.manager.event.MeetMeJoinEvent[dateReceived='Wed Jun 06 17:17:46 BST 2012',privilege='call,all',sequencenumber=null,meetme='1',calleridname=null,timesta
mp=null,uniqueid='1338999461.46707',server=null,calleridnum=null,channel='SIP/10.252.26.15-08b76ab0',usernum='1',systemHashcode=233612073]
Asterisk-Java ManagerConnection-0-Reader-2 2012-06-06 17:17:46,869 DEBUG [manager.internal.ManagerConnectionImpl] - Dispatching event:
org.asteriskjava.manager.event.DisconnectEvent[dateReceived='Wed Jun 06 17:17:46 BST 2012',timestamp=null,sequencenumber=null,server=null,systemHashcode=681515782]
Asterisk-Java ManagerConnection-0-Reader-2 2012-06-06 17:17:46,870 INFO  [manager.internal.ManagerConnectionImpl] - Closing socket.

DisconnectEventの直後にが受信されていることがわかりますMeetMeJoinEvent。これは毎回発生します。常に . の直後に発生しMeetMeJoinEventます。これDisconnectEventは、アスタリスクがアプリから切断されたことを意味する疑似イベントです。呼び出し元から切断されませんでした。

その後、Asterisk-Java はすぐに自動的に再接続しますが、別のテスト コールを行うと、同じように再接続されます。Glassfish アプリケーション サーバーを再起動してみました。

私の変更がこれを引き起こしたはずはないと思います.Asterisk接続で切断を呼び出すコードは1行だけです(Webアプリがシャットダウンしたとき)、その行に対応するログメッセージは表示されません.ログ。

何が原因でしょうか?

4

1 に答える 1

1

実際にはアスタリスクがアプリから切断されたのではなく、アプリがアスタリスクから切断されたのです。

これは、Asterisk-Java にバグがあるために発生しました。イベント ハンドラーで例外をキャッチしますが、エラーはキャッチしません。そして、キャッチされていない Throwable を取得した場合、Asterisk が切断されたに違いないと想定します。

メインの Glassfish ログ ファイルで、キャッチされていない例外スタック トレースを見つけました。

于 2012-06-07T11:16:33.427 に答える