Monday, February 27, 2012

The unnoticed parameter of Sametime 8.5.2 IFR1 : sutLiteNumberMatcher

A new parameter has been presented at Lotusphere 2012. Unfortunately, that parameter has gone unnoticed : sutLiteNumberMatcher.

What is the purpose of that parameter ?

Two different approach are available to integrate an IBM Sametime with Polycom Real Presence infrastructure.
  • TCSPI adapter on the Sametime Media Manager to provide User-based dialing.
  • SIP Trunk on the Sametime Media Manager to provide Device-based dialing.
IBM Sametime Unified Telephony Lite lets users make and receive voice and video calls from their desktops using the Sametime Connect Client as a rich, standards-based audio/video softphone.
But, when you deploy an audio or video TCSPI, it will take over the voice/video channel of IBM Sametime.
So, if you specify Polycom (or other video technology) as Service Provider (picture 1), you won' be to do a call to an endpoint or a virtual meeting room (VMR) via your Sametime Phonebook or buddy list.

Picture 1 : IBM Sametime Service Providers window

In 8.5.2, the ST client automatically passed any SIP URI to SUT Lite.  Starting in IFR1, only SIP URIs that match a managed settings filter will get routed to SUT Lite.  Any SIP URIs not matching the filter will go to TCSPI. 

So, If you enter a new entry in Sametime phonebook (Picture 2) or from your buddy list (picture 3), how can you make a SUT Lite call?

 Picture 2

 Picture 3

With the famous parameter sutLiteNumberMatcher, introduced during the very interesting session ID220 "Sametime® Unified Telephony Lite: Communicating with Devices".
The idea is to override the TCSPI adapter for specific number you can have add in your Sametime Phonebook. In the IBM La Gaude Polycom environment, the dial plan of personal VMRs is 6xxx.

Procedure:

The parameter sutLiteNumberMatcher needs contain a regular expression to recognize the dial number of the video endpoint or VMR. In my environment : 6\d{3}
Any dial string matches that regular expression will be passed to SUT Lite.

In order to provision ST client with that parameter, you wil have to leverage IBM Expeditor managed settings framework to create a managed-settings.xml file and post it to an update site, clients receive new or updated preferences automatically. The managed-settings.xml file is policy-based, so you can define different sets of preferences for different users. This method applies only to Sametime® Connect clients.

In our case, the content of the managed-settings.xml will be:
<ManagedSettings>
<settingGroup name="com.ibm.collaboration.realtime.telephony.ui"> 
    <setting name="sutLiteNumberMatcher" value="6\d{3}" isLocked="false"/>
</settingGroup>
</ManagedSettings>


In some heteregeneous environment, you could have several SIP trunk with multiple dial plan. In that case, you will have to create a more complex regular expression.

  • For the SIP Trunk 1 to a audio ipbx, the SIP URI is  sip:xxx@test.com
  • For the SIP Trunk 2 to Polycom DMA7000, the SIP URI is  sip:xxx@polycom.com
The value that you will have to put in the managed-settings.xml file is :
<setting name="sutLiteNumberMatcher" value="sip:.*@(test|polycom)\.com" isLocked="false" />

See Sametime wiki for more information about to setup the managed-setting.xml: here
See Lotus Notes/Domini for more information about to setup the managed-setting.xml: here 

Troubleshooting:

1/ Check the content of this file : com.ibm.collaboration.realtime.telephony.ui.prefs in that folder file:///C:/Users/%username%/AppData/Roaming/Lotus/Sametime/.metadata/.plugins/org.eclipse.core.runtime/.settings
You should find that line :  sutLiteNumberMatcher=6\\d{3}

2/ Activate that level of log : com.ibm.collaboration.realtime.telephony.ui.level=FINEST
You can find how to enable finest level of log here.

After enabling the right level of log, you will be able to read in the log file this line :
com.ibm.collaboration.realtime.telephony.ui.ServiceProviderUtilisSutLiteOverride ->  SUT Lite matcher 6\d{3} matches true/false

P.S: Open a service request with IBM Support to request a hotfix for Sametime 8.5.2. IFR1 to leverage that parameter.

All this test has been done with Todd Page (Polycom) & Fabrice Duband (IBM).