Request is empty and command SendMail is expected to have a body.

Today I had the issue on a customer site that no iOS device was able to send mail after upgrading Traveler to 10.0.1.2 on Domino 9.0.1 FP10IF3, implementing a new wildcard certificate and reconfiguring the HTTP server to redirect HTTP calls to HTTPs.

After some investigation I checked the console log and discovered multiple error messages:

[12DC:000C-0FEC] 10.12.2019 08:39:06 Traveler: WARNING username´s Request is empty and command SendMail is expected to have a body.

After rechecking the server document of the Notes Traveler server I checked the entry for the external URL >> http://servername.company.com. So the company did not use SSL certificates for the communication of mobile devices with their Traveler !!! Therefore no NOTES.INI entry called “NTS_EXTERNAL_URL=https://….” was set.

A small correction of the entry in the server document, setting the NOTES.INI entry via “set configuration NTS_EXTERNAL_URL=https://servername.company.com UPDATE” and a restart of the Traveler service was only half the way.

If you have this configuration of configured profiles on iOS devices WITHOUT SSL ( hopefully no one is using this anymore ) you have to remove and recreate the profile because you can´t modify the account to use SSL !

Traveler V11 – What´s new

In the current Beta 2 there are also new features included:

  • View attachments in calendar events
    When you receive an invitation from a Notes® or Verse web user that includes an attachment in the event description,
    you can now open or download the attachment from your mobile device, if your device supports the capability. Note
    that opening or downloading inline attachments or creating or editing attachments isn’t supported.
  • Support for ActiveSync 16.x
    Traveler now supports Microsoft™ Exchange ActiveSync versions 16.0 and 16.1 on iOS devices. This change allows
    for the development of future features that require this version, such as the ability to sync calendar attachments.
    Traveler automatically switches to ActiveSync 16.x when it detects devices that run on it; no user interaction is
    required.
  • Support for APNS HTTP/2
    Traveler now supports HTTP/2 for communication with Apple’s Apple Push Notification Service (APNS) servers. No
    configuration is required and there is no change in behavior.
  • Support for draft message synchronization
    Traveler now supports the syncing of draft messages on iOS. As part of Exchange ActiveSync 16.X, which Traveler
    now supports, the draft messages will sync from the server to the device and from the device to the server.
  • Support for 24+ hour meetings or events
    You can now create and modify non-repeating meetings and appointments that are longer than 24 hours.

HCL Traveler 10.0.1.2 available with important content – especially for iOS

The most important “feature” is that new APNS p12 certificates – which will expire in Juni 2020 – are included in 10.0.1.2. There are also updates in the database structure so if you are using an Enterprise Database you have to go through some configuration steps listed here: http://help.hcltechsw.com/traveler/10.0.1/UpdatingTheEnterpriseDatabase.html

The version 10.0.1.2 does not require HCL Domino 10.0.1 but at least Domino 9.0.1 FP8.

A complete listing about the fixes can be found here.

Especially for iOS users the administrators must be aware of the following issues

( https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0069584 ):

Starting with HCL Verse 10.0.7 for iOS (when it is available), the application is now transferred to an HCL Technologies Apple account and is signed by an HCL-owned certificate.

Expect the following changes:

  • The Verse application is being rebranded to HCL Verse. Not all references to IBM have been removed in this release.
  • The Verse application will no longer be able to access any data that the previous IBM signed versions had stored on the keychain. Therefore, you will be prompted for your password after you upgrade to 10.0.7 and launch the application for the first time. If you choose to remove an existing version and then install 10.0.7, then the user will be required to reconfigure the client. This is not a change in behavior. However, for reasons stated below, we recommend you upgrade over your previous version of the Verse application. Note that the same applies when upgrading from the IBM ToDos application to the HCL ToDos application (when available).
  • The device ID generated by iOS will change (clients managed by IBM Maas360 and MobileIron are not affected). Moving to the HCL account caused a change in the development team ID for the IBM Verse application. This team ID is input to the Apple API that the application uses to generate a unique device ID. The result is a different device ID which will be used when communicating with the Traveler server (in the form HCL_IOS_xxxxxxxxxx). After installing 10.0.7, the client application will look like a new device to the Traveler server. You can see your new device ID on the About screen under Verse settings, the user’s Traveler home screen or in the Traveler Administration view. A new device ID will have the following effects:
  • After you install 10.0.7 (either new or as an upgrade), the device will re-sync because Traveler treats the device as a new device because of the device ID change. You will see all mail in the all folders disappear and then start to re-populate. There is no way to avoid this re-sync, so plan accordingly.
  • A new profile document will be created for the new device ID (HCL_IOS_xxxxxxxxxx) by the Traveler server. This means all your preferences (things like days to sync, signature, etc) will be set to the defaults. However, if you take the recommended approach of upgrading (installing 10.0.7 over the top of a previous version), the Verse application will recognize the previous install and push all of your local preferences up to the server so that the new profile document is populated with your device preferences rather than the defaults.
  • If device approval is enabled on the Traveler server, the IBM Verse client may need to be re-approved depending upon the automatic approval settings.
  • The old device id (IBM_IOS_xxxxxxxxxx) will appear in the user’s device list until it is either reaped by the Traveler Server due to inactivity or deleted by the Administrator
  • The user may see duplicate notifications on the device for a period of time, typically 24 hours from the upgrade, because both the old and new device IDs are active on the server. There is no way for the new application to tell the server to stop sending notifications for the old device ID. After that period, the Traveler server will mark the old device as offline and stop sending notifications to the old device ID.

IBM Verse for Android is not affected by this change.

IBM Notes Traveler 9.0.1.21 available

Yesterday IBM release the new release of IBM Notes Traveler including the following fixes:

Traveler-Fixes_90121

IBM Traveler 9.0.1.21 includes a database schema update for MS SQL Server deployments.  It is only necessary to run verifyIndexes.sql to update the schema to latest level. Otherwise no action is required unless upgrading from a version prior to 9.0.1.16. If you use auto schema updates (default behavior) there is no action required.

The upgrade is available on IBM Fix Central.

Performance problems on Apache Reverse Proxy

Yesterday I had massive performance troubles after going online with an Apache Reverse Proxy running on CentOS 6.9 for IBM Notes Traveler.

The customer has about 1.250 users and approx. 1.650 devices.

After some investigation and a great site, where the performance parameters are described very good:

( https://www.linode.com/docs/web-servers/apache-tips-and-tricks/tuning-your-apache-server )

I figured out, that the default configuration of the HTTP server was causing this issues, because the settings are much too low/high for this amount of devices. I did some modifications in the httpd.conf and now it´s working fine – feel free to use them:

#
# Timeout: The number of seconds before receives and sends time out.
#

# Default Value: Timeout 60
New Value: Timeout 10


#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to “Off” to deactivate.
#
# Default Value: KeepAlive Off
New Value: KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
# Default Value: MaxKeepAliveRequests 100
New Value: MaxKeepAliveRequests 50

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
# Default Value: KeepAliveTimeout 15
New Value: KeepAliveTimeout 5


# prefork MPM

# Default Value: StartServers 8
New Value: StartServers    1000
# Default Value: MinSpareServers 5
New Value: MinSpareServers 1000
# Default Value: MaxSpareServers   20
New Value: MaxSpareServers 1000
# Default Value: ServerLimit 500
New Value: ServerLimit      1000
New Value: MaxClients       1000
# Default Value: MaxRequestsPerChild  400
New Value: MaxRequestsPerChild 4000

# worker MPM

# Default Value: StartServers 4
New Value: StartServers         8
# Default Value: MaxClients 500
New Value: MaxClients         1000
# Default Value: MinSpareThreads 25
New Value: MinSpareThreads    100
# Default Value: MaxSpareThreads 75
New Value: MaxSpareThreads    750
New Value: ThreadsPerChild     25
# Default Value: MaxRequestsPerChild 0
New Value: MaxRequestsPerChild 0


# Enabled HTTP Compression
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript



If you also need the configuration flie for the Traveler site with the load balancing configuration, feel free to contact me…