Signal-iOS/Signal
Michael Kirk 814aec6cdd Recover CallKit state when remote client fails to hangup
Distinguish between localHangup, remoteHangup, and call failure.

This allows us to put CallKit in the proper state, ready to receive new
calls without having a backlog of phantom calls which haven't been
properly removed.

Note the "call error" occurs at the point ICE fails, which takes a
while. Anecdotally, like 10 seconds, which feels like a long to be
talking into the ether.

I briefly considered failing at 'disconnected', which happens much
sooner, but that's actually a recoverable state. E.g. if you toggle
airplane mode you can see that you bounce into `disconnected` and then
back to `connected`, so I don't think we'd want to fail the call as long
as WebRTC considers it "recoverable".

// FREEBIE
2017-01-26 13:18:06 -05:00
..
AudioFiles Fixes #244 2015-03-21 17:53:38 +01:00
Certificates TextSecureKit Refactoring 2015-12-22 23:41:10 +01:00
Images Multiple visual enhancements and repo cleanup. 2015-02-18 18:20:02 +01:00
Images.xcassets Start work on video. 2017-01-23 13:41:59 -05:00
src Recover CallKit state when remote client fails to hangup 2017-01-26 13:18:06 -05:00
test Don't require recording permissions until call is ringing. 2017-01-17 21:49:13 -05:00
translations Merge remote-tracking branch 'origin/master' into feature/webrtc 2017-01-25 12:13:37 -05:00
.swiftlint.yml WIP: WebRTC calling 2017-01-12 09:56:05 -05:00
iTunesArtwork@3x.png Updated iTunes artwork 2015-01-30 17:25:24 -10:00
main.m Removing unused imported classes. 2015-07-27 16:19:08 +02:00
Signal-Info.plist bump release target 2017-01-25 11:00:21 -05:00
Signal-Prefix.pch Respond to CR. 2017-01-06 13:28:41 -05:00
Signal.entitlements Apple now requires camera permission explanation 2016-09-17 13:51:34 -04:00