むー便屋さんの配達記録

とりあえず営業を開始してみました。配達時間は不定期です。配達ミスもあります。ご利用は慎重に・・・。

2016年01月

最近IP電話(SIP)の設定に携わる時間が増えてきて、SIPに関する知識も増えてきているなかで、ちょっと思うことがあったので書いてみました。

よくあるのが「音が悪い」「途切れる」「相手の声が聞こえない」「自分の声が届かない」

SIPの仕組み上、サービス(050Plus、ブラステル、SmarTalkなど)によってこの状態が変わることはほとんどないと思います。
理由はこちら。
http://www.atmarkit.co.jp/ait/articles/0711/16/news146_3.html
SIPの通話から終了まで

IP電話は、SIPサーバを中継して行うVoIP通話ですが、SIPサーバは自分と相手との最初と最後のやり取りだけ中継するのであって、実際の通話は端末同士が直接行っています。
なので、SIPサーバが変わったからと言って、通話品質が変わることはほとんどないと思います。
※追記 IP←→IP以外の場合はゲートウェイの性能とか相性があるかもしれませんね。

原因はアプリかネットワークの問題となります。
では、よく起こる問題の原因はどこか?ということですが、

「音が悪い」
 コーデックの問題が大きいのかな?と思います。これはそれぞれの対応コーデックによります。
 対応しているコーデックはできるだけ使えるようにしておく方がいいかもしれません。
 G.711やGSMとかならほとんどの端末で対応してるはずなので必ず入れておくようにするといいと思います。
 あと、無線LANとかも問題を起こしやすいかもしれません。
 有線LANならすごく音がいいという場合もありましたので。

「途切れる」
 ネットワークの問題の場合は、QoSを設定する、電波状況を改善するなどです。
 アプリの場合は「エコーキャンセル」が悪さをしてる場合もありますので、チェックしてみましょう。
 ちなみにこれも無線LANは要注意。

「相手の声が聞こえない」
「自分の声が届かない」
 これはほとんどの場合でネットワークの問題です。
 NATの問題が大きいです。相手か自分のネットワークに問題があります。おそらくどちらかがWiFiを使っているはずです。LTEや3Gを使うと改善するはずです。
 それでもだめな場合は、通話時のプロトコルの問題。SecureSIPやSRTPなどが邪魔をしている可能性もあります。

「着信しない」
 これはPush対応を謳っている製品に多いかもしれません。
 100%ネットワークの問題。やっぱりNATがらみなんですが、UPnPがうまく動いていないとダメみたいです(業者談)。自分の環境ではNATテーブルのTTLの問題でした。Push通知はGCMサーバへの定期的なTCP通信をすることによって実現されていますが、この時間よりもNATテーブルのTTLが短いとPushがうまく端末へ届きません。 これもLTE回線を使えば解決しますが、ルータの設定を変えることで解決します。また、回線を切り替えたら接続しなおして、GCMへ端末の状態を再登録してみましょう。
 


トラブルシューティングを発見次第追記していきたいと思います。
この内容が快適なIP電話ライフの一助になれば幸いですww

ネタがないので書いてみました。
基本MVNEベースですが、MVNOも入ってます。

1.とにかく安いが一番!
  DMM.mobile
  DTI

2.パケットをたくさん使う!
  DMM.mobile
  イオンモバイル

3.050Plusを使いたい!
  OCNモバイルone

4.au端末で使いたい!
  mineo
  UQモバイル

5.信頼性
  IIJ
  OCN

6.家族で入る
  mineo

7.混雑時にそこそこ速度がでる
  mineo
  FREETEL
   →詐欺であることが判明

8.ポイント貯めたい
  楽天モバイル

9.人と違ったMVNOがいい
  b-mobile
  so-net

10.それでもやっぱりお勧めしないMVNO
  楽天
  FREETEL
  b-mobile系(エックスモバイル含む)
  freebit系(DTI含む)
  
じゃあ、結局はどうしたらいいの?っていう人。
 IIJ系(個人的にはDMM)かmineoにしておけば問題ないです。


殴り書きですみません。

これ結構苦労しましたww。

いくらHELP探しても英語の3CXのサイトしか出てこんし。
そこはみたっつーの、みたいな。

原因の究明も大変。サーバ問題?クライアントのネットワークの問題か?とか。
それがあって最初はNAT配下に置いていたサーバをグローバルにおくことにしました。
まあ、結果的には設定手順とクライアントのネットワークの問題でしたが。

試行錯誤した結果、以下の手順で行う必要がありそうでした。

1.Google Developer Console https://developers.google.com/console/ で、 “Create Project” で何でもいいのでとりあえずプロジェクトを作成する。ここで作成される「プロジェクトナンバー」が必要になります。
2.メニュータグからAPIマネージャを開き、「
Cloud Messaging for Android」を有効にします。
3.認証情報にて、「新しい認証情報」⇒「APIキー」⇒「ブラウザキー」で、APIキーを作成します。
4.3CXの管理画面の「設定」⇒「Push」で先ほどの「プロジェクトナンバー」と「APIキー」を設定します。
5.3CXの管理画面の「内線」の中から、設定させる内線に対し、「send mail」で設定ファイルを送ります。
6.送られてきた設定ファイルを読み込めばOK。
 ※サーバ側の内線設定で、Pushが有効になってないとだめですよ!!

でした。
ポイント設定する順番。
 1.まずPush設定をする
 2.そのあと、設定ファイルをメールで送り、その設定ファイルでクライアントを設定する
っぽいです。やってみた感じでは。

こんなこと書いてないし。再起動すればいいっぽくしか書いてないし。確かに再設定を最新にとか書いてあるけど・・・。そういう意味なのか?

それでもだめ場合。

疑うのはネットワークの問題。一番大きいのはuPnP←業者談NATテーブルのTTL←自分の経験)
これが原因の場合、LTEおよび3G回線ならうまく着信するはずです。

もしWifi環境などで端末がpushで着信しない場合は、WIFiルータを再起動する、またはルータのuPnP設定がどうなっているかを確認してみましょう。
 →後述してますが、NATテーブルのTTLも要注意!!30分~60分を設定してみましょう。
もしuPnP設定ができない場合は、独自でポートを開けるしかないですね。でも3CXはSTUNでNAT越えができるハズなので、uPnPはあまり関係ないかもしれません。YAMAHAルータで状態をみてますが、uPnPのテーブルには何も表示されないので・・・。
GCMのポートについては以下の内容を参考にするといいと思います。

You need to configure the firewall to allow connectivity with GCM in order for your Android devices to receive messages. The ports that you have to open on your firewall are: 5228, 5229, and 5230 TCP. GCM typically only uses 5228, but ports 5229 and 5230 are also used sometimes. GCM doesn't provide specific IPs, so you should allow your firewall to allow outgoing connections to all IP addresses contained in the IP blocks listed in Google's ASN of 15169.


ちなみに、iOSは試してないです。
自分はAndroidしか持ってないのでww。
おそらく同じでいけると思いますが。
iOSの場合のファイアーウォールの設定は以下のような感じ。ただしバージョン12のヘルプから。

Push providers, iOS devices, and Mac computers are often behind firewalls. To send push notifications, you will need to allow inbound and outbound TCP packets on port 2195. To reach the feedback service, you will need to allow inbound and outbound TCP packets on port 2196. Devices and computers connecting to the push service over Wi-Fi will need to allow inbound and outbound TCP packets through port 5223.

The IP address range for the push service is subject to change. The reason being that providers will connect by hostname, rather than IP address. The push service uses a load balancing scheme that yields a different IP address for the same hostname. However, the entire 17.0.0.0/8 address block is assigned to Apple, so you can specify that range in your firewall rules.


iOS試したらまた追記したいと思いますが、とりあえず3CXのバージョン14では設定項目がないので、設定する必要はないんだろうな、と思っています。


続きを読む

IP-PBXのソフトは結構ありますが、Linuxベースがほとんどです。

そんな中、WindowsベースのソフトSIPサーバが「3CX」です。

3cxicon















ざっくり特徴としては
 Windowsベース
 同時通話数によるライセンス課金(同時1通話までなら全機能が無料で使える)
 パーク保留OK
 Push通知OK(Android,iOS)
 SIPtrunk
 OutlookやExchengeとの連携
 ・・・・etc

とても魅力的です。
これを何とか使ってみよう!ということでいろいろやってみました。
全部記載すると面倒なので、特にハマったところを書いてきたいと思います。

まあ、とりあえずはインストール。
以下のサイトからダウンロード。
http://www.3cx.jp/ip-pbx/download/

インストールしていきますが、NAT環境下ではネットワークの設定がちょっと大変です。SNATとかできる環境でなければグローバルIPの環境が一番素直でやりやすいです。
3CXで利用するポートは以下の通り(一部はデフォルトの設定なので変わる可能性あり)。
NAT環境で行う場合は以下を参考にしてポートフォワーディングなどの設定をするといいと思います。
http://www.3cx.com/docs/firewall-router-configuration-voip/

2195-2196,5223 tcp(APNS:Apple Push Notification Server Infomation)
5060 tcp/udp (sip)
5061 tcp (secure sip)
5090 tcp/udp (3cx tunnel)
5228-5230 tcp (GCM:Google Cloud Messaging)
9000-9255 udp (外線通話用、1通話2ポート使用)
9256-9499 udp (WebRTC)

80 tcp(http access for iis)
443 tcp(https access for iis)
5000 tcp(http access for Abyss Web Server)
5001 tcp(https access for Abyss Web Server)

Linksysのルータの設定例が載ってますので、それを参考にしてもいいと思います。
http://www.3cx.com/blog/voip-howto/linksys-router-configuration/

自分はごりごりIPtablesを書きましたが、イヤー面倒。うまくいかないときに、何が原因なのかがわからない!!
なので、結局グローバルIPを振りましたww。
(Pushがうまくいかなかったんでグローバルを振ったのですが、結局NATの問題ではなかったので、ちゃんと設定すればPush通知もうまくいくと思います。)

というわけで、次回はPush通知でハマったところを書きたいと思います。

2015年2月なので1年前の記事ですが、なぜか今更見つけてしまったので・・・・・。

http://iphone-mania.jp/news-61259/

中国政府が海外企業に提示した22ページにわたる書類では、ソースコードの公開、会計検査の提示、ハードウェアとソフトウェアに対するバックドアの作成など、中国政府のコントロール下に入ることが要求されています。

こういった記事を見ると、スパイ疑惑とかなんとか考えるのもナンセンスってわかります。
だって、政府の命令でバックドア作成してるんですから。

やっぱり中国製品は使わない方がよさそうですね・・・。

別に機密データをやり取りしてるわけではないので、見られても別にって感じなんですが、気持ちのいいことではありません。

日本メーカーにはぜひ頑張ってもらって、機能を絞って適切な価格で製品を世に送り出してほしいものです。


↑このページのトップヘ