iOS Remote View

Introduction

Apple provides the ability to trigger an AirPlay mirroring request command natively using MDM, which prompts the device to request mirroring to a specified destination. This is limited to destinations available within the subnet which can be difficult for enterprise organizations, as devices can connect to networks across subnets.

AirWatch Agent has been built to provide the ability to mirror the device to an AirPlay destination across subnets, thereby giving flexibility to remotely view an iOS device in a network, even from different subnets.

 

Changes to iOS Agent 5.5

AirWatch Agent 5.5 for iOS has improved Remote View functionality, and resolved several issues that existed in previous versions. Due to framework updates, there are a few more parameters that must be used to define the destination.  Previously, only IP Address and Port were used.

Follow the steps below to get the destination parameters for your environment. and configure the settings in the AirWatch Console.

 

How to get the destination parameters?

There is a range of screen mirroring software that can be used in addition to the Apple TV, such as AirServer, Reflector, and X-Mirage. To get the required parameters (pi, pk model, feature etc..) for Remote View, there are command line tools available that can be leveraged.

The utility for DNS service discovery is readily available on macOS, while it must be installed explicitly on a Windows machine. Hence regardless of whether the airplay destination (AirServer, Reflector, X-Mirage) is running on a Windows or macOS, use a macOS machine connecting to the same network to run the below commands to retrieve necessary information:

  1. Open Terminal on macOS and enter the command:
         dns-sd -B _airplay._tcp
    This will display all the AirPlay Destinations available in the network. The destination needs to be in the same subnet for the command to detect. The destination could even be a mirroring software running on the macOS machine that the command is executed on.
  2. Identify the destination Instance Name, be it a Windows machine or Apple TV.
    1.png
  3. Use the Instance Name from the earlier command to run the next command:
         dns-sd -L "INSERT INSTANCE NAME" _airplay._tcp local
    For example, the command for the AirServer 7 in the above image would be dns-sd -L "Airserver 7" _airplay._tcp local
  4. The values returned from the command would need to be populated in the settings format, like the example below:

    {"RemoteView":{"DestinationMacAddress":"A0:96:9B:1C:E4:99", "SupportedFeatures":"0x4A7FFFF7","flags":"0x4", "Model":"AppleTV5,3", "pk":"d6bbbd044dc43e498b29efa66de363d1ce105517c0c1fd583d3578978d29a896","pi":"06db8b34-be17-402d-a579-4338ae3aadf2", "Srcvers":"68", "vv":"2"}}

    Note: To prevent any mistakes in formatting, copy the JSON above and replace the values in bold to those returned from the command in Terminal from Step 3. One-to-one mapping of the values returned from the command in Terminal to the settings above would be:
    • deviceid > DestinationMacAddress
    • features (only the first value) > SupportedFeatures
    • flags > flags
    • model > Model
    • pk > pk
    • pi > pi
    • srcvers > Srcvers
    • vv > vv

These values are unique for each specific destination.

 

How to configure the destination in the AirWatch Console and start Remote View?

Setting the destination in the AirWatch Console is a 2-step process. 

  • First the JSON settings obtained above needs to be added as a Custom SDK setting.
  • Destination IP address, Port information needs to be configured before starting Remote View.

Perform the following to save the JSON settings:

Paste the JSON settings into Apps > Settings & Policies > Settings > Custom Settings and Save at/above the location group where the devices that you'd like to test Remote View are located.

Perform the following to save the Destination IP address and port:

  1. Select the device to Remote View into and navigate to the device details screen.
  2. Select More Actions > Remote View and add the destination details: IP Address, Port, Audio Port etc. with a name which can be saved and used for future Remote View sessions.
    4.png
    Note: By default, keep the Audio Port set to 7000
  3. To start Remove View, select “Save and Start.” The video below shows a demo.

Note: The JSON values entered in the video are just an example.  Follow the steps above to get the proper JSON values for your environment.

 

How to initiate Remote View for another device?

The above steps are only necessary for the first-time setup per destination. For subsequent devices:

  1. Select the device to Remote View into and navigate to the device details screen.
  2. Click More Actions > Remote View and select the name of the destination from the dropdown which you had configured above to initiate a Remote View session.

 

Caveats

  • Device may take up to 30 seconds from the time of accepting Remote View prompt in the Agent to receive the System Prompt to mirror.
  • Mirroring software sometimes change the values for pi, pk, Scvers etc. on quit and re-launch. If Remote View fails, you may need to make sure the destination values are still the same as the one being used on the AirWatch Console.
  • If there are any changes in the network to the destination device, the pi, pk, Scvers etc. values can changed as well.

 

Future Enhancements

The steps above to configure destination using custom SDK settings will be simplified in a future console release with a better end user interface to configure all Destination details in a single pane.

 

 

 

 

Have more questions? Submit a request

0 Comments

Article is closed for comments.