1

ローカル マシンの Oracle VirtualBox で Mobicents Media Server と Restcomm を実行しています。1234 に電話をかけているときに、次のエラーが表示されます。

2015-06-24 14:47:50,231 情報 [MGCP] (スレッド 2) tx=147483653 開始、メッセージ = CRCX mobicents/bridge/$@192.168.1.122:2427、コール エージェント = /192.168.1.122:2727
2015-06-24 14:47:50,238 情報 [UdpManager] (スレッド 1) 192.168.1.122:65534 をバインドしようとして失敗しました
2015-06-24 14:47:50,244 INFO [RtpConnectionImpl] (スレッド 1) FormatsRTPFormats{0 AudioFormat[PCMU,8000,8,mono],8 AudioFormat[PCMA,8000,8,mono],101 AudioFormat[電話- event,8000,mono],93 AudioFormat[Speex,16000,mono]}
2015-06-24 14:47:50,256 INFO [MGCP] (スレッド 2) tx=147483653 は正常に実行されました
2015-06-24 14:47:50,414 情報 [MGCP] (スレッド 1) tx=147483654 開始、メッセージ = CRCX mobicents/bridge/1@192.168.1.122:2427、コール エージェント = /192.168.1.122:2727
2015-06-24 14:47:50,425 INFO [MGCP] (スレッド 2) tx=147483654 は正常に実行されました
2015-06-24 14:47:50,433 情報 [MGCP] (スレッド 1) tx=147483655 開始、メッセージ = MDCX mobicents/ivr/1@192.168.1.122:2427、コール エージェント = /192.168.1.122:2727
2015-06-24 14:47:50,447 INFO [MGCP] (スレッド-1) tx=147483655 は正常に実行されました
2015-06-24 14:47:50,533 情報 [MGCP] (スレッド 1) tx=147483656 開始、メッセージ = RQNT mobicents/ivr/1@192.168.1.122:2427、コール エージェント = /192.168.1.122:2727
2015-06-24 14:47:50,557 INFO [再生] (スレッド-1) (mobicents/ivr/1) アナウンス開始 (セグメント=0)
2015-06-24 14:47:50,598 ERROR [AudioPlayerImpl] (Thread-1) (mobicents/ivr/1) エラーが発生しました
java.io.FileNotFoundException: http://192.168.1.122:8080/restcomm/cache/ACae6e420f425248d6a26948c17a9e2acf/c5fd1f13812a7d11cd9072b5a7c1d3455265a5724094920f929f4feb941c
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1624) で
    java.net.URL.openStream(URL.java:1037)
    org.mobicents.media.server.impl.resource.mediaplayer.audio.wav.WavTrackImpl で。(WavTrackImpl.java:74)
    org.mobicents.media.server.impl.resource.mediaplayer.audio.AudioPlayerImpl.setURL (AudioPlayerImpl.java:150) で
    org.mobicents.media.server.mgcp.pkg.au.Play.startAnnouncementPhase (Play.java:116) で
    org.mobicents.media.server.mgcp.pkg.au.Play.execute (Play.java:109) で
    org.mobicents.media.server.mgcp.controller.Request.execute (Request.java:142) で
    org.mobicents.media.server.mgcp.tx.cmd.NotificationRequestCmd$Executor.perform (NotificationRequestCmd.java:213) で
    org.mobicents.media.server.scheduler.Task.run (Task.java:122) で
    org.mobicents.media.server.scheduler.Scheduler$WorkerThread.run(Scheduler.java:420) で
2015-06-24 14:47:50,599 INFO [再生] (スレッド-1) 受信した URL が見つかりません、発火
2015-06-24 14:47:50,603 INFO [MGCP] (スレッド-1) tx=147483656 は正常に実行されました
2015-06-24 14:47:50,873 情報 [JitterBuffer] (スレッド 2) フォーマットが変更されました: 0 AudioFormat[pcmu,8000,8,mono]
2015-06-24 14:47:58,193 情報 [MGCP] (スレッド 1) tx=147483657 開始、メッセージ = DLCX mobicents/bridge/1@192.168.1.122:2427、コール エージェント = /192.168.1.122:2727

restcomm.conf は次のとおりです。

# Network configuration
NET_INTERFACE=eth0
PRIVATE_IP=192.168.1.122
SUBNET_MASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST_ADDRESS=192.168.1.255
# PUBLIC IP ADDRESS
STATIC_ADDRESS=192.168.1.122

メディアサーバーの構成は次のとおりです。

<!-- Network interfaces definition -->
    <bean name="localhost" class="org.mobicents.media.server.io.network.UdpManager">
        <constructor>
            <parameter><inject bean="Scheduler"/></parameter>
        </constructor>
        <property name="bindAddress">192.168.1.122</property>
        <property name="localBindAddress">192.168.1.122</property>
        <property name="localNetwork">192.168.1.0</property>
        <property name="localSubnet">255.255.255.0</property>
        <property name="useSbc">true</property>
        <property name="rtpTimeout">0</property>
    </bean>

restcomm.xml の構成は、

<!-- The location where the audio prompts are located. -->
        <prompts-uri>http://192.168.1.122:8080/restcomm/audio</prompts-uri>

        <!-- Cache settings. -->
        <cache-path>${restcomm:home}/cache</cache-path>
        <cache-uri>http://192.168.1.122:8080/restcomm/cache</cache-uri>


        <!-- The path where recordings made by the <Record> verb are stored. -->
        <recordings-path>file://${restcomm:home}/recordings</recordings-path>
        <recordings-uri>http://192.168.1.122:8080/restcomm/recordings</recordings-uri>

        <!-- The URL to the errors dictionary. -->
        <error-dictionary-uri>http://192.168.1.122:8080/restcomm/errors</error-dictionary-uri>

        <!-- The IP to use for out-bound SIP REGISTER requests. This is useful
            when you want to report a different IP than the one RestComm picked by default. -->
        <external-ip>192.168.1.122</external-ip>
4

1 に答える 1

1
  1. キャッシュ ファイルが存在するかどうかを確認してください: $RESTCOMM_HOME/standalone/deployments/restcomm.war/cache/ACae6e420f425248d6a26948c17a9e2acf/c5fd1f13812a7d11cd9072b5a7c1d3455265a5724094920f929f4feb941c1061.wav
  2. Restcomm が 192.168.1.122:8080 にバインドされていることを確認します
  3. 192.168.1.122:8080 をブロックしているファイアウォールがないことを確認します

あなたが提供した MMS からのログは、この通話の実際のログの非常に小さなサブセットですが、問題はローカル ポート 65534 が空いていないことだと思います。

INFO [UdpManager] (Thread-2) Failed trying to bind 192.168.226.245:65534

この時点で、MMS は 192.168.226.245 で RTP ポート 65534 をバインドしようとしています。

Restcomm/MMS を停止することをお勧めします。実行ps -ef | grep javaして、Restcomm/MMS が実際に停止したことを確認してから、もう一度開始して netstat -anp | grep 65534、ポートがビジーかどうか、およびこのポートを持つプロセスを確認してください。

これで問題が解決しない場合は、pcap ファイル (tcpdump -i any -w YOUR_FILE.pcap) を提供し、Restcomm および MMS ログ ファイルを完成させてください (テスト コールの前に古いログを削除してください)。

ジョージ

于 2015-06-24T14:28:17.550 に答える