セールス電話撃退機を作る


■はじめに

 以前、0074( ナンバーディスプレイ と 擬似交換機 )で、熱く語っていたが(笑)、
その時は結局、ナンバーディスプレイ付のFAX電話機を手に入れたので、
試作までで終わった。
 確か当時は、擬似交換機まで作ろうとして、本来の目標からはずれたような
気もする。

 そのFAX電話機は、非通知 や特定の番号を 着信拒否 してくれるので、重宝して
いた。(いまも現役)

 そう、当時は、非通知や特定の番号が着信拒否できれば、それで済んだのである。


 しかし、一昨年あたりから、”0120”で始まる番号の セールス電話 が増加し、
あまりにもしつこいので、閉口していた。
(メモによれば、2007年末から増えてきたようだ)

 はじめの頃は、ひとつずつ着信拒否に入れていたのだが、最高30件までしか入らず、
いっぱいになってしまった。

 毎回、0120から始まる番号ではあるが、その下はバラバラで、
同じ番号から複数回かかってくる事は少なかったから、着信拒否に登録するのは、
あまり意味が無かった。

 0120は、どうせワンギリか、セールス電話がほとんどだろうから、一括で、0120で始まる
番号は全て拒否できないだろうか、と思った。

 しかし、このFAX電話機では、”0120”で始まる番号一括拒否、という設定は
できないのである。

 最近の電話機に、そういう機能は付いてないのだろうか?すべてを調べたわけ
ではないが、たぶん無いと思う。

 ナンバーディスプレイの原理的には、もちろん可能である。番号を受ける側の処理の問題
だけである。市販の電話機は、自分の好きなようにプログラムをいじる事ができないだけだ。

 だったら自分で作るしかないな。改造も自由にできるし。


■こんな方法がある

 セールス電話対策として、こんな方法がある。
 自分の経験と、あと、いろんな記事を読んで、記憶に残ったやつだけだが・・・
ざっと参考までに。

 基本的な事だが、怪しい電話だと思ったら、自分は名乗らない事。名前を収集
されるおそれがある。もしもし・・・と言うようにする。名乗れと言うなら、まず、
かけてきた方が名乗るべき。


●留守電で受ける

 すべて留守電で受けて、必要な電話のみ、かけ直す。

●丁寧に対応する

 だいたい、名乗らないのが多い。電話の基本的なマナーに反している。

 そこで、会社名、担当者名、電話番号、用件などを、ひとつずつ
丁寧に聞くようにする。相手は、途中で嫌になって切るだろう。

●放置

 一方的にペラペラしゃべるので、受話器をそのへんに置いて(切らないで)、
好きなようにしゃべらせておく。

 あるいは、
ちょっと待ってくださいね、ガスを消してきます、などと言って、保留のまま放置。

●死んだ

 友人のふりをして、かけてくる奴がいた。親は分からないから、あんたの友達
から電話よ、って取り次いでくる。「高橋君から電話」とか言って、ん?そんな奴いたっけ
なあ?と、電話に出てみたらセールス電話だった、というのが何度もある。

 そこで、特定の人を指名した場合(奥様とか、息子さんいらっしゃいますか)、
すみません、この前、死にましたと言う。

 (ほんとに、同窓会の名簿に「死去」と書かれたら困るが)

●外人

 にほんご、わかりませーんと、たどたどしく言う。
 あるいは、英語や中国語が話せるなら、それで対応する。

●解約する

 留守が多くて、携帯電話を持っているのなら、
加入電話なんか無くてもいいかもしれない。

 電話線をモジュラージャックから抜いて放置。

 あるいは、電話自体を解約してしまえば、
 無駄な出費は無くなる。

 そうだ、ナンバーディスプレイの契約もいらないんだ。
 無駄金だ。

 以上、終了。 (えーーー)


★仕事で電話を使う人は、電話に出ないわけにはいかないから、
 何らかの対策が必要だ。


■こんな装置もある

 すでにいろんな装置がある。

●音声応答するやつ

 通販で買った。
 これは、ナンバーディスプレイの契約不要。

 

 この通話は録音されています、という声が流れる仕組みで、これなら、
怪しい電話の主は、自分で電話を切りたくなるだろう。

 あ、これは留守電と同じだな。そういう応答音声を入れておけばいいんだ。

 通話内容を録音するには、録音機を接続する必要がある。

 おまけ: 内部の写真


 基板の表面と、裏面
 

 傷が付いている。たぶん、ねじ締めの時に、電動ドライバを滑らせたな。



●暗証番号を押さないと切られる

 音声で応答し、暗証番号の入力を求める。暗証番号を知らない人は、切られてしまう。
 これも留守電にそういう機能が無かったっけな。

 トーンの切り替えを知らない人も意外に多いから、(パルスダイヤルの)ブツブツ、
ブツブツブツブツ、という音が留守電に残りそうだ・・・。

 商売をやっている場合、不特定多数のお客さんを相手にする場合には、この方法は
使えない。


●撃退じゃないけど

 すべての通話を、メモリカードに自動録音する装置。



 手のひらに載るぐらい小さい。

  


 おまけ: 内部の写真
 

 イカンなあ、ねじを締める時に、挟んだのだろう。危ない。
 この調子だったら、ねじで線を切ったのもあるんじゃないだろうか。



●トビラフォン

 回路が一応できて、プログラムを作っている途中、なんとなく検索したら、
こんな装置が出ていた!

 トビラフォン

 従来のナンバーディスプレイと異なるのは、拒否番号のデータベースをネットで共有
している事。

 検索エンジンで、電話番号を検索すると、迷惑電話の番号を収集している(登録できる)
サイトが出てくるけど、そんなふうに、サーバ上に登録してあるんだろうね。

 やられた、私はそこまで考えつかなかった。着信があった事を、携帯にメールで知らせる、
ぐらいは作ろうと思っていたが、さらにその先、もう一歩も二歩も先を考えるべきだった。


 よし、製作をやめて、契約を検討しよう。  (おいおい)


■参考資料

●電話サービスのインタフェース

 私は、本を持っているが・・・。
 (電気通信協会から発行されていた。いまは絶版のようだ)




 現在、Web上で資料を入手する事ができる。(無償)
 下記のサイトからPDFをダウンロード可能。

 もし、リンク切れの場合は、適当に探して下さい。

 ・NTT東日本
 ・(上記サイト内の該当ページ

 ・NTT西日本
 ・(上記サイト内の該当ページ


 なお、私のこの記事内では、電話回線やナンバーディスプレイの仕組みについて、
詳しく説明しないので、上記の資料をよく読んで、理解してください。

 私自身、これを何度も読み返して理解しました。


■過去の試作品

 確か2003年頃だったと思うが、詳細は0074を参照下さい。

 当時は、PICを使っていた。


 これにキャラクタ液晶を接続し、受信した電話番号などを表示した。
 シリアルポート(RS232Cレベル変換付き)を備えており、PCにつないで、
デバッグに必要な情報を見たりしていた。


■仕様など

1. 主に、”0120”や、非通知のセールス電話をブッチ切るのが目的。

2. 市販のTELは、特定の番号を登録し、それらを拒否する方式だが、
  0120で始まるもの全て、という指定ができないから自分で作る。

3. 着信履歴を記録する。
  最新10件はRAM上にあって、ボタン操作で閲覧できる。
  そして、全ての着信履歴は、日時と共に、メモリカードに記録する。

4. リアルタイムクロック、バックアップ
  着信履歴を記録する為、RTCとバックアップ用のキャパシタを備える。

5. 液晶表示
  電話番号や、日時を表示する為に必要。
  16桁×2行、バックライト付き、小型のもの。

6. 







■回路・基板設計

 2011年9月末頃から、設計を開始した。

 過去の試作品をベースに、設計を見直した。
 マイコンをAVRに変更したり、色々な修正をした。

 型番は、 SB0120 とした。
 セールス電話 ブッチギリ 0120 の略である。

 電源は、アダプタを使うが、+/−の極性がどちらでも使えるように
ブリッジダイオードを入れた。同時に、保護素子(ポリスイッチ)も使用した。

 3.3V系と、5V系の回路が混在するが、お互いの接続点に問題が無いかを
確認した。
 3.3V系は、主にメモリカード、マイコン
 5V系は、RTC、ポートエキスパンダ、モデムIC等

 音声チップも3.3V系となる。(もともと単3電池×2本直列)










 毎日コツコツと進めて、どれくらいかかっただろう。

 短期集中的にやる方が得意で、細切れに毎日コツコツやるのは苦手なのだが、
何とか完成まで、持続することができた。

 これは、CADの画面をコピーした図。




 実装機にかけられるように、最初から耳(捨て板、英語ではdummy boardと言う)を付け、
認識マークも入れておいた。
 もっとも、この機種は量産しないけど、習慣として、そのようにしている。








■プリント基板

 数年前からよく取引している、中国のメーカーに発注した。

 一般によく知られている所ではないが、品質が比較的良いので気に入っている。
このメーカーを見つけるまで、お金を捨てたようなものだ。一番最初に試した所は
ひどかったっけ。

 




 部品面


 ハンダ面








■部品集め

 手持ちの物や、ジャンク基板からの部品取り、海外の通販まで利用して
必要な部品を集めた。

 手持ちの物は、たとえばモデムICがあった。昔、10個程度、買っておいた
もの。すでに生産中止になっており、入手困難である。

 ライントランスは、現在あまり需要がない為か、ほとんど売っていない。
そこで、ハードオフでジャンクのモデム基板をたくさん買ってきて、部品取り
した。1枚\105ぐらいだったから、トランスだけ取って、あとは捨ててもいい。

 10月中旬頃から、通販で部品を集め始めた。




■筐体とパネル

 10月18日頃には、基板サイズ(面付けも)を決めて、同時に、パネルの
加工寸法やレイアウトも検討し始めた。

 コネクタはパネル面に”つら”を合わせないと格好が悪い。ひっこんだり、
でっぱっていたら、おかしいのだ。

 しかし、いくらでも基板の端に寄せられるわけではない。
 コネクタが基板の端から飛び出す時は、後付にするか、捨て板を付ける。

 パネル、ケース、基板、コネクタ等の位置関係を検討した。




■部品実装

 部品が揃えば、あとはハンダ付けするだけ。

 ちょうど、基板が届いたその日は、目が見えなくて困った。

 眼科で目の検査を受けた際、瞳孔を開かせる薬を使った為、
医院から外に出たら、まぶしくて目があけられなかった。曇りなのに。

 当然、運転禁止。徒歩で帰宅したが、とにかく、よく見えなくて困った。
帰宅してからハンダ付けを始めたが、近くが見えなくて、ずいぶん苦労した。
珍しく、QFPのハンダブリッジをしてしまったのである。

(左)ほぼ全ての部品を載せた状態。各々の基板は切り離してある。
(右)過去の試作品と並べて撮影してみた。
 

 





■プログラム

 過去の試作品は、PICのアセンブラでゴリゴリに?書いていたので、もちろん、
AVRにそのまま持ってくる事はできなかった。

 結局、C言語でゼロから作り直した。

 当時のアセンブラのリストを見返したら、よくこんなの作ったなと、自分にあきれて
しまった。執念が感じられた。

 当時は、PICのC言語なんか使いものにならん!と吠えていたような気がする。(笑)

 夜遅くまで仕事して帰宅後、メシ食って、風呂入ってから、日付が変わるまで、自分の
趣味のプロジェクトをしていたのである。

 今はそんな余裕もパワーも無いが、自分自身にハッパをかけながら進めている。

 現在、PICもAVRも、C言語でコーディングしている。そして、AVRをよく使うように
なってきた。





■極性反転と着信

 大まかな着信の流れは、下記のとおり。

1. 極性反転を検知
2. CAR信号(ベルの短いやつ、0.5秒ON/0.5秒OFF)を検知
3. オフフック
   (電気的にオフじゃなくて、受話器をはずした状態をオフフックという。直流ループ)
4. モデム信号を受信
5. オンフック
   (3とは逆に、受話器を置いた状態をオンフックという。直流ループ断)
6. 電話番号を表示
7. 通常着信(拒否でない)か、拒否か、判定する。
   通常着信の場合、待機状態に戻る。
8. IR信号(通常のベル、1秒ON/2秒OFF)を検知
9. 拒否の場合、オフフックして、音声を流した後にオンフックする。


 局線から、本機を経由して、電話機(併設電話機)に接続するが、
上記2の時に、ベルが鳴らないように、切り離さなければならない。(着信拒否時も)
 併設電話機をリレーで切り離すようにする。通常は接続されていて、コイルを励磁すると、
接点が離れる仕組み。

 最初の頃は、極性反転の検知だけで、オフフックして良いと思っていたら、そうじゃなくて
CAR信号を受信してからオフフックしなければならない。

 ※「電話サービスのインタフェース」 その他の留意点、情報受信端末を設計する場合の
  留意点、を参照

 もし、極性反転だけでオフフックして良かったなら、併設電話機の切り替えリレーは不要
なのに、と考えていた。









■音声チップ

 着信拒否時、どういう音声で対応させようかと思って、
適当に選んだのが、これ。

 

 右の写真のおもちゃ、ハードオフで\300だった。
 これはドアに取り付けるもので、下のDORAEMONと書いてある部分は
マグネットになっている。

 本体(ドラえもんの絵が描いてある方)の内部には、リードスイッチと
音声チップ、スピーカ、電池が内蔵されている。

 ドアを開けたとき、マグネットが離れると反応し、「ぼくドラえもん」という声が出る
ような仕掛けになっている。


 さて、「ドラえもん」は1個しかないので、2台目以降は、どんな音声チップを使おう。

 最初、お経を流したらどうか、と考えていた事もあった。

 以前、台湾旅行に行った時、「龍山寺」の地下街で買った「電子念佛機」がある。
これのチップも使えるかも。



 その内部と、音声チップ

 


 次の写真も、やはり「電子念佛機」で、香港の会社から仕入れたもの。
 大小さまざま買ってしまった。何すんだそんなモン。(笑)

 

 あと、インドのマントラマシーンも使えそうだな。

 そういえば、仕入先のインドの会社からメールが来ていた。
 ミスターマエダ、サンプルを買ってくれたけど、もっといっぱい買ってくれよとか
何とか書いてあったような気がする。


■調整、デバッグ

 







 電話をかけても、ワンコールで切れてしまった。
 → フォトリレー TLP222A を使っていたのが原因。
   阻止電圧は 60V !

 それなら、 TLP222G ならどうだ?
 阻止電圧は 350V だぞ。問題ないはず。

 → ダメ。
   直流抵抗値が大きいから、回線が切れてしまう。

 試しにピンセットで、TLP222Gの出力ピン間をショートしたら
音の感じが変わった。抵抗が大きいのだな。
(データシートによれば、35から50Ωもある)

 阻止電圧が高くて、かつ、ON抵抗の低いものを求めて、
東芝のカタログを見直してみたが・・・。 結局、なかった。

 ほかに無いか、手元の在庫をあさってみたら、 HSR312 があった。
これなら、ON抵抗はたったの 2Ω だから問題ない。
(出力側のFETのつなぎ方で変わる事に注意/詳細はデータシートを
参照)

 ところが、6ピンだからそのまま実装できない。仕方ないから、ジャンパ線で
浮かせて、接続した。とりあえず、これで進めながら、部品を探すことにした。



















 自分の携帯から自宅に電話をかけて、電話番号が表示されるのを確認した。

 

 ようやくここまで来たぞ、という感じ。
 電話番号さえ、きちんと取れれば、あとはプログラム次第だ。










■ハマった事

 何かにつまづくと、分からなくて、何日も前進できない時もある。
 でも、大抵、分かってみればバカバカしい事が多い。

 ここに、反省のためにまとめておこうと思う。

 もし、つまづいた時、1〜2時間取り組んでみて分からなければ、
いつまでもこだわっていないで、ほかの部分を進めるようにしたらいいと思う。
つまづいて時間だけ経過するのはもったいない。分かってみれば簡単な事で
分かるまで3日も止まってしまったりしたら、そう思う。


●フォトMOSリレー

 フック用に、フォトMOSリレーを使用した。
 メカニカルなリレーに比べて、実装面積が少なくて済むし、接点の寿命を心配しなくて
良いし、音もしない。駆動用のトランジスタも不要で、マイコンの出力ポートから直接駆動でき
る。

 ただ、ON抵抗が少し大きいので、

 あれ?まだONしてないのに、回線がつながった状態になる。なんで?

 あっ、耐圧が低い。

 耐圧とON抵抗の関係は微妙で
 耐圧の高いものはON抵抗が大きい。
 ON抵抗の小さいものを選ぶと、耐圧が低くて、要求を満たさないのだ。

 パターンはDIPの4ピンで描いてしまったので、今さら6ピンは入れられない。

 いろいろ探し回って、オムロンのフォトMOSリレーでぴったりのものがあり、
それを使うことにした。これで解決。


●ファイル名

 拒否リストを、メモリカードからEEPROMへ、そしてその逆を作り、テストしていた時の事。

 なぜか、メモリカードからの読み出しがうまくいかない。EEPROMの値が変わらない。

 問題を切り分けようと、読み出しを無しにして、直接EEPROMに書いてみた。そしたら、
ちゃんとEEPROMからファイルへの書き出しはできた。やはり読み出しがおかしいのか、
でも、プログラムは間違っていないようだ。

 数日ひっかかったが、ふと思いついて、メモリカードに入れたおいたファイルがおかしいのかと、
改めて見直してみた。
 テキストエディタで開いて、うん、内容はおかしくないなあ。
 ファイル名もおかしくないよなあ。

 なんとなく、ファイル名をコピー、ペーストしてみたら、・・・・・・

   KYOHI..CSV    (説明上、見えにくいので全角で ..)

となっていた。あれれ?何でドットが2つ?

 プログラム中のファイルオープンでは、もちろん、ドット1つのファイル名を指定していた。

 プログラムは作りかけで、まだエラー処理を入れていなかった。もし、エラー処理を入れて
いたら、ファイルが見つからないというエラーで、気づきそうなものだが・・・。

 字が小さくてわからない。

  ←違いがハッキリ分かりますか?

 ひとつは I の字に隠れて、 . が2つあるなんて・・・。
 フォントとか、フォントの大きさを変えないと分からない。


●ブラウンアウト

 マイコンの電源電圧は 3.3V なのに、
書込時のヒューズ設定で、 4.3V にしたらダメ。
今まで、5Vばかりだったので、ウッカリしていた。


●通信速度の設定

 いつも9,600bpsとか、それ以上の速度で通信していたので、AVRでは1,200bpsという
低速の設定をしたことがなかった。

 モデムICからの信号は、1,200bpsで来ているのに、正常なデータが受信できない。
なぜだろう?色々試してもうまくいかず、行き詰ってしまった。

 何が間違っているんだろうか?と、データブックをしつこく読んでいたら・・・

 UBRR0L
 UBRR0H

 ・・・のところで、ハッとした。

 9,600bpsの時は、UBRR0H=0と書いて良かったのである。

 ところが、1,200bpsでは、

 (12,000,000÷16÷1,200)-1= 624  (16進数で0271h)

 だから・・・上位を0としたら間違いになる。

 以前の実績のあるプログラムを流用して、数字だけ変えていたのが失敗だった。
ウッカリ見落としていた。

 なお、UBRR0L=、UBRR0H=、と分けて書かなくても、UBRR0=として良い。
そこに上記の式を入れる。




■メモリカード

 今回は、microSDを使用した。

 テストの初期の頃、うまくアクセスできないので、
 その時に使っていた1枚は使えないんだと早とちり。

 変換アダプタをかませて、別の製作品(GPSデータロガー)に
 入れたら、ちゃんとログが書き込まれたから、やはり、自分の
 ハードかソフトに問題が?

 使えないんだと思ったら、すぐに注文してしまった。
 いずれ使うから無駄じゃないだろう。
 互換性の試験もできる。

 使いたい時に、すぐ手元にない方が時間の無駄。


 こんなにたくさんある!


■市販の電話機はどうなっている?

 ナンバーディスプレイの処理をどうしているのか気になって、ハードオフで買ってきた。
さっそくバラバラにして、基板のパターンを追った。


 



■基板が欲しい方へ

 基板は余分に作ってありますから、
 欲しい方は、お問い合わせ下さい。


■結局どうなったか?(2012/12/31記)

 固定電話は使わないので、お金のムダですから、
 11月いっぱいで解約しました。

 これでセールス電話に悩まされる事は無くなりました。

 独身で、朝早く仕事に行って、帰ってくるのは夜遅い。
 固定電話にかかってきても、出ようがない。電話があっても意味が無い。
 使うのはほとんど携帯電話。

 皆さんも固定電話の廃止を検討されてはいかがでしょうか?

 セールス電話撃退機の開発は中止します。


■2013年2月25日

 自分の携帯に、0120で始まる番号から着信あり。電話に出てみた。
NTTだった。

 前田様、現在、弊社の電話・ADSLサービスをご利用ですよね・・・・・・
と言われたが、「あのー、昨年11月に廃止したんですけど」と返事。

 「独身で、帰りも遅いし、自宅に電話があっても意味ない。ムダ。
ネットはスマホがあるから、他には要らない。
電話回線は歴史的使命を終えたと思います」


■感謝

 FatFs ・・・ ChaNさん





戻る