0

電話をダイヤルできる C# プログラムを作成しました。ここで私がしなければならないことは、リモートの電話デバイスで発生するリングの数を数えることです。

私の C# プログラムは、コマンド ATDT [phoneno]を使用して番号をダイヤルします。リモートの電話が 5 回以上鳴る場合は、他のアクティビティを実行する必要があります。

これを達成する方法はありますか?

4

3 に答える 3

0

標準モデムとシリアルポートを介してそれを達成することはできません。最善の方法は、タイムアウトを設定することです。呼び出し中、モデムは通信を開始する前にキャリア信号を探すだけです。リングはカウントされません。

どうしてもそうしなければならない場合は、モデムからオーディオを取得して処理し、呼び出し音の数を取得する必要があります(電話網などによっては些細なことではなく、呼び出し音はかなり異なり、ホールドトーンと混同される可能性があります)。

于 2011-03-29T11:34:55.300 に答える
0

私の知る限り、実際のリングの数を数えることはできません。鳴らないが曲を再生する便利なものについて考えてみてください。したがって、できることは、タイマーを実行し、タイムアウト(たとえば、20秒)に達した後に電話を切ることだけです。

于 2011-03-29T11:35:34.360 に答える
0

モデムによっては、リング通知を受け取ることができるはずです。入力用のシリアルポートを開き、RING回線が呼び出されている間などの単語を監視します。ある種のカウンターを開始して、回線の状態を監視できるはずです。デバイスの高度な AT コマンドを調べて、これらの通知を報告するように構成されていることを確認する必要がある場合があります。

レジスターS0S1.

于 2011-03-29T13:22:52.743 に答える