Matthew Chen
9db33a9651
Remove RedPhone code.
...
// FREEBIE
2017-03-29 12:25:33 -04:00
Michael Kirk
0c8da2865e
Fix search/replace
...
// FREEBIE
2017-03-23 20:52:42 -04:00
Matthew Chen
e724acc978
Respond to CR.
...
// FREEBIE
2017-03-22 17:02:42 -04:00
Matthew Chen
c6a280e005
Only initiate WebRTC calls, not RedPhone calls.
...
// FREEBIE
2017-03-22 17:02:42 -04:00
Matthew Chen
814c6d2505
Only initiate WebRTC calls, not RedPhone calls.
...
// FREEBIE
2017-03-22 17:02:42 -04:00
Michael Kirk
eb0399f040
Fix "Call failed" due to deadlock when immediately terminating call
...
It's not clear why we were ever dispatching `sync` here.
Before this:
Place a call
See "connecting..."
Hang up
UI hangs for ~5 seconds
See "call failed" on CallKit screen
Press "cancel" on CallKit screen
returned to responsive app.
// FREEBIE
2017-03-22 10:48:37 -04:00
Michael Kirk
aa268e36c2
This constructor can return nil
...
seeing frequent crash in the wild on this line, maybe this is why?
// FREEBIE
2017-03-14 18:59:48 -04:00
Michael Kirk
e3eca4db7b
stop videoCapture until video track is enabled to save some battery
...
Instruments showed a reduction from ~65% -> ~45% while on audio only
call on iPhone5c.
// FREEBIE
2017-03-06 12:48:47 -05:00
Matthew Chen
c1aea91d1b
Fix build break.
...
// FREEBIE
2017-02-27 14:46:19 -05:00
Michael Kirk
b5403175f1
Call sounds - connecting, outgoing ring, busy sound.
...
Also add vibration for remote hangup so you're not talking to dead air.
// FREEBIE
2017-02-27 11:21:51 -05:00
Matthew Chen
a20a21867e
Respond to CR.
...
// FREEBIE
2017-02-24 23:02:17 -05:00
Matthew Chen
c35c118dcd
Respond to CR.
...
// FREEBIE
2017-02-24 23:02:17 -05:00
Matthew Chen
01d2582074
Add and honor the “CallKit Privacy” setting.
...
// FREEBIE
2017-02-24 23:01:09 -05:00
Matthew Chen
f5004b27ab
Add and honor the “CallKit Privacy” setting.
...
// FREEBIE
2017-02-24 23:01:09 -05:00
Matthew Chen
065d383c15
Add and honor the “CallKit Privacy” setting.
...
// FREEBIE
2017-02-24 23:01:09 -05:00
Michael Kirk
4b8a5f8ccb
TURN-only option, and for unknown caller
...
Now, by default, we only use TURN for incoming calls from unknown
contacts. We will potentially directly connect for outgoing calls and
for incoming calls from known contacts.
Optionally, the user can disable direct connection altogether, at the
cost of some call quality.
// FREEBIE
2017-02-24 11:21:52 -08:00
Matthew Chen
f4453eb995
Enable WebRTC-based audio and video calls by default.
...
// FREEBIE
2017-02-21 11:10:57 -05:00
Matthew Chen
dea37b422b
Respond to CR.
...
// FREEBIE
2017-02-08 16:47:09 -05:00
Matthew Chen
06a775b41a
Improve the call status messages in conversation view.
...
// FREEBIE
2017-02-08 16:47:09 -05:00
Michael Kirk
3ab65a2c88
Prevent CallKit timeout when placing outgoing call
...
More fallout from the outbound call timeout which was causing all
CallKit calls not promptly answered to show "Call Failed"
Inserting the timeout exacerbated an existing issue: We can't wait for
long before choosing to fulfill/fail an action without CallKit falling
over and assuming the call failed.
We don't actually need to consider the case where we "fail to initiate"
the outgoing call. Instead we say it started "successfully, and if there
is an error, the existing promise error handling will fail the call at
that time.
// FREEBIE
2017-02-08 16:25:27 -05:00
Michael Kirk
6cdf13ea5f
Only time out the intended call
...
previously a followup call could get clobbered by the previous calls
timeout
// FREEBIE
2017-02-08 14:59:18 -05:00
Michael Kirk
c087c56b0c
Fix call timeout
...
- Previously only incoming calls had their timeout promise fulfilled
- Previously we'd stop the timeout once ringing started, but we
should continue the timeout clock until the users are speaking.
// FREEBIE
2017-02-08 14:25:05 -05:00
Michael Kirk
2f6bf0e551
Code cleanup per CR
...
// FREEBIE
2017-02-08 10:33:43 -05:00
Michael Kirk
108720c2e7
End outgoing call with "No Answer" after 2 minutes
...
// FREEBIE
2017-02-08 10:33:43 -05:00
Matthew Chen
734dec12e9
Respond to CR.
...
// FREEBIE
2017-02-07 17:33:13 -05:00
Matthew Chen
c43063e1d6
Add “interstitial call view” that is shown during lengthy “webrtc supported” check.
...
// FREEBIE
2017-02-07 17:17:06 -05:00
Matthew Chen
ce9d9befb3
Prevent device lock during calls.
...
// FREEBIE
2017-02-07 16:00:17 -05:00
Michael Kirk
b8711f9abc
contact can be nil for outgoing redphone call
...
Now that it's easier to start a thread with a non-contact recipient this
is more relevant.
// FREEBIE
2017-02-06 15:46:53 -05:00
Matthew Chen
217866c588
Respond to CR.
...
// FREEBIE
2017-02-06 12:05:25 -05:00
Matthew Chen
228b0e7dc6
Synchronize access to remoteVideoTrack.
...
// FREEBIE
2017-02-06 11:18:30 -05:00
Matthew Chen
ca76ec6f36
Respond to CR.
...
// FREEBIE
2017-02-06 09:39:14 -05:00
Matthew Chen
6f3a45ff8c
Avoid crashes when deallocating remote video tracks.
...
// FREEBIE
2017-02-06 09:33:47 -05:00
Matthew Chen
4ae786d0a2
Ignore CallService events related to obsolete calls.
...
// FREEBIE
2017-02-06 09:33:47 -05:00
Matthew Chen
d9bcd563b1
Avoid possible deadlock in PeerConnectionClient.
...
// FREEBIE
2017-02-06 09:33:47 -05:00
Matthew Chen
8f6483e9b4
Fix bug in the busy logic.
...
// FREEBIE
2017-02-03 16:47:34 -05:00
Matthew Chen
17fe3f66c0
Ensure audio service observation of call is always correctly wired up.
...
// FREEBIE
2017-02-03 15:47:33 -05:00
Michael Kirk
90388ebd63
Coordinate "busy" state across redphone and webrtc
...
Previously a redphone call didn't know when the user was busy due to
webrtc and vice versa
// FREEBIE
2017-02-03 14:10:06 -05:00
Matthew Chen
05f123c5eb
Fix ongoing call check in OutboundCallInitiator.
...
// FREEBIE
2017-02-03 12:04:21 -05:00
Matthew Chen
d7e434eb03
Modify OutboundCallInitiator to abort if there is an ongoing RedPhone or WebRTC call.
...
// FREEBIE
2017-02-03 11:37:57 -05:00
Matthew Chen
581ba937f4
Respond to CR.
...
// FREEBIE
2017-02-03 11:31:31 -05:00
Matthew Chen
52ba5c1325
Don’t assert when two devices call each other simultaneously.
...
// FREEBIE
2017-02-03 11:30:47 -05:00
Matthew Chen
6e390d40b7
Respond to CR.
...
// FREEBIE
2017-02-03 11:29:47 -05:00
Matthew Chen
732144c9ed
Respond to CR.
...
// FREEBIE
2017-02-03 11:29:47 -05:00
Matthew Chen
98caeb6a03
Be even more cautious when tearing down a PeerConnectionClient.
...
// FREEBIE
2017-02-03 11:29:47 -05:00
Michael Kirk
a328759f0d
Don't crash when incoming call on NonCallKit iOS10
...
Previous logic assumed "VoiceChat" mode, but when the ringer goes off,
we set "SoloAmbient" which is incompatible with that mode, causing
assertion failure.
// FREEBIE
2017-02-03 10:24:16 -05:00
Michael Kirk
43e7defa28
Stop any lingering audio session if provider resets.
...
I've never actually seen this happen, but I think it makes sense.
// FREEBIE
2017-02-03 10:23:19 -05:00
Michael Kirk
2a9aa4c852
users can opt out of CallKit
...
// FREEBIE
2017-02-02 19:09:37 -05:00
Matthew Chen
5687925513
Prevent simultaneous incoming and outgoing calls from leaving CallService in a bad state.
...
// FREEBIE
2017-02-02 18:22:32 -05:00
Matthew Chen
0893930485
Handle “busy signal” appropriately.
...
// FREEBIE
2017-02-02 18:19:38 -05:00
Michael Kirk
b6f098bfa7
Log when receiving unknown call datachannel message
...
// FREEBIE
2017-02-02 15:51:07 -05:00