ISDN回線であるデータを送信する業務を行っています。
※2024年のINSデータ通信終了ギリギリまでは継続予定です。
今まで「AtermIT21L/IT21L」という機種のTAで以下の様な処理をしていましたが、
TAを「INSメイトV30Slim」に交換したら動作しなくなりました。
--------------------
exec /usr/sbin/chat -v \
TIMEOUT 3 \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' '\rATQ0$N1=1$n11=1' \
'' '\rAT!SZ0=0300001111' \
'' '\rAT!SZ1=0300002222' \
'' '\rAT!SZ2=0300003333' \
'' '\rAT!SZ3=0300004444' \
'' 'ATH0' \
TIMEOUT 60 \
OK ATD$TELEPHONE \
CONNECT ''
--------------------
プログラムをどのように書き換えたら良いか分かる方いらっしゃいませんか?
または調べ方など教えて頂けると非常に助かります。
No.4ベストアンサー
- 回答日時:
わたしも以前に仕事で似たようなこと(モデム制御)やった経験があるのでなんとなく想像できる程度なのですが…。
環境があればもっと詳しいことご回答できるっていうか解決もできるのですが、いかんせんPC本体のみですし、モデム(ソフトモデムってのがあります)あってもつなぐ先がないので試せませんし。
経験上というか、この手のスクリプト作るときなんですが
コマンド手動で打つの面倒(もしくは作業上現実的ではない)なんでスクリプ作るってことになるんですが。
要は手でできること自動でやってるだけなんで、スクリプト内部のコマンドを一つ一つ手で実行して、何処かダメなのか逆解析して判断するのが一番なんです。
とはいえタイプアウト系は手動のときに実行しても仕方ないのですっとばしていいです。
■スクリプトについて
で、スクリプトだけ見るとそんな難しいことやっていないです。
===================
TIMEOUT 3 \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' '\rATQ0$N1=1$n11=1' \
'' '\rAT!SZ0=0300001111' \
'' '\rAT!SZ1=0300002222' \
'' '\rAT!SZ2=0300003333' \
'' '\rAT!SZ3=0300004444' \
'' 'ATH0' \
TIMEOUT 60 \
OK ATD$TELEPHONE \
CONNECT ''
=======================
TIMEOUT 3 はタイムアウト設定
ABORTはTAにつなごうとしたらダメって言われることがあるので、その異常終了処理。
ATQ0はリザルトコードON/OFFで0でONです。
後述の$N1はのところはなぜ必要なのかスクリプトから判断できないので、わからないのでなんとも言えません。
AT!SZはたぶん、Atermの名残。
これに相当することを新しいTAでやる必要があるかどうかわかりませんが、必要なら代替えを設定しないとダメでしょう。
接続するには関係ないようにも思えますが…
ちなみにAT!SZは以下の通り
========================
機能: 疑似識別着信(セキュリティ+選択キャッチホン)に電話番号を登録します。
書式: AT!SZ<パラメータ1>=<パラメータ2></パラメータ3>
パラメータ: <パラメータ1> 0~29(最大30件登録できます)
<パラメータ2> 相手電話番号(最大32桁)
<パラメータ3> 相手サブアドレス(最大19桁)
入力例: AT!SZ0=1234567890/123
補足: ・相手サブアドレスだけを登録しようとした場合はERRORを返します。
・相手電話番号および相手サブアドレスには0~9の数字が使用できます
========================
ATH0は強制的にオンフック(電話切る)
TIMEOUT 60はタイムアウトを設定
OK ATD$TELEPHONE \
はOK待ってATD[電話番号]で発信
CONNECT ''
で、CONNECT待ちでおしまい
です。
ほら、大したことやってないでしょ。
=======================
■以下は補足として
1)exec /usr/sbin/chat -s に変更して、スクリプト実行する
標準出力でエラーもログも出る(はず)です。
それでどこにエラーが起きてるか解析できませんか?
なお、スクリプトが自動実行だとログが流れて確認できないかもしれないので、コンソール上から手動で実行してみてください。
2)初期設定確認と電話だけかけてみる
スクリプトでロクにモデム(TA)設定してるようには見えないので、初期値が以前のTAと違うのかもしれません。
通信の設定が違ったりするとそれだけで通信できなくなりますので、以前のモデムの設定値を確認してください。、
あとTAにつないで、手打ちでATコマンドATD「電話番号の連番」で電話をかけてみてください。
(なお仮に繋げないなら、それはスクリプト以前の機器接続と認識の話です。)
CONNECTが戻らないとかエラー返すなら電話番号違うとか、モデムの設定値が合ってない可能性が高いです。
手動でOKでもスクリプトで実行するとダメっていうなら最後の方にあるTIMEOUT 60でOK拾ってない可能性高いので、上の方に余計なコマンドが走ってる可能性があります。
想像ではこんなところです。
No.5
- 回答日時:
No2~No4です。
お礼のコメントロクに読んでませんでしたすみません。
コメント読ませていただいて、さすがにLinux系技術者に聞いて、わらかないってことないんじゃないかと思ったんで。
(もちろん人によりますが…ATコマンド系はやったことある人じゃないとわからないけど、スクリプトまでの流れはわかる”はず”だから…予想できると思うんだが。最近はわからん人多いのか?)
で、今更の”そもそも”で申し訳ありませんが、動作しなくなったというのがどういう状況で、何を試したのでしょうか?
スクリプトが動作しなくなっただけとか
スクリプト変更したら途中でエラー吐くとか
スクリプトなにもしなくてもエラー吐くとか
AT打ってもウンスンだよ。とか。
そもそも繋がらねえよ…とかとか。
色々あると思うんですよ。
元々どういう現象で、自分が何をやって(何をどう変更したとか)、今どういう状況なのか、伝えないとたぶんわからないかと思います。
何度もありがとうございます。
実はもっとやり取りしたかったのですが、
まとまった結果をお渡ししたく、調べている間に締め切られてしまいました。
「AtermIT21L/IT21L」を入手しました。これなら元のソースが動くはず?
?と思っての事です。
また新規投稿するかもしれません。
もし見かけたらよろしくお願いいたします。
No.3
- 回答日時:
すみませんNo2です。
ちょっと追記です。まずTAに接続して、手打ちでスクリプト(質問者様がプログラムと呼称しているものです)のATコマンド部分打って動くなら、スクリプトにATコマンド以外の問題があるとなります。
もしATコマンド打って途中でエラー吐くなら、その部分を改善すればよいと思います。
また、見逃してましたが、最初がexec /usr/bin/chat -v なんで、これppp接続なんかでよく使われるchatスクリプトですね。
スクリプトを動作させているのが、linux系のOSなんだと思いますので、そちらのヘルプ(/usr/bin/chatのヘルプ)なども伴わせてみた方が良いかとおもいます。
では。
/usr/bin/chatのヘルプ等、
Linux系技術者にも相談していて、
何度も読み直していますが、解決には至りません。
PPP接続の部分だけ未経験で困っております。
解決の糸口を頂けると大変助かります。
No.2
- 回答日時:
あー…なんか懐かしい。
怪しいのはATコマンド打ってるところ周りかな。マニュアルないとなんともいえないけど。
勝手な予測で書きますが、ぱっと見結構単純なので、”AT!SZ”の部分かなあ。
たぶん、INSメイトV30Slimにはそのコマンドないんじゃないかな。
代替えコマンド見つけるか、その部分とってみるかしてみたらどうですか?
あとはタイムアウト系の時間増やすとかですかね。
とりえあえずできるのはそんなところだと思いますが、ともかく、マニュアル見てきちんとコマンド確認したほうがいいですよ。
では。
ありがとうございます。
>代替えコマンド見つけるか、その部分とってみるかしてみたらどうですか?
あとはタイムアウト系の時間増やすとかですかね。
このあたりはすでに試しているけど、うまくいかないんです。。。
どこに(だれに)相談したら良いんでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイル 行った履歴をテキ...
-
batが動かない
-
Macの手書き漢字入力ツールにつ...
-
ソフトのインストール場所って...
-
aptでインストールしたプログラ...
-
バッチスクリプト処理でエラー...
-
InstallShield って何?
-
スクリプトエラーが消えません
-
コマンドプロンプトの危険性を...
-
safariのアンインストール方法...
-
フロッピーディスクの読み込み方法
-
バッチファイルで多重起動を防ぐ
-
MACでBootcampを使い、windows ...
-
Xwindowが使えません
-
CPUとOS の違いは?
-
VBでExcelが起動されているか知...
-
VPSでLinuxのGUI(デスクトップ...
-
Apacheインストール時にエラー
-
mac os x Maverics について
-
media player9を
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル内置換
-
メーリングリスト宛てのメール...
-
exeファイルの実行結果をテキス...
-
USBメモリ内のバッチで書き出す...
-
batファイル 行った履歴をテキ...
-
コマンド実行結果のファイル出力
-
コマンドプロンプトのFOR文がダ...
-
batが動かない
-
デバッグ停止中 一つ戻る
-
dsmoveコマンドをBATファイルで...
-
cronを使って、CSVファイルのデ...
-
linuxのsshの反応が非常に遅い。
-
スタートアップスクリプトを実...
-
Mac OS ventura のapplescript...
-
レンタルサーバーでアクセスが...
-
cron で rsync が実行できない
-
テキストファイルに引数を設定...
-
バッチスクリプト処理でエラー...
-
ソフトのインストール場所って...
-
Macの手書き漢字入力ツールにつ...
おすすめ情報