2017-07-23

ソフトフォンアプリ・GrandStream Wave の設定をする

まずは、Google Play で「gs wav」または「grandstream」で検索します。



インストールします。
Android 7.0 の場合は自動的に「電池最適化対象外」になるようです。
設定を終えたら確認して見てください。





右下の Settings を押して上図の設定画面を開きます。
アカウントの登録の前にこちらを設定した方がいいと思います。

まずは、Custom Settings でテーマや色を選びますが、これは後でもできますし、好みもありますから、まずはここはパスでいいと思います。

一応、どんなメニューがでるかというと、



このようなメニューです。Languages は残念ながら日本語には対応していませんので、デフォルトの英語のままで進めていきます。

戻って、Advanced Settings を押します。








このような画面になりますので、一番上から、順次設定します。




最初の4つはこのままでいいと思います。Start on Boot はデバイスの起動時に GS Wave を起動するかどうかの設定です。それでよければこのままで結構です。

DND(Do Not Disturb)は着信拒否の設定です。

夜間や、時間帯で着信を受取りたくないときに設定します。
DND Settings は 24時間着信拒否、または ◯◯時〜◯◯時まで着信拒否、のいずれかを設定できます。着信拒否しているときに着信した電話は着信リストの Missed Calls リストには残りますからあとでどこからかは確認できます。

編集はいつでもできますし、いまはこのままオフにしておきます。

DND の下の方に進み、引き続き設定します。
Use hard encoder はこのままでいいと思いますが、コーデックがおかしい場合は外すといいかも知れません。
Noise Reduction Level は Low に設定し直します。
どうも、どのソフトフォンもこの部分はオフの方が素直なのですが、何故かデフォルトではオンもしくは最高レベルの設定が多い。GS Wave はオフはありませんから、Low にしておきます。

Speaker Gain と Microphone Gain は、デバイスの個体差を吸収するものです。
通常はこのままにし、あとで調整します。

Network は、2G/3G/4G/WiFi のどの無線下で使うかの設定です。
デフォルトはすべてオンになっていますので、とくに変更しなくてもいいと思います。
一番下の、Only Use This WiFi to Register Account は特定の WiFi(SSID)でしか使わないときの設定ですから、これもオフのままでいいと思います。





STUN のアドレスは最初から設定されていますが、とくに変更しなくてもいいと思います。
このアドレスの STUN が有効になるのは、アカウントごとに設定する NAT Traversal の項目で NAT または AUTO を選択したときです。デフォルトではこの部分は Keep-Alive です。これについてはアカウント設定で後述します。

STUN を使う場合は、グーグルの STUN がいいと思います。ping 値も一桁違いますし。

参考までに、グーグルは stun.l.google.com:19302 です。

内線のアカウントは、NAT Traversal の項目の設定を NAT NO にしてください。


GS Wave は、標準で NAT Traversal が機能していますので、NAT 越えに問題はありません。WiFi → 3G/4G、または 3G/4G → WiFi でも問題なくレジストが維持されます。

いったんレジストされた IP 電話は、ウチでもソトでもレジストが維持されるということです。携帯性が格段に上がります。


ここらあたりは国産のソフトフォンには実装されていないことが多い機能です。


QoS も変更の必要はありません。


Random Port は通常はオフにします。
サーバー側が複数のポートを使用しているときはオンにしますが、通常は SIP/5060 でしょうからオフで結構です。

アカウントを追加登録していくと、SIP ポートが、5060 から自動的にカウントアップされた値が設定されます。Random Port をオフ後、「アカウント修正」でポートを 5060 に戻してやります。Random port オフでもアカウント追加でなぜかカウントアップされてしまいます。バグではないかと考えますが、少し手間でも仕方ありません。





Validate Server Certificate はサーバーから証明書による認証を受ける必要がある場合のもので、通常はオフのままで結構です。

GDS(Global Distribution System)は航空機予約、ホテル予約、レンタカー予約などのサイトの登録です。
通常は何も設定の必要はないでしょう。

海外で使うことが多い方は登録しておくといいかも知れませんが国内は、それぞれのサイトが専用のアプリなどを持っていることもありますから、とくに利便性がいいとも思いません。

一般的には GDS は消去線の記述の通りなのですが、GS Wave の場合は私の勘違いで、GDS3710 というドアホンとの連携設定のようです。通常は必要ありません。

ちなみに、GDS3710 は家庭用というよりも、企業の玄関などに置いて、内線で映像付きで(映像は受けた内線側のみ見れる)ドアホン呼び出しに対応する装置のようです。




ご覧の通り、あまり関係ないですよね。







LDAP Settings は 連絡先で LDAP を使用する場合の設定ですから、これもこのままでいいでしょう。

BLF は Busy Lamp Field または、Busy Line Feature といわれる、プレゼンスの機能です。
Cisco では前者のいい方をしているようですが、一般的には後者のいい方をするようで、この方がしっくりします。

Cisco のサイトには詳しく記述がありますので、興味のある方は、BLF presence を参照ください。

これは、電番または、SIP URI で指定したユーザーのリアルタイムなプレゼンスを追跡する機能です。

プレゼンスとは、モノやヒト、情報などの状態を指すもので、この場合はその電番を持つヒトを対象とします。

特に ”監視" したいことがある(?)、またはチャットを行う場合などのときは設定しますが、いまは何も設定しなくてもいいでしょう。

国内では圧倒的に LINE ですから。



次に、アカウントを登録していきます。
右上の「+」を押して、登録画面に移ります。





「GENERIC ACCOUNT」→「SIP Account」と進みます。
「VOIP PROVIDERS」は国内のサービス会社はプリセットされていません。
日本のプロバイダーはマイナーなんですね、多分。

UCM Account は「統合的なコンテンツ管理に基づくアカウント」ということのようで、QR コードで読み取って設定する機能のようですが、通常は SIP Account をタップします。




Account Name : 任意名(電番でも入れてください)
SIP Server : ブラステルの場合、softphone.spc.brastel.ne.jp
SIP User ID : ブラステルの場合、カードに記載の8桁の番号
Password : ブラステルの場合、カードに記載の8文字のパスワード
Voicemail User ID : 設定不要

画面では一番下の行が表示サイズの関係で見えていませんが、
Display Name : 任意名(無記入でも結構です)




それぞれ設定し終えたら上にある ✓ を押し前の画面に戻ります。




登録したアカウントの右の ● が点灯すれば正しく登録されています。
レジストに若干時間がかかります(2〜3s)。

ここが にならなければ、どこかの設定を誤っていますので、当該アカウントの修正をします。修正は、当該アカウントを押して、上から3行目に「Edit Account」がありますから、これを修正します。

また、NAT Traversal の設定も内線の場合は NAT NO にしないとうまくないようです。

NAT Traversal については、下記に GS Wave のマニュアルからの抜粋を示します。

 NAT Traversal : デフォルトは "Keep-Alive"
  "STUN" : 
   STUN サーバーが構成されている場合、通話はSTUNサーバーを経由して行われる
   NAT タイプが Full Cone (1対1NAT)、Address-Restricted Cone、またはPort-Restricted Coneの場合、通話はパブリックIPアドレスとポート番号をすべてのSIP&SDPメッセージで使うように試みる
  "Keep-Alive" : 
   NAT ポートの「開」状態を保つために、定期的な空のSDPパケットをSIPサーバーに送信する
  ”NAT NO" :
   NAT を使わない。outbound proxy が使われるならば、これを構成する
  ”UPnP" :
   ルーターがUPnPをサポートしていれば、これを構成する
  ”Auto" :
   Traversal は、どれか有効なものを見つけるまで、上記のすべてのTraversal 方式を試みる


アカウントでほかに設定するのは、着信音(好みで)、コーデック「Preffered Vocorder」くらいです。




コーデックは WiFi および 2G/3G/4G について設定します。上の例と同じでいいでしょう。

コーデックは上位のものが優先されますが、最終的には SDP メッセージのリストと付き合わされて決定されます。つまり相手側リストと上位から突き合わせて一致したものが採用されます。

一般的にいいますと、殆どの通話先とのケースでは G.711μか GSM でしょう。

自分で、複数台のスマホに設定した場合それらの間では、どれを使うかを事実上決めることができます。

私が実際に聞いて試した感じでは、G.722 が一番音質がいいように思いますが、帯域を広く使いますから、オススメではありません。

iLBC は若干ざらつき感があるものの一番上にしているのは、一番遅延が少ないからです。モバイルでも一番安定的に使えます。

G.711μ(PCMU)は、音質はいいのですが iLBC よりは少しだけ遅延が感じられます。Opus もサポートされていてこれも音はいいのですが、まだ相手が少ないので実際的に使われることが少ないと思います。

zoiper の場合は、G.711μ と iLBC は遅延度合いは殆ど同じなので G.711μ がオススメですが、GS Wave は iLBC の方がいいと思います。


G.729 も無料で標準的に使えるのは嬉しい限りですが、高音域がエコーをひく感じがします。GSM/G.711a は互換性のために選択しておきます。

徐々に最強といわれる Opus になっていくと思いますが、いまはまだ利用者が少なくマイナーです。

昨年あたりからいろいろなソフトフォンで Opus が実装されるようになってきましたので、いずれこれが「標準」になるでしょうけど、いまはまだ早いと思います。


LINE も Opus ではないか? との噂がありますし。


あと、zoiper BETA と UI がどことなく似ています。どちらかが参考(マネ、とまではいいません)にしたのではないか、というほどです。

デフォルトアカウントの選択画面は、左エッジからスライドすればアカウント一覧がでますから、この中のどれかを押せば、それがデフォルトアカウントになります。

以上で、GS Wave の設定は終了です。
あなたも是非、IP電話ライフをお楽しみください。



追記:NAT Traversal は Doze 対策のために Auto ?


Android 7.0 で、深い Doze に入ったときにプッシュ着信しない、という事象があります。Deep Doze 中の最初の着信が無視されるようです。その後の着信は正常です。
Android 6.0 でも同様の事象が発生します。


これは、NAT Traversal を Auto に変えると治まった、という報告もあります。

実際、私の場合もこれが有効でした。

なんとなく、わかるようなわからないような・・・(?)
zoiper でも出ていた事象です。まったく同じ、ということではないでしょうけど、契機については同じかもしれませんね。

Settings → Account Settings → [アカウント] → NAT Traversal → Keep-Alive(デフォルト)を、Auto にするといいらしいです。

実は、Auto で確かに治まるのですが、別の問題が発生しました。

Auto は、実際には Traversal は選択し得る中から最適なものを選択しているとのことなので、何が採用されるかはわかりません。

Auto だと UPnP が採用されることがあり、この場合、LTE で発信元不明の攻撃(3〜4桁番号などや、国内番号以外から)を受けることがあります。

ちなみに、ルーターも UPnP は許可してはいけません。
もし、許可設定していると WiFi でも同様の攻撃を受ける恐れがあります。

我が家では、カミさんのスマホが LTE のときにこの攻撃を受けました。実害はありませんでしたけど。

ルーターはもともと UPnP 不許可にしていますから、ウチの中から接続する分には問題なかったのです。

NAT NO、STUN、または Keep-Alive にするのですが、Deep Doze 中の最初の着信をのがしてしまいます。

これについては、少し検証をしてみますので、その後に改めてご報告したいと思います。


それにしても Doze には悩まされます。電池の消費には大きく貢献していますが、そのために Android と同じく Google がサポートしている Gmail さえもリアルタイム着信通知に問題があるのはいただけません。

Disable Doze というアプリがあって、Andoroid 6.0 では有効だという事例もあるほどに( 7.0 では効かないそうです)、Doze=キライ という方も少なからずいらっしゃるようですね。

Doze をやめさせるために、2〜30分ごとに画面表示させ、すぐにロックするという自動化アプリを動かしているヒトも結構いるようですし、中にはその自動化スクリプトの名前に「Doze嫌い」と名付けているヒトもいました。

これはあくまで対処療法なのであって、王道ではありません。


こうなってくると Doze には「本質的」に問題があると思います。「本質的な問題」をおざなりにするとロクなことはありません。私の拙い経験でもそうでした。

とにかく、使う側もアプリ開発する側も皆んな悩まされている、感じなのです。


次期バージョンの Android O(現時点ではベータ版が公開)ではまたこのあたりも変わるようで、となると Nougat では改修される見込みはなさそうです。次期バージョンで「改悪」ではなく「改良」になることを望みますネ。






3 件のコメント:

匿名 さんのコメント...

詳細な日本語解説がなかなかネット上になく、誠にありがとうございます。古めのスマホ(5年前ぐらいのAndroid)を使っています。GSwaveを仕事で使っているのですが、途中でこちらか通話相手の声が聞こえなくなってしまうトラブルに何年も悩んでいます。思い当たる解決法がありましたらご教示いただけますと幸いです。

bike86-3 さんのコメント...

おはようございます。

方通話になる原因はいくつかあります。
IP電話のプロバイダーはどちらでしょうか。

例えばブラステルの場合、複数デバイスに同一アカウントを登録できますが、
プッシュ型ソフトフォンと非プッシュ型ソフトフォンの両方に登録すると方通話になります。

GS Wave は非プッシュ型ソフトフォンです。

ブラステルの場合はMy ブラステルにログインしてパスワードを変更し、その変更後のパスワードでソフトフォン設定し直せば解消します。

そのほかの場合はコーデックが合っていない場合です。

コーデックは G.711 μ-low 一択です。これ以外のコーデックだと方通話になることがあります。
G.711 μ-low は NTT 電話のコーデックと同じです。

モバイル電話は違うのですが、G.711 μ-low との変換をしてくれます。

匿名 さんのコメント...

早速のお返事ありがとうございます! 試してみて報告します。