cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
270
Views
0
Helpful
5
Replies
Contributor

busyTrigger can not be set to '1'

I am using AXLAPIService to create a phone with a line on CUCM. First I add a line, use the line to create a XPhoneLine that is added to a phone. In the XPhoneLine I set the busyTrigger to a specific value (smaller than the maxNumCalls) - like this:

AddLineReq lineReq = new AddLineReq();

lineReq.line = line;

StandardResponse resp = axlSvc.addLine(lineReq);

String lineUuid = resp.@return;

// line successfully created

XDirn xdirn = new XDirn();

xdirn.uuid = lineUuid;

XPhoneLine phoneLine = new XPhoneLine();

phoneLine.dirn = xdirn;

...

phoneLine.busyTrigger = "1";

XPhoneLines phoneLines = new XPhoneLines();

phoneLines.Items = new object[] { phoneLine };

In the AddPhoneReq the Line in the LineItems then has the correct busyTrigger set:

audibleMwiField: "Default"

busyTrigger: "1"

busyTriggerField: "1"

callInfoDisplay: null

... but the result of the AddPhoneReq is a line that has a busyTrigger of 2!!

In the AXL Interface Log (jrtm) I can see that the busytrigger is passed as 2 and not 1!

2017-09-08 08:09:26,338 DEBUG [http-bio-443-exec-448] axlapiservice.Handler - busyTri2 2

and the insert then adds it with 2 as well!!

2017-09-08 08:09:26,342 DEBUG [http-bio-443-exec-448] axlapiservice.Handler - insert into DeviceNumPlanMap ( busyTrigger,tkPreferredMediaSource,displayascii,fkNumPlan,speedDial,fkDevice,fkrecordingprofile,MaxNumCalls,pkid,E164Mask,display,fkcallingsearchspace_monitoring,NumPlanIndex ) values ( '2','1','HillyBilly','4f92261a-7be5-62fa-bca5-eae30967f626',null,'42d98a1c-0fef-195d-e896-ac35b315f95b',null,'6','2f8f335d-2727-dcb1-0faa-52f1a8e65967',null,'HillyBilly',null,'1' )

Btw: when setting the busytrigger to a value >2 it is correctly set!

Did somebody know what is going on here? Is something else preventing a value of 1?

many thanks for your support and kind regards, urs

5 REPLIES 5
Cisco Employee

Re: busyTrigger can not be set to '1'

I don't seem to be able to reproduce this on my CUCM 10.5 test system here, at least via soapUI and sending XML.  The following request results in the expected Busy Trigger of 1 when viewed in CUCM admin:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/10.5">

   <soapenv:Header/>

   <soapenv:Body>

      <ns:addPhone sequence="1">

         <phone>

            <name>00059A3C7A01</name>

            <product>Cisco IP Communicator</product>

            <class>Phone</class>

            <protocol>SCCP</protocol>

            <protocolSide>User</protocolSide>

            <devicePoolName>Default</devicePoolName>

            <commonPhoneConfigName>Standard Common Phone Profile</commonPhoneConfigName>

            <locationName>Hub_None</locationName>

            <lines>

               <line>

                  <index>1</index>

                  <dirn uuid="{6C6C62C4-5BEE-E958-74F3-6A32D044FBB3}"/>

                  <busyTrigger>1</busyTrigger>

               </line>

            </lines>

            <phoneTemplateName>Standard CIPC SIP</phoneTemplateName>

         </phone>

      </ns:addPhone>

   </soapenv:Body>

</soapenv:Envelope>

There is perhaps a possibility that something is different in your CUCM version, though my hunch would be that the WSDL->code mechanism and object model you are using may have an issue, or you are using it in an unexpected way.  There should be a way to inspect the actual XML that gets sent on the wire to CUCM - you may want to see how closely it matches the above, and may guide your usage of the object model to build the right request.

Contributor

Re: busyTrigger can not be set to '1'

Hello,

Many thanks for your support!

With jrtm I found the AXL request, it is the following:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body>

<addPhone xmlns="http://www.cisco.com/AXL/API/11.0">

<phone xmlns="">

    <name>CSFTESTTH</name>

    <description>hugsi</description>

    <product>Cisco Unified Client Services Framework</product>

    <class>Phone</class>

    <protocol>SIP</protocol>

    <protocolSide>User</protocolSide>

    <callingSearchSpaceName>CSS_Allow_All</callingSearchSpaceName>

    <devicePoolName>Default</devicePoolName>

    <commonDeviceConfigName>RC_CDCI_German</commonDeviceConfigName>

    <commonPhoneConfigName>Standard Common Phone Profile</commonPhoneConfigName>

    <mediaResourceListName>RC_MRL</mediaResourceListName>

    <networkHoldMohAudioSourceId xsi:nil="true" />

    <userHoldMohAudioSourceId xsi:nil="true" />

    <automatedAlternateRoutingCssName xsi:nil="true" />

    <aarNeighborhoodName xsi:nil="true" />

    <loadInformation xsi:nil="true" />

    <versionStamp xsi:nil="true" />

    <mlppDomainId xsi:nil="true" />

    <useTrustedRelayPoint>Default</useTrustedRelayPoint>

    <securityProfileName>Cisco Unified Client Services Framework - Standard SIP Non-Secure Profile</securityProfileName>

    <sipProfileName>SIP4Jabber</sipProfileName>

    <cgpnTransformationCssName xsi:nil="true" />

    <geoLocationName xsi:nil="true" /><geoLocationFilterName xsi:nil="true" />

    <lines>

        <line>

        <index>1</index>

        <display>hugsi</display>

        <dirn uuid="{0B513DE1-9E74-7E51-0396-13F9111A66CB}"><routePartitionName xsi:nil="true" /></dirn>

        <displayAscii>hugsi</displayAscii>

        <e164Mask xsi:nil="true" />

        <maxNumCalls>4</maxNumCalls>

        <recordingProfileName xsi:nil="true" />

        <monitoringCssName xsi:nil="true" />

        <speedDial xsi:nil="true" />

        <recordingMediaSource>Gateway Preferred</recordingMediaSource>

        </line>

    </lines>

    <phoneTemplateName>Standard Client Services Framework</phoneTemplateName>

    <primaryPhoneName xsi:nil="true" />

    <userLocale xsi:nil="true" />

    <networkLocale xsi:nil="true" />

    <idleTimeout xsi:nil="true" />

    <softkeyTemplateName xsi:nil="true" />

    <defaultProfileName xsi:nil="true" />

    <builtInBridgeStatus>Default</builtInBridgeStatus>

    <ownerUserName xsi:nil="true" />

    <packetCaptureMode>None</packetCaptureMode>

    <subscribeCallingSearchSpaceName>CSS_Allow_All</subscribeCallingSearchSpaceName>

    <rerouteCallingSearchSpaceName>CSS_Allow_All</rerouteCallingSearchSpaceName>

    <certificateOperation>No Pending Operation</certificateOperation>

    <deviceMobilityMode>Default</deviceMobilityMode>

    <dndRingSetting xsi:nil="true" />

    <mobilityUserIdName />

    <dialRulesName xsi:nil="true" />

    <featureControlPolicy xsi:nil="true" />

    <cgpnIngressDN xsi:nil="true" />

    <msisdn xsi:nil="true" />

    <wifiHotspotProfile xsi:nil="true" />

    <wirelessLanProfileGroup xsi:nil="true" />

    <elinGroup xsi:nil="true" />

</phone>

</addPhone></soap:Body></soap:Envelope>

=> There is no busytrigger passed, AXLAPIService (even if I set it to 1 - maybe because it is the default?)

So when looking more into the traces I see the following SQL Query:

2017-09-10 20:50:56,016 DEBUG [http-bio-443-exec-673] axlapiservice.Handler - Select param from ProductSupportsFeature where tkproduct='390' and tkdeviceprotocol='11' and tksupportsfeature ='30'

The result is 6:6:2, continuing in the log:

2017-09-10 20:50:56,017 DEBUG [http-bio-443-exec-673] axlapiservice.Handler - test param2 6:6:2

2017-09-10 20:50:56,018 DEBUG [http-bio-443-exec-673] axlapiservice.Handler - First Token 6

2017-09-10 20:50:56,018 DEBUG [http-bio-443-exec-673] axlapiservice.Handler - maxCalls2 6

2017-09-10 20:50:56,018 DEBUG [http-bio-443-exec-673] axlapiservice.Handler - busyTri2 2

=> so for me it seems that the CUCM gets the productfeatures and this returns as a default value a busy trigger of 2!

=> is there the possibility to set this to 6:6:1 (with putty I get an error 'no UPDATE permission')

Cisco Employee

Re: busyTrigger can not be set to '1'

You are a good detective, I believe you are fully correct about the 'source' of the default busy trigger of 2 for this device type.  However, the CUCM database gets these default settings from some (non user visible) XML config files that are shipped as part of the system image at install time - AFAIK it is not possible (without some serious hacking) to change these system device defaults.  As a result, your application will need to specify the '1' busy trigger when adding/updating lines - and realize any admin-created devices will default to '2'...

Highlighted

Re: busyTrigger can not be set to '1'

I seen similar problem. I cant set Caller Number checkbox on Forwarded Call Information Display with addPhone. It just ignore.

But I can fix it with sql

UPDATE DeviceNumPlanMap SET callinfodisplaymask=13 WHERE DeviceNumPlanMap.fkNumPlan=...

I believe that you are faced with a similar problem, so wait for the CUCM fix or fix yourself using sql.

Contributor

Re: busyTrigger can not be set to '1'

I implemented a workaround by changin the following in the axlapiservice.cs:

[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]

  [System.ComponentModel.DefaultValueAttribute("1")]

public string busyTrigger

  {

to

[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]

  [System.ComponentModel.DefaultValueAttribute("0")]

public string busyTrigger

  {

like this the Busytrigger is always passed in the API's xml request and the default value is not used. Works for me....

CreatePlease to create content
Content for Community-Ad
August's Community Spotlight Awards