問題タブ [voip]

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.

0 投票する
1 に答える
147 参照

voip - VOIP 通話のトランキングと終了についてアドバイスが必要

私は、基本的にスカイプとまったく同じように、エンドユーザーに VOIP 電話をかけるプロジェクトに取り組んでいます。

問題は、通常の固定電話に電話をかける必要がある場合、VOIP からのすべての通話を PSTN として終了する必要があることです。インドの環境では、インド政府は、VOIP サービスを介した通話 (携帯電話から固定電話/固定電話から固定電話など) を許可していません。通話はユーザー側で PSTN で終了する必要があり、国内法では許可されていません。これにより、国外からの通話のみが PSTN として終了できますが、国内からの通話は許可されません。

これに対する回避策はありますか? この質問を表現するのは少し難しいですが、質問があれば質問してください。

ご協力ありがとうございました

モハン

0 投票する
2 に答える
937 参照

android - Android は Atom プロセッサ プラットフォームに推奨されますか?

Atom プロセッサを搭載したハンドヘルド デバイスを開発する予定です。このデバイスでテレコム アプリケーションを実行するために、Android 組み込み OS を使用することを考えています。Android はワイヤレス アプリケーションに適していると友達から聞いたことがあります。しかし、私のデバイスにはワイヤレス アプリケーションは必要ありません。このデバイスで実行するには、データ (ping、traceroute...)、IPTV、および VoIP アプリケーションのみが必要です。では、私のデバイスに Android を使用することをお勧めしますか?

0 投票する
3 に答える
1362 参照

c# - 再販可能なAPIを備えたVOIPサービス?

デスクトップアプリケーションにダイヤル機能を追加しようとしています。必要:

  1. C#へのシームレスな統合を可能にするAPI/SDK。アプリケーションユーザーは、VOIPプロバイダーが誰であるかを知りません。
  2. ライセンスでの再販を許可します。パッケージの一部として含まれ、エンドユーザーに請求します

この法案に適合するパッケージはありますか?

0 投票する
1 に答える
851 参照

sockets - sendngRTPのudpソケットオプション

RTP音声パケットを送信するためにWindowsプラットフォームでソケットを開いています。アプリケーションはソフトフォンです。このソケットにはどのようなオプションを設定する必要がありますか。

0 投票する
2 に答える
5308 参照

voip - ボイス チャット アプリケーション (クライアント/サーバー) の構造は?

専門家の意見が必要です。私の質問自体が混乱した質問である場合は申し訳ありません。

私はVOIPアプリケーション(クライアント/サーバー)の構造について読んでいました。また、ほとんどの場合、音声ストリームには UDP が推奨されます。また、paltalk や inspeak などのいくつかのボイスチャット アプリケーションを確認したところ、それらのサイトでは、以下の理由で正しくないように思われる udp 音声ストリームを使用していると記載されています。

paltalk と inspeak が使用するトラフィック/ポートを調べました。UDP と TCP のポートが開いていて、パケット スニファを使用すると、UDP 通信があまり行われていないことがわかりますが、ほとんどの場合、TCP 通信が行われています。

また、私の知る限り、UDP プロトコル サーバーでは、NAT (DSL ルーター) の背後にあるクライアントにデータを送信できません。また、「UDP ブロードキャスト」は、「インターネット」ベースのボイス チャット アプリケーションのオプションではありません。そのため、yahoo はドキュメントで、udp 通信が不可能な場合に yahoo メッセンジャーが tcp に切り替わると述べています。

だから私の質問は....

  1. 上記のステートメントで何か間違っていることを理解していますか?

  2. UDP が使用できない場合、それらのチャット アプリケーションは音声に TCP ストリームを使用しますか?

  3. TCP音声ストリームが遅延を引き起こすことを経験したので、音声の途切れはありませんが、音声の遅延はあります.ボイスチャットサーバー/クライアント通信に最適な構造は何ですか?

これまでのところ、クライアントがデータをudpパケットとしてサーバーに送信し、サーバーがTCPストリームを介してクライアントにパケットを配布する場合、これは適切な解決策ですか? つまり、これは商用のボイスチャット アプリケーションが行うことですか?

あなたの答えは私と他の多くのプログラマーに役立ちます。

JF

0 投票する
2 に答える
170 参照

client - グループ インスタント メッセージと音声の両方の機能を備えた、変更可能なフラッシュ ベースの Web クライアントはありますか?

グループ インスタント メッセージと音声機能の両方を備えた、変更可能なフラッシュ ベースの Web クライアントを探しています。オープンソースまたは独自のソリューションを知っている人はいますか?

0 投票する
1 に答える
5205 参照

delphi - Directsound-ネットワークからのデータで満たされたストリーミングバッファの再生に問題があります!Delphi用に移植されたDirectXヘッダーを使用する

さらに別のDirectSoundの質問に戻ります。これは、DirectSoundバッファの使用方法に関するものです。

アプリケーションの他の部分によって生のwavデータにデコードされるオーディオデータを含むパケットが約30ms間隔でネットワーク経由で着信しています。

Indataイベントがこれらの他のコードによってトリガーされると、基本的に、オーディオデータをパラメーターとして使用するプロシージャにドロップされます。

DSCurrentBufferは次のように初期化されました。

このデータを次のようにセカンダリバッファに書き込みます。

ここでは、入力データは音声データに変換されますが、質問自体には関係ありません。

上記は、OnAudioDataイベントで実行するコードです(プロトコルで送信されたメッセージをデコードする独自のコンポーネントによって定義されます)。基本的に、コードは、オーディオデータを含むUDPメッセージを取得するたびに実行されます。

バッファに書き込んだ後、バッファに十分なデータが入ったら再生を開始するために次のことを行います。ちなみに、BufferSizeは現時点で1秒に相当するように設定されています。

これまでのところ、オーディオの再生は少し途切れがちですが、これまでのところ良好です。残念ながら、このコードでは十分ではありません。

また、再生を停止し、データが不足したときにバッファが再びいっぱいになるのを待つ必要があります。これは私が問題にぶつかっているところです。

基本的に、オーディオの再生が最後にバッファに書き込んだ時点に到達したことを確認し、書き込みが終了したときに停止できるようにする必要があります。そうしないと、もちろん、受信しているオーディオデータの遅延によってオーディオが台無しになります。残念ながら、バッファへの書き込みを停止することはできません。バッファを再生し続けると、1秒前に残った古いデータが再生されるだけです(循環している場合など)。したがって、PlayCursorPositionかどうかを知る必要があります。バッファ書き込みコードで追跡しているLastWrittenByte値に達しました。

DirectSound Notificationsは私にとってこれを行うことができるように見えましたが、データを書き込むたびにバッファを停止してから新たに開始すると(SetNotificationPositions()ではバッファを停止する必要があります)、再生自体に顕著な影響があるため、オーディオそれは以前よりもさらに壊れた音を再生します。

通知を受け取るために、これを記述コードの最後に追加しました。バッファにデータを書き込むたびに新しい通知を設定することは、おそらくうまく機能しないだろうと思っていました...しかし、ちょっと、試してみても害はないと思いました:

NotificationThreadは、WaitForSingleObjectを実行するスレッドです。CreateEventは、新しいイベントハンドルを作成し、WaitForSingleObjectが前のイベントハンドルの代わりにそれを待機し始めるようにします。ReachedLastWrittenByteは、私のアプリケーションで定義されているプロシージャです。スレッドはクリティカルセクションを開始し、通知がトリガーされたときにそれを呼び出します。(もちろん、WaitForSingleObjectは20ミリ秒のタイムアウトで呼び出されるため、CreateEventが呼び出されるたびにハンドルを更新できます。)

ReachedLastWrittenByte()は次のことを行います。

通知がトリガーされ、使用しているセカンダリバッファで停止を呼び出すと、オーディオはプライマリバッファに残っているデータのように見えるものをループし続けます...

それでも、通知は適切にトリガーされません。これらのオーディオメッセージを送信している他のアプリケーションからのオーディオデータのブロードキャストを停止すると、バッファ内の残りの部分をループし続けます。つまり、基本的には、設定した最新の通知(lastwrittenbyte)を超えています。再生中は、ときどき停止し、バッファがいっぱいになってから再生を開始します...バッファがいっぱいになった後、入ってくるデータを再生するために、バッファリングしたばかりのデータの0.5秒をスキップします(つまり、バッファがいっぱいになりますが、新しいデータの入力を開始する前にその内容を再生する必要はないようです。ええ、私にもわかりません。)

ここで何が欠けているように見えますか?DirectSound Notificatiosnを使用して、最後に書き込まれたバイトがいつ再生されたかを確認するというアイデアは、無駄な努力ですか?ストリーミングバッファを使用してこの種のバッファリングを行う方法があると思います。

0 投票する
2 に答える
522 参照

iphone - iPhone での 3G 経由の VoIP、SDK で何が変更されましたか?

SDK3.2 を調べて、3G ネットワーク上で IP を介して直接呼び出しを行う新しい機能について調べましたが、API の差分に明らかなものは見当たりません。これは単に Apple が低レベルのプライベート フレームワークで許可しているものなのか、それともパブリック フレームワークにも反映されているのでしょうか? もしそうなら、どのフレームワーク、クラス、メソッドですか?

助けてくれてありがとう

0 投票する
1 に答える
806 参照

c# - 音声会議 - より多くの人が会話に参加するにはどうすればよいですか?

まず第一に、私はただの趣味なので、これがばかげた質問であったり、あまりにも素朴すぎたりしたら申し訳ありません. (高価なライブラリを買えないということでもあります)

これが状況です: 私は C#.NET で簡単なボイス チャット アプリケーションを構築しています (Ventrilo や TeamSpeak のようなものですが、約 15 人または 20 人のみで、100Mbps LAN で実行されます)。サーバー (各クライアントの生成スレッド) と、接続に UDP を使用し、サウンドのキャプチャと再生に DirectSound を使用するクライアント アプリケーションがあります。「1 対 1」の電話をかけることはできますが、最も重要なことの 1 つがわかりません。

会話に 2 人以上が参加するにはどうすればよいですか?

0 投票する
1 に答える
183 参照

hardware - Sailfinを使用したVoIPアプリ

Sailfin(https://sailfin.dev.java.net/)で実行されるVoIPアプリケーションの開発を検討しています。

サーバーを稼働させ、サンプルアプリをインストールしました。私がしたいことは次のとおりです。

VoIPアプリケーションで固定電話からの通話を受信します。アプリケーションからPSTN内の他の番号に電話をかけます。

わからない部分は、固定電話ジャックと開発ボックスの間にどのハードウェアが必要かということです。

ありがとう!