Dismiss Notice
We would like to remind you that we’re updating our login process for all 3CX forums whereby you will be able to login with the same credentials you use for the Partner or Customer Portal. Click here to read more.

Unable to receive 3CX calls after 2 hours of inactivity of Huawei P9/P10 Lite

Discussion in 'Android' started by giox069, Oct 22, 2017.

Thread Status:
Not open for further replies.
  1. giox069

    Joined:
    Oct 22, 2017
    Messages:
    8
    Likes Received:
    0
    3CX PBX version: 15.5.3849.1 runing on Debian 8.8 x64
    3CX Android client version: 15.1.90
    3CX PBX is configured with my own google firebase account (ID and Server Key)

    I'm using the android client, and I can make and receive calls with Huawei P9 Lite and P10 Lite phones. I can close the client on the phone, killing it by pressing the square box and then X. I still can receive calls when the client is closed.
    But after a couple of hours, the phone is no longer able to receive incoming calls.
    This happens on both P9 Lite and P10 Lite phones, it does not happen in my Nexus 4 with LineageOS 14.

    This is an extract of logcat when the incoming notification from google is unable to awake the client (i.e.: after the 2 hours interval):
    Code:
    10-22 17:51:49.732  1374  1395 I SendBroadcastPermission: action:android.net.conn.DATA_ACTIVITY_CHANGE, mPermissionType:0
    10-22 17:51:49.760  1374 17760 I SendBroadcastPermission: action:android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED, mPermissionType:0
    10-22 17:51:49.761  2525 29652 I SendBroadcastPermission: action:com.google.android.c2dm.intent.RECEIVE, mPermissionType:0
    10-22 17:51:49.761  2525 29652 I SendBroadcastPermission: action:com.google.android.c2dm.intent.RECEIVE, mPermissionType:0
    10-22 17:51:49.769  2525  2525 W GCM-DMM : broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10000000 pkg=com.tcx.sipphone14 (has extras) }
    
    And this is an extract of logcat of a correctly received incoming call:
    Code:
    10-22 17:57:09.143  1374 17763 I SendBroadcastPermission: action:android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED, mPermissionType:0
    10-22 17:57:09.146  2525 29652 I SendBroadcastPermission: action:com.google.android.c2dm.intent.RECEIVE, mPermissionType:0
    10-22 17:57:09.147  2525 29652 I SendBroadcastPermission: action:com.google.android.c2dm.intent.RECEIVE, mPermissionType:0
    10-22 17:57:09.184 32174 32174 I         : power log dlsym ok
    10-22 17:57:09.189 32174 32174 I art     : Reinit property: dalvik.vm.checkjni= false
    10-22 17:57:09.220   474   514 I gralloc : alloc_device_alloc:626: Alloc handle(0x7c3c423500): interfmt=1, stride=64, size=4096, usage=0x100
    10-22 17:57:09.227   474  1591 I gralloc : alloc_device_free:648: Free handle(0x7c3c423500)
    10-22 17:57:09.232  1374 17757 E Process : isHighLoadProcess: get cpu failed
    10-22 17:57:09.243 32174 32174 I art     : Starting a blocking GC AddRemoveAppImageSpace
    10-22 17:57:09.258 32174 32174 I 3CXPhone15: (thread 32174) 17:57:09:257 creating App
    10-22 17:57:09.258 32174 32174 I 3CXPhone15: (thread 32174) 17:57:09:258 create NetworkChecker
    10-22 17:57:09.271 32174 32174 I FA      : App measurement is starting up, version: 10298
    10-22 17:57:09.271 32174 32174 I FA      : To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
    10-22 17:57:09.275 32174 32174 I FA      : To enable faster debug mode event logging run:
    10-22 17:57:09.275 32174 32174 I FA      :   adb shell setprop debug.firebase.analytics.app com.tcx.sipphone14
    10-22 17:57:09.279 32174 32174 I FirebaseInitProvider: FirebaseApp initialization successful
    10-22 17:57:09.281 32174 32174 I 3CXPhone15: (thread 32174) 17:57:09:281 contact list mode set to 2
    10-22 17:57:09.284 32174 32174 I 3CXPhone15: (thread 32174) 17:57:09:284 got WIFI_MODE_FULL_HIGH_PERF value = 3
    10-22 17:57:09.286 32174 32174 I 3CXPhone15: (thread 32174) 17:57:09:286 call state at startup: 0
    10-22 17:57:09.290 32174 32174 I 3CXPhone15: (thread 32174) 17:57:09:290 Loading native SIP library
    10-22 17:57:09.293 32174 32174 I 3CXPhone15: (thread 32174) Native SIP library loaded
    10-22 17:57:09.293 32174 32174 I 3CXPhone15: (thread 32174) JLineCfgFields::LoadClassInfo: constructorMID = 2045476252, lineConfigsFID = 2045269336
    10-22 17:57:09.296 32174 32174 I 3CXPhone15: (thread 32174) 17:57:09:296 debug logging initially set to false
    10-22 17:57:09.306 32174 32174 I GcmReceiver: (thread 32174) 17:57:09:306 was asked for service name
    10-22 17:57:09.314 32174 32174 I 3CXPhone15: (thread 32174) 17:57:09:313 GSM call ended
    
    I already configured the phones to ignore battery optimizations for 3CX app and not to close it when the phone is locked. But nothing changed.

    Any idea to solve this?

    Thank you
     
  2. Jeffrey de Waal

    Joined:
    Sep 1, 2017
    Messages:
    4
    Likes Received:
    0
    I had the same problem on my Huawei P9. Disable smartcover and install the PNF app solve the problem on my Huawei P9
     
  3. giox069

    Joined:
    Oct 22, 2017
    Messages:
    8
    Likes Received:
    0
    It does not work. I installed an app called "PNF no-root", I have not smartcover (what do you mean with "smartcover" ?), the 3CX android client has been updated to 15.5.157, but notifications from google are still unable to wake up the client after a couple of hours of inactivity.
    Other ideas?
     
  4. Jeffrey de Waal

    Joined:
    Sep 1, 2017
    Messages:
    4
    Likes Received:
    0
    Most providers/routers kill inactive sessions. Check the status and heartbeat of the Google Play-service type *#*#426#*#* (on your mobile dialer) Try a ping to Google play service before starting the 3CX app to check if this is the problem.

    You can also try "Heartbeat fixer for GCM". Just tested on my Huawei P9 and set the heartbeat on 1 minute. This works also fine.
     
    #4 Jeffrey de Waal, Nov 21, 2017
    Last edited: Nov 21, 2017
  5. giox069

    Joined:
    Oct 22, 2017
    Messages:
    8
    Likes Received:
    0
    I don't think it's a internet provider locking me: I roam between 3-4 different wifi networks (each one with different ISP, different routers/firewall) during the week, and the problem is everywhere. I'm trying to solve it not only for me, but for all (10-15) Huawei P9 and P10 lite we have at our offices. We are currently testing on one P9 lite and one P10 lite, and both are not receiving notifications. Our plans are to install more android 3CX clients on Huawei phones, but only if we can make them receive calls in a predictable manner.
    Our Samsung android phones seems to work fine, but I have no fresh data for Samsung phones now. It seems the problem shows up with the combination of 3CXclient + Huawei P9/P10 lite. Apple iPhones are ok.
    Thank you for the hint to check the status with the special dial code, and thank you for Heartbeat fixer app too. I will try it as soon as possible and report here.
     
  6. giox069

    Joined:
    Oct 22, 2017
    Messages:
    8
    Likes Received:
    0
    I installed "Heartbeat fixer for GCM" a couple of days ago, enabled it with default values (5min, 5min), but after 3-4 hours of inactivity the 3CX client is still refusing to wake up for an incoming call.
    Rebooting the phone does not make it wake up on next call. Only opening the 3CX client again makes it available for calls for 2-4 hours. I can then kill it, and it will wake up again with no problems before the inactivity period expiration.
    I dialed *#*#426#°#*, I pressed ping, disconnect, reconnect, when the client is in this strange "no wake up" status, but no changes.
    Please see the status log of Google Play services: incoming calls notification are correctly received (this is also reported on the logcat on my 1st post). But the 3CX client does not open.
     

    Attached Files:

Thread Status:
Not open for further replies.