Vine Linux で IP-PBX

噂の asterisk をインストールしました.ついでに,snom の snom105 という SIP 対応 IP 電話機を購入しました.
以下雑感.暇があったらちゃんとした備忘録かくかも.

Vine 4.1 に入る asterisk バージョンを探すのが面倒くさいのですじゃ

Vine 4.1 CR にインストールしようとおもっていましたが,なんだかバージョンによってはうまく入らないようです.しかも,日本語パッチのあたるバージョン限定で.
結局,

にしました. 1.4 でもいいのかもしれないですが,ドキュメント類が少なそうだったので….

snom105 について

おっとーで購入しました.2台.おっとー側で,安定した最終ファームウェアにアップデートしてくれていますが,その後,そのまま箱詰めすればいいのに,どうやら勝手に遊んだようでございます.これで新品とは片腹痛い.
おかげで,管理パスワードも勝手に決められている! 困った.
しかも,一台,明らかにボタンがおかしいです!

なんか,3 と アドレス帳ボタンがなくて,4 と 5 が多いです….ちょっとした喜劇だな.
おっとーはファームウェアアップデートのとき気づかないんだろうか?
ちょっとキレてしまったので,おっとーにすぐさま電話かけ,直ちにまともな製品を送るように要求しました.すると,こちらから故障品を送らないと換えは出せないとのこと.なんというサービスの悪さ.
ちなみに,勝手にパスワードを決められてしまっていた問題については,ファームウェアをアップデートすることで初期化されました.ちなみに,ベータ版(3.56-JP)にアップデートしました.
おっとーが勝手なことをやっているのを除けば,(ボタンのおかしさ)を除けばまぁまぁつかえる感じです.音質もそんなにわるくないし,ディレイもない.ただし,受話器でなくスピーカ通話(?)のとき,再生がもたつく気がします.あと,ベータ版ファームウェアだからだと思いますが,ヘッドセットがつかえません.受話器とスピーカ通話しかない.
ところで,snom105 はドイツ製ということで信用して買ったのに,4,5が多すぎるなんて….

え,なんでドイツ製だったら信用できるのかって? そりゃあ,

ブァカ者がァアアアア
ナチスの科学は世界一チイイイイ!!

と仰る方がいらっしゃいますので,それを信用したわけですな.

NAT越え

SIP サーバはグローバル IP を持つ Linux サーバに設置しましたが,クライアントはそうもいかないでしょう.いえ,うちは16 IP なので,別に NAT なんていらないのですが.というわけで,クライアントがプライベート IP になっているとき,ちゃんと NAT 越えできるかどうか確認しました.
snom105 の他, X-LiteExpress TalkWindows Messenger v5.1 で確認しました.

UPnP STUN
snom105 ?*1
X-Lite ×*2 ?*3
ExpressTalk
WindowsMessengerV5 ×*4

なにやらNAT越えはだるいですな.

追記

asterisk を 1.4 にしたところ,外から RTP パケットが飛んでくるようになりました.でも,シグナリング(SIP)あたりでも,変な動きしてるのかな.ううむ, STUN を厳密に知らないとダメなのかもしれない.今までの解釈だと,STUN サーバに 外からどのポート使っているかを教えてもらって,IPヘッダを偽装してSIPサーバに投げつけてるんだとおもってたんだけどなぁ.うまくいっている Express Talk との比較をやってみたいね.

さらに追記

やっぱり,asterisk 1.4 でうまくいくのは,気のせいでした.なんでそんな勘違いしたのかは謎ですが.クライアント側がちゃんと STUN にしたがってしっかりと対策を施していないのが問題なのかもしれません.やっぱり今確実は UPnP か.げしょ.

  • STUN でうまくいかない例.

[5]24/12/2001 00:00:07: Setting static network identity 192.168.0.5:5060
[5]24/12/2001 00:00:07: Set identity to 192.168.0.5:5060/192.168.0.5:5060
[5]24/12/2001 00:00:07: Starting STUN determination
[5]24/12/2001 00:00:07: Starting STUN determination
[5]24/12/2001 00:00:07: Starting STUN determination
[5]24/12/2001 00:00:07: Set STUN binding interval to 60
[5]24/12/2001 00:00:07: Starting STUN determination
[5]22/10/2007 05:28:08: STUN: Found mapped addr 210.255.66.41:62312
[0]22/10/2007 05:28:13: Automatic NAT detection: Symmetrical NAT, using given IP address.
[5]22/10/2007 05:28:13: Set identity to 192.168.0.5:5060/210.255.66.41:62312

ふうん.

  • 一方うまくいく UPnP の例

[5]24/12/2001 00:00:13: Setting static network identity 192.168.0.4:5060
[5]24/12/2001 00:00:13: Set identity to 192.168.0.4:5060/192.168.0.4:5060
[5]24/12/2001 00:00:13: Starting UPnP search
[4]22/10/2007 05:43:44: UPnP: Get description
[4]22/10/2007 05:43:44: UPnP: Get WANDevice description
[4]22/10/2007 05:43:44: UPnP: retrieved Control URL /WANIPConn1
[5]22/10/2007 05:43:44: UPnP: Found mapped address 210.255.66.41
[5]22/10/2007 05:43:44: UPnP: Mapped external SIP port 61129 to internal port
[5]22/10/2007 05:43:45: Set identity to 192.168.0.4:5060/210.255.66.41:61129
[1]22/10/2007 05:43:45: UPnP: SIP port mapped to 210.255.66.41:61129
[1]22/10/2007 05:43:45: UPnP: RTP/RTCP ports 0 port mapped to 210.255.66.41:28956/28957 (local 30000/30001)
[1]22/10/2007 05:43:45: UPnP: RTP/RTCP ports 1 port mapped to 210.255.66.41:54140/54141 (local 30002/30003)
[2]22/10/2007 05:43:45: UPnP Setup done.

ちゃんと mapped になってるのにな〜.なんでなんだろう.
ちなみに,上記のファームウェアは,ともに 2.04g ALS です.

RTP の中継なんとかならんの?

以前 PartySIP であそんでいたときは,SIPサーバはSIPサーバだけやってればよくて,トランスレータにはならなかった.なのに,asterisk はデフォルトで中継するね.まぁ,IP-PBX って交換機だし,当たり前といえばあたりまえだけど,なんだかきもちわるいなぁ.

メモ

  • 一つのグローバルIP下に複数台 snom105 を置くときは,SIP Stack 設定で,Locao SIP Port を Network Port にする.

*1:受電はできるが架電できない.ちなみに,受電でもグローバル側から RTP パケットがこない.なんでだ?

*2:未対応

*3:Ver.3 だが,どうやらバグがあるようだ.

*4:未対応