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.

Standard Android call running (no 3CX) + 3CX call incoming => incoming call gets kicked out of the l

Discussion in 'Android' started by mamo, Sep 6, 2016.

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

    Joined:
    Aug 22, 2016
    Messages:
    43
    Likes Received:
    1
    Hi,
    I have noticed a very strange and annoying Problem on the Android app.

    The problem occurs reproduceable when I am in a call on my smartphone (just plain standard Android call via my mobile carrier, no 3CX, no other SIP or whatsoever). If now someone calls me at my landline number, firstly the softphone on my Windows PC starts ringing. A second later push reaches my Android phone. I hear an unpleasant beep and at the same time the person who is calling me gets kicked out of the line with the error message "the person you are calling is not available presently".

    Easiest way to reproduce the issue is to just call yourself via your smartphone (use mobile carrier and dial SIP number that gets routed to the same smartphone via 3CX). It will ring once, beep once and play the error message thereafter.

    My phone is an LG G5 with all available updates (currently running Android 6.0.1).
    3CX and the Android app are also up to date (just newly installed the whole system last week and now running some tests the uncovered the problem I am describing here).
     
  2. LVQ

    LVQ

    Joined:
    Oct 14, 2016
    Messages:
    1
    Likes Received:
    0
    This is a missed opportunity in the android client.

    The 3CX client running on a smartphone with an active phone call over the default mobile carrier should by indicated in the 3CX as busy! It is not logic to transfer a call to a device that is occupied.
     
  3. Vali_3CX

    Vali_3CX Well-Known Member
    Staff Member 3CX Support

    Joined:
    Dec 12, 2008
    Messages:
    1,527
    Likes Received:
    71
    So how do you suggest to make the PBX aware that a particular device is in a GSM (mobile carrier) call? And how you would handle SIP forked ID?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. mamo

    Joined:
    Aug 22, 2016
    Messages:
    43
    Likes Received:
    1
    Logically there seem to be only two possible ways:


    1. As soon as a GSM call starts, the app sends a status message to the PBX system, indicating that the extension is busy. Afterwards it repeats this message every few minutes (timeout as a fail save in case the battery dies or something similar) and finally it sends another status message as soon as the GSM call is ended.
      --OR--
    2. The app just continues to wait for a push signal from PBX, and in case one arrives while in a GSM call, it replies: "I am busy".

    If you want to treat a smartphone as a fully qualified phone that is equal to other phones, then solution number one seems by far to be the best choice. The most apparent advantage being that you can fully support BLF status indicators on other phones. Also for better handling of other problems like the one with forked IDs, you mentioned, this might be desirable (see below).

    But if there are technical issues causing problems with this approach, solution two might also be just fine.

    Again, to me, there seem to be only two sensible possibilities:

    • Handle the ID as busy and act according to the forwarding rules set for this ID and current status.
      --OR--
    • Ring all other phones that are associated with this ID, regardless.

    For this, I would suggest to just stick to the already existing setting "Accept multiple calls". If this option is not ticked you would end up with A. If it is ticked, the result will be option B.

    Might also depend on what you choose above. Combination 2A might be problematic, as it probably takes too long to wait for an answer from the smartphone in order to be able to decide if other phones should ring or not.


    -------------------------------------

    Although the details laid out above are important to consider, it is slightly besides the point of my initial problem.
    The best way to describe the current behavior is probably to just add another point to the list above:

    ....C. Drop incoming calls and disregard all other settings

    Obviously this is not acceptable. Incoming calls should always be forwarded somewhere (worst case: to the mailbox) or ring somewhere (worst case: on a desk that is not occupied).
    The decision, which one of the 4 solutions presented above (1A, 1B, 2A or 2B) will be implemented is ultimately up to the 3CX developers. But clearly one of these should be implemented and working properly. The current behavior is something, I would clearly count as a bug.
     
  5. Vali_3CX

    Vali_3CX Well-Known Member
    Staff Member 3CX Support

    Joined:
    Dec 12, 2008
    Messages:
    1,527
    Likes Received:
    71
    So, bottom line, your proposal is to have the 3CXPhone app running continuously, 24/7, in order to detect when device has a GSM call initiated?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. mamo

    Joined:
    Aug 22, 2016
    Messages:
    43
    Likes Received:
    1
    Isn't the currently the case anyway?
    Of course it does not keep a permanent internet connection and relies on push instead, which is a very good thing. But on the phone itself it usually stays open as far as I can tell. At least that is how I interpret the notification, I currently see 24/7 on my lock screen...

    Also: While on standby it seems logical to avoid any unnecessary activity in order to save as much battery as possible. But if I am already in an active GSM call... it probably won't make any noticeable difference to wake up the app at the same time as the rest of the phone and transmit some status messages.
     
  7. Vali_3CX

    Vali_3CX Well-Known Member
    Staff Member 3CX Support

    Joined:
    Dec 12, 2008
    Messages:
    1,527
    Likes Received:
    71
    OK, to end this discussion...

    FYI, we had this feature implemented in the iOS client for about six months, and it proved unreliable, so we dropped it. When I say "unreliable" I mean there were always particular cases when app was unable to perform well, confusing users. And when your app tends to become a collection of solve-this-particular-possible-issue, better drop it. Example:
    Customer: why my extension does appear on the PBX as DoNotDisturb "in a GSM call" since I'm not in any GSM call?
    Reason: he lost WiFi mid-call.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. mamo

    Joined:
    Aug 22, 2016
    Messages:
    43
    Likes Received:
    1
    Well, in this case...
    But nice to know that you already did test this. :)

    For me, the real bottom line is that I just do not want to loose incoming calls. Calls being dropped with a error message from the provider ("the person you are calling is not available presently") instead ringing elsewhere or being forwarded to voice mailbox is probably the worst possible thing that could happen.
     
  9. leejor

    leejor Well-Known Member

    Joined:
    Jan 22, 2008
    Messages:
    11,079
    Likes Received:
    324
    Because 3CX is relying on Google Push for notification rather than wasting battery by running in the background, there is no two way communication initially, to let the PBX know that the caller in engaged. A simple solution would be, if the phone was already on a call when the push notification came in, the 3CX App would simply fail to start. The call would go off to voicemail as if the caller didn't answer. Some missed call icon might be placed in the task bar.
     
  10. kinetix

    Joined:
    Jan 7, 2010
    Messages:
    26
    Likes Received:
    3
    To me, the post immediately above is the best answer...

    To repeat the answer, "A simple solution would be, if the phone was already on a call when the push notification came in, the 3CX App would simply fail to start. The call would go off to voicemail as if the caller didn't answer. Some missed call icon might be placed in the task bar."

    The question is, is it possible?

    This is a big problem for many, and becoming a bigger problem with the increased popularity of the 3CX Client.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
Thread Status:
Not open for further replies.