neo3016.log

好きなことをまとめた備忘録的なそれ。

Ciscoの電話機で通話がしたい。(Asterisk / vsftpd @Cisco IP Phone 7940)

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されない)

着信

www.youtube.com

発信

www.youtube.com

保留音

www.youtube.com

FTPサーバを建ててファームウェアの書き換え(おまけ)

本来は、Cisco IP Phone 7940のファームウェアSIPに対応するものに 変更?する必要があるようだが、今回の個体は購入時からSIPに対応済だった。

とりあえず、ラズパイでFTPサーバを建てる方法を記載しておく。

sudo apt-get update
sudo apt-get install vsftpd 
 ※/srv/ftpにフォルダが作成される。

windowsFFFTPでラズパイにアクセスする。 IPアドレス、ユーザ名、パスワードを設定する。 こんな感じで、 FFFTP経由でラズパイのファイルにアクセスすることが出来た。 当たり前だけど、ファイル転送とかすごく便利だね。 転送先、転送元のディレクトリのパーミッションを変更しないと行けないけどね。 パーミッション周りは、chmod で対処。

結び

とりあえず、IP電話SIPサーバ⇔IP電話で通信ができる環境を作ることが出来た。次は、⇔の部分(ネットワーク周り)を自前で作って電話をかけてみたい。そのときには、SIPのパケットキャプチャーしてどのようなやり取りをしているか覗いてみたい所存。

参考文献

my-scribble.net