Custom SoftKeys

Unanswered Question
Apr 26th, 2007
User Badges:

Hi all!

I've made an application that shows an CiscoIPPhoneText xml object opn a phone when it recieves an incomming call.

To answer that call you have to use the automated generated softkey 'back' en then you can use the default answer softkey.

I know you can also answer the call by pressing the headset or speaker button, but i want to know if and how it is possible to send a custom softkey within the CiscoIPPhoneText object to directly answer the incomming call.

If the above is possible, how to create a custom forward / hold etc.. softkey?


ps. i've tried SoftKey:Answer but didn't do anything

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
stephan.steiner Mon, 05/07/2007 - 00:04
User Badges:
  • Silver, 250 points or more

"ps. i've tried SoftKey:Answer but didn't do anything

That is because tehre's no such thing as a SoftKey:Answer URI. All available URIs are listed in the developer guide.

There's but one reliable solution for your problem: a Key:LineX but for that you need to know the value of X - which in term means you have to load the phone config (via AXL), and you need to know which line the call is for (via CTI).

Mike-1985 Wed, 05/09/2007 - 03:39
User Badges:

Thanks for your reply! It realy helped me.

For now i've got a standard softkey for line1. After I've done some work on the AXL service to find out on which line the call is i'll make the softkey dynamic. But for now it's working :-)


Mike-1985 Thu, 05/10/2007 - 02:54
User Badges:

I've been playing with axl for a while today and i'm able to receive response from axl on the getPhone request.

This is a part of the result:

Use System Default

Use System Default


Use System Policy







But i cann't figure out how to match the uuid with one of the line's provided by tapi. Am i missing something?

Mike-1985 Thu, 05/10/2007 - 03:38
User Badges:

hmm... cann't find any edit button.

Here is my 'new' plan of approach:

I know the directory number of the line the call is for. So i get the phone profile with axl:getPhone

If the profile has more than one line. Foreach line i'll get the directory number (axl:getLine) and compare it with the number the call is for. To find out on witch position the line is i'll use the index value received from the getPhone response.

I think this will be the right way. If not... please correct me.

An other thing i was wondering about:

How about the performance of the callmanager and my program? I'll do a couple of axl requests every time a phone receives a new call.

Thanks in advance!

stephan.steiner Thu, 05/10/2007 - 08:57
User Badges:
  • Silver, 250 points or more

Via executeSQL you can effectively do just one looking and get the position of all the lines. The regular AXL commands are nice but not terribly efficient. .if you need efficiency, there's no going around writing your own sql statements.

You can also figure out when a phone is being reset via jtapi (the phone goes out of service and comes back), so you only need to get the config in this case.. lines don't move around on the phone without the phone being reset.

Note that I have done exactly what you described (but limited as outlined above) and for somewhat above a 100 phones I'm not seeing any kind of an impact.. and I also do exchange and internet phone number lookups for each incoming and outgoing call.


This Discussion