I am trying to create a button or something that will send DTMF to a system during an active call. The speed dials are disabled during a call so I can't use those so this is what I was thinking.
I will sell the customer 7970/71 phones so they can have a touch screen and use the <CiscoIPPhoneGraphicFileMenu> object to create the desired buttons. However this is not my issue.
I was wondering if anyone knows if you can use the Dial URI to dial some digits using a web service?
Here was my thought. I wanted to create a simple asp page that accepted a string from the querystring and performed a dial of whatever was passed in the URL.I would then call this asp page from the into the <CiscoIPPhoneGraphicFileMenu> structure with the correct name value pair.
Does this sound feasible? Can you execute the Dial URI while in a call?
I wanted to make sure this wasn't a waste of time before I got to far into this.
Any input is appreciated. Thanks.
There's an easy way to test it without developing anything.. the SDK contains an html page that allows you to send arbitrary xml to a phone. So you could send a CiscoIPPhoneExecute with a Dial URI to the phone while it's on a call, and see what happens (you would expect it to put the current call on hold and make another one as done on other PBXes, but since this isn't part of Cisco's standard functionality I suspect it wouldn't work).
Now if it works, here's what your app needs to do: after the CiscoIPPhoneInput where you grab the digits, you respond with your CiscoIPPhoneExecute containing a dial url with the desired number.. that'll place the call and you'll switch to the call place. If you want to terminate the service as well, add another url that corresponds to pressing the services button into the same CiscoIPPhoneExecute xml element.
Thank your for your reply. You are correct in that it puts the active call on hold and places a new call. Unfortunately that doesn't solve my problem. Here is what I have done so far and the issue I am currently experiencing.
For each button I want it to send certain DTMF digits during an active call.
I have created to asp pages. Keyboard.asp which is the image above and dial.asp which generates and executes the Key presses.
For Example when a user touchs "Consult" the button the URL is executes is http://IPADDRESS/CCMCIP/dial.asp?value=123 Dial.asp generates the following XML and executes it on the phone. ( At least it is supposed to.)
Here is what is not working.
When the user touchs the Consult button it does an HTTP GET for the dial.asp url Over and over and over. I am aware the CiscoIPPhoneExecute is a not displayable object so is there a way to just execute the dial.asp page and return to the keyboard.asp page and stop.
The second issue which is not as important is I would like to dial a preprogrammed phone number and then goto the keyboard.asp page.
In your keyboard.asp, what happens if you press a digit (without pressing any softkey)? Does it trigger something?
Then this is your problem.. the keys you push via CiscoIPPhone trigger the menu options on the keyboard.. so you press the first key, that triggers 3 additional keypresses, and each keypress triggers another 3 keypresses via CiscoIPPhoneExecute and it goes on and on and on.
As far as I know, as soon as you have an app on screen, keypresses are automatically sent to the app, and are no longer sent to the telephony part - so you won't get any DTMF tones.
If it's at all possible I suspect you'd need to resort to CTI.. I can't give you any guarantees though.. it may just be hardcoded that digits go to the app when an app is active.
Thanks. I realized exactly what you mentioned. If you are in an app, any Key presses are applied to the options available in the application. I am not a CTI guru so I won't be attempted to develop something of that complexity.
Wasn't the question how this can be done from a web service? CTI is always an option - but there's quite a difference between web services and cti apps in terms of complexity :)