cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
515
Views
0
Helpful
2
Replies

functional differences on mobileSmartClientName tag in addRemoteDestination between cucm 9.1 and 10.5

stephan.steiner
Spotlight
Spotlight

Hi

So I was running my code to create mobile jabber devices with associated remote destinations in 10.5.2 today and it threw the first addRemoteDestination back into my face complaining about dual mode devices.

I recalled that on 9.1.1, I not only had to set the dualModeDeviceName tag (set to the associated TCT or BOT device), but also the mobileSmartClientName tag (despite the AXL doc stating that "this tag is not applicable for dualmode phones). I figure that out looking at existing remote destinations that worked - it seems the mobileSmartClientName tag is set in 9.1.1 when you check the "Enable Cisco Unified Mobile Communicator" checkbox in the device (and that in turn makes the TCT/BOT device become listed in the "CUCM enabled" column when listing remote destinations in ccmadmin).

In 10.5.2, filling the mobileSmartClientName tag with the name of your BOT/TCT device makes things not work anymore. Since the documentation states the same about that tag in 9.1 and 10.5, something is wrong.. either it's a documentation issue, or addRemoteDestination isn't working properly in some way.

I'm now going to add a version dependant switch in my xml generation code that ignores the mobileSmartClientName tag if the dualModeDeviceName tag is filled if the version is >= 10.5.x.

Cheers

Stephan

@edit: here's request on cucm 10.5

POST https://chdevcucm105.nxodev.intra/axl/ HTTP/1.1

Authorization: Basic mycredentials

SOAPAction: CUCM:DB ver=10.5 addRemoteDestination

Content-Type: text/xml

Host: chdevcucm105.nxodev.intra

Content-Length: 989

<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:addRemoteDestination sequence="1"> <remoteDestination><destination>0741415082</destination><answerTooSoonTimer>1500</answerTooSoonTimer><answerTooLateTimer>19000</answerTooLateTimer><delayBeforeRingingCell>4000</delayBeforeRingingCell><dualModeDeviceName>TCTBBRAUNTEST10</dualModeDeviceName><isMobilePhone>true</isMobilePhone><enableMobileConnect>true</enableMobileConnect><lineAssociations><lineAssociation><pattern>415082</pattern><routePartitionName>p_national</routePartitionName></lineAssociation></lineAssociations><timeZone>Etc/GMT</timeZone><mobileSmartClientName>TCTBBRAUNTEST10</mobileSmartClientName><ownerUserId>bbrauntest10</ownerUserId><singleNumberReachVoicemail>Use System Default</singleNumberReachVoicemail><dialViaOfficeReverseVoicemail>Use System Default</dialViaOfficeReverseVoicemail></remoteDestination></ns:addRemoteDestination></soapenv:Body></soapenv:Envelope>

Response

HTTP/1.1 500 Internal Server Error

Set-Cookie: JSESSIONIDSSO=D5AEB8CB8DBDA8428E9D4BE663AA4714; Path=/; Secure; HttpOnly

Set-Cookie: JSESSIONID=67FB34206AB178A3B11322D9062CD0AB; Path=/axl/; Secure; HttpOnly

X-Frame-Options: SAMEORIGIN

Content-Type: text/xml;charset=UTF-8

Content-Length: 571

Date: Thu, 26 Mar 2015 08:30:12 GMT

Connection: close

Server:

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Client</faultcode><faultstring>Mobile Smart Client for a Remote Destination must be a device with Mobile Smart Client Enabled</faultstring><detail><axlError><axlcode>10133</axlcode><axlmessage>Mobile Smart Client for a Remote Destination must be a device with Mobile Smart Client Enabled</axlmessage><request>addRemoteDestination</request></axlError></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>

And on CUCM 9.1

POST https://chdevcucm91.nxodev.intra/axl/ HTTP/1.1

Authorization: Basic mycredentials

SOAPAction: CUCM:DB ver=9.1 addRemoteDestination

Content-Type: text/xml

Host: chdevcucm91.nxodev.intra

Content-Length: 849

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/9.1"><soapenv:Header/><soapenv:Body><ns:addRemoteDestination sequence="1"> <remoteDestination><destination>0741415100</destination><answerTooSoonTimer>1500</answerTooSoonTimer><answerTooLateTimer>19000</answerTooLateTimer><delayBeforeRingingCell>4000</delayBeforeRingingCell><dualModeDeviceName>TCTBBRAUNTEST10</dualModeDeviceName><isMobilePhone>true</isMobilePhone><enableMobileConnect>true</enableMobileConnect><lineAssociations><lineAssociation><pattern>415100</pattern><routePartitionName>p_national</routePartitionName></lineAssociation></lineAssociations><timeZone>Etc/GMT</timeZone><mobileSmartClientName>TCTBBRAUNTEST10</mobileSmartClientName></remoteDestination></ns:addRemoteDestination></soapenv:Body></soapenv:Envelope>

And response

HTTP/1.1 200 OK

Set-Cookie: JSESSIONIDSSO=9D612ACF90ABC8D44C87D157E40781C9; Path=/; Secure; HttpOnly

Set-Cookie: JSESSIONID=328DF3A1F1946BF9CA81A7D5EC1EFA24; Path=/axl/; Secure; HttpOnly

Content-Type: text/xml;charset=UTF-8

Content-Length: 341

Date: Thu, 26 Mar 2015 08:31:42 GMT

Server:

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:addRemoteDestinationResponse sequence="1" xmlns:ns="http://www.cisco.com/AXL/API/9.1"><return>{385924DD-90ED-274E-7C40-FCD69CADBC2C}</return></ns:addRemoteDestinationResponse></soapenv:Body></soapenv:Envelope>

And the phone in question on CUCM 9.1

POST https://chdevcucm91.nxodev.intra/axl/ HTTP/1.1

Authorization: Basic mycredentials

SOAPAction: CUCM:DB ver=9.1 addPhone

Content-Type: text/xml

Host: chdevcucm91.nxodev.intra

Content-Length: 4152

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/9.1"><soapenv:Header/><soapenv:Body><ns:addPhone sequence="1"> <phone><name>CSFBBRAUNTEST10</name><description>Jabber PC bbrauntest10</description><product>Cisco Unified Client Services Framework</product><class>Phone</class><protocol>SIP</protocol><protocolSide>User</protocolSide><userHoldMohAudioSourceId>1</userHoldMohAudioSourceId><preemption>Disabled</preemption><lines><line><index>1</index><label>bbrauntest10</label><display>bbraun test10</display><dirn uuid="{E40FA9D1-D62B-B820-92CA-E961D97B35D2}"/><ringSetting>Ring</ringSetting><consecutiveRingSetting>Use System Default</consecutiveRingSetting><mwlPolicy>Use System Policy</mwlPolicy><maxNumCalls>6</maxNumCalls><busyTrigger>2</busyTrigger><callInfoDisplay><callerName>true</callerName><callerNumber>false</callerNumber><redirectedNumber>false</redirectedNumber><dialedNumber>true</dialedNumber></callInfoDisplay><recordingFlag>Call Recording Disabled</recordingFlag><audibleMwi>Default</audibleMwi><speedDial></speedDial><partitionUsage>General</partitionUsage><associatedEndusers><enduser><userId>bbrauntest10</userId></enduser></associatedEndusers><missedCallLogging>true</missedCallLogging></line></lines><phoneTemplateName uuid="{8E1A10FA-A52C-4435-A4EC-540D266C8C37}">Standard Client Services Framework</phoneTemplateName><userLocale>English United States</userLocale><singleButtonBarge>Off</singleButtonBarge><joinAcrossLines>Off</joinAcrossLines><callInfoPrivacyStatus>Default</callInfoPrivacyStatus><ignorePresentationIndicators>false</ignorePresentationIndicators><dndOption>Ringer Off</dndOption><dndStatus>false</dndStatus><alwaysUsePrimeLine>Default</alwaysUsePrimeLine><alwaysUsePrimeLineForVoiceMessage>Default</alwaysUsePrimeLineForVoiceMessage><callingSearchSpaceName>css_internal</callingSearchSpaceName><devicePoolName>dp_Kloten</devicePoolName><commonPhoneConfigName uuid="{AC243D17-98B4-4118-8FEB-5FF2E1B781AC}">Standard Common Phone Profile</commonPhoneConfigName><networkLocation>Use System Default</networkLocation><locationName>Kloten</locationName><networkHoldMohAudioSourceId>1</networkHoldMohAudioSourceId><useTrustedRelayPoint>Default</useTrustedRelayPoint><retryVideoCallAsAudio>true</retryVideoCallAsAudio><securityProfileName uuid="{C6085E14-A32C-4C5E-A3D1-8DAF60D81594}">Cisco Unified Client Services Framework - Standard SIP Non-Secure</securityProfileName><sipProfileName uuid="{FCBC7581-4D8D-48F3-917E-00B09FB39213}">Standard SIP Profile</sipProfileName><useDevicePoolCgpnTransformationCss>true</useDevicePoolCgpnTransformationCss><sendGeoLocation>false</sendGeoLocation><ringSettingIdleBlfAudibleAlert>Default</ringSettingIdleBlfAudibleAlert><ringSettingBusyBlfAudibleAlert>Default</ringSettingBusyBlfAudibleAlert><networkLocale>United States</networkLocale><enableExtensionMobility>false</enableExtensionMobility><builtInBridgeStatus>Default</builtInBridgeStatus><hlogStatus>On</hlogStatus><ownerUserName>bbrauntest10</ownerUserName><packetCaptureMode>None</packetCaptureMode><packetCaptureDuration>0</packetCaptureDuration><hotlineDevice>false</hotlineDevice><subscribeCallingSearchSpaceName>css_internal</subscribeCallingSearchSpaceName><allowCtiControlFlag>true</allowCtiControlFlag><presenceGroupName uuid="{AD243D17-98B4-4118-8FEB-5FF2E1B781AC}">Standard Presence group</presenceGroupName><unattendedPort>false</unattendedPort><requireDtmfReception>false</requireDtmfReception><rfc2833Disabled>false</rfc2833Disabled><certificateOperation>No Pending Operation</certificateOperation><deviceMobilityMode>Default</deviceMobilityMode><remoteDevice>false</remoteDevice><isActive>true</isActive><isDualMode>false</isDualMode><phoneSuite>Default</phoneSuite><phoneServiceDisplay>Default</phoneServiceDisplay><isProtected>false</isProtected><mtpRequired>false</mtpRequired><mtpPreferedCodec>711ulaw</mtpPreferedCodec><outboundCallRollover>No Rollover</outboundCallRollover><deviceTrustMode>Not Trusted</deviceTrustMode><requireOffPremiseLocation>false</requireOffPremiseLocation></phone></ns:addPhone></soapenv:Body></soapenv:Envelope>

And the phone on CUCM 10.5

POST https://chdevcucm105.nxodev.intra/axl/ HTTP/1.1

Authorization: Basic mycredentials

SOAPAction: CUCM:DB ver=10.5 addPhone

Content-Type: text/xml

Host: chdevcucm105.nxodev.intra

Content-Length: 5659

<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>TCTBBRAUNTEST10</name><description>Jabber iPhone bbrauntest10</description><product>Cisco Dual Mode for iPhone</product><class>Phone</class><protocol>SIP</protocol><protocolSide>User</protocolSide><userHoldMohAudioSourceId>1</userHoldMohAudioSourceId><vendorConfig><paramEditability>1</paramEditability><iPhoneCountryCode>CH</iPhoneCountryCode><cuetLevel>1</cuetLevel><cucmUseSipDigest>0</cucmUseSipDigest><cucmSipDigestUserName>wengerP</cucmSipDigestUserName><cucmCtiUserName>wengerp</cucmCtiUserName><dialViaOffice>0</dialViaOffice><cucmUseVoiceDialing>0</cucmUseVoiceDialing><cucmAddVoiceDialingNumberToFavorites>0</cucmAddVoiceDialingNumberToFavorites><emEnabled>0</emEnabled><cucmGSMHandoffPreference>1</cucmGSMHandoffPreference><ldapUseLDAPUserAuthentication>1</ldapUseLDAPUserAuthentication><ldapUseSSL>0</ldapUseSSL><dialerEmergencyNumbers>112,117,114,1414,1415</dialerEmergencyNumbers><Ringtone>0</Ringtone><videoCapability>1</videoCapability><reserved>configurationfile=jabber-config_iPhone.xml</reserved></vendorConfig><preemption>Disabled</preemption><lines><line><index>1</index><label>bbrauntest10</label><display>bbraun test10</display><dirn uuid="{6B9027E4-635C-3CC5-8816-EA727A260B8C}"/><ringSetting>Ring</ringSetting><consecutiveRingSetting>Use System Default</consecutiveRingSetting><displayAscii>Template 7681</displayAscii><mwlPolicy>Use System Policy</mwlPolicy><maxNumCalls>2</maxNumCalls><busyTrigger>1</busyTrigger><callInfoDisplay><callerName>true</callerName><callerNumber>false</callerNumber><redirectedNumber>false</redirectedNumber><dialedNumber>true</dialedNumber></callInfoDisplay><recordingFlag>Call Recording Disabled</recordingFlag><audibleMwi>Default</audibleMwi><speedDial></speedDial><partitionUsage>General</partitionUsage><associatedEndusers><enduser><userId>bbrauntest10</userId></enduser></associatedEndusers><missedCallLogging>true</missedCallLogging><recordingMediaSource>Gateway Preferred</recordingMediaSource></line></lines><phoneTemplateName uuid="{CFD9C6FB-B9FA-4A2B-935C-FC5E8A859F5D}">Standard Dual Mode for iPhone</phoneTemplateName><userLocale>English United States</userLocale><softkeyTemplateName uuid="{72F64050-7AD5-4B47-9BFA-5E9AD9CD4AA9}">Standard User</softkeyTemplateName><singleButtonBarge>Off</singleButtonBarge><joinAcrossLines>Off</joinAcrossLines><callInfoPrivacyStatus>Default</callInfoPrivacyStatus><ignorePresentationIndicators>false</ignorePresentationIndicators><dndOption>Call Reject</dndOption><dndRingSetting>Disable</dndRingSetting><dndStatus>false</dndStatus><alwaysUsePrimeLine>Default</alwaysUsePrimeLine><alwaysUsePrimeLineForVoiceMessage>Default</alwaysUsePrimeLineForVoiceMessage><callingSearchSpaceName>css_internal</callingSearchSpaceName><devicePoolName>dp_Kloten</devicePoolName><commonPhoneConfigName uuid="{AC243D17-98B4-4118-8FEB-5FF2E1B781AC}">Standard Common Phone Profile</commonPhoneConfigName><networkLocation>Use System Default</networkLocation><locationName>Kloten</locationName><mediaResourceListName uuid="{BAEC0607-EB07-E851-41C1-3662F031D70E}">MRGL_LUPS</mediaResourceListName><networkHoldMohAudioSourceId>51</networkHoldMohAudioSourceId><useTrustedRelayPoint>Default</useTrustedRelayPoint><retryVideoCallAsAudio>true</retryVideoCallAsAudio><securityProfileName uuid="{5CD3A1A0-98B9-4A97-ACB0-B7A50E5C5076}">Cisco Dual Mode for iPhone - Standard SIP Non-Secure Profile</securityProfileName><sipProfileName uuid="{6F3DFB0D-2D1D-4346-BD7B-A38120405B3A}">Standard SIP Profile for Mobile Device</sipProfileName><useDevicePoolCgpnTransformationCss>true</useDevicePoolCgpnTransformationCss><sendGeoLocation>false</sendGeoLocation><ringSettingIdleBlfAudibleAlert>Default</ringSettingIdleBlfAudibleAlert><ringSettingBusyBlfAudibleAlert>Default</ringSettingBusyBlfAudibleAlert><networkLocale>Switzerland</networkLocale><enableExtensionMobility>false</enableExtensionMobility><builtInBridgeStatus>Off</builtInBridgeStatus><hlogStatus>On</hlogStatus><ownerUserName>bbrauntest10</ownerUserName><packetCaptureMode>None</packetCaptureMode><packetCaptureDuration>0</packetCaptureDuration><hotlineDevice>false</hotlineDevice><subscribeCallingSearchSpaceName>css_internal</subscribeCallingSearchSpaceName><rerouteCallingSearchSpaceName uuid="{BC3B6B1C-ADF4-2B1D-F723-4A927AAFFE89}">css_all</rerouteCallingSearchSpaceName><allowCtiControlFlag>false</allowCtiControlFlag><presenceGroupName uuid="{AD243D17-98B4-4118-8FEB-5FF2E1B781AC}">Standard Presence group</presenceGroupName><unattendedPort>false</unattendedPort><requireDtmfReception>false</requireDtmfReception><rfc2833Disabled>false</rfc2833Disabled><certificateOperation>No Pending Operation</certificateOperation><deviceMobilityMode>Default</deviceMobilityMode><remoteDevice>false</remoteDevice><isActive>true</isActive><isDualMode>true</isDualMode><mobilityUserIdName>bbrauntest10</mobilityUserIdName><phoneSuite>Default</phoneSuite><phoneServiceDisplay>Default</phoneServiceDisplay><isProtected>false</isProtected><mtpRequired>false</mtpRequired><mtpPreferedCodec>711ulaw</mtpPreferedCodec><outboundCallRollover>No Rollover</outboundCallRollover><deviceTrustMode>Not Trusted</deviceTrustMode><AllowPresentationSharingUsingBfcp>false</AllowPresentationSharingUsingBfcp><allowiXApplicableMedia>false</allowiXApplicableMedia><useDevicePoolCgpnIngressDN>true</useDevicePoolCgpnIngressDN><enableCallRoutingToRdWhenNoneIsActive>false</enableCallRoutingToRdWhenNoneIsActive></phone></ns:addPhone></soapenv:Body></soapenv:Envelope>

Message was edited by: Stephan Steiner, pasted the proper addRemoteDestination command for cucm 10.5

And I almost forgot.. if I remove the mobileSmartClientName tag on CUCM 10.5 and leave the rest of the addRemoteDestination command untouhed, things do work just fine.

2 Replies 2

npetrele
Cisco Employee
Cisco Employee

I recommend that you add a version dependent switch in your xml generation code that ignores the mobileSmartClientName tag if the dualModeDeviceName tag is filled if the version is >= 10.5.x. 


Sorry, I just couldn't resist.  Thanks for the informative post! 

You're actually a few hours late.. the switch is already in there... already was when I posted the last update;) Turns out I had some bugs in my code, too (or rather.. mistook the different representation of the if/else you have on remoteDestinationProfileName and dualModeDeviceName in the 9.1 and 10.x documentation).

I'm not sure if it's a 10.5 or 10.0 thing as I have no 10.0 to test. And I only noted it because I first tested 9.1 and it kept screaming for a mobileSmartClientName.

And I guess I'd call the whole thing either a documentation bug or an implementation bug... I marked my code with a workaround tag for the time being as I'm not really sure what the mobileSmartclientName is for on a 10.5 as it is not required.