Command phone to Conference Another Ext with Phone Service

Version 1
    This document was generated from CDN thread

    Created by: Kaleb Dienelt on 22-08-2013 03:57:09 PM
    Hello, From what I have gathered from the Cisco documentation, this is how I am supposed to command a phone to conference an extension with a button; however, this does not work. I need to conference extension 555 with the press of a phone button. It prompts me with a menu. 

    <?xml version="1.0"?>
        <ExecuteItem URL="Key:FixedFeature2"/>
        <ExecuteItem URL="Dial:555"/>
        <ExecuteItem URL="Key:FixedFeature2"/>

    Any help would be greatly appreciated!

    Subject: RE: Command phone to Conference Another Ext with Phone Service
    Replied by: David Staudt on 22-08-2013 04:13:50 PM
    Unfortunately using the IP Phone Services API to accomplish conferencing is not likely to work very well:

    -  Up to three ExecuteItems can be specified, but their order of execution is NOT guarantee
    - Even if you send the commands separately, you will not be able to avoid 'race conditions' where the phone may be in an unexpected state - e.g. the far end hangs up, or another calls starts ringing while your 'key sequence' is underway

    To do this type of thing with better chance of success, I would suggest:
    - Using IP Phone Services to the extent of configuring a phone button to request a URL (pointing at your app), which includes the device name (via #DEVICENAME#)
    - Upon receiving the URL request from the device, use one of the CTI interfaces (TAPI or JTAPI) to programmatically determine the real-time state of the calls on the device, execute the proper CTI requests to cause the conference to occur as desired, and interpret/intelligently-handle the results (i.e. catch errors that may occur due to race conditions or other unexpected situations and interact with the user)

    The catch is, of course, that TAPI/JTAPI are relatively more complex to work with than IPPS XML...