New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calls always income as missed ones without ringing #7314
Comments
This does match my experience also. The issue does seem to be around for about a year: #6244 |
As I see, that report is specifically about two clients with time difference bigger than 1 minute. Here, the time difference is not bigger than 5 seconds. To help the developers, can you please attach logs both from phone A and phone B if you are in a similar situation? |
I can confirm missing calls. I discovered there is a problem with the signal's background task. When I kill Signal and the Signal is killed in memory, after running it again all messages I have not received come to me immediately and I can receive calls. Everything is back to normal. Signal is excluded from the battery optimization, I am android developer, clocks are synchronized +/- 1 second in all phones. There is a problem with the background task itself. This hang of the process is somehow related to switching between WiFi/LTE/H+/3G when I walk/drive and my phone needs to change from H+ to LTE, LTE+ and when I come in range of my WiFi. It looks like Signal can't negotiate new IP address with the server and it's background process is stuck in any state machine. This is definitely the flaw in the Signal's background behavior. |
For example after the reboot / cold start a phone catches one network and changes to another. I have roaming permanently enabled because I am in EU and in my country we have also domestic roaming for better cover of the network. I don't pay extra so I have it always enabled because it helps a lot and in my plan I have unlimited internet something like 100GB, impossible to be consumed. During the Signal call the voice call is mostly interrupted forever and half of the time I need to kill the Signal to make it operational again. |
Some words to the story... |
@maedoredyti The devs are accepting pull requests for fixes and since you're an Android dev, it'd be awesome if you were able to tackle this! |
I suspect it may be a problem of finding out the right interface where the data should go through. I downloaded the project and opened it in Android studio but there are so many files that I can't find the right one responsible for checking own IP on the go when subsequent BTS towers change IP assignment. It must be a problem with wrong IP, netmask and gateway assignment. When I drive and domestic roaming operator on the go is changed for example from TMobile to Orange my Signal call is disconnected and I need to call again or sometimes kill the app and call again. I use mostly Visual Studio with Xamarin and I write in C# but I had programmed in Android studio for 3-4 years in the past. |
I have a similar problem to the one described. Calling from a Samsung Note5 to a Samsung s7, the S7 does not ring but immediately shows a missed call on cancellation from the Note5. Stock roms on all phones. Calling from the S7 to the Note5 results in a ring tone as expected. Locking to one network and restarting both phones does not affect the result. This does not appear to be related to network swapping. Call initiated by a second S7 does not result in a ringtone at the Note5, but does result in an immediate missed call notification. Multiple attempts at configuration changes (ring volume, override privacy settings etc) have not resulted in a change in behaviour. Connection established via multiple networks with no change in behaviour. Multiple options tried with routers, no changes in behaviour. Once connection is established video is stable and high quality suggesting network issues are not involved. |
Same problem for me (HTC U11, Android 7) and my girlfriend (HTC M9, Android 6) No visible or aural indication that a call is being received. We just get a missed call notification. |
I noticed the same but look... you make a reboot and your phone wakes up and during this wake up a wired process happens. I notice the same after reboot so try to KILL Signal in Apps->Signal->force stop and run it again and try to make a call. |
Stopping and restarting the app using force stop on the calling device does not improve the apps performance in my case. The app still shows dialing and never moves to ringing. I will get the receiving device to force a stop as well sand report back on the issue. |
To help the developers with truly valuable information, please:
Do it for both phones. |
I can replicate this with phone and emulator with time different of over 2 minutes (the threshold to say a call request is expired). Maybe, if possible, validate that the two devices are synced with a time server? It could be the case where both devices are not synced with any time server and both devices are 5s apart only? |
I have tried this worth two phones synched to the same network and showing no time difference. The behaviour is as described. Phone a calls phone b. Phone b does not ring but recites a missed call alert immediately that phone a hangs up. Phone b calls phone a, phone a rings as it should and the call can proceed.
Sent from BlueMail
…On 1 Feb 2018, 16:26, at 16:26, Nyoman Ribeka ***@***.***> wrote:
I can replicate this with phone and emulator with time different of
over 2 minutes (the threshold to say a call request is expired). Maybe,
if possible, validate that the two devices are synced with a time
server? It could be the case where both devices are not synced with any
time server and both devices are 5s apart only?
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#7314 (comment)
|
I'm not sure how I would be able to help this 😞 This line in the WebRtcCallService#handleIncomingCall() is one of the place where I think will mark a call as missed call if the timing is off. Maybe we could add some logging messages in the WebRtcCallService#isIncomingMessageExpired() to print out the current phone time vs the call offer message time? |
Half of my contacts have ringing issues. Some of them can be called in both directions but some of them can't initiate call, answer call or both. It can be cured for some time by killing signal process. Phone restart may not cure the situation. After restart we must kill the signal app and start it again. |
Here's a debug log from the time a call was initiated to a phone which i can never connect to. My phone never gets pasty the "dialing" stage, and the other phone never rings, but a missed call shows up on the other phone at the moment my phone stops trying to make the call.
Hope this helps.
https://gist.github.com/999836cf1a4316fdaa7204212abe5b3c
Sent from BlueMail
…On 2 Feb 2018, 06:55, at 06:55, Nyoman Ribeka ***@***.***> wrote:
I'm not sure how I would be able to help this 😞
This line in the
[WebRtcCallService#handleIncomingCall()](https://github.com/signalapp/Signal-Android/blob/master/src/org/thoughtcrime/securesms/service/WebRtcCallService.java#L329)
is one of the place where I think will mark a call as missed call if
the timing is off.
Maybe we could add some logging messages in the
[WebRtcCallService#isIncomingMessageExpired()](https://github.com/signalapp/Signal-Android/blob/master/src/org/thoughtcrime/securesms/service/WebRtcCallService.java#L863)
to print out the current phone time vs the call offer message time?
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#7314 (comment)
|
Did you try to kill the receiving end ? |
I've discovered that the receiving phone gets a missed call notification as soon as the call is made, even thought the calling phone continues to show that it is dialing for the next two minutes. Here is the link to the log of the receiving phone.
https://gist.github.com/1395776538508e0742536964e803a0e3
Regards
Sent from BlueMail
…On 2 Feb 2018, 06:55, at 06:55, Nyoman Ribeka ***@***.***> wrote:
I'm not sure how I would be able to help this 😞
This line in the
[WebRtcCallService#handleIncomingCall()](https://github.com/signalapp/Signal-Android/blob/master/src/org/thoughtcrime/securesms/service/WebRtcCallService.java#L329)
is one of the place where I think will mark a call as missed call if
the timing is off.
Maybe we could add some logging messages in the
[WebRtcCallService#isIncomingMessageExpired()](https://github.com/signalapp/Signal-Android/blob/master/src/org/thoughtcrime/securesms/service/WebRtcCallService.java#L863)
to print out the current phone time vs the call offer message time?
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#7314 (comment)
|
Try to kill the Signal app on the receiving phone without restarting your phone. Just kill it and click the icon again. And try to call again. If no result, kill it again, wait 20s and run again and test. |
Done. No change in behaviour.
Sent from BlueMail
…On 2 Feb 2018, 16:04, at 16:04, maedoredyti ***@***.***> wrote:
Try to kill the Signal app on the receiving phone without restarting
your phone. Just kill it and click the icon again. And try to call
again. If no result, kill it again, wait 20s and run again and test.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#7314 (comment)
|
Our symptoms are so inconsistent that it may be a coordinated assault of telecoms / governments on the Signal's protocol itself. Something like or similar to the UAE, Saudi Arabia, Egypt...? I discovered one thing when there is a problem with calling. When the internet connection is overloaded, for example Windows downloads updates and ping goes to 300-500ms. When it is the case it is also impossible to make a Signal call. But in normal cases I run MTR from linux boxes to test and it is not the case when the ping is low. With low ping we have also the same problems. |
Did a little experimenting last night. Both phones were set to sync to the networks clock. Set both phones to NOT sync to the network, then reset them to use the network provided time stamp and now calling is working perfectly. Looks like this may be about how often the phone updates it's time stamp and reports the time and hire much it drifts oon between, which might explain why the problem seems to be device specific.
Regards
Sent from BlueMail
…On 3 Feb 2018, 03:34, at 03:34, maedoredyti ***@***.***> wrote:
Our symptoms are so inconsistent that it may be a coordinated assault
of telecoms / governments on the Signal's protocol itself. Something
like or similar to the UAE, Saudi Arabia, Egypt...?
Sometimes everything works but sometimes I can't call my wife at the
same building inside the same LAN segment. Killing/running/switching
to/from LTE finally helps.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#7314 (comment)
|
@rjhnz that could very well be the case. I still think maybe adding log information about the current phone timestamp vs timestamp of the call initiation request before marking the call request as missed call would help triage the issue. |
Agreed
Sent from BlueMail
…On 3 Feb 2018, 09:35, at 09:35, Nyoman Ribeka ***@***.***> wrote:
@rjhnz that could very well be the case.
I still think maybe adding log information about the current phone
timestamp vs timestamp of the call initiation request before marking
the call request as missed call would help triage the issue.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#7314 (comment)
|
I can't confirm the time issue. I have several phones and they all are perfectly in sync with cellular network provided time and GMT/NTP time. I have PLC controller with strong encryption and its transmission relies on accurate timestamp related to the GMT. The time difference between PLC and network provided time is always within 1s on all devices at the same time. Sergey Baranov's ClockSync app on android also reports perfect time relative to the GMT. So I have Android to GMT and Android to my PLC in perfect sync. My time is synchronized to the global atomic clock and all other phones also are synchronized. Try this: |
I will deliberately desync time in various ways and report back.
I now wonder if the problem could be related to the method used, or the object addressed, when signal attempts to determine how much time had elapsed since a connection was requested and whether that could lead to variations between android builds.
Sent from BlueMail
…On 3 Feb 2018, 11:03, at 11:03, maedoredyti ***@***.***> wrote:
I can't confirm the time issue. I have several phones and they all are
perfectly in sync with cellular network provided time and GMT/NTP time.
I have PLC controller with strong encryption and its transmission
relies on accurate timestamp related to the GMT. The time difference
between PLC and network provided time is always within 1s on all
devices at the same time. Sergey Baranov's NTP Sync app on android also
reports perfect time relative to the GMT. So I have Android to GMT and
Android to my PLC in perfect sync. My time is synchronized to the
global atomic clock and all other phones also are synchronized.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#7314 (comment)
|
There are clearly two distinct bugs here:
Please, if you want to test and debug the former, time related one, comment to the other bug report. |
This is not only related to the "missing call". I notice strange freezes of the Signal. I cant't send messages because Signal displays "waving line" forever next to the message actually being sent. I kill Signal and start it again and I start receiving all missed calls and also missed signal to signal text messages. Of course this message in the sending queue is of course immediately sent after app restart. |
Just after I got Missing call info... |
Is there any progress ? This bug appears very often on many phones. |
I'am still having this bug when trying to call my friend in the U.A.E . I must precise that i'm not sure if this is related to any censorship mesures because audio calls do work sometimes. |
The same here. It is something wrong with the Signal APK itself. It goes to a sleep or it goes to an undefined state and is stalled in memory. For example APK doesn't send any packets at all. Usually it sends packets to something.....amazonaws.com port 443. When it is in a bad state it doesn't send anything. Connection on the router does not exist. Sometimes I must kill the APP and open again to bring it back to life. It happens on the original not rooted phones and on the Lineageos without Google Services. I can say something wrong happens on 50% of Android phones. Does anybody read it? |
GitHub Issue Cleanup: |
I have:
Bug description
When Signal is opened in front of me on my phone and via Hangouts PC I hear the other party while his Signal is actually ringing me. My Signal shows no sign that I'm being called. At the end of ringing, when the network automatically disconnects, I immediately receive a "You have a missed call" notification in the chat.
Reproduced on three different WiFi networks with the same person.
The time difference between the two phones is approximately 5 seconds. Both phones are set to synch to carrier time.
Steps to reproduce
Device info
Device: Sony F5121
Android version: 7.1.1
Signal version: 4.14.10
Link to debug log
Callee debug log: https://gist.github.com/anonymous/9984ab543d85a181b06b02954564c060
Caller debug log: https://gist.github.com/anonymous/5eae662fee114e5e07a72dbd02c0e92d
The text was updated successfully, but these errors were encountered: