問題タブ [mjsip]
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.
android - アスタリスク : SIP ピアが登録されていない場合は呼び出しを許可しない
SIP ベースのアプリケーションを開発しています。一般に、アスタリスクの登録済みユーザーが登録されていないユーザーに電話をかけた場合、このシナリオでは電話が切れるまで数分かかり、ユーザーは別の電話をかけるまでしばらく待つ必要があります。
だから私がしたいのは、発信者が登録されていないピアを呼び出すことを許可したくないということです。このタスクを実行するために、アスタリスクピア設定で設定するパラメータはありますか。
私は参考のためにsipdroidを使用しています。
sip - 「SIP/2.0 488 ここでは受け入れられません」エラー
私は MjSip を初めて使用し、MjUa を使用してクライアントを作成しています。アスタリスクサーバーに接続したい。G.711 をサポートしていますが、アプリを構成できません。私はこの設定を使用します:
しかし、まだ488エラーが発生します。助けてください。「MjUa」設定ファイルをどのように変更しますか?
ここにすべてのメッセージログがあります:
java - ネットワーク上の VoIP 電話をプログラムで呼び出す
環境は次のとおりです。ネットワークには、PC と Cisco VoIP 電話の両方があります。ネットワーク上には VoIP 電話を発信できる電話交換機がありますが、この交換機はプロジェクトのこの部分には関係ないと思います。
VoIP をソフトウェアに組み込むのはこれが初めてなので、PC から VoIP 電話に電話をかけることから始めようとしています。PC から電話の IP アドレスに ping を送信して応答が返ってくるので、通信できるはずです。
これまでのところ、電話が鳴り始めることを望んでいました。Java で mjsip を使用していますが、「Request Timeout」という理由で呼び出しに失敗したというメッセージが表示され、呼び出し音が鳴りません。電話に出た後に何が起こるかについては、まだコードを作成していませんが、少なくとも最初は鳴るようにしたいと考えています。
VoIP の経験が豊富な人が、私がこれを不適切に行っていることを検証または除外してくれるか、あるいはさらに多くの落とし穴を明らかにしてくれることを願っています。たとえば、電話が VoIP 電話であるという理由だけで、電話が sip 呼び出しに応答することを期待できますか? 同じネットワーク上の VoIP 電話ですが、電話交換機を経由する必要がありますか? それは私のコードの問題ですか?
コードは、私が適切に行ったと仮定すると、sip スタックを開始し、ユーザー プロファイルを設定し、電話の IP とポート 5060 に対応する sip アドレスに電話をかけようとします (Google によると、sip ポートは多くの場合 5060 です)。
それを実行すると、次のような出力が得られます。
java - Android: RTP (G.711 PCMU) 経由で .wav を SIP-Phone に送信
x-lite の被呼者が .wav ファイルの音を聞くことができるように、Android からソフトフォン (x-lite) に .wav ファイルを送信 (送信のみ) したいと考えています。
シナリオは次のとおりです。Android と x-lite は両方とも同じ WLAN にあり、両方とも FreeSwitch に接続されています。Androidフォンからx-liteを呼び出すことができます。通話が x-lite で受け入れられると、android が .wav ファイルを送信し、wireshark で RTP パケット (G.711 PCMU) が電話から x-lite に送信されていることを確認できます。音は聞こえますが、期待した音ではありません。代わりに、パチパチと音がして、ビープ音がします。
x-lite に送信した SDP に問題はありますか?
それとも、.wav の送信方法に問題がありますか?
Wireshark で UDP ストリームをたどると、最初は次のようになります。
..........UM...........-...1...0...,...)...'...0... ?...=.#.'.$. ...!................................tM.................................. ..$....................................................&.... ....M... …………………………………… ....,.............M...=...I...W...J.../........ .........#...<...T...Z...B....M.. ...#...5...5........."... ..... ...5.WL..N...........M...C...8.m.'. R...>...O...p...~...e...I...3... ................... …………M ………………………… ..........................................M... ...5...R.. .L...3.../...B...Z...b...
...X...B...!.........{............MM.........$...2...(........................................................lM...............................-.!.R.J.].s.Z.t.U.c.b.
.qv....y...........M...h.. .V...Y...c...lfE*......................................................(...E. ..X..........M...J...5.H.7.5.^...~...j............. ....(.=.h........F.....Q...(..........M.....EX..{.. .L.2................:.......Q.......v.......... ... ..........M.................0...S...K...7.+.B..... ...&...O...]..........M...rB...w.. .8.Q...?...A...>....).../.
だから私はそれが空ではないと思います。信号の開始後、何らかの信号が x-lite から Android に送信され、次に再び Android から x-lite にいくつかのパケットが送信されます... など
音が聞こえない理由を誰か教えてくれませんか?
(他のソリューションも大歓迎です) 編集:
これは MjSip の RTPStramSender の実装です: http://pastebin.com/xU4EdEex
編集 2: RFC のように SDP を次のように変更しました。
しかし、何も起こりませんでした。フレームサイズとフレームレートを変更しましたが、パチパチという音が速くなったり遅くなったりするだけです
編集 3: RtpPacket の実装: http://pastebin.com/tDLr5CYF
android - すべてのサードパーティ sip ライブラリ サンプル プロジェクトには多くのエラーが含まれています。
最初は、ネイティブ sip api を使用して sip 呼び出しを Android アプリに実装したかったのですが、正常に動作していますが、CANVAS 3、Samsung S2、s3 などの一部のデバイスでは動作していませんでした。デバッグ後、このコード行が NULL を返していることがわかりました。
manager = SipManager.newInstance(ctx);
これは、デバイスが Sip Apis をサポートしていないことを意味します。しかし、同じデバイス上で、SipDroid などの sipcalling 用の他のアプリケーションが適切に動作しています。
そのため、サードパーティのサポートを探し始めましたが、すべてのライブラリにはオープン ソース プロジェクトが 1 つしかなく、これらのプロジェクトをインポートすると多くのエラーが発生します。
mjsip libを使用した sipdroid
私はそれをビルドしてAndroidエミュレーターで起動しようと何度も試みましたが、成功しませんでした。ソース コードがビルドされず、約 1500 のエラーが生成されます。とりあえず、アプリのapkファイルをダウンロードしたところ、エミュレータ上では問題なく動きました。
私はインターネットを検索しましたが、その問題の原因について公開されている特定の問題は見つかりませんでした.
公式 Web サイトのソース コードに実際のアプリにはないバグがあり、公開されているソース コードに修正を加える機会がまだなかったのではないかと思います。