私はHuawei E160EとHuawei K3765 "GSM"モデムを持っています。
問題は、このモデムを使用して音声データを送受信し、電話/音声通話を発信または受信する方法です。
仕様によると、どちらも音声通話をサポートしているようです(E160E、K3765)とATコマンドによると:
発行された
AT^CVOICE?
明らかにする
^CVOICE:0,8000,16,20
OK
(両方のモデムは同じ)
/dev/ttyUSB0
両方のモデムは3つのUSBポートを提供し、これを/dev/ttyUSB1
、、と呼びます/dev/ttyUSB2
(システムに他のUSBシリアルデバイスがないとします)。 K3765はcdc_ether
イーサネットデバイスを追加登録します。私はLinuxを使用しています。
/dev/ttyUSB0
両方にATコマンドを配置し/dev/ttyUSB2
て応答を受け取ることができ、/dev/ttyUSB2
ステータスメッセージ(たとえば^RSSI:23
、^BOOT:38021325,0,0,0,77
または^SIMST:1
)も報告されます^SRVST:2
。 K3765も基本的に誰かが電話(RING
)をすると報告しますが、E160Eはそうではありません。
両方のモデムで通話を発信してATD<number>;
電話をかけるために使用できますATA
。
/dev/ttyUSB1
何もしていないようです。単にファイルに書き込むとデータは書き込まず、ファイルから読み込むとデータは出力されません。
モデムとオーディオデータをどのように転送しますか?
私は見つけたこのスタック交換の質問そして答えサイチャタニアffmpeg
/を使用してコメントを作成しますffplay
。ffplay
それは私にぴったりで、コードが切り捨てられていて多くのことを試すことができませんでした(プログラマではなく、特にPythonではありませんが、C
これが私のモデムで動作するかもしれません)。
Asteriskのような大きなソフトウェアパッケージを使用することに加えて、実際にこれらのデバイスにオーディオを入れて取り除く方法についての情報はインターネット上で見つけることができません。私はそれをしたくありません。問題は、デバイスで動作させる方法です。基本的な方法。
それでは、Huawei GSMモデムとオーディオを通信する方法は?
モデム情報:ATI
- コマンド出力:
E160E:
Manufacturer: huawei
Model: E160X
Revision: 11.609.10.02.432
IMEI: 354765038021325
+GCAP: +CGSM,+DS,+ES
OK
K3765:
Manufacturer: huawei
Model: K3765
Revision: 11.126.03.06.00
IMEI: 353142047899771
+GCAP: +CGSM,+DS,+ES
OK
答え1
後ろに通話を発信または受信するときは、次のコマンドを実行してシリアルデバイス(各通話で)の音声出力を有効にする必要があります。
AT^DDSETEX=<number>
(マイデバイスでは、AT^DDSETEX=2
2番目のシリアルインターフェイスとのオーディオ転送のみがサポートされています/dev/ttyUSB1
。
その後、読み取ると/dev/ttyUSB1
一部のデータが表示され、書き込みを行うと/dev/ttyUSB1
相手の電話で少し騒音が発生します。
これは、ノイズだけでなく正しいコンテンツを聞くことができるように、オーディオデータを正しく読み書きする方法を理解する技術的な練習にすぎません;-)。
ありがとうhttp://lists.ofono.org/pipermail/ofono/2012-March/012551.html、一度試してみるつもりでした。