04-06-2016 04:37 AM
Hy everybody,
We have a CUCM cluster (11.0.1.10000-10) and I would like to know if is possible to change the value of the “Cisco Support Field” of a device using AXL?
Thanks,
Regards, Fabrice
Solved! Go to Solution.
04-08-2016 08:09 AM
Note that <ciscoSupportField> sub-element of the <vendorConfig> element in the getPhone reply - you will also need to include <vendorConfig> with <ciscoSupportField> as a sub-element in the updatePhone request.
Note also that <vendorConfig> can potentially have a large number of additional device-specific configuration fields within it (for example, change several other fields in the Device Specific Configuration settings and retry the getPhone). If updating an existing device, you will want to:
04-06-2016 12:05 PM
Can you give an example of a device type/model with this field, or the place in the CUCM UI you see it..?
04-06-2016 10:46 PM
This field is used with the Jabbers devices:
Cisco Unified Client Service Framework
Cisco Dual Mode For Android
Cisco Dual Mode For iPhone
Cisco Jabber for Tablet
This field can be found in the Desktop Client Settings part of the device configuration page.
04-07-2016 10:05 AM
Please try to get us an example, start with upload a screen-shot of the field that you talking about.
04-07-2016 11:59 AM
All of the settings in the 'Product Specific Configuration' area for a device are present in the <vendorConfig> element, e.g. in getPhone/updatePhone. Note, this element is itself a complete XML document and can contain varying multiple elements and subelements depending on the phone model.
04-08-2016 02:34 AM
The Cisco Support Field is used to specify which specific xml configuration file the jabber device need to use.
I can read the value of the "Cisco Support Field" attribute:
<soapenv:Body><ns:getPhoneResponse xmlns:ns="http://www.cisco.com/AXL/API/9.1">
<return>
<phone ctiid="49" uuid="{BACF0764-0D63-98EB-996C-64F02E6CC5D8}">
<name>CSFXYZ</name>
<description>XYZ</description>
<product>Cisco Unified Client Services Framework</product>
<model>Cisco Unified Client Services Framework</model>
...
<vendorConfig>
<desktopClient>
<ciscoSupportField>configurationfile=jabber-config-with-phone-full-save-outlook.xml</ciscoSupportField>
</desktopClient>
</vendorConfig>
</phone></return></ns:getPhoneResponse></soapenv:Body></soapenv:Envelope>
But I can't change the value of the field "Cisco Support Field" (the value of the "description" field change corectly):
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:axl="http://www.cisco.com /AXL/API/9.1" >
<SOAP-ENV:Body>
<axl:updatePhone sequence="1"><name>CSFEMONETP</name>
<description>TEST upgr</description>
<desktopClient>
<ciscoSupportField>
configurationfile=jabber.xml
</ciscoSupportField>
</desktopClient>
</axl:updatePhone></SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Thanks for your help,
04-08-2016 08:09 AM
Note that <ciscoSupportField> sub-element of the <vendorConfig> element in the getPhone reply - you will also need to include <vendorConfig> with <ciscoSupportField> as a sub-element in the updatePhone request.
Note also that <vendorConfig> can potentially have a large number of additional device-specific configuration fields within it (for example, change several other fields in the Device Specific Configuration settings and retry the getPhone). If updating an existing device, you will want to:
04-12-2016 07:02 AM
Thanks you, you were right it was missing the sub-element <vendorConfig>.
I have a second question about the "Cisco Support Field". In wich database table can I find the "Cisco Support Field" and the relationship with the device is linked?
I could not find it in the Cisco Unified Communications Manager Database Dictionary.
04-12-2016 01:57 PM
It's usually best to use AXL to access the vendor config settings, though if you want to use SQL, see this FAQ:
https://developer.cisco.com/site/axl/help/faqs/index.gsp#section-1
Note that whether you use AXL <updatePhone> or <executeSqlUpdate>, the "Cisco Support Field' value you will be reading and writing will be embedded in a 'free-form' piece of XML that you get back from AXL (stored as a 'blob' field in the DB table.) The elements and values that make up the vendor config field vary by model (though there are many in common across models), and unfortunately there is no available definition/schema of all of the possible values for any particular model/version...
04-12-2016 11:56 PM
To do some controls , we need to read the value of the "Cisco Field Support " from 16,000 devices.
The best solution would be to do a global " Select .." , otherwise we will need to generate 16,000 AXL queries. Is there a way to generate this "select"?
Thanks for your help,
04-13-2016 11:28 AM
Note there are two tables that can hold the vendor config XML blobs - devicexml4k and devicexml8k - depending on model type (and potential XML size.) You might try experimenting with something like:
<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:executeSQLQuery>
<sql>select first 10 fkdevice, xml from devicexml4k</sql>
</ns:executeSQLQuery>
</soapenv:Body>
</soapenv:Envelope>
----------------------------------
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:executeSQLQueryResponse xmlns:ns="http://www.cisco.com/AXL/API/10.5">
<return>
<row>
<fkdevice>a48e4942-accf-9f78-c3aa-a7c2215a9dc7</fkdevice>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>0</pcPort>
<garp>1</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<bluetooth>1</bluetooth>
<g722CodecSupport>0</g722CodecSupport>
<spanToPCPort>0</spanToPCPort>
<loggingDisplay>2</loggingDisplay>
<recordingTone>0</recordingTone>
<recordingToneLocalVolume>100</recordingToneLocalVolume>
<recordingToneRemoteVolume>50</recordingToneRemoteVolume>
<recordingToneDuration/>
<moreKeyReversionTimer>5</moreKeyReversionTimer>
<enableCdpSwPort>1</enableCdpSwPort>
<enableCdpPcPort>1</enableCdpPcPort>
<enableLldpSwPort>1</enableLldpSwPort>
<enableLldpPcPort>1</enableLldpPcPort>
<lldpAssetId/>
<powerPriority>0</powerPriority>
<eapAuthentication>0</eapAuthentication>
<sshAccess>0</sshAccess>
<LineKeyBarge>0</LineKeyBarge>
<minimumRingVolume>0</minimumRingVolume>
<remoteLog>1</remoteLog>
<AutoSaveVolDuringCall>0</AutoSaveVolDuringCall>
</vendorConfig>
</row>
<row>
<fkdevice>4ad1b45a-14b0-e6e8-3776-063455e08d55</fkdevice>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<autoSelectLineEnable>0</autoSelectLineEnable>
<deviceType>30016</deviceType>
<ipDetectionURL>http://example.com</ipDetectionURL>
<ldapServers/>
<rtpPortRangeFirst/>
<rtpPortRangeLast/>
<settingsAccess>1</settingsAccess>
<verifySoftwareVersions>0</verifySoftwareVersions>
<videoCapability>0</videoCapability>
<webAccess>0</webAccess>
<rtcp>0</rtcp>
<moreKeyReversionTimer>5</moreKeyReversionTimer>
<autoCallSelect>1</autoCallSelect>
<g722CodecSupport>0</g722CodecSupport>
</vendorConfig>
</row>
</return>
</ns:executeSQLQueryResponse>
</soapenv:Body>
</soapenv:Envelope>
04-14-2016 06:30 AM
Your answers helped us to solve our problem.
Thank you for your help and your quick responses.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide