Sametime file transfer not working due to chat logging settings

Internally I transitioned our users over to a new Sametime 9.0.1 Community server with audio and video, meetings, TURN server, the works and it all worked, apart from file transfer.

When opening a chat window, the file icon would show but after about 1-2 seconds it would disappear. If you were quick enough you could send the recipient a file.

I checked all the policies, I checked policies.user.xml, I updated managed-settings.xml, I enabled trace on the client which showed it was enabled and I tried various configurations and all of which show that file transfer (both direct and via the server) was enabled.

The L3 IBM’er came back with the following

Next I looked at sametime.log and I see ST filetransfer is not staying started and suspect this is why the client can’t file transfer and they see the file transfer but show up and then go away::
I stplaces 28/Feb/17, 19:27:41 Places is operating in mode RELAX (1)
I stfiletransfer 28/Feb/17, 19:27:41 ChatLoggingMgr::setMode: mode <1>
E stfiletransfer 28/Feb/17, 19:27:41 Failed to load chatLogging BB or find one of its functions
E stfiletransfer 28/Feb/17, 19:27:41 Logging initialization failed for ChatLog library []
I stfiletransfer 28/Feb/17, 19:27:41 Terminated
I stlogger 28/Feb/17, 19:27:41 Initialization completed
I stchatlogging 28/Feb/17, 19:27:41 ChatLoggingMgr::setMode: mode <1>
E stchatlogging 28/Feb/17, 19:27:41 Failed to load chatLogging BB or find one of its functions
E stchatlogging 28/Feb/17, 19:27:41 Logging initialization failed for ChatLog library []
I stchatlogging 28/Feb/17, 19:27:41 Terminated

Chatlogging being enabled when it actually does not exist causes these type of errors and I see in the stconfig.nsf -> Communityservices document,
that yes chat logging is enabled and in relax mode:

But in sametime.ini there is no chatlogging enablement statements:
[ST_BB_NAMES]
ST_CHAT_LOG=N/A
ST_AUTH_TOKEN=notes
[stofflinemessages]

Potential solution
If no chatlogging software then they need to set the setting Flag: off and Type: 0

I updated the values in the SSC which updated the document in stconfig.nsf and after a restart of the Community server file transfer is now available!

The default is to set the following value to “when available” but setting it to “never” worked for me.

Update – 27/04/17

IBM told me that with 9.0.1, out of the box, this option is disabled by default. As this was a 9.0.0.1 server upgraded to 9.0.1 it may have been the case that 9.0.0.1 had this enabled. Or, I may have set it accidentally….

Update – 28/04/17

IBM posted the Technote yesterday – https://www-01.ibm.com/support/docview.wss?uid=swg22002683&myns=swglotus&mynp=OCSSKTXQ&mync=E&cm_sp=swglotus-_-OCSSKTXQ-_-E

Whiteboard now removed from Sametime meetings

I created Whiteboard in Sametime 9.0.1 after finding that a whiteboard feature was added to meetings some time ago.

This morning Andreas Bader got back to the Skype group, IBM Sametime Community Chat after finding that the whiteboard feature had been removed after applying the latest Meeting server patch. Andreas had logged a PMR asking IBM where it had gone. IBM’s response was;

“I can confirm The Meetings Whiteboard feature release is being put on hold indefinitely.
The module “Core Whiteboard Services” has been removed permanently from the ST Meetings build, the whiteboard was an unsupported proof of concept feature.”

Cheers IBM. You finally gave us something people wanted for ages and then took it away.

Error accessing Sametime SIP Proxy Registrar in SSC

During a build in a development environment on RHEL 6.7 for a customer I came across “unable to read data from SIP Proxy, check error logs for more detail.” This was after installing the combined PR & CF and attempting to update the domain name.

2

I found a Technote, Audio and Video is not available in Sametime – Error: “Unable to read data from SIP registrar, check error logs for more details” which was of no use to me.

In the deployment manager  SystemOut.log I saw the following:

[10/29/15 10:07:15:105 GMT] 000001cc config        W ConfigurationHelper validateConfig AVKPR1008E: Exception
org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element ‘locationServiceType’. One of ‘{domains}’ is expected.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)

**************

[10/29/15 10:08:41:475 GMT] 00000170 proxy         E ProxyConfigWriter writeConfigFile AVKPR1008E: Exception
com.ibm.sip.config.ConfigurationMBeanException: cells/devsama001SSCCell/nodes/devsama00STMSNode2/servers/STMediaServer/proxy.xml

*************

[10/29/15 10:08:44:321 GMT] 00000170 registrar     E RegistrarConfigWriter writeConfigFile AVKPR1008E: Exception
com.ibm.sip.config.ConfigurationMBeanException: cells/devsama001SSCCell/nodes/devsama00STMSNode2/servers/STMediaServer/registrar.xml

# vi ./opt/IBM/WebSphere/AppServer/profiles/STSCDMgrProfile/config/cells/CELL/nodes/NODE/servers/STMediaServer/proxy.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<!– Copyright IBM Corp. 2008, 2014  All Rights Reserved.              –>

<!–
SIP Proxy server configuration file.
–>
<config>

<!–
Proxy settings:
isRecordRoute – true/false
Indicates whether the SIP Proxy remains on the SIP signaling path (works in a record-route mode)

isParallel – true/false
Indicates whether the SIP Proxy uses parallel or sequential search.

appSessionExpiration
Specifies application session expiration value in minutes

timerC
timer C value in minutes. This value must be greater than or equal to 3, recommended value is
3-5 minutes. This timer is set for each client transaction when an INVITE request is proxied.

routeRules –
Specifies a set of route rules that contains route conditions and destination address.
The routing rules are used to to determine the destination of the request.

–>

<proxy isRecordRoute=”true” isParallel=”false” appSessionExpiration=”10″
timerC=”4″ addDestinationPublicIP=”false”
locationServiceType=”dynamicCache”/>
<!–
<routeRules>
<rule priority=”” name=”” description=””>
<condition type=”method”></condition>
<condition type=”sourceAddress”></condition>
<condition type=”requestURI”></condition>
<condition type=”header” headerName=””></condition>
<destination>
<output>
<inputPattern type=”requestURI” value=””/>
<outputPattern type=”header” headerName=”Route” value=””/>
</output>
</destination>
</rule>
</routeRules>
–>
<domains>       <domain name=”devsama004.brockcloud.uk”/>       </domains> </config>

I compared this with another deployment which runs a slightly older version of 9 and it doesn’t have the text in bold above and looks like the following.

    <proxy isRecordRoute=”true” isParallel=”false” appSessionExpiration=”10″
timerC=”4″ addDestinationPublicIP=”false”/>

# cd /opt/IBM/WebSphere/AppServer/profiles/STSCDMgrProfile/config/cells/devsama001SSCCell/nodes/devsama00STMSNode2/servers/STMediaServer/

# cp ./proxy.xml ./proxy.xml.orig

# vi ./proxy.xml

I removed the offending line and then sync’d the nodes, logged out of the SSC and now I can update the Handled Domains sections without an error.

Once I build in production I will see whether the same problem is observed. If so, I will raise a PMR to check whether my workaround is valid. BTW – I was using the latest version of the SSC and Media Manager available from Fix Central.

Sametime Video MCU problems

When applying the latest version of the Video MCU available on Fix Central 9001-ST-Media-FP-SPIR-9ZTF3Z I faced problems when configuring the VMCU to use a TURN server.

1

I uninstalled and tried again but the result was the same. I found a draft Technote which didn’t help.

Problem
“service soft_mcu status” returns “SoftMcu service is unavailable” although soft_mcu is up.
Symptom
“service soft_mcu status” returns “SoftMcu service is unavailable” although soft_mcu is up.
You will encounter errors in accessing setting of MCU in System Console Server (SSC).
“An error occurred while retrieving the IP service.” in accessing “Video MCU global settings”.
“An error occurred while retrieving Video MCU users.” in accessing “Manage Users”.
“An error occurred while retrieving alarm health status” in accessing “Active Alarms”.
“An error occurred while logger configuration data” in accessing “Configure Logging Settings”

Cause
Due to deletion of necessary files under /tmp by tmpwatch cron.
Environment
Linux OS.
Diagnosing the problem
Video MCU places some files under /tmp directory including httpd.listen.conf that is necessary for status check of Video MCU (“service soft_mcu status”).

Resolving the problem
If you can not find it, tmpwatch cron has deleted files under /tmp unaccessed for more than 10 days as default.  Chek your cron setting and delete or modify the settings.
Stopping and starting re-create necessary files under /tmp.

I also found After updating Sametime System Console not able to see settings for VMCU which I followed even though I had not installed the SSC hot fix SPIR-9VM7XJ. This didn’t work either. I raised a PMR. Waiting for it to make it’s way up to L3 is slow going so I decided to uninstall and use an older version of the VMCU, 9001-ST-Media-FP-SPIR-9RHDAJ, which I could configure and didn’t get “an error occurred while retrieving the IP service.”

There was a bit of too’ing and fro’ing and the long and short of it is that I got the SSC hotfix, which I applied, and then upgraded the VMCU but I still got “an error occurred while retrieving the IP service” when attempting to update the settings.

L3 responded and told me that there is a known problem configuring the TURN server from the SSC and below is how to manually configure these settings.

  1. Open /mcms/Cfg/IPServiceListTmp.xml  (Make the backup of IPServiceListTmp.xml in case something goes wrong, so you can recover)
  2. In SIP_ADVANCED section, set three parameters as below:
    1. Set ICE_ENVIRONMENT to iceEnvironment_standard. By default, value is iceEnvironment_none.
    2. Set STUN_SERVER_IP to TURN server IP.  By default, value is 0.0.0.0
    3. Set TURN_SERVER_IP to TURN server IP.  By default, value is 0.0.0.0
After these changes, SIP_ADVANCED section will look like this.
<SIP_ADVANCED>
<SIP_ADVANCED_USER_NAME></SIP_ADVANCED_USER_NAME>
<ICE_ENVIRONMENT>iceEnvironment_standard</ICE_ENVIRONMENT>
<ICE_STANDARD_PARAMS>
<IS_PASSWORD_SERVER>false</IS_PASSWORD_SERVER>
<PASSWORD_SERVER_IP>0.0.0.0</PASSWORD_SERVER_IP>
<PASSWORD_SERVER_PORT>0</PASSWORD_SERVER_PORT>
<PASSWORD_SERVER_USER_NAME></PASSWORD_SERVER_USER_NAME>
<PASSWORD_SERVER_PASSWORD></PASSWORD_SERVER_PASSWORD>
<STUN_SERVER_IP>9.42.139.62</STUN_SERVER_IP>
<STUN_SERVER_PORT>3478</STUN_SERVER_PORT>
<TURN_SERVER_IP>9.42.139.62</TURN_SERVER_IP>
<TURN_SERVER_PORT>3478</TURN_SERVER_PORT>
</ICE_STANDARD_PARAMS>
</SIP_ADVANCED>
3. Restart the MCU service with “service soft_mcu restart” command. This will copy the TURN configuration from IPServiceListTmp.xml to IPServiceList.xml. MCU is now configured with TURN server. If you have any issues, send us  IPServiceList.xml and  IPServiceListTmp.xml files.
After doing this the the settings were populated correctly BUT you cannot update the values from the SSC, you need to change them in IPServiceListTmp.xml.
IBM tell me that an SSC fix will be available in 9.0.1 release soon.

IBM Sametime Community server does not upgrade due to SSCEncodedAuthorization

I had a wobble when applying the latest POODLE/SSLV3 (AAZI-9RGLXV) patch to my CentOS 6.5 server. It kept failing and the following exceptions were seen in /opt/ibm/dominodata/SametimeInstall.log

(Feb 19, 2015 10:50:30 PM), Install, com.lotus.sametime.install.product.SSCReg, err, com.ibm.sametime.console.deployment.client.exception.SCClientException: AIDSC0884E: Failed to do IO operation with file.Server returned HTTP response code: 500 for URL: http://ssc.collaborationben.com:9080/console/deployment/getDepIdByDepName
STACK_TRACE: 18
com.ibm.sametime.console.deployment.client.exception.SCClientException: AIDSC0884E: Failed to do IO operation with file.Server returned HTTP response code: 500 for URL: http://ssc.collaborationben.com:9080/console/deployment/getDepIdByDepName
    at com.ibm.sametime.console.deployment.client.util.RestURL.sendData(RestURL.java:358)
    at com.ibm.sametime.console.deployment.client.util.ClientUtility.getDepIdByDepName(ClientUtility.java:1380)
    at com.ibm.sametime.console.deployment.client.api.Deployment.getDepIdByDepName(Deployment.java:1674)

(Feb 19, 2015 10:50:30 PM), Install, com.lotus.sametime.install.product.SSCReg, err, An error occurred and product update failed.  Look at the log file /opt/ibm/dominodata/SametimeInstall.log for details.
(Feb 19, 2015 10:50:30 PM), Install, com.lotus.sametime.install.product.SSCReg, err, ProductException: (error code = 601; message=”err”; additional data = [com.ibm.sametime.console.deployment.client.exception.SCClientException: AIDSC0884E: Failed to do IO operation with file.Server returned HTTP response code: 500 for URL: http://ssc.collaborationben.com:9080/console/deployment/getDepIdByDepName%5D)
STACK_TRACE: 14
ProductException: (error code = 601; message=”err”; additional data = [com.ibm.sametime.console.deployment.client.exception.SCClientException: AIDSC0884E: Failed to do IO operation with file.Server returned HTTP response code: 500 for URL: http://ssc.collaborationben.com:9080/console/deployment/getDepIdByDepName%5D)
    at com.lotus.sametime.install.product.SSCReg.setSSCStatus(SSCReg.java:328)

I also saw the following in the same file.

(Feb 19, 2015 10:50:03 PM), Install, com.lotus.sametime.install.wizard.GetSSCEncodedPassword, msg1, loading /opt/ibm/dominodata/console/console.properties
(Feb 19, 2015 10:50:03 PM), Install, com.lotus.sametime.install.wizard.GetSSCEncodedPassword, msg1, Encoded password found. Decoding…
(Feb 19, 2015 10:50:03 PM), Install, com.lotus.sametime.install.wizard.GetSSCEncodedPassword, msg1, username = wasadmin
(Feb 19, 2015 10:50:03 PM), Install, com.installshield.full.event.dialog.console.PanelSSCUpgradeLoginConsoleImpl, msg1, SC installation detected
(Feb 19, 2015 10:50:03 PM), Install, com.installshield.full.event.dialog.console.PanelSSCUpgradeLoginConsoleImpl, msg1, loading /opt/ibm/dominodata/console/console.properties
(Feb 19, 2015 10:50:03 PM), Install, com.installshield.full.event.dialog.console.PanelSSCUpgradeLoginConsoleImpl, msg1, Encoded password found. Getting previously decoded name and password

I changed the WAS administrator user to use an LDAP based account so I was wondering why wasadmin was still appearing even though /opt/ibm/dominodata/console/console.properties had the new user name and password.

In console.properties I saw that “SSCEncodedAuthorization” was listed. This is the encoded password for the admin account. I removed this from console.properties and ran setuplinux.bin -console again and it upgraded fine.

“System version is null” on new IBM Sametime Video Manager installation

I am installing Sametime 9 for a customer but had a prickly moment after installing the VMGR on RHEL 6.5.

After installing I couldn’t access the VMGR from the SSC, it was registered, I couldn’t get access to the SIP peer and other details. Looking in the VMGR SystemOut.log I saw the following:

[10/13/14 12:24:02:709 BST] 000000a0 APIAuthorizat I com.polycom.proximo.api.support.servlet.APIAuthorizationFilter passLicensingTest API Licensing: rejecting request; API is not licensed and not a peer request.
[10/13/14 12:24:02:733 BST] 000000a0 APIAuthorizat I com.polycom.proximo.api.support.servlet.APIAuthorizationFilter doFilter API Licensing: rejected request from address [x.x.x.x].
[10/13/14 12:24:02:742 BST] 0000009c DMANodeImpl   E   Error Fetching Active Conferences
[10/13/14 12:24:02:746 BST] 0000009c DMANodeImpl   E DMANone Impl updateConferenceList() Failed to get conference-list
com.ibm.sametime.vmgrloadbalancer.exception.DMAUnavailableException: Failed to get conference-list
at com.ibm.sametime.vmgrloadbalancer.core.dma.DMANodeImpl.updateConferenceList(DMANodeImpl.java:402)
at com.ibm.sametime.vmgrloadbalancer.core.dma.DMANodeImpl.poll(DMANodeImpl.java:274)
at com.ibm.sametime.vmgrloadbalancer.core.dma.DMANodeMonitor.run(DMANodeMonitor.java:28)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:450)

[10/13/14 13:03:55:759 BST] 00000041 DmaStartupSer E com.polycom.proximo.startup.DmaStartupServlet init Startup Serlvet experienced Problems: java.lang.RuntimeException: System version is null
java.lang.RuntimeException: System version is null
at com.polycom.proximo.service.core.CoreUtil.getSystemVersion(CoreUtil.java:90)
at com.polycom.proximo.core.mbean.CoreService.getSystemVersion(CoreService.java:415)
at com.polycom.proximo.core.cfs.CFS.resolveFeatures(CFS.java:152)
at com.polycom.proximo.core.cfs.CFS.start(CFS.java:50)
at com.polycom.proximo.core.mbean.CFSService.startService(CFSService.java:61)
at com.polycom.proximo.core.mbean.CFSServiceRuntimeExt.initialize(CFSServiceRuntimeExt.java:53)
at com.polycom.proximo.startup.DmaStartupServlet.init(DmaStartupServlet.java:138)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:338)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)

Having access to the Lotus Software Knowledge Base via a Notes client allowed me to find Technote 1682860 “VMGR dma fails to start resulting in licensing and rejecting connections for conferences” which is at a status of “draft information.”

I raised a PMR and quickly I got a response with a hotfix RVVV-9L2CFZ.

Performing the steps to apply it worked a treat.

VMGR dma fails to start resulting in licensing and rejecting connections for conferences
Product:
IBM Sametime  >  Media Manager  >  Versions 9.0.0.1, 9.0
Platform(s):
Linux
Edition(s):
Complete
Doc Number:
1682860

Draft Information – Subject to change.  Updated   27/08/2014
Technote

Problem

VMGR loads but with Licensing errors, and rejects all connections
System.out shows this DMAStartup error
[8/27/14 8:55:30:210 EDT] 00000043 DmaStartupSer E com.polycom.proximo.startup.DmaStartupServlet init Startup Serlvet experienced Problems: java.lang.RuntimeException: System version is null
java.lang.RuntimeException: System version is null
at com.polycom.proximo.service.core.CoreUtil.getSystemVersion(CoreUtil.java:90)
at com.polycom.proximo.core.mbean.CoreService.getSystemVersion(CoreService.java:415)
at com.polycom.proximo.core.cfs.CFS.resolveFeatures(CFS.java:152)
at com.polycom.proximo.core.cfs.CFS.start(CFS.java:50)
at com.polycom.proximo.core.mbean.CFSService.startService(CFSService.java:61)
at com.polycom.proximo.core.mbean.CFSServiceRuntimeExt.initialize(CFSServiceRuntimeExt.java:53)
at com.polycom.proximo.startup.DmaStartupServlet.init(DmaStartupServlet.java:138)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:338)

ADDITIONAL ERROR THAT ARE A RESULT OF THE DMA FAILING (VMGR system.out)
[8/27/14 8:55:33:411 EDT] 00000043 webapp        E com.ibm.ws.webcontainer.webapp.WebApp commonInitializationFinally SRVE0266E: Error occured while initializing servlets: {0}
javax.servlet.ServletException: Resource class com.polycom.proximo.api.conference.PlcmConferenceResourceImpl can not be instantiated due to InvocationTargetException
at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createSingletonInstance(CXFNonSpringJaxrsServlet.java:330)
at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.getResourceProviders(CXFNonSpringJaxrsServlet.java:291)
at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:107)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:338)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1363)
at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:606)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:576)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:425)
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1175)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:774)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2182)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:994)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:502)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)

As a result you may see rejecting errors on Media Components
[8/15/14 8:47:38:260 EDT] 000000a1 APIAuthorizat I com.polycom.proximo.
api.support.servlet.APIAuthorizationFilter passLicensingTest API
Licensing: rejecting request; API is not licensed and not a peer
request.
[8/15/14 8:47:38:260 EDT] 000000a1 APIAuthorizat I com.polycom.proximo.
api.support.servlet.APIAuthorizationFilter doFilter API Licensing:
rejected request from address [n.n.n.n].

Conference Focus Manager
[8/15/14 8:41:52:808 EDT] 00000109 DMARestClient I   HTTPException response code : 403
[8/15/14 8:41:52:808 EDT] 00000109 TemplateCache E   Failed to fetch template list
com.ibm.vmgrconnector.exception.
InternalServerException: org.apache.cxf.transport.http.HTTPException:
HTTP response ‘403: Forbidden’ when communicating with https://YourVMGRHost:8443/api/rest/conference-templates
at com.ibm.vmgrconnector.core.DMAClient.getConferenceTemplateList(DMAClient.java:154)
at com.ibm.vmgrconnector.core.TemplateCache$TemplateMonitor.fetchTemplateList(TemplateCache.java:48)
at com.ibm.vmgrconnector.core.TemplateCache$TemplateMonitor.run(TemplateCache.java:41)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java: 450)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:328)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:161)
at java.util.concurrent.
ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:109)
at java.util.concurrent.
ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:191)
at java.util.concurrent.
ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:215)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:908)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:931)
at java.lang.Thread.run(Thread.java:773)
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response ‘403: Forbidden’ when communicating with https://YourVMGRHost:8443/api/rest/conference-templates
at com.ibm.vmgrconnector.util.HttpUtil.checkForErrors(HttpUtil.java: 177)
at com.ibm.vmgrconnector.web.DMARestClient$1.handleResponse(DMARestClient.java:318)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:735)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:717)
at com.ibm.vmgrconnector.web.DMARestClient.sendHttpRequest(DMARestClient.java:328)
at com.ibm.vmgrconnector.web.DMARestClient.get(DMARestClient.java:211)
at com.ibm.vmgrconnector.core.DMAClient.getConferenceTemplateList
(DMAClient.java:148)
… 11 more

Diagnosing the problem
System.out shows this DMAStartup error which is the core issue.

[8/27/14 8:55:30:210 EDT] 00000043 DmaStartupSer E com.polycom.proximo.startup.DmaStartupServlet init Startup Serlvet experienced Problems: java.lang.RuntimeException: System version is null
java.lang.RuntimeException: System version is null
at com.polycom.proximo.service.core.CoreUtil.getSystemVersion(CoreUtil.java:90)
at com.polycom.proximo.core.mbean.CoreService.getSystemVersion(CoreService.java:415)
at com.polycom.proximo.core.cfs.CFS.resolveFeatures(CFS.java:152)
at com.polycom.proximo.core.cfs.CFS.start(CFS.java:50)
at com.polycom.proximo.core.mbean.CFSService.startService(CFSService.java:61)
at com.polycom.proximo.core.mbean.CFSServiceRuntimeExt.initialize(CFSServiceRuntimeExt.java:53)
at com.polycom.proximo.startup.DmaStartupServlet.init(DmaStartupServlet.java:138)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:338)

Resolving the problem
Contact IBM support and request a hotfix RVVV-9L2CFZ to resolve VMGR startup issues.

Audio and video not woriking in a web browser due to LtpaToken “undefined”

When testing audio and video via a web browser of mobile phone I would see the following error in a browser when trying to use audio and video in a meeting. Using the thick client worked.

st2

Looking at the SIP Proxy Registrars SystemOut.log I saw the following exceptions.

[2/11/14 18:08:43:660 GMT] 000000a7 LdapPasswordS I LdapPasswordServer  CWSCT0359I: Hashed Credential attributes not found.
[2/11/14 18:08:43:661 GMT] 000000a7 SIPDigestServ E SIPDigestService  CWSCT0340E: Error – cannot retrieve password attribute.

I enabled trace on the SIP PR ( *=info:com.ibm.ws.security.*=all:com.ibm.ws.sip.*=all) and found that the LtpaToken was “undefined.”

REGISTER sip:prcf.collaborationben.com;transport=tls SIP/2.0
Content-Length: 0
Expires: 1800
Max-Forwards: 70
Cookie: LtpaToken=”undefined”
Supported: path, outbound
User-Agent: Sametime-ST9.0-Softphone
Contact: <sip:WebAVClient-Ben.Williams%40collaborationben.com@**********:54303;transport=tls>;methods=”INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,UPDATE,REFER”;reg-id=1;+sip.instance=”<urn:uuid:********************>”
Call-ID: *****************@192.0.1.58
CSeq: 1 REGISTER
To: sip:WebAVClient-Ben.Williams%40collaborationben.com@prcf.collaborationben.com
From: WebAVClient-Ben.Williams%40collaborationben.com <sip:WebAVClient-Ben.Williams%40collaborationben.com@prcf.collaborationben.com>;tag=BCF17103-85B0EEA0
Via: SIP/2.0/TLS 192.0.1.58:54303;branch=z9hG4bK42f99901F8B8AD8E

I also saw that when I logged in as an LDAP user the trace showed my file system administrative user.

user:defaultWIMFileBasedRealm/uid=wasadmin,o=defaultWIMFileBasedRealm

The LtpaToken must be working because the SIP PR is in the same cell as the majority of the other application servers and awareness works which means SSO must be working but the above shows that it isn’t. Odd.

I also noticed that if I authenticated with the Community server first and then switched to the meeting server URL, audio and video worked. It was the LtpaToken being provided by the WAS application server that was a problem.

I tried a couple of things such as changing the realm name to match the LDAP server as opposed to the default (defaultWIMFileBasedRealm) but this did not work.

Thankfully Khalid arranged a call with development and he asked me to uncheck “Set security cookies to HTTPOnly to help prevent cross-site scripting attacks.”

st3

After I resynchronised and stopped and started all the application servers and proxies I could then use audio and video in my clients!

This should be making its way into a Technote soon.