2018年7月3日火曜日

P20 Lite には苦労する【2018-08-05 追記】

Android 8.0 なのですが、これがまた P10 Lite(Android 7.0)とは違う動作状況で、とくに VoIP を使う際には苦労させられます。


ファーウェイは電池消費を抑えるために極端な節電対策をしているようで、これが悪さをします。


プッシュ系のアプリに通知がこない、というネットでの意見が結構あるみたいですねぇ。


ファーウェイ機の設定については、ukki さんのブログを参考になさってください。

❏ 電池→起動→当該アプリ→自動起動をやめ、手動で「自動起動・他のアプリによる起動・バックグラウンドで実行」の3つをオンし、OK する
❏ アプリと通知→アプリ→設定(歯車マーク)→特別なアクセス→バッテリー最適化を無視→すべてのアプリ→当該アプリ→許可

基本的には以上の2点が重要らしく、あといくつか省エネオフとかあります。


ukki さんのブログの設定に次の処置を追加するといいらしいのですが、私の場合は効果はありませんでした。

 「端末管理を起動(最適化が走る)→ VoIP アプリを起動した状態で端末の強制再起動」


私も苦労させられていますが、結論的にいいますと根本解決していません。


スリープに入ると着信しなくなるのです。

WiFi もモバイルもダメです。



暫定的によしとする使い方にならざるを得ません。


以前より GS Wave を気に入って使ってきています。

P10 Lite でも苦労はしましたが、ディープスリープ中の着信は問題ない状態になりました。


ところが、P20 Lite はどうやってもディープスリープどころか、5〜10分程度のスリープで着信しなくなるのです。


スリープは3段階あり、

 第一段階:ただのスリープ(ファーウェイ機の場合これも更に二段階あるようです)
 第二段階:Doze に入る
 第三段階:Deep Doze に入る(Deep と、浅い Doze をたまに繰り返す)

VoIP アプリの不着信問題は第一段階で数分程度で発生します。



SMARTalk は Doze に入らないよう、定期的に Keep-Alive していて、そのためスリープ中の着信を確実にしているやり方になっているようです。

ZoiperBeta も新機能で、Keep-Alive の強力版(?)を具備していて、SMARTalk と同様、Doze に入らないようにして着信させるやり方です(後述のとおりこれもうまく機能しなくなりました)。



ファーウェイの機種はこの点がアプリによってうまくいかない、つまりアプリ側が Doze に入らないような仕組みでとりあえず回避している状況のようで、本来的ではありません。


スリープ開始からある時間を経過すると(数分のときもあれば10数分の時もあり、一定しません)、どうやらネットが一旦切れ、すぐ再接続されるもののこの間に VoIP アプリのレジストが外れ、VoIP アプリによっては一旦レジスト外れが発生すると再レジストされない場合、不着信になるようです。


再レジスストがうまくいくアプリは着信するようです。


なぜ、ネットが一旦切れてしまうのかわかりません。
どうもモバイルなら OK で WiFi は NG というケースもあるようですが、よくわかりません。

DTIM の関係でしょうか?

スリープ時の WiFi 接続を「維持」しても NG です。
モバイルも同様です。


私はファーウェイ側が対応するべき問題ととらえていますが、ファーウェイに問い合せても「個別アプリの事象については知らない」といっていてラチがあきません。


「個別アプリ問題」ではなく EMUI 8.0 そのものの省電力処理に不具合があるのだ、といって再問合せ中です。

ファーウェイ・ジャパンからは、中国本社にエスカレーションするが更新などの処置については伝えられない、とツレない。

いつになることやら(😢)。



せめて P10 Lite 並みには戻してほしいものです。

P20 Lite は EMUI 5.1(Android 7.0)にはできないようで、ファームウェアを戻す手段もありません。
EMUI 5.1 なら P10 Lite 相当でうまくいくかもと思ったのですが。


P10 Lite に Oreo のアップデートがきたらゾーッとしますね。

こちらの方は「自動更新」設定を外しました。



仕方がありませんので、暫くは GS Wave を中断して Zoiper v1.53 でしのぐことにします → 本件は後述の方法にて GS Wave で使える状態になりましたので、Zoiper v1.53 は使わないで済んでいます。安定しないので結局 Zoiper v1.53 に戻しました。

試してはいませんが、Disable Doze を使えば GS Wave でも着信するようになるのかも知れませんが、本来的ではありませんのでわざわざ有料でやる意味を見出せません。


それにしても LINE はチャンと着信します(即時〜数秒以内に)。
Bluemail も着信します(即時〜数秒〜十数秒)。


VoIP はアプリ提供側に苦労を強いているように思えます。


SMARTalk はこの問題を Doze に入らせないようにファーウェイ機種向けに対処療法的に処理してしまいましたが、まぁ、サービスがアプリと一体なので仕方がないのかも知れませんが、本来的ではないですね。


ZoiperBeta も然りです。

Deep Doze でも着信する、というのが本来的な処理だと思うのですが、そのようには動作しません。


というわけで、VoIP を使うならばいま現時点では P20 Lite はオススメできませんね。





【2018-07-04 追記】

まず、ukki さんのブログにも書かれている、 

① 設定→アプリと通知→アプリ→画面下の歯車→特別なアクセス→
  バッテリー最適化を無視→該当アプリ(GS Wave, ZoiperBeta)→許可

② 設定→電池→起動→該当アプリ→手動で管理(自動起動・他のアプリによる起動・
  バックグラウンドで実行)をオン

にし、WiFi / モバイルは常時接続、省電力モードやデーターセーバーはオフ、にしてあります。


この状態で WiFi 時に GS Wave はスリープに入ってから 10分程度経つと何故かタスクキル状態です。

これでは着信しないのも無理はありませんが、なぜタスクキル状態に陥るのか不明です。
①も②も効いていない感じです。


画面ロックを解いた瞬間に起動・レジストにいくみたいです(レジストが外れているだけの状態ではありません)。



一方 ZoiperBeta の方は、手動でタスクキル(設定→開発者オプション→実行中のサービスから停止)しても勝手に起動してきます。


何をやっても勝手に起動します。

まるでゾンビアプリのような動作です。

すべてのアカウントを「起動時スタートしない」設定にしてはじめて勝手には起動しなくなります。


どうもこの違いが「着信する/しない」の分かれ目になっていると思われます。


また、ZoiperBeta の場合はキープアライブを一定時間ごとに繰り返しており、そのために Deep Doze には入りませんが、消費電力自体はさほど影響はないようです。





【2018-07-06 追記】

その後、ZoiperBeta は WiFi オフ(モバイル)でも安定的には着信しなくなりました。

また、GS Wave は一時 WiFi オン時に Deep Doze でも着信していたのですが、その後オフでも着信しなくなりました。

着信したときは、 「GS Wave のキャッシュクリア / Google開発者サービスのキャッシュ・データクリアとアンインストール→スマホ終了→リカバリモードでキャッシュワイプ→起動→Google開発者サービス更新」をしたときでしたが、1日経つとなぜか安定的には着信しなくなってしまいました。


同じことを繰り返し対処しても着信を逃します。


ZoiperBeta も現時点では同じ経過となっています。


Zioper Lite の最新版 v2.4.19 も着信を逃します。



Zoiper Lite v1.53 は WiFi/モバイルともに Deep Doze で着信します。



最新 Android 8.0 と 古い Zoiper Lite v1.53 の組み合わせだけが安定しています。


不思議なことです。


新しい者同士がダメで、古いものとは OK って何なんでしょうか。


仕方がありませんので、暫くは Zoiper Lite v1.53 で暫定運用せざるを得ません。





【2018-07-10 追記】

Zoiper v1.53 よりも、使い慣れた GS Wave でないとしっくりしません。

使い勝手も違います。


そこで、ネットの Keep-Alive の代わりに一定時間ごとに画面点灯(ロック画面でかまいません)させ、直後にふたたび画面オフ・ロックさせるフローを構成しましたら、WiFi でもモバイルでもほぼ問題なく着信するようになりました。



自動化アプリである Automate を使います。

「画面オフ・ロック」は Screen Off And Lock(theBigMom)です。

このアプリは電源ボタンを押さずに画面オフ・ロックしてくれますので、電源ボタンの消耗を防げます。


特別なアドオンは要りません。




念のために「GS Wave 起動」を、上のフローの「画面表示」と「画面オフ・ロック」の間に入れました。


起動することによって、「起動・レジスト状態」なら変わらず、「レジスト外れ」の場合はレジストされます。


タイマー値を小さくすればスリープ中の着信の確実性は増しますが、電力消費への影響が出ます。

大きくすれば電力消費は減りますが着信逃しが発生します。


兼ね合いなのですが、私の場合現時点では 5分(Doze にもなりません)にしています。


P20Lite はスリープから「ロック状態」になるのに5分かかるようです。
しかもこの5分というのは、端末起動からの各5分、となるようです。

他の端末に比してかなり特殊な挙動に思えます。

このあたりに問題事象の遠因がひそんでいるかも知れません。


ですので、前記のタイマーを設定しても一番最初だけこのタイマーが働きますが、「P20Lite が決めている(?)ロックタイム」がこないとロックに入りませんので、それを解除するのも5分ごと、ということになってしまいこれよりは短くはできません。

まだ、ほかにも不思議な挙動があり、調べていますがなかなかに時間がかかります。




しかしながら電力消費は Deep Doze に比べてもそんなに増えてはいません。


この方法は、ほかの VoIP アプリにも応用ができますので、これまで愛用してきた VoIP アプリが EMUI 8.0 の不具合(と思っています)で不着信していた問題の暫定解消になると思います。


これも「暫定運用」なので早くファーウェイに対応して欲しいものです。



その後、この方法もうまくいかなくなりました。
Automate ではなく Tasker でも結果は同じです。

ファーウェイの機器のスリープ時の挙動は不思議なことだらけです。
よくこんな状態で販売開始したものだと、妙に関心します。






ちなみに、私の方で検証した限りでは主だった VoIP アプリの着信性は次のとおりです。

 Grandstream Wave(最新版) : スリープ時に不着信
        Zoiper(最新版):スリープ時に不着信(Beta も不着信)
       Zoiper(古い v1.53): Zoiper ではこのバージョンのみが着信します
         050Free(最新版): スリープ時に不着信
      SMARTalk(最新版): スリープ時に着信します
       050Plus(最新版): スリープ時に着信します
      CSipSimple(最新版): スリープ時に不着信
      AGEphone(最新版):スリープ時に不着信
       Mizudroid(最新版):スリープ時に不着信



どうですしょう、この状態でファーウェイのいう「個別問題」などといえますか?





【2018-07-17 追記①】

現在、我が家のスマホ・タブレットの VoIP アプリの Deep Doze 中の着信状況は以下の通りです。

GS Wave をメインで使用していますが、これが OK ならば他のアプリも概ね OK です。


 P20 Lite(Android 8.0 [EMUI 8.0])… GW Wave:NG、Zoiper v1.53 のみ:OK
 P10 Lite(Android 7.0 [EMUI 5.1])… GS Wave:OK
      motoG4plus(Android 7.0)… GS Wave:OK
        g07+(Android 7.0)… GS Wave:OK
       Nexus 5(Android 6.0.1)… GS Wave:OK
      Me572cl(Android 5.0.1)… GS Wave:OK


なお g07+ は Doze には入るものの Deep Doze には入らず(なぜかわかりません)、消費電力は一番少ないのでこれも不思議ですが問題にはなっていないので、そのまま使っています。



我が家では P20 Lite のみが異常な状況です。


ファーウェイ機は P20 Lite に限らず、Mate 10 や P9 系など EMUI 8.0 のものは着信問題やプッシュ問題を共通して抱えているようです。


ドコモ版ではどこもメールがプッシュ問題をおこしてつい最近ファームウェアの更新があって解消したようです(アプリではなくファームウェアです)。



EMUI 8.0 もいずれは改善されると思われますが、ホントにいつになるのやら、です。






【2018-07-17 追記②】

SMARTalk と 050plus アプリの状況について補足です。

これらは前記の、


① 設定→アプリと通知→アプリ→画面下の歯車→特別なアクセス→
  バッテリー最適化を無視→該当アプリ→

   許可ではなく「許可せず」のまま

② 設定→電池→起動→該当アプリ→手動で管理(自動起動・他のアプリによる起動・
  バックグラウンドで実行)を

   オンではなく「自動的に管理」のまま

の状態で Deep Doze 中でもアプリが起動して着信します。


しかしながら SMARTalk と同じ Acrobits フリー版である Cloud Softphone を使用の 050Free はこの設定の有無にかかわらず不着信です。



SMARTalk / 050plus は LINE や Bluemail と同じような動きです。

LINE / Bluemail も ① は「許可せず」、②は「自動的に管理」のままでアプリが起動して着信します。



EMUI 8.0 問題もあるようですが、アプリ側でも対応の余地があることを示していると思います。


よって、Grandstream 社側にもアプリ側での対応方法も検討して欲しいこと伝えていますが、返事はまだありません。





【2018-07-18 追記】

GS Wave の SIP ログを取得して調べてみました。
比較のため Nexus 5 での GS Wave のログも取得しました。


Nexus 5:

 SIP Register 要求とこれに対する 200 OK を 40秒程度〜約1分間隔で繰り返しています。
 いわゆる Keep Alive を Register / 200 OK を繰り返すことで行っていると思われます。

 これは固定網の考え方では問題はないでしょうけど、現在の Doze に対応した端末では実は
 不十分なのかも知れません。

 サーバーの負荷はその分高くなりますが、拒否されていないところをみると
 一応容認された範囲と思われます。


 "Registration Expiry Time" は、ブラステルの場合、サーバー側は 数秒〜約1分を
 返しています。

 要求側はほぼ 100秒に落ち着いて SIP Register 要求を出すか、設定値をかたくなに指定して
 要求していますがサーバーはこの数値とは関係のないタイムアウトをしますので、200 OK で
 返された時間内に次の Register を出さないと Registration Failed になります。

 GS Wave での設定値がどのような値であれ、サーバーの期限によるということですから、
 大きい数値を設定しても意味はありません。

 1〜2分程度を設定しておけば十分です。

 GS Wave はデフォルトが 60分、Zoiper は 60 秒ですから現実的には Zoiper の設定値
 の方が実際的といえます。


 "Session Expiry Time" は INVITE 〜 rtp(通話)〜 BYE のセッションの期限ですから
 初期値のままでいいと思います。


 Nexus 5 は Android 6.0.1 ですから Doze があります。

 ですが、Keep Alive によって、Doze 中でもレジスト状態を保ち、そのため着信を
 逃さない、ということでしょう。


P20 Lite:

 最初と 10 秒後の2回に Register / 200 OK が行われ、次は5分後です。
 この5分のときに、すぐにもう一度 Register / 200 OK が行われていますが、以降は
 中断しています。

 つまり Registration Failed 状態です。



 最適化無視設定状態だとなぜか 10 分間隔になり、15〜20分で以降は中断しています。

 スリープ開始から5〜 20分程度で着信しなくなるのはこれが直接的原因でしょう。

 なぜ、Android 7.0 以前だと1分以内には Keep Alive されるのが、EMUI 8.0 だとこういう
 動きになるのかわかりません。


 5分というのはファーウェイ機がロック状態になる時間間隔と不思議に一致します。
 ファーウェイ機がロックする5分という時間もよくわかりません。



SMARTalk:

 これは Register / 200 OK での Keep Alive を行っていないようです。

 Notification 登録と GCM 登録してこの API から通知を受けるやり方になっているように
 思えます。

 つまり、ファーウェイ機のような場合でも Doze 機構をうまく利用したやり方に思えます。

 LINE と同じやり方に思えます。

 ベースになっている Cloud Softphone ではうまくいきませんので、独自に手を加え、
 ひょっとしたらサーバー側も何らかの対応をしているのかも知れません。


 050plus も推定ですが、同じ対応をしているように思います。




P20 Lite で Zoiper v1.53 がなぜ着信するのかは、このバージョンではログ採取機能がなく、わかりません。


また、

① 設定→アプリと通知→アプリ→画面下の歯車→特別なアクセス→
  バッテリー最適化を無視→該当アプリ→許可

の設定は必要ですが、

② 設定→電池→起動→該当アプリ→手動で管理(自動起動・他のアプリによる起動・
  バックグラウンドで実行)を

   オンではなく「自動的に管理」のまま

で問題はありません。

つまり、は Doze / Deep Doze 中の動作には影響しない、ということになります。


この設定項目はファーウェイも不具合時には設定を手動にせよ、といっていますが、ファーウェイジャパンのサポート自身がよくわかっていない、ということにほかなりません。


ただ、Doze 中に何らかの要因で自動再起動されることがあり、この場合再起動ではマズイ場合は「手動」にするという程度です。

自動再起動で通常は「マズイ」ことはないと思います。


例えば、Zoiper v1.53 に複数アカウントを登録しておいて、いくつかはアクティベートしていない使い方が通常の使い方のような場合に、自動再起動ですべてのアカウントがアクティベートされる、ということです。

あまりこういう使い方はしませんよね。

私は着信試験のために登録したアカウントのうち、試験対象にするものだけをアクティベートしていましたから、たまたま自動再起動で全アカウントがアクティベート状態になっていたのに気付いたということです。


Zoiper 最新版(Betaも同様)が NG なのは、おそらく GS Waveと同じ経過をたどるからではないかと推定していますが、ログを採取しての詳細は未検証です。


 
現時点でわかったことを記述しましたが、何らの解決策にもなっていなくてスミマセン。

ユーザー側で対応できるものではない、ということは明確です。



ほかのサイトなどでの VoIP に対する「こうすればできる(ハズ)」というのが如何に当てにならないか、ということです。






【2018-07-23  追記、2018-07-26  再追記】

Mizudroid がかなり進化したみたいです。

V.2.4.0(2017/3/14版)から、つい最近 V2.6.28(2018/7/21版)になり、Android 8.0 に対応したとありますが、V2.4.0 はスリープ中の不着信があります。


不思議なことに Google Play では V2.4.0 で、V2.6.28 は Mizutech の HP から apkファイルをダウンロードしないと得られません。

また、Web で Google Play を検索すると同じ V2.4.0 は 2018/07/22 となっています。

なにかかなりバージョンに関して混乱があるように思います。

おそらく、最新版である V2.6.28 を Google Play にアップロードしたつもりが古いバージョンを誤ってアップロードしたように思えます。



いずれにしても V2.6.28 最新版は Muzutech の HP から apkファイルをダウンロードしてインストールします。

この V.2.6.28 を評価中です。

結果は少し時間がかかります。


確かに、以前に比べて相当に進化していてこれはスリープ中の不着信がなければ十分に使えるかも知れませんので、評価待ちです。


とりあえず、遅延や音声の明瞭さなどは問題はありません。

設定項目が大変に多く、ちょっとした設定ミスで音声が通らなかったりとかありましたが、手探りで設定してみてスリープ中の件を評価中ではあるのですが、この評価待ちを除けば問題なく使えるレベルです。






Deep Doze 中の着信は WiFi でもしますが、1度目のコールで着信するときもあれば、1度目が NG で2度目に着信する、という不可解な動きがあります。

➡ Deep Doze 中の場合アプリ起動に時間が4秒程度かかり、その間は無音(呼び出し音が鳴らない)なので、即切断して再度呼び出しをしていたので1度目が不着信・2度目で着信と記述したが、アプリ起動まで待つと1度目で着信することが判明しました。

3回目以上の呼び出しをしなければ着信しない、ということはいまのところ6回ほど検証した限りではありませんが、なんとも不可解です。

【2018-08-01  訂正・追記】

あと音声の NAT 超えが思った以上に苦戦します。

ルーターとの関係が GS Wave や Zoiper に比して相当にセンシティブです。

ブラステルだからなのかも知れませんがまだよくわかりません。


RTP の NAT 超えに苦労します。

ルーターのポートを開けないと通らない感じで、STUN もサーバー指定方法がなくうまくありません(Mizutech の STUN サーバーを使うことになっているのかも知れませんが、これでは不便です)。



設定項目が多いのですが、詳細を記載したマニュアルがないので(「設定」の際の簡単な記述と同等の「マニュアル」で、意味がありません)手探り状態になってしまいます。

設定をあれこれいじるとかえってうまくいきません。
ほかの VoIP ソフトフォンとは感じが違いますので、勝手な設定にまかせるのがいちばんいいように思います。

デフォルトのままで安定しますが、後述のデバイス(CPU) / ネットワークの性能設定で自動的に設定される各値を使うと「最適設定値」になるようです。


安心して使えるのかは(安定して、という意味で)もう少し検証が必要です。




【2018-07-27  追記】

Mizudroid の V2.4.0 はマルチアカウント対応しているはずなのですが、2つ目のアカウント登録がエラーになります。

V2.6.28 はマルチアカウントは問題はないのですが、RTP が通ったり通らなかったり、端末の再起動でアカウントが消えたり、着信信号を受けてすぐに切れたり、とにかく安定しません。は登録はできるのですが、切り替えが正常にできなくて結局のところ使えません。


V2.4.0 も昨年3月版からバージョン数値は変わっていないのに登録日付だけが更新されています(機能面の更新はされているみたいですがマルチアカウント時のバグがあります)。


音質・遅延特性は元々評価が高かったのですが、 以前はマルチアカウントができずこれが使えない理由になっていました。
2018-07-22 版の V2.4.0 ではこのマルチアカウント機能があるものの、実際には使えません。

V2.6.28 がマルチアカウントに対応したとはいえ、まだ大変不安定で現時点では使えない(P20 Lite では)、というのが結論です。


スリープ時の着信問題が解消するのでは? と期待があっただけに残念です。



すでにお使いで評価されている方がいらっしゃればご意見をうかがいたいと思います。




Mizutech の HP の 7月27日付け最新ニュースによれば V2.6 を配布開始したようです。
23日が開始日みたいで、3日以内に全世界にアップデートが Google Play を通じて落ちてくる、とあります。

しかしながらこの追記を記述している 27日 16:00 現在ではまだ V2.4.0 のままです。

7月30日に Mizutech に再問い合わせしました。
 
Thanks for your reply.

The new version seems to be V2.6.28 but why isn't it opened on Google Play?
There is a V2.4.0 that is published on Google Play, and it is not 
possible to be updated by the user anyway when this happens.

Do you have any other reason to be not opened on Google Play?

regards,
ted
 
これに対して Mizutech からの7月31日の返事は次のものです。
 
Hello

You will be able to download it within a few days. (Currently available only for 20% of the users and there is no way to explicitly download it).

Regards,
Istvan

--
Istvan Fenesi, Mizutech SRL
Office: +40720435054
Skype: mizutech.voip
mizu-voip.com
facebook.com/mizutech

"no way to explicitly download it" は何をいいたいのかわかりません。
Google Play ではできないのか、それ以外のダウンロード方法がない、といっているのか、なぜ Google Play に最新番をアップロードしないのかの返事になっていません。

実際、かれらのホームページからは apk はダウンロードできるのに、です。




【2018-07-30  追記】

Mizutech から現時点では新バージョンは15%しか移行完了していなくて、全ユーザー更新は8月4日までかかる、と返信がきましたが、なぜ Google Play で「最新版」がアップロードされないのか不思議です。

V2.6.28 が Google Play にアップロードされれば一気に最新版への移行が進むのに、なぜでしょうか。



これまでに判明したこと。

【2018-08-01  修正・追記】

マルチアカウント:登録は可能だが、着信するのはアクティブな電番一つのみ
     その他の電番は着信反応しない
     また、アクティブにする電番を切り替えるのはワンタッチではできなくて
     少々面倒  

     → 切り替えできていたのが何を契機かできなくなり、まだバグがあります。

待ち受け:Deep Doze でも着信 OK
     WiFi:着信はするが音声が通らないことがあり、数秒で切れることがある
        後述の設定で問題はなくなりました。
     4G :着信も音声も問題はなし

     Deep Doze 中の呼び出しの場合、呼び出し側は4〜5秒ほど無音、その後
     呼び出し音がして着信側は着信準備 OK となる

     1度目が NG で2度目が OK というのは、1度目に無音があったのですぐに
     切って、引き続き呼び出したためみたいです
     (1度目で Mizudroid が起動状態になったので2度めはすぐに反応した)

        後述の設定で問題はなくなりました。

遅延  :呼び出し側が Mizudroid 以外(Zoiper/GS Wave 等)のとき呼び出し側から
     の音声は遅延小だが、Mizudroid 側(着信側)からの音声は遅延を感じる


     呼び出し側・呼び出され側の双方の設定を最適値にすると遅延小で音質も
       高品質になる



Mizudroid 同士では快適な音声と低遅延なので興味があり、もう少し検証してみたいと思います。


V2.6.28 は Mizutech のホームページ から Download (APK) をクリックしてダウンロードしてインストールします。

同じページに User Guide が pdf ファイルで用意されているのでご参考まで(英文です・翻訳しましたが配布はご勘弁ください)。



P20 Lite での設定 】青字部分がキモです

Basic Settings

 Dialer integration → Integrate → Disable(または Always Native
 Ringtone → お好みで設定
 Theme → お好みで設定
 Display name → 電番

General Settings

 Call quality → High allhigh-end device on high-speed network
 CPU always partial lock → チェックオン
 Display notification → On event(デフォルト)または Always:常に通知バーに表示
 New contacts → No
 Run in background → Yes
 Enable Push notification → Yes – Direct

SIP Settings

 Register interval → 60(デフォルトは 180

Media Settings

 CPU Speed → Very High
 Network Speed → Fast
 Audio codec → PCMU のみ(または CPU Speed / Network Speed 設定で自動的
          に最適値に設定される)
 AEC/Denoise/AGC/PLC/Sirence suppression/Hardware media
        → CPU Speed / Network Speed 設定で自動的に最適値に設定される

Call Divert Settings

 変更なし



この設定で、マルチアカウント以外は問題はなくなりました。

スリープ時の着信性ですが、1時間以上の Deep Doze 中でも 7回試しましたが問題はなく、そのうち1回は 9時間のスリープ(Deep Doze)でしたが問題はありません。

VoIP ソフトフォンの有力選択肢に加えられそうです(マルチアカウントのバグを除けば)。


あと、デバイスの強制再起動をするとすべてのアカウントが消えてインストール直後状態に戻ってしまいます。

設定内容のバックアップ機能がないので、消えてしまうと再設定しなくてはならなくなります。


通常の「終了」「再起動」では大丈夫です。





【2018-08-01 もう一つの追記】朗報です


WiFi ロックして GS Wave を再度検証してみようと思いたち、Mizudroid の WiFi ロックを使ってなんとかならないかと、試してみました。

3回ほど Doze 中の着信検証しましたが、3回とも OK です。

2回は Deep Doze 中で、そのうち1回は WiFi → 4G → WiFi と推移した後の Deep Doze でこれも OK でした。


その後、Mizudroid を停止させ(バックグラウンドも停止)着信検証したところさらに3回、Deep Doze 中の着信は問題ありません。


WiFi ロックをする必要はなかったようです。



Google Play開発者サービスが 12.6.85 → 12.8.74 にアップデートされています。

これが理由で WiFi が "常に接続” 設定していたにもかかわらず切れていることがあった事象が解消したと思われ、そのことで GS Wave が正常に着信するようになった、と思われます。


他のソフトフォンアプリは、この間は Mizudroid しか検証していませんのでわかりませんが、大半の不着信問題を起こしていたソフトフォンアプリも解決に向かったのではないでしょうか。


所用があって、すぐにはほかのソフトフォンアプリの検証はできないのですが、その後に検証してみたいと思います。




【2018-08-05  追記】

Mizudroid は7月31日付(Web の Google Play では8月2日付)で v2.6.51 になっていました。

スリープ中の着信性は Deep Doze で WiFi / 4G ともに問題ないですし、Mizudroid 同士での音質・遅延小なのは評価できますが、やはりマルチアカウントにまだバグがあります。

切り替えができないことに変わりはなく、削除したはずのアカウントが残って、残したはずのものが消える、という新たなバグがあります。


また、アカウントの切り替え手順も複数手順が必要ですし、アクティブアカウントにしか着信しない、という点も問題です。


さらにほかのほかのフォン(GA Wave や Zoiper など)との間では遅延が大きく、ちょっと実用にはまだまだかなと思います。

v2.6.28 よりも後退した印象があります。



Zoiper ですが、8月3日付で V2.5.32 になっています。
Deep Doze でも着信するようになりました。

アプリ側の対応というよりも Google Play開発者サービスのアップデートによって解消した、とみるのが妥当に思います(GS Wave は修正はなくても Deep Doze での着信が OK になっています)。


ほかのソフトフォンとの間の遅延が一番少ないのは Zoiper よりも GS wave です。
いろいろ好みや使い勝手などで評価は分かれるかもしれませんが、基本的なことである音質・低遅延性では GS Wave が一番のように思います。


着信性もよくなりましたから、GS Wave を P20 Lite での普段使いのソフトフォンにすることがようやくできるようになり、まずは一安心です。












10 件のコメント:

  1. P20 Liteの件、参考になります。助かります。

    返信削除
    返信
    1. P20 Lite というか EMUI 8.0 が必要以上に通信断をしてそのために待ち受け型のアプリの中にはうまく動作できないものがある、ということのようです。

      adb コマンドで doze/deep doze を一時的に無効化できるのですが、端末再起動で元に戻ってしまいますし、あまりオススメのやり方ではありません。

      EMUI 8.0 またはアプリが対応するまでは暫定的な運用方法を取らざるを得ません。

      P20 シリーズおよび EMUI 8.0 に関する情報はとても少なくて、VoIP に関してはこれといった情報は殆どないのが実情です。

      ユーザーレベルでできることは限られてしまいます。

      早くファーウェイもしくはアプリ側が対応してくれるのを待つしかありません。

      削除
  2. はじめまして、大変参考になりました。
    今月下旬に初めてスマホを購入するのですが、P20 Lite、SMARTalk、Zoiper v1.53で準備しようと思います。不安なところもありますが、携帯で電話することも少なかったので、頑張ってみます。

    返信削除
    返信
    1. P20 Lite は VoIP を重視する人には現時点の Android バージョンではオススメできないのですが、SMARTalk、Zoiper 1.53 では使えます。

      Zoiper 1.53 は公式サイトからは近々ダウンロードできなくなるそうですから、いまのうちにダウンロードして PC または Google Drive などに保存しておくといいと思います。

      あと、SMARTalk にしろ他の 050 にしろコーデックは G711μは必須と考えていただいた方がいいでしょう。

      GSM を優先すると音声がこもってしまいますが G711μ ならば明瞭です。

      削除
    2. 本体を購入して1週間になりますが、ようやくスマホにも慣れてきてwifiのみでの着信もできるようになりました。ありがとうございました。明日、ZoiperBeta V2.5.32にしてみようと思います。GS Waveも試してみたいと思います。Google Play開発者サービスは12.8.74でした。音声はご教授いただいたとおりG711μにしております。

      削除
    3. Hiroさん
      P20 Lite にはホントに苦労しました。
      ワタシ用のメイン機でしたから、VoIP がいつでも着信しないと使えません。
      結局 P20 Lite の問題というよりも Google Play開発者サービスの問題だったようです。
      この間は Zoiper 1.53 でしのいでいましたが、ようやくもとの GS Wave に戻れてホッとしています。
      Hiroさんの方でも着信ができるようになってよかったですね。
      音声は固定電話がG711μなので、これ一択で普通に使えます。
      VoIP 同士ならほかのコーデックも試せますが、IP 電話を実用的に使う場合はG711μです。

      削除
  3. WIFIのスリープ中だけですが、

    adb shell settings put global wifi_suspend_optimizations_enabled 0

    すると、調子が良くなりませんか?(wifi_sleep_policy 2 だけでは効果がないようです。)
    UDPのパケット受信ロスがかなり減るようです。

    返信削除
    返信
    1. 匿名さん、adb コマンドについてありがとうございます。
      現在は WiFi 時の不着信は Googla Play開発者サービスのアップデートで解消していますので、WiFi スリープ防止のための adb は必要ないようです。
      また、Google Play開発者サービスの障害の場合は adb での処理もうまくいかないようです。
      Doze に入らない設定も不発でした。

      削除
  4. こんにちは。
    Nova lite 2でMizudroidをインストールしましたが、ディープスリープ時に着信せず参考にし褪せていただきました。

    上記の設定後、再起動時Mizudroidが起動するのですが、そこで終了させる(△ボタンを押す)とディープスリープ時に着信しないようです。
    〇を押すなりすると終了しない状態になるのか、着信するようになりました。

    返信削除
    返信
    1. 水虫さん、はじめまして。

      https://draft.blogger.com/blogger.g?blogID=2678212512420130122#editor/target=post;postID=8434257867278838869;onPublishedMenu=allposts;onClosedMenu=allposts;postNum=19;src=postname の記事も参考になさってください。

      削除