# MDM On-Premises Workflow ## Architecture ManageEngine Mobile Device Manager Plus can be used to deploy configuration settings, security commands, and retrieve asset data over-the-air (OTA). The diagram given below is a representation of how the **On-Premise version of Mobile Device Manager Plus** functions. **Note:** For the architecture of **Mobile Device Manager Plus Cloud**, refer to [this page](https://www.manageengine.com/mobile-device-management/mobile-device-manager-plus-cloud-architecture.html). ![ ](https://www.manageengine.com/mobile-device-management/help/getting_started/_drupal/mobile-device-management/images/mdm_op_arch.jpg) **Fig : Mobile Device Manager Plus- Architecture** All communications from Mobile Device Manager Plus to the managed mobile devices are routed through intermediate services such as Apple Push Notification service (APNs) for Apple devices, Firebase Cloud Messaging (FCM) for Android devices, and Windows Push Notification Services (WNS) for Windows devices. A live TCP connection is maintained for the notification services. APNs, FCM, and WNS act as intermediate services to wake up managed devices whenever an action is triggered from the MDM server. WNS is used only for devices running Windows 8.1 and is not available for mobile devices running Windows 8.0. Managed mobile devices communicate with Mobile Device Manager Plus to receive instructions and report status and data back to the MDM server. For the above setup to work, the following should be done: Assuming users' mobility, the Mobile Device Manager Plus Server should be reachable via a public IP address (or FQDN). If you are installing Mobile Device Manager Plus Server in the LAN, add an entry in your external router to direct requests to your public IP address to the internal IP of the computer where Mobile Device Manager Plus Server is installed. If all managed devices are within the LAN, this requirement is not needed. Refer to the following to know about the list of ports used and domains accessed by MDM for enrolling and managing devices: - [Ports used by MDM](https://www.manageengine.com/mobile-device-management/faq.html#g1) - [Domains accessed by MDM](https://www.manageengine.com/mobile-device-management/faq.html#g2) [Click here](https://www.manageengine.com/mobile-device-management/faq.html#g28) to know the steps to verify the reachability of the required domains. [Click here](https://www.manageengine.com/mobile-device-management/mobile-device-manager-plus-cloud-architecture.html) to know MDM Cloud architecture. ### Setting up and Enrolling mobile devices - [Device Authentication](https://www.manageengine.com/mobile-device-management/help/enrollment/mdm_device_authentication.html) - [Self Enrollment](https://www.manageengine.com/mobile-device-management/help/enrollment/mdm_byod.html) - [Customize ME MDM App](https://www.manageengine.com/mobile-device-management/help/enrollment/customize_me_mdm_app.html) Apple devices - [Creating APNs Certificate](https://www.manageengine.com/mobile-device-management/help/enrollment/mdm_creating_apns_certificate.html) - [Enroll Apple devices](https://www.manageengine.com/mobile-device-management/help/enrollment/enroll_ios_devices.html) - [Automated device enrollment via ABM](https://www.manageengine.com/mobile-device-management/help/enrollment/apple_business_manager_enrollment.html) - [Enroll Apple devices using Apple Configurator](https://www.manageengine.com/mobile-device-management/help/enrollment/enroll_ios_devices_using_apple_configurator.html) Android devices - [Enroll Android devices](https://www.manageengine.com/mobile-device-management/help/enrollment/enroll_android_devices.html) - [Zero Touch Enrollment](https://www.manageengine.com/mobile-device-management/help/enrollment/android_zero_touch_enrollment.html) - [Enroll Android devices using Near Field Communication(NFC)](https://www.manageengine.com/mobile-device-management/help/enrollment/enroll_android_devices_using_admin_enrollment_tool.html) - [Enroll Android devices using QR code](https://www.manageengine.com/mobile-device-management/help/enrollment/mdm_android_qr_code_enrollment.html) Setting up Knox devices - [Prerequisites for Knox Management](https://www.manageengine.com/mobile-device-management/help/enrollment/knox_management_prerequisites.html) - [Enrolling Knox Devices](https://www.manageengine.com/mobile-device-management/help/enrollment/enrolling_knox_devices.html) - [Knox Mobile Enrollment](https://www.manageengine.com/mobile-device-management/help/enrollment/knox_mobile_device_management.html) Setting Up Windows devices - [Enroll Windows Devices](https://www.manageengine.com/mobile-device-management/help/enrollment/enroll_windows_devices.html) - [Enroll Windows Devices using Imaging and Configuration Designer(ICD)](https://www.manageengine.com/mobile-device-management/help/enrollment/enroll_windows_devices_using_admin_enrollment_tool.html) Setting Up Chrome devices - [Prerequisites for Chrome OS device enrollment](https://www.manageengine.com/mobile-device-management/help/enrollment/mdm_enroll_chromebooks.html#prerequisites) - [Enrolling Chrome OS devices](https://www.manageengine.com/mobile-device-management/help/enrollment/mdm_enroll_chromebooks.html#Procedurel)