Forum Discussion
SchiefVanCleef
Jan 20, 2023Brass Contributor
Outlook for iOS (MAM only Call Identification)
In order of the implementation of O365/M365 and with it Microsoft Intune, Outlook for iOS has become the standard mail client on iOS devices for many customers today. This is due to the excellent user experience and the constant stream of new features implemented by Microsoft. From a security perspective, in addition to the provision on managed devices (managed by Intune), the secure use on unmanaged devices with MAM or App Protection Policies (APP) is a big argument for using Outlook for iOS.
Currently, many ouf our customers are working on a BYOD setup for blue collar worker, who typically have a maximum of one email inbox.
A big pain point for many users who use Outlook for iOS in an MAM-only setup (and for MDM setup with Intune) is the missing caller identification of Exchange Online (EXO) contacts. Outlook for iOS supports a one-way contact export process whereby contacts from within Outlook for iOS can be exported into the personal (unmanaged) part of the native iOS Contacts app. This means a contact must first be imported into the users personal contacts directory of EXO and then exported from Outlook for iOS to the native (unmanaged) iOS Contact app in order to see who is calling. This functionality enables Caller-ID, iMessage, and FaceTime integration for users’ Outlook contacts. The exported Outlook contacts are considered unmanaged and are accessible by unmanaged, personal apps.
Especially for European customers who are subject to GDPR compliance, this is a no go, as personal data and company data must not be mixed. The unintentional outflow of contact data worthy of protection to commercial platforms, such as WhatsApp or Google, and the unintentional synchronization of address books with social media apps, represents a significant GDPR risk.
Although the user's personal EXO contacts can be synchronized, there is currently no option to synchronize the GAL. Furthermore, there is currently no provision in Outlook for iOS to synchronize the GAL cyclically. The user has to add a GAL contact to his personal contacts as described above and then within the Outlook for iOS app export the contact to his native iOS contacts app to be able to see who is calling. To meet the GDPR compliance, we need to prevent the contact export. So this is not a solution.
The question to ask is: Why does a user need to export a GAL/personal contact to their native iOS Contact app?
There are already several paid app solutions that close exactly this gap (ebf Contacts, Secure Contacts, etc.) which offer more or less the same range of functions. The app builds a container and downloads the managed address books (GAL, personal) of the user and then enables the resolution of the CallerID or identification of the caller via the so-called Apple CallKit integration.
Apple has been offering the so-called CallKit integration for years.
With CallKit you can integrate your calling services with other call-related apps on the system. CallKit provides the calling interface, and you handle the back-end communication with your VoIP service. For incoming and outgoing calls, CallKit displays the same interfaces as the Phone app, giving your app a more native look and feel. CallKit also responds appropriately to system-level behaviors such as Do Not Disturb. In addition to handling calls, you can provide a Call Directory app extension to provide caller ID information and a list of blocked numbers associated with your service.
When a phone receives an incoming call, the system first consults the user’s contacts to find a matching phone number. If no match is found, the system then consults your app’s Call Directory extension to find a matching entry to identify the phone number. This is useful for applications that maintain a contact list for a user that’s separate from the system contacts, such as a Outlook for iOS.
For example, consider a user who is a colleague to Jane, but doesn’t have her phone number in their contacts. If the Outlook for iOS app has a Call Directory app extension, which downloads and adds the phone numbers of all of the user´s colleagues. When the user gets an incoming call from Jane, the system displays something like “(App Name, e.g. Outlook) Caller ID: Jane Appleseed” rather than “Unknown Caller”.
The effort to integrate the Call Directory Extension is minimal and would solve many pain points from both a security and user experience perspective.
Apple has documented CallKit excellently on the developer site: CallKit | Apple Developer Documentation
With the possibility of using Apple CallKit in combination with Outlook for iOS and the contact synchronization (personal/GAL) of a managed EXO mailbox, the use of M365 in a BYOD scenario for customers Blue Collar workers will massively increase.
Furthermore, the use of contact synchronization is then also possible for devices managed by Intune. This creates an outstanding user experience while increasing user adoption!
This article was also published as feedback in the Outlook Forum for iOS: Outlook for iOS (MAM only Call Identification) · Community (microsoft.com)
There are already other requests within the Microsoft community that I would like to link here:
Daniel Huttenlocher: Identify Calls with Call Directory App Extension · Community (microsoft.com)
- abandurianMicrosoft
There is one problem. Apple (unlike Google) prohibits the extension to poll external servers during the identification. This is exactly why all the existing solutions MUST download the ENTIRE GAL locally (into a secure address book partition, not accessible by user normally) to provide identification. Google allows server lookups during ID, so you have more chances of seeing this on Android first 🙂
- SchiefVanCleefBrass ContributorThank you for your comment. You are right. In this case, Outlook would also have to provide the GAL in a partition to which normal users do not have access. Don't see this as a showstopper. It is even desired that Outlook in the best case cyclically retrieves the GAL data and provides it locally (hidden) for call identification. In addition to his personal Exchange contacts, the user still has the possibility to use the GAL (visibly) via the search or Microsoft Graph quickly and easily.
- mafrankCopper Contributor
Hello SchiefVanCleef,
we developed an App "Secure Contacts App" which close that gap.
The app uses the Microsoft MSAL and Intune SDK. Which allows on devices with different use cases like BYOD a full integration in the Microsoft Security and Authentication framework.
For further information feel free to contact me directly.
Kind Regards
Markus