Skip Navigation

Data flow: Receiving configuration updates on an 
iOS
 device

Diagram showing the steps and components mentioned in the following data flow.
  1. An action is taken in the management console that triggers a configuration update for an 
    iOS
     device. For example, you update the IT policy or assign a new profile or app to the user account. 
  2. Updates are applied in 
    BlackBerry UEM
     and objects that must be shared with the device are identified.
  3. The 
    BlackBerry UEM Core
     performs the following actions:
    1. Contacts the 
      BlackBerry Infrastructure
      , through the 
      BlackBerry Router
       or TCP proxy server, if installed, and the external firewall over port 3101.
    2. Sends a request through the 
      BlackBerry Infrastructure
       to the APNs to notify the device that an update is pending.
  4. The APNs sends a notification to the native MDM Daemon on the 
    iOS
     device to contact the 
    BlackBerry UEM Core
  5. When the native MDM Daemon on the 
    iOS
     device receives the notification, it contacts the 
    BlackBerry UEM Core
    , on port 3101 on the external firewall, passing through the 
    BlackBerry Router
     or TCP proxy server, if installed, to retrieve any pending actions.
  6. The 
    BlackBerry UEM Core
     replies with the highest priority action. Priority is given to device actions, such as Delete device data and Lock device. The 
    BlackBerry UEM Core
     sends only one command at a time. If necessary, additional information is included in the response. If no actions or commands are pending for the device, the 
    BlackBerry UEM Core
     replies to the device with an idle command.
  7. The native MDM Daemon on the 
    iOS
     device performs the following actions:
    1. Inspects the response from the 
      BlackBerry UEM Core
      , schedules the command to be processed, and waits for the command to run.
    2. Sends a response to the 
      BlackBerry UEM Core
       to update the command status. The status indicates whether the command ran successfully and provides an error message in the event of a failure.
    Steps 6 and 7 are repeated until no more pending actions or commands must be performed on the device.