title: How should we control Cisco phones using 3rd party call control?
body: <p><strong>Background</strong><br>
  We are developing an enterprise application to control Cisco phones on a Cisco Unified Call Manager using 3rd party call control. We need to be able to monitor call state, get Caller ID for incoming calls, and do full call control (placing calls, answer, hangup, conf, transfer, etc). 
  Our customers will probably be using CUCM 7.1 through 8.5.</p>
  
  <p>We're developing the app using .Net - which makes development using JTAPI clumsy though possible. Maybe this is the best approach?</p>
  
  <p>We have done first party call control using Cisco's TAPI interface, but it is not clear that this will work in a third party call control mode. Also, we're unsure of the stability of this API.</p>
  
  <p>We don't want our customers to have to buy anything extra - ie no Unified Contact Center...</p>
  
  <p>We've seen references to a CTI interface into the CUCM - ie whatever the desktop TSP connects to in order to control phones. Is this API available?</p>
  
  <p>Also, we've seen references to CSTA as a mechanism to control phones on a CUCM. </p>
  
  <p><strong>The Question</strong><br>
  What is the recommended method for 3rd party call control on a Cisco Unified Call Manager in an enterprise environment for .Net developers? </p>