電話はなぜつながるのか
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 電話、ビデオチャット、テレビ電話、インスタントメッセンジャーなどのアプリケーションで利用されている
シグナリングとはなにか
シグナリングは通話開始時に必要な手続きであり具体的には下記のような内容が含まれる
- 通話先デバイスを識別し位置を特定する
- 通話先デバイスを鳴らし、通話先が応答できるようにする
-
- ビジートーン
- ダイヤルトーン
- リングバックトーン
参考資料
- Session Initiation Protocol - Wikipedia
- インターネット10分講座 VoIPとSIP - JPNIC
- IP電話機をローカル環境で試してみる ~SIPサーバの構築など~|TECHブログ | 株式会社PALTEK
- 【ハンズオン】AWS上にAsterisk13をインストールして電話してみる #AmazonLinux - Qiita
- Asterisk17 + Ubuntuでさくっと内線電話網を構築する #asterisk - Qiita
- 荒川土手に自作の電話網を敷設して、電話をかけてみた|ギークスペース
- Raspberry Pi 4B でAsteriskを構築し、iPhoneを固定電話の内線にする(~音声通話編~) #RaspberryPi4 - Qiita
- 学内 LAN を利用した構内 IP 電話網の構築
- Asterisk入門 ~SIPフォンで通話してみる~ | Sqripts
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 samplesWebRTC とはなにか
- WebRTC とは Web Real Time Communication の略
SIP と WebRTC の関係性
TODO
STUN サーバーと TURN サーバー
TODO
PSTN と NGN
Pinned Articles
About
ウェブ界隈でエンジニアとして労働活動に励んでいる @gomi_ningen 個人のブログです
Tags
LLM
promptfoo
GenAI
JavaScript
PowerShell
kibana
fluentd
elasticsearch
nginx
村川梨衣
五十嵐裕美
イベント
logrotate
IoT
Java
Scala
iputils
C言語
ICMP
WUG
mastodon
Swift
AWS
Clock
Windows
アーキテクチャ
PoEAA
iOS
DeviceFarm
プログラミング言語
OS
Lambda
StepFunctions
Serverless
terraform
ポエム
RHEL
ネットワーク
GraphQL
CloudWatch
Linux
Coreutils
telnet
network
nc
LinuxKernel
fpinscala
ELB
IAM
AppSync