Push buttons remotely on IPPhone 7945

Version 1
    This document was generated from CDN thread

    Created by: Szilard Papp on 19-01-2014 10:34:12 AM
    Guys,

       I would like to initiate menu usage remotely on an IP phone. Let's say I would like to change backgroud picture on all phones by pushing menu example >> Settings >> User Preferences >> Background images...
       Is it possible to initiate this remotely from a http site? If yes how?

    Subject: RE: Push buttons remotely on IPPhone 7945
    Replied by: Stephen Welsh on 19-01-2014 10:43:21 AM
    Hi,

    I recommend you have a look at PhoneView from UnifiedFX (http://www.unifiedfx.com), you can get a free trial from here:

    http://www.unifiedfx.com/phoneview/trial

    As an example on how to record and play back macros to one or more phone have a look at this video:

    https://www.youtube.com/watch?v=f7oPuj1szNg

    T
    hanks

    Stephen

    Subject: RE: Push buttons remotely on IPPhone 7945
    Replied by: Szilard Papp on 19-01-2014 11:17:33 AM
    Steve,

      Thanks a lot. It helped me. Now I know how to go trough the menu (sample script below). But how can I initiate a service execution remotely?

    <CiscoIPPhoneExecute>
      <ExecuteItem URL="Key:Settings"/>
      <ExecuteItem URL="Key:KeyPad1"/>
      <ExecuteItem URL="Key:KeyPad2"/>
    </CiscoIPPhoneExecute>

    Subject: RE: Push buttons remotely on IPPhone 7945
    Replied by: Stephen Welsh on 19-01-2014 11:25:39 AM
    You have two choices:

    1) Set the "Idle URL" on the device configuration page ("Secure Idle URL" for UCM 8 or above)
    2) Send the XML to the phones web server using a HTTP POST to http://[Phone IP]/CGI/Execute

    Note: For option 2 you will need to authenticate the requries with a UCM user that has device association to the phone as well as the "Standard CTI Enabled" permission
    Note: For option 2 make sure the content type is "text/xml"

    Also, the sequence of URI commands you have lised will not work, although technically you will press all 3 buttons, the 2nd  & 3rd will not be processed as they are sent while the settings page is being opened. You will need to send it as two separate requests, Setings in the first, and KeyPad1 & 2 in the second. 

    Stephen

    Subject: RE: Push buttons remotely on IPPhone 7945
    Replied by: David Staudt on 21-01-2014 12:03:34 PM
    A couple clarifying comments:

    - Standard CTI Enabled access group should not be needed.  The user/password given in the HTTP POST Basic Auth does need to be associated to the device. 
    - While up to three commands can be included in a single CiscoIPPhoneExecute object, note that the order these commands are executed in is not guaranteed.  You would likely want to send each keypress as a separate request
    - Finally, as it is not really possible to know the state of the phone's UI while pushing down these keypresses, it is possible/likely that your script could cause interference with other activities on the phone, e.g. an incoming call occurs and the user attempts to handle it at the same time your script 'takes over' the UI...In general, this 'blind keypress' type of approach is perhaps OK for 'utility scripts' but is not going to be a reliable 'production' solution.

    Unfortunately, there is not a supported mechanism for deterministically setting the phone background programmatically...