問題タブ [sip-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sip - QQCom SIP クライアントで接続に失敗しました
チャットする Windows 用の QuteCom SIP クライアントを選択しました。公開サーバーにアカウントをインストールして構成しました。私の SIP サーバーは kamailio です。サーバーへの接続が確立されていません。アプリケーションがサーバーに長時間接続しています。
どんな助けでも大歓迎です。
sip - PJSIP を使用して TCP 経由で SIP コールを発信する
PJSIP の pjsua ダイヤラー (pjsua_app.c、PJSIP 2.0.1 に基づく) を TCP トランスポートと SIP トランクと共に使用して、携帯電話に電話をかけています。ダイヤラーは TCP 経由で SIP サーバーに登録し、TCP 経由で INVITES も送信します。UDP トランスポートは使用されていません。
環境はこのようなものです -
PJSIP (NAT の背後)<--- SIP over TCP ---> SIP サーバー <--- SIP トランク --> SIP トランク プロバイダー <-- PSTN/モバイル ゲートウェイ-->携帯電話
すべての呼び出しは、PJSIP over TCP からモバイルに行われます。UDP トランスポートの作成を無効にするため"cfg->no_udp = true;"
に、関数の最後に行を挿入しました
ここに記載されている手順に従って、TCP 経由で呼び出しを行いました。
問題は、モバイル エンドから PJSIP ダイヤラに送信されたオーディオを受信できないことです。しかし、PJSIP ダイヤラからの RTP パケットはモバイル側に問題なく到達します。通話が確立されると、モバイルで音声が聞こえます。
パケット トレースから、PJSIP ダイヤラーでメディアを受信しない理由は、SIP サーバーが SIP トランク経由で受信した RTP パケットをプライベート IP アドレスに送信しているためであることがわかりました。
しかし、登録のために UDP に切り替え、TCP 経由で INVITES を送信すると、呼び出しは正常に機能します (両端でオーディオ)。
Wireshark パケット キャプチャは次を示します -
これは PJSIP のバグですか? もしそうなら、どうすればこれを修正できますか。Wireshark パケット トレースは、リクエストに応じて利用できます。皆様のご協力とご意見をお待ちしております。
sip - SIP 複数の 2** 応答
通話に対して複数の 2** 応答を受信しています。問題は、通話が接続され、サーバーが「ACK」パケットを受信し、通話が正常に開始されると、サーバーは再び「OK」応答パケットを呼び出し先に送り返し、「ACK」パケットを再度受信することです。これは、コールが自動的に終了する前に複数回発生します。通話が正常に接続された後でもサーバーが「OK」応答を送信している理由と、問題の可能な解決策を誰かに説明してもらえますか? 助けてくれてありがとう。
xmpp - WebRTC MCU としてのアスタリスクと外部認証
私は、統合されたカスタマイズ可能なチャット システム (XMPP ベース) を備えた Web サイトを持っています。
私はlicode、muaz-khan's、jinja's plugin、OpenTok for WebRTC などの多くの WebRTC フレームワークを試しましたが、どちらも十分な信頼性がありませんでした (特にマルチユーザーの会話で)。
そこで、WebRTC または Flash クライアント ( sip5mlなど) に参加する、最もテスト済みで安定した信頼性の高い SIP サーバー ( Asterisk など) に依存することにしました。
問題は: 2 つのアカウントのテーブル ( WebSite & Asterisk ) を挿入して同期したくないのですが、それらを 1 回だけ挿入して、アスタリスクでそれらをリアルタイムで取得できますか?
sip - Kamailio は CANCEL されたブランチから 200 OK をブロックする必要があります。
レジストラと tm を実行している Kamailio 4.0.4 プロキシ (K) があります。一部の AOR には複数のクライアントがあり、すべてのクライアントが特定の INVITE を自動的に受け入れるため、競合状態が発生し、複数のブランチから 200 個の OK が呼び出し先に送信されます。
シナリオ: - A が B に招待を送信
- K は、B の uloc で 2 つの連絡先を見つけました。それらを B1 と B2 と呼びましょう。
INVITE は分岐され、B1 と B2 に送信されます 注: B1 のリンク遅延は 100 ミリ秒、B2 の遅延は 150 ミリ秒です
B1 と B2 の両方が、200 OK を受け取るとすぐに自動承認します。
INVITE 分岐から 200ms 後、K は B1 から 200 OK を取得し、それを A に中継します。
- K も B2 への INVITE をキャンセルします。
A は実際には 200 OK を即座に B1 に返すローカル AS です。
ここでの問題は、B2 が 50 ミリ秒前に 200 OK をすでに送信しており、さらに 150 ミリ秒の間 CANCEL を受信しないことです。
したがって、B2 からの 200 OK が K に到達しますが、コールは A と B1 の間ですでにセットアップされています
- 何が起こるかというと、200 OK が A に中継され、この時点で A は完全に混乱します。正直なところ、あまり良い AS ではないからです。
実際の質問ですが、余分な 200 OK が A に行かないようにするにはどうすればよいですか?
それがどのように機能するかのいくつかのオプションを見ることができます:
- 200 OK を落として、捨てるだけです。B2 は、CANCEL がすぐにヒットするため、再送信しないでください。
- ACK + BYE カマイリオ内部からの 200 OK ですが、これにより、メディア セッションが開始され、B2 によってすぐに破棄されます。
この競合状態をカバーする RFC を見つけることさえできません..
authentication - アスタリスク リアルタイムおよび外部 SIP テーブル
Asterisk Realtimeのおかげで眠れぬ夜を過ごしています。ドキュメントを理解するのに苦労しています(http://www.voip-info.org/wiki/view/Asterisk+RealTime+Sipなど)。テーブルが多すぎ、パラメーターが多すぎ、情報が断片化されており、完全なチュートリアルはありません。
外部MySQLのテーブル( id, user, chatkey )から一部のユーザーを自動登録するだけです。
それを機能させるために設定する必要がある列はどれですか? 単にユーザーとパスワードの列がある場合、それらを my.user と my.chatkey と一致させたでしょうが、今は非常に混乱しています。
テーブル + トリガーの代わりに VIEWS を使用すると、副作用はありますか?
websocket - Websocket を介した SIP から真の SIP へ
HTML
sip クライアント (sipml5 を使用して作成)から接続するための sip サーバーを実装しようとしています。これを行うための調査中に、私にとって役立つかもしれないsip over web-socketsに出くわしましたが、sip overを介しweb-sockets
て互換性のあるサーバーに接続するユーザーエージェントが正常に呼び出しを行うことができるかどうかはわかりません互換性のないサーバーを使用しているもの (つまり、SIPweb-sockets
から真の SIP への呼び出し)。
レガシー ネットワークへの接続に使用できることはわかっwebrtc2sip
ていますが、可能であれば別のプロキシの使用は避けたいと思います。overを使用して互換性のあるSIP
サーバーに接続し、このユーザー エージェントからoverをサポートしていない別のユーザー エージェントにを使用せずに呼び出すことは可能ですか?SIP
web-sockets
SIP
web-sockets
gateway
proxy - ブリッジ モードでの Opensips+Nat+RTPProxy
1 つの eth0 と 1 つの tun0(ovpn) の 2 つのインターフェイスを使用したいと考えています。
クライアント <-LAN-> NAT(ルーター) <-インターネット-> opensips <-OVPN-> アスタリスク <-LAN-> クライアント <---eth0-----> <-----tun0---- ->
opensips は mhomed=1 で実行されており、rtpproxy は opensips ホストで実行されています。すべてのメディア トラフィックが rtpproxy を介して実行されるようにしたいと考えています。また、NAT トラバーサルの問題を解決するために NATHelper を使用しています。構成は既に機能していましたが、1 つのインターフェイスに対してのみでした。誰かが私の問題を解決するのを手伝ってくれますか?
ここで私のコードを見ることができます: http://opensips-open-sip-server.1449251.n2.nabble.com/Opensips-Nat-RTPProxy-in-bridged-mode-td7588578.html
前もって感謝します。