オレオレIP電話網を大きくしたらTailscaleのワナを踏み抜いて発狂した話(再放送版)

詳細情報

日時 2025年06月03日 22:20 - 22:50
テーマ オレオレIP電話網を大きくしたらTailscaleのワナを踏み抜いて発狂した話(再放送版)
発表者 KusaReMKN
集会名 CS集会
発表資料 リンク ファイル

VRChatのCS集会で行われた、KusaReMKNさんによる「オレオレIP電話網を大きくしたらTailscaleのワナを踏み抜いて発狂した話(再放送版)」の発表は、自作IP電話網の拡大に伴う技術的な挑戦と、Tailscale利用時の不思議な挙動について深く掘り下げるものでした。

東京広域電話網とは?

東京広域電話網(Tokyo Wide Area Telephony Network)は、2024年10月頃に発足した、分散型のユニークなオレオレIP電話網です。

VoIPサーバを設置し、相互接続することで独自の電話網を構築しています。

黒電話やワープロなど、通常ではあまり見られない端末が多数接続されているのが特徴です。

2025年6月1日現在、電話局の数は34、端末数は234以上と、着実に規模を拡大しています。

異常な端末たちの世界

東京広域電話網には、懐かしい黒電話やピンク電話、さらにはISDNやPHSといった、現代ではあまり見かけなくなった電話機たちが現役で活躍しています。

これらの「異常な端末」たちが、IP電話網という現代の技術と組み合わされることで、独特の世界観を生み出しています。

技術的な工夫によって、これらの古い端末をIP電話機として利用可能にしている点が、この電話網の大きな魅力の一つです。

コミュニティ活動も活発

東京広域電話網は、単なる技術的なプロジェクトに留まらず、活発なコミュニティ活動も行っています。

ウェブサイトやDiscordサーバー、GitHub Organizationなどを通じて情報交換や開発が進められています。

VRChatグループも存在し、今回の発表のように、コミュニティメンバーが集まる場としても活用されています。

技術的な話題だけでなく、電話や古い通信機器への愛が共有される、温かいコミュニティが形成されています。

Tailscaleのワナと不思議な不通問題

発表の核心部分は、東京広域電話網の拡大に伴って直面した技術的な問題、特にTailscale利用時の「不思議な不通問題」についてでした。

電話局同士の接続にTailscaleを使用していた際に発生した、ベルは鳴るのに音声が聞こえないという奇妙な現象について、その原因を探求するプロセスが詳細に語られました。

Tailscale ACLによるセキュリティ強化の試み

電話網の規模拡大に伴い、セキュリティの向上が課題となりました。

当初はTailscaleのACL(Access Control List)機能を利用して、網内のアクセス制御を試みました。

しかし、この設定変更が原因で、電話局間の通信ができなくなるという問題が発生しました。

試行錯誤の末、一度Tailscale ACLの設定を全て元に戻し、MikoPBX付属のFirewallを利用する方針に変更しました。

ベルが鳴るのに音声が聞こえない!

新規の電話局が参加した際に発生したのが、「ベルは鳴るのに通話ができない」という前例のない不具合でした。

電話をかけると相手の電話機のベルは鳴るものの、相手が受話器を上げても音声が聞こえず、しばらくすると通話が切れてしまうという現象です。

これは、呼制御を担当するSIP通信は成功しているものの、実際の音声データをやり取りするRTP通信がうまくいっていないことを示唆していました。

原因はTailscaleのIPv4アドレスか?

パケットキャプチャによる調査の結果、RTPパケットが意図しないネットワークインターフェースに流れていることが判明しました。

Tailnet上の通信は仮想NIC(tailscale0)を通るはずが、物理NIC(eth0)に流れている状況でした。

発表では、Tailscaleによって各ホストに見えているIPv4アドレスが異なっていたことが原因ではないかという考察が述べられました。

SIP通信はTailscaleのNAT的な振る舞いによって成功したが、SIPで指定されたRTPの送信先IPアドレスがルーティングテーブルに存在しないため、デフォルトルートである物理NICにパケットが流れてしまった、という仮説です。

追実験の失敗と残された謎

この仮説を検証するために、通信できている電話局間で意図的にIPv4アドレスを変更する追実験が行われました。

しかし、驚くべきことに、IPv4アドレスを変更しても通信は壊れませんでした。

そもそも、異なるIPv4アドレスが見えているにも関わらず、通信ができていた電話局も存在していたのです。

このことから、Tailscale利用時の不思議な挙動の全ての原因を特定することはできませんでした。

まとめ

KusaReMKNさんの発表は、拡大を続ける東京広域電話網における技術的な挑戦と、Tailscale利用時に遭遇した興味深い不具合について、参加者に分かりやすく伝えるものでした。

ベルは鳴るが音声が聞こえないという現象から、SIPとRTPの違い、そしてTailscaleの内部的な挙動に迫る過程は、技術的な探求の面白さを感じさせてくれました。

完全な原因特定には至らなかったものの、自作のネットワークを運用する上での難しさや、予期せぬ問題に直面した際の対応プロセスが具体的に示されました。

発表の最後には、東京広域電話網が老練なネットワークエンジニアだけでなく、電話屋さんや懐古厨など、様々な分野の人材を募集していることが伝えられました。

このユニークな電話網の今後の発展に期待が膨らみます。

スライド資料(PDF)

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

VR機器をつなぐ無線通信技術

HMDを支える技術

現実と仮想をつなぐ技術

インターネットを速くするアレコレの話

コードなしでZ80が光った?!VRChat「CS集会」の驚き発表

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

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

CS集会のポスター

CS集会

開催日: 2025年06月03日

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

開催曜日: 火曜日

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

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

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