令和に黒電話を!オレオレIP電話網構築の冒険

詳細情報

日時 2025年03月11日 21:00 - 21:30
テーマ 世も令和になって久しいのでオレオレIP電話網や黒電話で遊んでみる
発表者 上羽未栞(a.k.a. KusaReMKN)
集会名 CS集会
発表資料 ファイル

令和の時代に、黒電話を自在に操る!

VRChatのCS集会でKusaReMKN(上羽未栞)さんが行った発表「世も令和になって久しいのでオレオレIP電話網や黒電話で遊んでみる(再放送版)」の内容を深掘りします。

KusaReMKNさんってどんな人?

KusaReMKNさんは、自称「大天才美少女プログラミング初心者」という肩書きを持つ、ちょっとユニークな方です。

「上羽未栞」と書いて「くさreみかん」と読む、そのギャップが面白いですよね。

年齢は0x18歳(10進数で24歳)のJK(重要)とのこと。

実はプログラマでもエンジニアでもなく、古い計算機っぽいものが大好きで、Twitterで思想を垂れ流すのが得意なんだとか。

ご本人のWebサイト(https://kusaremkn.com/)も要チェックです。

「でんわ」のはじまり:黒電話との出会い

すべてはHARD OFFで売られていた一台の黒電話(しかも白色!)から始まったそうです。

この何気ない出会いが、今回の壮大なプロジェクトの幕開けとなりました。

限界セルフホスティング界隈とMMTNET

一方その頃、セルフホスティング界隈では「MMTNET (Malleable Mutual Tunneling Network for Experimental Technologies)」という実験的なネットワークが構築されていました。

これは、SoftEther VPNを使ってホストを相互接続し、自作インターネットを目論むというもの。

KusaReMKNさんは、このMMTNET上で動作するアプリケーションとして、黒電話を利用したIP電話を提案しました。

MMTNETの前身であるHVCANでも同様の試みが行われており、そこから着想を得たようです。

異常閉域網HVCAN上に構築された「オレオレ電話交換局」の存在は、今回のプロジェクトに大きな影響を与えたと言えるでしょう。

東京広域電話網:夢を形に

KusaReMKNさんが実現したかったのは、単なるIP電話ではありません。

「外線通話と多局接続」「交換局をまたぐ通話」「複数の交換局の相互接続」「交換局ホップ」といった、より複雑なネットワークの構築でした。

そこで、MMTNETから切り離し、オレオレ電話網「東京広域電話網」を爆誕させます。

なんだか中二病心をくすぐられるネーミングですね!

外線通話と多局接続の実現

基本構成として、AsteriskベースのIP-PBXシステム「MikoPBX」を使用します。

MikoPBXはシンプルなWEB UIが魅力で、スタンドアロン版とDocker版があります。

当初はグローバルIPアドレスが必要となる構成を考えていたそうですが、VPNを使うことで解決。

Tailscaleというメッシュ型VPNサービスを利用し、交換局間を接続します。

しかし、MikoPBX上でTailscaleクライアントが動作しないという問題が発生。

そこでDocker版MikoPBXを使用し、ホスト側でTailnetに接続することで、この問題をクリアしました。

そして、MikoPBXの設定を試行錯誤するうちに、なんと外線通話が可能になったとのこと!

同一局内での内線通話はもちろん、別局の端末との外線通話もOK。

夢が膨らみますね。

多局接続の壁

しかし、複数の局を接続しようとすると、なぜか拒否されてしまうという問題が発生。

原因を調査した結果、MikoPBXのWEB UIに表示されていない設定項目「max_contacts」がデフォルトで1になっていることが判明しました。

この値を100に増やすことで、多局接続が可能になったそうです。

交換局ホップ:インターネットの電話網版?

新しい局を追加する際、すべての局が相互接続されているわけではありません。

そこで、インターネットのルーティングのように、電話網でも局同士がよしなに通信を取り持ってくれれば、直接接続されていない局間でも通話を実現できるのではないかと考えました。

通常の外線着信の場合、着信局内の端末のみを対象に検索されますが、特定の番号に電話を掛けた場合に限り、外線の番号も検索しなおしてもらうという裏技を使うことで、交換局ホップを実現しました。

実際の運用:東京広域電話網の現在

2024年10月中旬にプロジェクトを開始し、2025年3月現在まで約5ヶ月間実運用しています。

Webから通話できるアプリケーションや、時報、モーニングコールなどのサービスも実現。

電話だけでなくFAXやダイヤルアップ通信も動作確認済みとのこと。

電話網の相互接続状況を記述するJSON Schema(https://github.com/tkytel/mantela)や、そのビューア(https://github.com/tkytel/mantela-viewer)も開発されています。

現在の東京広域電話網は、交換局数16局、端末数68以上(仮想含む)、黒電話の数15程度。

その他、公衆電話やワープロなども接続されているそうです。

みんなも「でんわ」をしよう!

必要なものは、特にこだわらなければコンピュータだけ。

交換局を設置・相互接続するだけでOK(ソフト電話可)。

黒電話やFAXなど物理的な端末を接続したい場合は、VoIPルータ(ゲートウェイ?)が必要です。

YAMAHA RT57iやRT58iなどで動作確認済。

ICOM VE-TA10もインチキすれば動作可能とのこと。

電話線の刺さるものはだいたい友達、だそうです。

まとめ:オレオレIP電話網で広がる可能性

KusaReMKNさんの発表では、IP-PBXシステムを利用したIP電話網の構築、交換局同士の相互接続・多局接続、そして交換局ホップの実現という、非常に興味深い内容が語られました。

令和の時代に黒電話を蘇らせ、オレオレIP電話網を構築する。

それは単なる懐古趣味ではなく、技術への探求心とコミュニティへの愛に満ちた、新しい挑戦です。

さあ、あなたも「でんわ」の世界へ飛び込んでみませんか?

スライド資料(PDF)

今回発表していただいた上羽未栞(a.k.a. KusaReMKN)さんのTwitter、HP、GitHubリンクはこちらからどうぞ。

Twitter: https://twitter.com/KusaReMKN
Web site: https://kusaremkn.com/
GitHub: https://github.com/KusaReMKN

CS集会の他の発表もチェック!

脅威モデリング超入門:今日から始めるリスク可視化

現実とバーチャルをつなぐ!夜鍋ヨナさんが語る「AD変換」の魔法

シフト演算ってなぁに?10進数と2進数で考えてみよう!

VRChatで量子コンピュータの世界を体験!CS集会#33で夜鍋ヨナさんが紹介した量子コンピュータの世界

VRChat CS集会で発表!量子コンピュータで半加算回路を実装してみたよ!

生成AIとプログラミング:夜鍋ヨナさんが語る、LLMとシステム開発の未来!

CS集会の開催情報・参加方法

CS集会のポスター

CS集会

開催日: 2025年03月11日

開催時間: 21:00 - 23:00

開催曜日: 火曜日

開催周期: 隔週(グループA)

コンピュータサイエンスを、話したい!聞きたい!知識を共有したい!広くCSのお話したい人みんなあつまれー!!!!

コンピュータサイエンスを、話したい!聞きたい!知識を共有したい!広くCSのお話したい人みんなあつまれー!!!!