cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1803
Views
0
Helpful
6
Replies

Programming API for automated speed dial setting on a phone?

anyoneis1
Level 1
Level 1

I have a custom call manager program and I would like to eliminate the manual dialing of digits for our interviewers. Ideally, I would load up their speed dial one number at a time (for each number) using some sort of software interface. One dialed, the number is essentially discarded and replaced with another.

Is there a RESTful interface to use instead of the User Options console? Or is there a some other way to programmatically set speed dial numbers?

Alternatively, is the handset directly accessible? (7900 series).

Thanks,

David

6 Replies 6

will.alvord
Level 5
Level 5

You can use AXL to update the speeddials (via a call to UpdatePhone).  Automagically updating the speeddials once the number has been dialed will be trickier.

What do you mean by is the handset directly accessible?

Thanks for the response. I have not heard of AXL so I will do some research there.

Once the number has been dialed, the call manager will bring up a new number, presumably using the same technique to reset the speed dial at that point.

On the handset question, I have the impression that I am actually updating a server somewhere, and it in turn is  downloading the speed dial to the handset. Is that right? It would seem more efficient, given a configuration where there is a PC directly attached to the phone (handset), to just update the phone locally without involving any server.

paolo bevilacqua
Hall of Fame
Hall of Fame

You can look at the "campaign dialer" that I wrote, that is meant for this purpose. More details can be found on the website mentioned in my profile.

James Hawkins
Level 8
Level 8

Check out the webdialer API

http://developer.cisco.com/web/webdialer/home

You should be able to generate a click to call list of numbers pretty simply using some javascript

To see how it works look at the directory link in ccmuser

anyoneis1
Level 1
Level 1

Just a clarification: I am not looking for an autodial capability, just a way to program a speed dial for a single handset preferably without updating a server database.

The UpdatePhone AXL method is the only documented way to update speeddials other than using the ccmadmin or ccmuser web interfaces.  Any of those options do require a phone restart in case you didn't realize that.  These options are also updating the phones via a CUCM server.  I'm not sure why you don't want to do that other than the AXL throttling.  If you need to make an excessive amount of changes, you might run into problems.  Other than that the resource utilization is negligible.  These are the only documented ways to do what you're asking for but are all app->server->phone.

If I remember right, some models running the SIP firmware have the ability to locally configure speeddials and some of them can have speeddials provisioned in the config file.  If configured for SSH, maybe you can programmatically SSH to the phone and update the locally defined speeddials.  Also, some of the newer phones (99xx and possibly 89xx) can have the speeddials defined in the config files.  You could programmatically update the config files on the tftp server(s).  That would require a full reset to pull the updated config file.  These are theoretical options though and I haven't tested them.

Depending on what you're doing (since you're not going into much detail), you could look at developing a service which could use the webdialer api fetching an updated number to dial each time it's accessed.  Depending on CUCM version, you could also use the CURRI API.  All of your speeddials would have the same number assignment, but when your external call control server was queried, you can have your call control logic determine what number to dial based on calling party, called party, time of day, etc.  That would probably be the cleanest way since you could then mark the number as being called at that point rather than mucking around with CDR records.  That was the one point of your original request which seemed the trickiest anyways. 

http://developer.cisco.com/web/curri/home