私はシリアル経由で接続された電話のモデムをシミュレートするためにパテを使用しています。私の電話が通話を受信すると、それはパテに「RING」を出力しますが、通話者がコールをキャンセルすると、パテは応答や結果を出力しません。ATコマンドの着信を逃したかどうかを知る方法
モデムは、発信者がコールを切断またはキャンセルしたが、パテで出力しないことをどのように知っていますか?
おかげ
私はシリアル経由で接続された電話のモデムをシミュレートするためにパテを使用しています。私の電話が通話を受信すると、それはパテに「RING」を出力しますが、通話者がコールをキャンセルすると、パテは応答や結果を出力しません。ATコマンドの着信を逃したかどうかを知る方法
モデムは、発信者がコールを切断またはキャンセルしたが、パテで出力しないことをどのように知っていますか?
おかげ
不在着信を検出するには、3つの方法があります。
オンにすることができる適切なAT+CIND
インジケータがあるかどうか確認してください。私はそれが1
に行くと仮定して以来、call
がやっているとは思わない。あなたの電話がcallsetup
かそれに似た何か必要なものをサポートしていれば(コールがアクティブ状態にならないときに検出するロジックを実装する必要があります)。
詳細については、27.007の「8.57参考情報」の章を参照してください。 AT + CIND =?
+CIND: ("abc",(0-1)),("xyz",(0,1)),("call",(0,1))
その後、呼び出しを返すことは、インデックス3である、と
+CIND: ("abc",(0-1)),("call",(0,1)),("xyz",(0,1))
コールするためのインデックス2.ですかないハードコードここではどのような仮定で、これは解析され、実行時(1つのチェックをチェックする必要があります最初は十分です)。コールはもはやリストされるまで
別の方法としては、RING
時AT+CLCC
でポーリングコールのステータスを開始することはできません。
また、MC
電話帳の保存をポーリングして変更を検出することもできます。
ほとんどのモデムは、着信電話番号と通話が受信されRING
と呼び出しが取り消されEND
を示しました。不在着信を表示するには、次のAT
コマンドを使用します。
AT+CPBS="MC"
AT+CPBR=1,99
最初のコマンドは不在着信の電話帳と、この動作は、標準ではないことを1〜99注から2番目のコマンドをロードエントリに見えるようにモデムに指示します。私はこれをGSMモジュールでは複製できましたが、私の3Gモデムでは複製できませんでした。あなたのモデムで試して、これが動作するかどうか確認してください。ではごきげんよう。
明らかにするために、「MC」 - 不在着信 - 電話帳の格納はあらゆる方法で可能です。しかしながら、エントリの数、例えば、 99、完全に製造業者特有のものです(厳密に言えば、MCはAT + CPBRの '定義された'記憶価値だけであり、特に必須ではありませんが、実際には絶対にすべての携帯電話メーカーがこれをサポートしています。また、携帯電話の標準ATコマンドがサポートされていないため、現在のMCをサポートしていない理由はありません(90年代初期にはほとんどありませんでした)。 – hlovdal
サポートされている電話帳ストレージとサポートするエントリの数を確認するには、[27.007標準](http://www.3gpp.org/ftp/Specs/html-info)の「8.57参考情報」の章の最後の例を参照してください。/27007.htm)。両方ともコマンドを与えて説明します。 – hlovdal
'END'結果コードに関しては、これは標準ではなく、V.250と27.007のどちらにも参照がありません。最も近いのは、ATDで開始された音声コールのための 'NO CARRIER' [double final result code](http://stackoverflow.com/a/15591673/23118)ですが、着信コールではありません。 – hlovdal
私はあなたの2番目の方法を使いました。私のモデムが呼び出すたびに、私は 'AT + CLCC'を送り、' OK'以外のものが返ってくるかどうか確認します。ご協力ありがとうございました。 – Dac