cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1278
Views
1
Helpful
9
Replies

How to know possible Softkey for updateSoftKeySet request?

fabien.bonic
Level 5
Level 5

Hello,
On the CUCM administration, when I configure softkey layout, the possible softkeys depends of the "call state" selected. How can I know this list for each call state?
Regards,

Fabien

9 Replies 9

Jonathan Els
Level 5
Level 5

This is catered for in the schema.  Please look at XCallStateMember:

<xsd:complexType name="UpdateSoftKeySetReq">
  <xsd:complexContent>
  <xsd:extension base="axlapi:NameAndGUIDRequest">
  <xsd:sequence>
  <xsd:choice minOccurs="0">
  <xsd:sequence minOccurs="0">
  <xsd:element minOccurs="0" name="removeCallStates">
  <xsd:complexType>
  <xsd:sequence minOccurs="0">
  <xsd:element maxOccurs="unbounded" name="callState" type="axlapi:XCallStateMember"/>
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  <xsd:element minOccurs="0" name="addCallStates">
  <xsd:complexType>
  <xsd:sequence minOccurs="0">
  <xsd:element maxOccurs="unbounded" name="callState" type="axlapi:XCallStateMember"/>
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:sequence>
  <xsd:element minOccurs="0" name="callStates">
  <xsd:complexType>
  <xsd:sequence minOccurs="0">
  <xsd:element maxOccurs="unbounded" name="callState" type="axlapi:XCallStateMember"/>
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:choice>
  </xsd:sequence>
  </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>
  <xsd:complexType name="XCallStateMember">
  <xsd:sequence minOccurs="0">
  <xsd:element minOccurs="0" name="callStateName" nillable="true" type="xsd:string"/>
  <xsd:element minOccurs="0" name="softKeys">
  <xsd:annotation>
  <xsd:documentation>List of mandatory keys for each callstate ::

  On Hook - NewCall

  Connected - End Call

  On Hold - Resume

  Off Hook - End Call

  Connected Transfer - Transfer

  Digits After First - Backward

  Connected Conference - Conference

  Ring Out - End Call

  Off Hook With Feature - End Call

   </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
  <xsd:sequence minOccurs="0">
  <xsd:element maxOccurs="unbounded" minOccurs="0" name="softKey" type="axlapi:XSoftKeyMember"/>
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:sequence>
</xsd:complexType>

Thank you for this answer. In fact this only show the mandatory keys but not the possible keys.

For example "NewCall" is not selectable for call state "Ring in"...

Regards,

We could check the DB dict.  I wonder if these are stored as enums somewhere for each state...

I don't have a CUCM in front of me... Check typecallstate and softkeyset (TI-184) // tkcallstate (FI-1158)... looks promising?

In fact I have already have a quick look in the DB.

The table typecallstate list the possible values for Call State.

The table typesoftkey list all the possible values for keys (but no link with Call State).

The table softkeyset list the selected keys for each call state of each Softkey Template.

I look the tables with a "tkcallstate" but it's seems there is only softkeyset which is not exactly what I'm looking for

Probably a strong clue, if not a complete answer:

The table 'typesoftkey' does seem to have fields which indicate whether a particular softkey is mandatory or optional for a particular state, i.e. the 'mandatorymask' and 'validationmask' fields:

Screenshot from 2018-04-24 11-51-28.png

For example 'Redial' appears to be mandatory in no call state positions:

     mandatorymask = 0 = 00000000 as a bit mask

and optional in all call state positions 1, 5, and 10:

     validationmask = 4095 = 1000010001 as a bit mask

Transfer appears to be mandatory in call state position 6:

     mandatorymask = 32 = 100000 as a bit mask

and optional in call stations positions 2 and 6:

     validationmask = 34 = 100010 as a bit map

These values appear to line up with the call state values in the 'typecallstate' table (though offset by 1)

I haven't worked this out completely, but hope it helps

** backs away slowly **

Thank you! You are right! The fields validationmask contains the information I was looking for.

Sorry, I found that there was some default Softkey Templates that have softkeys which should be unavailable. For example, the softkey "intercept" should not be able for call state "Connected". But when I look to the template "Cisco Manager with Feature Hardkeys", this call state have this softkey .

When I create new Softkey Template based on "Cisco Manager with Feature Hardkeys", the softkey "Intercept" is present for call state "Connected" but if I remove it in CUCM Administration, I cannot add it again...

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: