Change who the announcement is from when sending a Sametime IM to a mobile device

A customer was having a problem with notifications sent to someone using a mobile device logged into an STProxy server. The name of the server was not “Server” as it is normally but rather a random other server. There were two approaches, continue fixing it or remove the “Server” name and replace it with the name of the recipient which personally sounded a far better option.

The (always) helpful Cormac O’Leary from the Sametime PMR team assisted and liaised with L3 and provided me with a new cumulative hot fix. Once installed I had to add  to edit stproxyconfig.xml, located in AppServer/profiles/<Profile_Name>/config/cells/<Cell_Name>/nodes/<Node_Name>/servers/STProxyServer/stproxyconfig.xml

Add the following values to the <configuration> element. If a <mobile> element is already present, add the <disableSystemNoficiations> element to that existing element.

<mobile>

<disableSystemNotifications>true</disableSystemNotifications>

</mobile>

Now when an IM is sent to a using on a mobile device the name of the announcement is not “Server” as it is currently but rather the recipient’s name.

new STProxy announcement

Advertisements

Adding Quickr Places to the Connectors using a URL

A customer found Add Quickr places to connectors via HTML link blog post from Michael Urspringer and wanted an easier way to populate the Connectors for users. Michael’s post said to use the following format;

quickr://server.acme.com/library/[@P_PLACENAME_/@RMain.nsf]

I remembered that there was a major shift between 8.2 and 8.5 and that I had noticed (whilst resolving another problem) that some of the elements had changed. Thankfully when testing this on a Quickr 8.5.1 server I found that IE (for once) proved quite useful and gave me the following pop up. Also if you run DITrace.exe you’ll see the call being made.

ScreenShot00148

The format you need to use is:

quickr://sup-quickr01.***************/library/_Pplacename_RMain

You’ll need to replace the server name and the placename. You will also need to authenticate if the user has not cached their credentials in the Connector.

Another Sametime APNs test – resend push notifications

Following on from Sametime on iPhone – APNS test application I was sent another APNs test application during troubleshooting another STProxy/iPhone problem. This time you can return the certificate being used and also resend notifications to the device. The application can be obtained here.

Running the following will provide you with the details of the certificate being used which can be checked against Apple’s documentation.

/opt/IBM/WebSphere/AppServer/java/bin/java -jar apnstest.jar
Testing using default key
About to attempt to connect to APNS
Initialized SSL Context
SSL Socket Created
Starting SSL Handshake
SSL Handshake Complete
CN=gateway.push.apple.com, OU=iTMS Engineering, O=Apple Inc., L=Cupertino, ST=California, C=US
CN=Entrust Certification Authority – L1C, OU=”(c) 2009 Entrust, Inc.”, OU=www.entrust.net/rpa is incorporated by reference, O=”Entrust, Inc.”, C=US
Successfully Connected to APNS

To resend notifications, first of all you need to change the format of the APNs trace output to something meaningful such as Base-64. To do that you need to backup and then replace stproxyservices.jar with the edited version here. The location of the file is /AppServer/profiles/STPAppProfile/optionalLibraries/stproxy/stproxyservices.jar

Now add *=info:  com.ibm.rtc.stproxy.*=all: com.ibm.collaboration.realtime.*=all to the STProxyServer.

You will see that within trace.log that the text is now viewable with the Base-64 encoding. You will need to find the notification sent which will start with “sendMessageAPNS-B64″

[04/01/13 11:03:27:966 GMT] 0000003e APNSService   3   sendMessageAPNS-B64 (******************************************hB8+OIzkdBjW0wJEAaHsiYXBzIjp7ImFsZXJ0Ijp7I***************************************ZSI6MSwic291bmQiOiJkZWZhdWx0In19)

Using the same jar you can replay this notification with the following command.

/opt/IBM/WebSphere/AppServer/java/bin/java -jar ./apnstest.jar ******************************************hB8+OIzkdBjW0wJEAaHsiYXBzIjp7ImFsZXJ0Ijp7I***************************************ZSI6MSwic291bmQiOiJkZWZhdWx0In19
Testing using default key
About to attempt to connect to APNS
Initialized SSL Context
SSL Socket Created
Starting SSL Handshake
SSL Handshake Complete
CN=gateway.push.apple.com, OU=iTMS Engineering, O=Apple Inc., L=Cupertino, ST=California, C=US
CN=Entrust Certification Authority – L1C, OU=”(c) 2009 Entrust, Inc.”, OU=www.entrust.net/rpa is incorporated by reference, O=”Entrust, Inc.”, C=US
Successfully Connected to APNS
About to send message…
Parsed message:  ◄?q??T?j?$?0?qa?#9↔♠5??h{“aps”:{“alert”:{“loc-key”:”NEW_CHAT_MESSAGE”,”loc-args”:[“Ben  Williams”]},”badge”:1,”sound”:”default”}}
Sent message to APNS

All of the above was run on Linux.