SMS messages arrive scrambled

I am using an AirLink LS300 modem for some scripting and I am noticing strange behavior from the SMS it receives.

I am almost entirely sure the problem is with the carrier and not the AirLink modem, but I wanted to see if anyone had any feedback for how this could be mitigated.

We use the AirLink with Verizon and whenever we get texts from AT&T or USCellular (only other phones I have available) the texts arrive as such:
Sent Text: 12345678
Rec’d Text: 21436587
Conversely, when I send texts FROM the AirLink to the AT&T phone, they arrive fine. I use the command line interface over SSH to send the texts.

As you can see, every other letter is switched with the one before it. Verizon phones come through fine, the other carriers - not so much.

I thought for a bit that the carrier-dependence I found was due to CDMA vs GSM, but the USCellular phone is CDMA and came through scrambled, so it’s not exactly that.

I want our “users” to be able to text the AirLink regardless of carrier and have the modem act off of the exact text received in the message. I could hard-code a solution for the scrambling I described above but that’s a hack. I could make the “TURN ON LIGHT” command also work when the user sends “UTNRO NILHGT” but I’m nervous that it might scramble in different ways with different carriers as this project scales up.

Has anyone encountered this using the AirLink modems and know a work-around? I am looking into third party services to aggregate all texts and send them to the AirLink consistently.

Thanks!

We have had a lot of issues when SMS were used over CDMA. it would seem that SMS over CDMA is not specified as well as on GSM.
For you specific issue you could add a 2 char prefix to your message and use it to determine if the bytes are swapped or not. If your prefix comes the wrong way you apply swapping before processing your incoming message. This is hacky, for sure, but it might be easier than asking XYZ CDMA carrier to change its SMS implementation :slight_smile:
What happens if your message has an odd number of chars ?

cbugot, thanks for the reply.

I dig your 2 character prefix idea, I could force this prefix on the beginning of all “commands” so instead of “TURN ON LIGHT” it would be “ABTURN ON LIGHT” - I think that would work (albeit hacky).

I think we’re going to go with this solution for now: Having a phone as a man-in-the-middle and running some software on the phone to forward texts to our modem. This way the phone figures out the “hard part” of CDMA/GSM SMS protocols or whatever, and delivers a CONSISTENT message to the AirLink modem. We’ve tested this across multiple carriers and multiple phone brands and all is well.

To answer your question, odd numbers of characters behave the same way, but the last digit is “correct” since it doesn’t have a buddy character to switch with
example:
Sent text: 1234567
Rec’d text: 2143657

I appreciate your input. I’ll be sure to update this thread if we find another work around in the future.

Oh OK. I did not understand that you did not use AAF (This forum section is about AAF).
As I understand there is no direct answer to this question, not sure if what you need is possible as is in ACEmanager. I’d recommend that your contact your local SWI representative and make support request. Alternatively you could dig into the gateway user guide in the ‘Serial’ section.