むー便屋さんの配達記録

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

タグ:うまくいかない

これは意外に簡単でした。
簡単といっても、それなりにハマりましたのでメモです。

まず、SIPトランクを追加しますが、3CXにはFusionが標準で準備されています。
が、これを使ってもできませんでしたが、とりあえずそれを雛形に設定しました。

SmarTalkを使う場合は、SmarTalkの情報画面にある情報を使います。
samrtalk01










↑こんなやつです。
ポート番号などはそのままで大丈夫です。


で、着信はできましたが、発信ができない。ちょっとハマりましたが、発信パラメータを適当にいじってたらできたのでそれをそのまま載せます。
smartalk02

























で、あとは、
 ○IPに着信があったときに、どの内線を鳴らすか?
 ○どの端末でIP発信を許可するか?

を設定すれば準備OKです。

以上です。
SmarTalkは標準的な設定で、とても素直に設定できてとてもいい印象です。
それに比べて050Plusは反応すらしない・・・。

Asteriskだと設定方法が載ってますが、3CXではどうやったらできるんだろう・・・・。
気が向いたらちょこちょこやってみようかな。

これ結構苦労しました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通知でハマったところを書きたいと思います。

このページのトップヘ