Last time I talked about some of the additional features that the Cisco Unified Communications Manager brought to table in regards to the DX650. I did however leave out a crucial ability of the CUCM, which is pushing applications to the DX650. This is a feature that the system administrator of the CUCM would be able to perform. So, let's take a look at creating this IP Phone Service by going to your CUCM Administration page under Device Settings > Phone Services.
Above is what you will see when you try and create your IP Phone Services. There is a few required fields that you need. Let's go through each of these fields. Service Name/ASCII Service Name:
This value must be the package name of the Android Application that you are trying to install. This is required in order for the service to work.Service URL:
The location of the Android APK you are installing.Service Category:
Set this to Android APK.Service Type:
Set this to Standard IP Phone Service.Service Version:
This is the version code that is specified in the Android Manifest. If leave this blank it will automatically re-download the application every time the configuration is updated. Assuming you don't want this to happen just fill this in with the version code. If the version code you specify is different from the Android Manifest it will not update the application. If you update the version with a different value and update the subscription it will update the application. Please note this is the version code, not the version name.
At the bottom you see that there is a Parameters section, this is used to send additional information to the application. For instance, you want to name the phone. Let's take a look at how we would pass this name to our device.
Above you can see the parameter that we created with the name of Name. The default value or the value that will be stored with the key of Name is DX650. This parameter will be installed on your device as a shared preference. With this in mind the application can just grab the value out of the shared preference. Below is a small code snippet that would do just that. If you need more information on Shared Preferences head on over to the Android Developer Site
. Knowing about this Parameter section when writing your Android Application could come in handy.
1SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this);
2String text = app_preferences.getString("Name", "null");
Once the service is setup, all you have to do is go to the Device page and subscribe the device to the service you created. This will then in turn push the application to your device.