Add limited support for call redirection #444
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Android 10 added the
CallRedirectionService
API, which allows a third party app to process outgoing calls made from the system's dialer. Some call redirection services, like Google Voice, use phone calls under the hood instead of VOIP. These calls can be recorded by BCR, but would previously show the service's proxy phone number.Unfortunately, with the way Android's APIs are designed, the only thing that's aware of the original phone number is the dialer. We have no way of querying that in BCR until the call ends and the dialer writes the entry to the call log. This commit implements support for looking up the phone number from the call log.
This lookup functionality only works for non-conference calls and the call will always be classified as
All other calls
in the auto-record rules.Fixes: #443