Loading...

電話はなぜつながるのか

2025/11/05 10:42
2025/11/05 16:18

IP とはなにか

  • IP とは Internet Protocol の略
  • 異なるコンピュータ同志がデータをやりとりするため、主に以下の 2 点を取り決める内容となっている
    • アドレッシング: 各コンピュータごとに一意の番地となる IP アドレス を割り当てどのようにルーティングするのか
    • カプセル化: データをどのように IP パケット として格納するのか
  • この取り決めにしたがって相互に接続されたネットワークをインターネットと呼ぶ
    • LAN(Local Area Network) は同一 LAN 内のコンピュータとのみやりとりが可能だが、IP を通したやりとりにより他の LAN と通信が可能となる
    • LAN 内ではデータを MAC フレーム としてカプセル化してやりとりする

SIP とはなにか

  • SIP とは Session Initiation Protocol の略
  • アプリケーション層における複数クライアント間でセッションを確立するための通信プロトコル
  • 電話の観点に立つと通話開始時に必要な手続きである シグナリング に関する取り決めがなされたプロトコルであるといえる
  • リアルタイム性 が要求される IP 電話、ビデオチャット、テレビ電話、インスタントメッセンジャーなどのアプリケーションで利用されている

シグナリングとはなにか

シグナリングは通話開始時に必要な手続きであり具体的には下記のような内容が含まれる
  • 通話先デバイスを識別し位置を特定する
  • 通話先デバイスを鳴らし、通話先が応答できるようにする
    • ビジートーン
    • ダイヤルトーン
    • リングバックトーン

参考資料

SIP サーバーによる内線通話環境構築

Amazon Linux 2023 + Asterisk 23.0.0 で簡易的な SIP サーバーを立て、手元端末 2 台を SIP クライアントにして内線通話環境を構築する
wget https://github.com/asterisk/asterisk/releases/download/23.0.0/asterisk-23.0.0.tar.gz
tar -zxvf ./asterisk-23.0.0.tar.gz
cd asterisk-23.0.0
vi ./contrib/scripts/install_prereq

# if 文文末に下記を追加
# elif [ -f /etc/os-release ] && . /etc/os-release && [ "$ID" = "amzn" ]; then handle_rh

./contrib/scripts/install_prereq install
./configure
make
make install
make samples

WebRTC とはなにか

  • WebRTC とは Web Real Time Communication の略

SIP と WebRTC の関係性

TODO

STUN サーバーと TURN サーバー

TODO

PSTN と NGN