対ありでした!! 📞💻📞 pic.twitter.com/UbBRb01gk4
— neo_3016 TFTC!🍃🥜Ω 🍋 (@neo3016) 2022年8月7日
Cisco IP Phone 7940を手に入れた(SIPのパケットが見たかったので)ので とりあえず、通話ができるところまで設定、SIPサーバを建てたよって話
超ざっくりな構成。それぞれのIP電話にSIPサーバがある感じ。
SIPサーバを作ってみる。(Asterisk)
Asteriskとは・・・ voip-info.jp
ラズパイにインストールしてみた。
sudo apt-get update sudo apt-get install asterisk
/etc/asterisk/にファイルが生成されるので sip.confとextensions.confを作成する。
sip.conf
[general] context=default bindport=5060 bindaddr=0.0.0.0 language=ja localnet=192.168.0.0/255.255.255.0 nat=yes [101] type=friend defaultuser=101 secret=pass101 canreinvite=no host=dynamic [102] type=friend defaultuser=102 secret=pass102 canreinvite=no host=dynamic [103] type=friend defaultuser=103 secret=pass103 canreinvite=no host=dynamic [104] type=friend defaultuser=104 secret=pass104 canreinvite=no host=dynamic [201] type=friend defaultuser=201 secret=pass201 canreinvite=no host=dynamic
extensions.conf (201はコールバック)
exten => 101,1,Dial(SIP/101,30,r) exten => 101,2,Hangup() exten => 102,1,Dial(SIP/102,30,r) exten => 102,2,Hangup() exten => 103,1,Dial(SIP/103,30,r) exten => 103,2,Hangup() exten => 104,1,Dial(SIP/104,30,r) exten => 104,2,Hangup() exten => 201,1,Answer() exten => 201,2,Playback(hello-world) exten => 201,3,Hangup()
作成が終わったらasteriskを再起動する。
sudo systemctl restart asterisk
アプリにzoiper(iphone)内線番号、IPアドレス、パスワードを登録する。
201に電話をすると、コールバックが確認できるはず。
Cisco IP Phone 7940の設定
SETTINGS-Unlockcongiguration パスワードのデフォルトは、cisco これでsip,networkの設定を入力することができる。
SETTINGS - SIP congiguration - Line*Settings -
Name :設定した内線番号 Shortname:設定した内線番号 Authnetication Name:設定した内線番号 Authnetication Password:設定したパスワード Display Name: Proxy Address:SIPサーバのIPアドレス Proxy Port:5060(デフォルト)
SETTINGS - SIP congiguration
NAT Enabled:YES (Yesにしないとregistされない) NAT Address:SIPサーバのIPアドレス Outbound ProxyPort:5060 Outbound Proxy:SIPサーバのIPアドレス Emergency Proxy:SIPサーバのIPアドレス Emergency ProxyPort:5060 BackupProxy:SIPサーバのIPアドレス BackupProxyPort:5060 Register with Proxy :Yes (Yesにしないとregistされない)
着信
発信
保留音
FTPサーバを建ててファームウェアの書き換え(おまけ)
本来は、Cisco IP Phone 7940のファームウェアをSIPに対応するものに 変更?する必要があるようだが、今回の個体は購入時からSIPに対応済だった。
とりあえず、ラズパイでFTPサーバを建てる方法を記載しておく。
sudo apt-get update sudo apt-get install vsftpd ※/srv/ftpにフォルダが作成される。
windowsでFFFTPでラズパイにアクセスする。 IPアドレス、ユーザ名、パスワードを設定する。 こんな感じで、 FFFTP経由でラズパイのファイルにアクセスすることが出来た。 当たり前だけど、ファイル転送とかすごく便利だね。 転送先、転送元のディレクトリのパーミッションを変更しないと行けないけどね。 パーミッション周りは、chmod で対処。
結び
とりあえず、IP電話⇔SIPサーバ⇔IP電話で通信ができる環境を作ることが出来た。次は、⇔の部分(ネットワーク周り)を自前で作って電話をかけてみたい。そのときには、SIPのパケットキャプチャーしてどのようなやり取りをしているか覗いてみたい所存。