そのとき、次のようなエラーがAsterisk 11のコンソールに現れて発信できなかった。
"We are requesting SRTP for audio, but they responded without it!"
snom社のIP電話機は、snom360、snom370を使っていた。
Asterisk 1.8(SRTPモジュールをインストールせず) を使っていたときには、発信ができない問題はなかった。
Asterisk 11 に変更すると、SRTP関係のエラーで発信ができなくなってしまった。
Asterisk 11は、次のリンク先の方法で行っている。
http://akira-arets.blogspot.jp/2014/05/centos65asterisk11yum.html
調べたところ、どうやら、snomのIP電話機は現時点では、このAsterisk 11に標準設定では対応していないらしいことがわかった。
対応させるには、snom電話機のGUIで、設定を一箇所変更する必要がある。
■設定方法
対処方法は二つあるので、いずれかを用いる。
いずれも、snom電話機のGUIから設定を行う。
変更後には、snom電話機を子機としてAsterisk 11で、ただちに発信できるようになった。
○方法1
メディアパケット(RTP)を暗号化して運用したい場合にはこの方法を採用する。
ただし、Asterisk 11では発信できるようになっても、逆に旧バージョンのAsterisk 1.8(SRTPなし) では発信できなくなった。
Asterisk 11での運用に完全に切り替える場合にはこの方法を採用すればよいと思う。
Setup項目から、SIP接続を管理している各Identityを開き、RTPタブにある次の二項目を変更する。
・「RTP/SAVP:」の値を、「optional」(もしくは、「mandatory」)に設定する。変更後、saveボタンを押して保存しておく。
・「RTP Encryption:」の値を、「on」に設定する。
○方法2
メディアパケット(RTP)を暗号化せずに運用する場合にはこの方法を採用する。
Asterisk 1.8(SRTPなし) でも発信できた。
Setup項目から、SIP接続を管理している各Identityを開き、RTPタブにある次の項目を変更する。
・「RTP Encryption:」の値を、「off」に設定する。変更後、saveボタンを押して保存しておく。
■設定したオプション値についての説明
「RTP encryption」 が、"on"になっている場合、「RTP/SAVP」の設定が次のように考慮される。
"mandatory"に設定すると、snom電話機はAsteriskとのセッション構築において、そのSDPで、RTP/SAVPを含む「m= 」ラインのみを取り扱うようになる。
"optional"に設定すると、snom電話機はAsteriskとのセッション構築において、そのSDPで、複数の「m= 」ラインを取り扱うようになる。
これによって、RTP/SAVP(優先) と、RTP/AVPが共に取り扱えるようになる。
現時点で、snom電話機でデフォルトでは、「RTP/SAVP」の設定は、"off"になっている。
このような設定になっているのは、snom社のSIPプロキシが、RTP/SAVP や複数の「m= 」を扱うことができないためらしい。
(参考)
・[Resolved] SRTP not compliant with Asterisk 1.8 and 10 - RFC4568
< https://forum.snom.com/index.php?showtopic=10381 > 2014年05月21日
・SRTP not working with some devices (Eg snom320) - Message "We are requesting SRTP for audio, but they responded without it!"
< https://issues.asterisk.org/jira/browse/ASTERISK-20234 > 2014年05月21日
・Settings/user savp
< http://wiki.snom.com/wiki/index.php/Settings/user_savp > 2014年05月21日