Issues with TMSPE after upgrading to TMS version 15.2.1

OK, folks, so you want to keep your Cisco UC systems up-to-date and decided to upgrade your TelePresence Management Suite (and extensions for it) to the latest-and-greatest. You’ve done your due diligence and followed the Install and Upgrade guides and Release Notes for all systems that can be potentially affected (TMS, TMSPE, TMSXE, VCS, etc.) to ensure you cover all your bases in regards to inter-dependencies (there are plenty). However, after the upgrade, you notice a few new alarms on the VCS and TMS. The errors may look something like the following:

On TMS:

"((-1) Importer Error : TypeError('__init__() takes exactly 4 arguments (2 given)',))"

On VCS Control:

"The VCS is unable to communicate with the TMS Provisioning Extension services. Phone book service failures can also occur if TMS does not have any users provisioned against this cluster."

In the event log on the VCS, you would see some additional details:

"...provisioning: Level="ERROR" Detail="Import from TMS Provisioning Extension services failed" Service="device" Status="{"reason": "Importer Error : TypeError('__init__() takes exactly 4 arguments (2 given)',)", "reason_code": -1, "detail": "Traceback (most recent call last):\n File \"/share/python/site-packages/ni/externalmanagerinterface/control/importcontrol.py\", line 766, in run\n File \"/share/python/site-packages/ni/utils/web/restclient.py\", line 345, in send_get\n File \"/share/python/site-packages/ni/utils/web/restclient.py\", line 308, in send_request\n File \"/share/python/site-packages/ni/utils/web/restclient.py\", line 320, in http_request\n File \"/share/python/site-packages/ni/utils/web/httplib2ssl.py\", line 399, in request\n File \"/lib64/python2.7/site-packages/httplib2/__init__.py\", line 1608, in request\n File \"/lib64/python2.7/site-packages/httplib2/__init__.py\", line 1359, in _request\n File \"/lib64/python2.7/site-packages/httplib2/__init__.py\", line 1247, in _auth_from_challenge\n File \"/lib64/python2.7/site-packages/httplib2/__init__.py\", line 523, in __init__\nTypeError: __init__() takes exactly 4 arguments (2 given)\n", "success": false, "error": "InternalServerError"}"

What gives? Well, apparently, there has been a change in the way the TMSPE is authenticating with TMS in the newest version of the suite. Navigate to your TMS server and open IIS Manager. Expand Sites -> Default Web Site; click on ‘tmsagent’, then select ‘Authentication’. Ensure that ‘Digest Authentication’ is disabled.

TMS Agent settings in IIS

If it is enabled, disable it and then restart your web server (iisreset /noforce). Next, verify that Provisioning Extension is operating successfully (you may need to restart TMS Provisioning Extension service).

Hope this helps someone.

Enabling Medianet’s Metadata on Endpoints Running TC6.0 Through TMS

If you would like to bulk-enable Medianet’s metadata on Cisco endpoints running software TC6.0 and higher, you can do so using TMS Configuration Template with a custom API command. Here’s how:

  1. Navigate to Systems > Configuration Templates > Configuration Templates.
  2. Create new configuration template or edit an existing one.
  3. Click on ‘Select Advanced Settings’ tab and use the filter to search for ‘custom configuration’ for ‘Cisco TelePresence TC Endpoints’:
    TMS Custom Configuration Template
  4. Select the ‘Custom Configuration’ setting and click ‘>’ to add it to the settings list.
  5. Switch to ‘Template Settings’ tab and paste the following string in the ‘Custom Configuration’ line:
    <Configuration>
    <Experimental item="1">
    <NetworkServices item="1">
    <Medianet item="1">
    <Metadata item="1">On</Metadata>
    </Medianet>
    </NetworkServices>
    </Experimental>
    </Configuration>
    
  6. Save the template. You’re done!

Test the configuration by applying the new template to a single endpoint and confirm that there were no errors and the setting has been changed successfully.