AAA, NAC, Guest Access & BYOD

Unable to send SMS while using SMPP as SMS gateway
Problem:

When we use SMPP as SMS gateway to send SMS from Clearpass Guest we could find the following issue.

The following error is seen in the Application Log under ClearPass Guest - 'Unable to send message. No Error - 0x0



Diagnostics:

On analyzing the packet captures we could notice that ClearPass is submitting a Malformed Packet to the configured SMS service provider.

The Packet captures are pre-filtered for communication between ClearPass and the service provider.

As per the service provider log analysis, the cause for marking the sms requested as Malformed Packet we have found the following.

SMS Provider receives following string in his application while transferring a SMS:

0000003C0000000400000000000000020001003431373934333633323638000101343137393433363332363800000000000000000000045445535400

 

The red marked characters represent the length of the command string. As the trailing ‘00’ (green marked) do not have any function it might get stripped off and therefore the length of the command string changes. But not the ‘3C’ in the transmitted command string. This is why they get the parse error.

 

SMS Provider would expect the above string as following:

0000003B00000004000000000000000200010034313739343336333236380001013431373934333633323638000000000000000000000454455354

 

As the command length is shorter, the length should be changed from ‘3C‘ to ‘3B‘



Solution

The SMPP spec says “Octet String: A series of octets, not necessarily NULL terminated.”, so the system they are using is assuming that Octet String are NOT null terminated, however, our code is making the assumption that they ARE null terminated, but not actually adding a null terminator to the string. So there are not enough chars, and it thinks the extra space is option package, but it’s an invalid options package size.

 

The optimization can be done only from command line for CPPM version prior to 6.6.2 and this can be done only from support login (TAC only) has root privilege.

We need to edit the /opt/amigopod/www/_include/NwaCore/smppclient.class.php

And change the following parameter from true to false

public static $sms_null_terminate_octetstring=true 

                                             to

public static $sms_null_terminate_octetstring=false

Restart all the services in CPPM and to verify the working state.

This could also not work if there are any NPI values set, however if the SMPP is set to accept any NPI [Numbering plan indicator] value then it should work.

Note: By default the NPI value is null and will be set to SMPP::NPI_UNKNOWN

To verify the NPI value settings edit /opt/amigopod/www/_include//NwaCore/NwaSmsHandlerSmpp.class.php and set is as following line to SMPP::NPI_UNKNOWN instead of any value.

$from = new SmppAddress($options['sms_source'], (is_numeric($options['sms_source']) ? SMPP::TON_INTERNATIONAL : SMPP::TON_ALPHANUMERIC), SMPP::NPI_UNKNOWN);

Save, restart the service and test to verify.

If you are using Clearpass version 6.6.2  then we have an option in UI in SMS gateway Configuration settings available in Clearpass Guest as show below.

 

Version History
Revision #:
2 of 2
Last update:
‎03-17-2017 09:24 AM
Updated by:
 
Labels (1)
Contributors
Search Airheads
Showing results for 
Search instead for 
Did you mean: 
Is this a frequent problem?

Request an official Aruba knowledge base article to be written by our experts.