- PR -

【C#】アプリケーションで電話をかける

投稿者投稿内容
his
会議室デビュー日: 2008/10/27
投稿数: 10
投稿日時: 2009-02-12 15:10
いつもお世話になっております。

指定した電話番号に対して電話をかけるアプリケーションを作成しています。
ハイパーターミナルを起動して「atdXXXX」のようにコマンドを打てば
指定した番号に電話をかけることができる状態なのですが

アプリケーションのボタンをクリックしたタイミングで
モデムに対してコマンドを発行する方法がわかりません。
電話をただ鳴らすだけで良いのですが、ご教示願います。

開発環境は、WindowsXP、.NET Framework 2.0です。
言語は、C#です。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2009-02-12 15:49
こんにちは。

引用:

hisさんの書き込み (2009-02-12 15:10) より:
指定した電話番号に対して電話をかけるアプリケーションを作成しています。
ハイパーターミナルを起動して「atdXXXX」のようにコマンドを打てば
指定した番号に電話をかけることができる状態なのですが
アプリケーションのボタンをクリックしたタイミングで
モデムに対してコマンドを発行する方法がわかりません。



モデムとPCはシリアルケーブルで繋いでいるんですよね?
シリアルポートから、ATコマンド(ハイパーターミナルで入力しているコマンド)を送信するだけだと思いますが!?

SerialPort クラス(mdsn)

・各通信設定は、ハイパーターミナルの場合の通信設定と同じで良いでしょう。
・(念のため)シリアルポートは複数のアプリケーションから同時オープンできないので注意してください。
his
会議室デビュー日: 2008/10/27
投稿数: 10
投稿日時: 2009-02-12 16:23
Tdnr_Sym様
返信ありがとうございます。

>モデムとPCはシリアルケーブルで繋いでいるんですよね?
>シリアルポートから、ATコマンド(ハイパーターミナルで入力しているコマンド)を送>信するだけだと思いますが!?

私もおっしゃる通りと思うのですが
肝心の実装方法がよくわからずに苦戦しております。

ソースを以下に記述します。
おそらく足りない箇所が多分にあるのではないかと思われます。

private void button1_Click(object sender, EventArgs e)
{
serialPort1.Open();
serialPort1.WriteLine("att");
serialPort1.WriteLine("atdXXXX");
}
きいぼー
会議室デビュー日: 2004/01/30
投稿数: 7
投稿日時: 2009-02-12 17:28
hisさん。

serialPort1.Open();
serialPort1.WriteLine("att");
serialPort1.WriteLine("atdXXXX");

トーンで発信されていますが、
電話回線と一致してますか?

ATコマンドが正しいかどうかは、
ハイパーターミナルを利用しATコマンドをたたいてみるといいですよ。
きいぼー
会議室デビュー日: 2004/01/30
投稿数: 7
投稿日時: 2009-02-12 17:40
hisさん。

ハイパーターミナルで動作確認されている場合、

serialPort1.WriteLine("att");

serialPort1.WriteLine("atdXXXX");

それぞれを行った際の戻り値はどのようになっていますでしょうか?

his
会議室デビュー日: 2008/10/27
投稿数: 10
投稿日時: 2009-02-13 10:24
きいぼー様

返信ありがとうございます。

ハイパーターミナルで試したみた際の戻り値は
"att"に対しては"OK"
"atdXXXX"に対しては、実際に電話がかかってくるので画面上に値は表示されていません。
ハイパーターミナルでコマンドを実行すると、ちゃんと電話がかかるので
モデムの設定と、入力コマンドは間違っていないと思うのですが。

アプリケーション上では、serialPortコントロールを使って実装しようとしています。
プロパティは、BaudRateを115200とし、DtrEnableとRtsEnableをTrueとした以外は
特に変更していません。
デューン
大ベテラン
会議室デビュー日: 2004/04/21
投稿数: 174
お住まい・勤務地: Tokyo
投稿日時: 2009-02-13 14:35

アプリケーションの方でATTに対するOKは受信できてますか?


# なんとなく小文字に違和感を覚える
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2009-02-13 15:01
引用:

おそらく足りない箇所が多分にあるのではないかと思われます。



モデムの応答を待ってないですね。

アプリケーションの都合でコマンド文字列をガンガン投げつけても、思った通りには動きません。

1コマンド投げるごとに、モデムからの応答を待ち受けるのが基本です。

スキルアップ/キャリアアップ(JOB@IT)