Commit Graph

131 Commits (da32570dc65449da4f12f1f72376f73c65cad0cd)

Author SHA1 Message Date
Michael Kirk aa268e36c2 This constructor can return nil
seeing frequent crash in the wild on this line, maybe this is why?

// FREEBIE
8 years ago
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
8 years ago
Matthew Chen c1aea91d1b Fix build break.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen a20a21867e Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c35c118dcd Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 01d2582074 Add and honor the “CallKit Privacy” setting.
// FREEBIE
8 years ago
Matthew Chen f5004b27ab Add and honor the “CallKit Privacy” setting.
// FREEBIE
8 years ago
Matthew Chen 065d383c15 Add and honor the “CallKit Privacy” setting.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen f4453eb995 Enable WebRTC-based audio and video calls by default.
// FREEBIE
8 years ago
Matthew Chen dea37b422b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 06a775b41a Improve the call status messages in conversation view.
// FREEBIE
8 years ago
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
8 years ago
Michael Kirk 6cdf13ea5f Only time out the intended call
previously a followup call could get clobbered by the previous calls
timeout

// FREEBIE
8 years ago
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
8 years ago
Michael Kirk 2f6bf0e551 Code cleanup per CR
// FREEBIE
8 years ago
Michael Kirk 108720c2e7 End outgoing call with "No Answer" after 2 minutes
// FREEBIE
8 years ago
Matthew Chen 734dec12e9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c43063e1d6 Add “interstitial call view” that is shown during lengthy “webrtc supported” check.
// FREEBIE
8 years ago
Matthew Chen ce9d9befb3 Prevent device lock during calls.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen 217866c588 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 228b0e7dc6 Synchronize access to remoteVideoTrack.
// FREEBIE
8 years ago
Matthew Chen ca76ec6f36 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 6f3a45ff8c Avoid crashes when deallocating remote video tracks.
// FREEBIE
8 years ago
Matthew Chen 4ae786d0a2 Ignore CallService events related to obsolete calls.
// FREEBIE
8 years ago
Matthew Chen d9bcd563b1 Avoid possible deadlock in PeerConnectionClient.
// FREEBIE
8 years ago
Matthew Chen 8f6483e9b4 Fix bug in the busy logic.
// FREEBIE
8 years ago
Matthew Chen 17fe3f66c0 Ensure audio service observation of call is always correctly wired up.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen 05f123c5eb Fix ongoing call check in OutboundCallInitiator.
// FREEBIE
8 years ago
Matthew Chen d7e434eb03 Modify OutboundCallInitiator to abort if there is an ongoing RedPhone or WebRTC call.
// FREEBIE
8 years ago
Matthew Chen 581ba937f4 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 52ba5c1325 Don’t assert when two devices call each other simultaneously.
// FREEBIE
8 years ago
Matthew Chen 6e390d40b7 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 732144c9ed Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 98caeb6a03 Be even more cautious when tearing down a PeerConnectionClient.
// FREEBIE
8 years ago
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
8 years ago
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
8 years ago
Michael Kirk 2a9aa4c852 users can opt out of CallKit
// FREEBIE
8 years ago
Matthew Chen 5687925513 Prevent simultaneous incoming and outgoing calls from leaving CallService in a bad state.
// FREEBIE
8 years ago
Matthew Chen 0893930485 Handle “busy signal” appropriately.
// FREEBIE
8 years ago
Michael Kirk b6f098bfa7 Log when receiving unknown call datachannel message
// FREEBIE
8 years ago
Matthew Chen b868f07c33 Merge remote-tracking branch 'origin/feature/webrtc' into release/2.7.0 8 years ago
Matthew Chen 36356fbff6 Avoid crashes when closing peer connection client.
// FREEBIE
8 years ago
Matthew Chen dacb2840f2 Avoid crashes when closing peer connection client.
// FREEBIE
8 years ago
Matthew Chen f81feca2d6 Avoid crashes when closing peer connection client.
// FREEBIE
8 years ago
Michael Kirk cd36123bf1 rename method to better reflect how its used
// FREEBIE
8 years ago
Michael Kirk 7e825648ef Show alert when trying to call a non-signal contact from Contacts.
// FREEBIE
8 years ago