はてなブックマークコメントの修正とお詫び
2020年2月29日にWebサイト「プログラミング生放送」の記事「音響カプラでテレワーク」に対して私が付けたはてなブックマークのコメントが誤っておりました、すみません。
コメントの内容の訂正について
上記のコメント内でどこが間違っているかと言えば「音響カプラは呼び出し信号を検出してオフフックにする機能が構造上付けられないので着信に使うことは想定されていないよ」の部分(つまり全部)になるわけですが、これは元記事の
『当初、音響カプラを着信側で用いようとしていましたが、アンサートーンを返さないため、通信が確立せず、着信側で使うのを断念しました』
へのコメントとなります。
音響カプラには回線制御機能(NCU)を搭載できない*1為に自動着信機能を付けることができ無い事は事実です、しかし実際の音響カプラは発呼側端末にも被呼側端末にも使えましたし、自動着信が被呼に必須なわけではありません。後述しますがデータ機器の接続手順を規定したITU-T V.25*2には手動着信の方法が記載されています*3。
なぜMobile GearII発呼 →音響カプラ被呼で接続できなかったのか
これは、記事に記載されていた通り音響カプラにアンサートーンの発信機能が無かったためです。
但し、本来V.21ではアンサートーンは必要ありません*4。アンサートーンはV.25手順で接続する場合に於いて必要な機能です。
接続できなかったのはMobile Gear IIがV.25手順に対応していない機器にV.25手順で接続しに行ったのが本来の原因と思われます。
つまり、私のコメントは「着信に使うことが想定されていない」もその原因が「呼び出し信号を検出してオフフックにする機能を付けられないから」 とした事もいずれも間違っているのです。
改めて現代的なモデムと音響カプラを接続する手段が無いか検討する為、ITUの勧告など通信に関わる仕様をあたっていきたいと思います。
ここ以下の文章は長い上に検討だけですので、実際の接続実験を見たいと言う方は次回の更新をお待ちください。音響カプラが入手出来次第実験を開始しようと考えてます。
音響カプラ(V.21)での手動接続手順
まず音響カプラ側で想定されている接続手順を確認します。今更ですが、記事中では使用されたACTOM C300に採用されている規格は記載されていませんでした。発呼側では現代的なモデムに接続できたこと、300bpsという通信速度、型式指定が1985年(昭和57年)からITU-T V.21*5と仮定します。現在から見たV.21の特徴はハンドシェイク(モデム同士の接続)時にアンサートーンを必要としない事です。
V.21での接続に関わる重要な規定は下記の3つです。
1. 通信はFSK変調で2つのチャンネルchannel No1(1080Hz)とchannel No2(1750Hz)を使う全二重方式。モデムや音響カプラから見た場合片方が送信チャンネル、他方が受信チャンネルとなる
2. チャンネルの使い分けは、送信データ量が同じくらいなら発呼側がNo1を送信に、差があるならデータ量が多い方がNo1を送信に、もしくは通信員が相談して決める
3. キャリアを受信したら回路109(RS-232のCF端子)をONにする
これらを考慮し、カプラ同士の通信手順を図にしました。なお、私はカプラ同士の通信は経験が無く先人からの伝聞とV.21の規定からの想像となります。
上記の図で重要な事は、通信の開始・切断・使用チャネルについて人間が打ち合わせて決めている事です。音響カプラやMMモデム(手動発呼・手動被呼モデム)*6には自身が発信側か着信側か知るすべがありません、よって送信チャンネルの選択も手動で行う必要があります。図中で赤で示した手順がチャンネル設定の手続きとなります、知る限りにおいては音響カプラのCALLモードを選択すると送信チャンネルがNo1にANSモードに設定すると送信チャンネルがNo2に設定されます*7。
データ回線の開通は受信しているチャンネルに相手の送信キャリアが届いた時です。
ITU-T V.25手順に見るインテリジェントモデム同士の接続について
ITU-T V.25はモデムと端末の接続~電話回線の接続~モデム同士の接続・切断までを規定しています。「音響カプラでテレワーク」で接続できなかった原因であるアンサートーンに関して記述があるのもこの規格書となります*8。公衆回線で接続する場合現代的なモデムが採用する一般的な接続手順です。
V.25による接続手順は下図となります。わかりやすさの為各段階で相当するATコマンドとRS-232の信号を追記しています。
上記の通り自動接続では、アンサートーンは必須となっています。点線で記載しているコーリングトーンも本来必要ですが現在のモデムでは省略されている事が多いです*9。時系列的にはアンサートーンはコーリングトーンの後になっていますが、V.25ではアンサートーンは電話回線の開通から1.8秒以上待ってから発信と定義されておりコーリングトーンが発信の条件とはなっていません*10。
アンサートーンの機能として回線の開通検知の他に重要なのが、電話交換機に対し「エコーキャンセラ」や「エコーサプレッサ」の機能を停止させる事です*11。詳細は省きますが音声通話では重要ですがデータ通信では障害となる機能です。V.21ではエコー制御機能の解除は必須ではありませんが無い方がよくV.21勧告の5項にもエコーコントロールデバイスを停止する場合はV.25を参照せよと記載があります。
そしてITU-T V.25には7項に「Automatic calling data station calling manual data station」とあり、発呼側が自動、被呼側が手動での接続手段が記載されています。手順を記すと、
1.(回線接続後)オペレーターはコーリングトーンを確認する。
2.(カプラの場合はここで受話器を接続して)*12オペレーターはDATAボタンを押す、この時最大4秒の2100Hzのアンサートーンが発呼側に送信され、エコーキャンセラやエコーサプレッサが解除される。
とあり、V.25に従うと手動でも被呼側にアンサートーンが必要となりますが、NCUが必須と言うわけではありません。
ITU-T V.18での接続について
V.25の接続手順では被呼側にアンサートーンの機能が無いと接続できないのですが、このままでは発呼側がインテリジェントなAAモデムと被呼側が音響カプラやアンサートーン無しのMMモデムでは接続できません。
ITU-T Vシリーズの接続手順にはV.25とは別の勧告がありまして、回線開通時に受信するトーンのみで接続するITU-T V.18*13と言うものとなります。下図に発呼側シーケンスチャートを勧告より引用します、チャートの始まりが"Originating"となっていますがこれは発呼側のシーケンスです。
面白いのは、被呼側のチャンネルがChannel No1(CALL)、Channel No2(ANS)のどちらであっても接続できるよう考慮されてる事です、V.21の勧告で基本は発呼側がNo1としたものの、通信員が都合でどちらにしても構わない事にした為の対処でしょう。
音響カプラに接続できなかった原因の考察と接続する方法について
だいたい、状況が分かってきたので接続できなかった原因を予測し、接続する方法の考察を行います。
接続できなかった原因予測
・現代的なモデムを搭載するMobile GearIIが発呼側で音響カプラが被呼側の時に接続できなかった原因はMobile GeareIIがV.25手順で接続しに行ったためである。
・V.25手順では被呼側でアンサートーンを出す機能が無いと接続手順が途中で停止してしまい接続手続きが完了しない。
・Mobile Gear IIが被呼側の時接続が成功したのは音響カプラ側がアンサートーンの有無にかかわらずキャリア*14を送信した為。
接続する方法についての検討
勧告に沿った穏当な方法から順に記載します。
これから書くことが正しいと仮定しても「音響カプラでテレワーク」の記事でもすでに試されてる可能性があります(むしろその可能性は高い)、例え正しい手順で操作しても接続できない「相性問題」としか言いようの無い事は当時頻繁にありました。
ITU-T V.18手順で接続する
下記ATコマンドがV.18の設定に関わるコマンドとなります、デフォルトではV.18手順はdisableに設定されています。
+MV18S : V.18手順の設定
+MV18R : 接続時のレポート設定
問題はこれらのコマンドはITU-T V.250*15勧告に記載されているものの、実装しているモデムがどれだけあるか?と言う事に尽きます。自分の手持ちのモデムのマニュアルにはこのコマンドの記載はありませんでした。
変調方式をITU-T V.21に限定する
ATコマンド +MS で変調方式を指定できます。本来V.21は現代的なモデムに実装された他の変調方式と異なりアンサートーンを必要としません。*16これは単なる、「変調方式をV.21に固定すればアンサートーン待ちのタイムアウト後にキャリア検出に進んでくれないかな」と言う期待です。
現代的なモデムは早くデータを転送できる変調規格から順次接続を試行する為、アンサートーンが必須の規格で引っかかってるのかもしれません。しかしこれはモデムの設計次第となります。
カプラに載せる前に別の機械でアンサートーンを発信する
ICレコーダーでも発信器でも何でもいいので音響カプラに受話器を載せる前に2100Hzのアンサートーンを送ってしまう方法です。多分うまくいきますが、別の機械が必要なのはつまらないです。できればPCで再生する程度にとどめたいところ。
発呼側モデムを無理やりアンサーモードにしてしまう(その一)
"D"コマンドはオフフックし、ダイヤルし、モデムをCALLモード(オリジネートモード)にするコマンドです。しかし電話番号の末尾に";"を追加すると電話を掛けた時点で後の処理を停止しコマンドモードに戻ります。
回線接続後に被呼側の音響カプラをCALLモードに設定し、発呼側で"A"コマンドを入力すれば接続できるのではと言う予測です。
問題はモデムがオフフック状態で"A"コマンドを受け付けてくれるかどうかが不明な事です。
発呼側モデムを無理やりアンサーモードにしてしまう(その二)
モデムに電話機をブランチ接続して、発呼は電話機を用い回線開通後にモデムに"A"コマンドを指令する方法です。その一と同じくオフフック状態で"A"コマンドを受け付けてくれるかどうかが不明ですが、モデムの管理外でオフフックにしてる為、成功する可能性は高いのでは無いかと。但し別途電話機が必要となります。
発呼側モデムを無理やりアンサーモードにしてしまう(その三)
業務用モデムには"D"コマンドで発呼した側がアンサーモードになる機能を搭載したものがあると聞きました。調べたところDコマンドに"R"オプションを付けるとその機能が動作するようです。こちらのページに"R - Originate a Call in Answer Mode"との記載があります。V.250にも記載が無いオプションですし、モデムに実装されているかは試してみないとわかりません。*17
発呼側モデムをMMモデム(MMモード)にしてしまう。
まあ、つながるでしょう。ダイヤルぐらいはしてほしいですが。業務用モデムですと通称「コマンドレスモード」と呼ばれるモードにすると設定した変調方法でいきなり接続に行きアンサートーン無しにできるものがあります。調べた限りでは明電舎のMC144Cがその機能を持っているようです。但し大抵構内用モードで公衆回線につなぐと問題がありそうです、認証的な意味で。モデムが発呼してくれないので別途電話機が必要となります。
実践について
とりあえず、色々考えてみましたが実際に試してみようと考えております。現在音響カプラの入手に動いていますので、入手出来次第再度ブログに記事を上げたいと考えております。実践もしてないのにクソ長い文章だったのは、まあ段取り八分と言う事でご勘弁を。
また、過去に音響カプラを使ってた方々もまだまだネット上では現役と思いますんで、突っ込みや訂正など頂けるんじゃないかなと甘えておきます。
*1:モデムのLINE端子に接続するタイプは別
*2:ITU-T V.25 DATA COMMUNICATION OVER THE TELEPHONE NETWORK
*3:但しV.25手順ではアンサートーンは必須となりますが
*4:交換機のエコー制御を無効にする為あった方が良い
*5:ITU-T V.21 300 bits per second duplex modem standardized for use in the general switched telephone network
*6:モデムのNCU形式の表示:AA[自動発被呼]、MA[手動発呼/自動被呼]、AM[自動発呼/手動被呼]、MM[手動発被呼]
*7:コールモード、アンサーモードの記載はV.21には無く、V.22の6項で定義されている
*8:V.22以後一般的にモデムに搭載された変調方式の規格についてはV.21と異なりアンサートーンの記載があります
*9:省略する事により発呼側が音響カプラでも接続することができます、その代わり片通話の危険がありますがV.22以後であればそれぞれの変調方式の規格の中で別途コネクション手続きがあるのでそこで片通話を弾けます
*10:現在のモデムでコーリングトーンが必要な場合ATDコマンドでダイヤルする時に番号の末尾に"^"を付けるか、S35レジスタを1にすれば発信される事もあります。
*11:ITU-T G.164 ECHO SUPPRESSORS 5項 Characteristics of echo-suppressor tone disablers
*12:但し、V.25の仕様書では被呼側でのカプラの操作については記載されていない、発呼側にカプラが存在する事を考慮した記述はある
*13:ITU-T V.18 Operational and interworking requirements for DCEs operating in the text telephone mode
*14:実際にはキャリア+マーク変調の1650Hz
*15:ITU-T V.250 Serial asynchronous automatic dialling and control
*16:実はV.22も"with out V.25 auto-answe sequence"と言う接続手段が定義されており、そこにはアンサートーンの記載がありません。しかしV.22bisではこのアンサートーン無しの接続手順は記載されていません。実際の所は交換機のエコーキャンセラが生きたままではV.22での通信は難しいのではと予測します、このためV.25手順で無くてもどこかのタイミングでアンサートーンを出していたと思います。
*17:本来はV.23の様な転送データ量が非対称な変調方式の為にあるモードの様です