6

I'm currently using a Cisco 881G2 Router which has a Cellular interface.

Sending Text messages from the router is as simple as typing the following command:

cellular 0 gsm sms send <telephonenumber> <message>

Sending messages containing plain text works just fine.

According to the GSM 03.38 standard, there are 128 characters in the Basic Character Set. Several of these chracters however, require the use of an 8-bit ASCII character set, which is not the default in Cisco IOS. Thanks to Brett Lykins' answer below, I have been able to configure my router to accept 8 bit ASCII characters, including some of the Scandinavian characters like æ, ø, å and the capitilized versions of these. Using Telnet doesn't give me the option to send special characters, but both Putty and SecureCRT over ssh does allow me to send these special characters.

Regretfully, even after making these very helpful modifications, the text messages being do not arrive correctly. The two tests I did are:

cellular 0 gsm sms send 00474792xxxx Hålla!
cellular 0 gsm sms send 00474792xxxx Greetings æ, ø, å

My mobile phone received the messages "Hemla!" and "Greetings f- x- e", rather than what was sent. I have for security reasons obfuscated my mobile number above.

The question is - how does one send a text message which contains these types of characters?

Unfortunately, the Configuration Guide provides no clues on how to do this.

The router runs C880 Software (C880DATA-UNIVERSALK9-M), Version 15.2(3)T2 I have tried with Putty, and with SecureCRT 7.0.3 on Windows using VT100 emulation.

2 Answers 2

9

This one has flummoxed me in the past. The commands you're looking for relate to turning on the 8-Bit character set.

Now, this may still not allow the cellular modem to send the characters via SMS (I do not have a card to test this with), however this is the only command that I know of that may help you out.

Per the Configuring Operating Characteristics for Terminals guide from Cisco (specifically the section on Specifying an International Character Display):

The classic U.S. ASCII character set is limited to 7 bits (128 characters), which adequately represents most displays in the U.S. Most defaults on the modem router work best on a 7-bit path. However, international character sets and special symbol display can require an 8-bit wide path and other handling.

You can use a 7-bit character set (such as ASCII), or you can enable a full 8-bit international character set (such as ISO 8859). This allows special graphical and international characters for use in banners and prompts, and adds special characters such as software flow control.

The commands to enable 8 bit character set are:

default-value special-character-bits 8
default-value exec-character-bits 8

To test, I tried to type æ into my lab router with the following results:

R-VOIPLAB#
R-VOIPLAB#>

Since I have the default 7-bit character lengths turned on, it interpreted the æ as angle brackets.

Now, I turned on 8 bit character sets and logged out of my session and back in (the logout is necessary to begin using the new terminal settings we just configured):

R-VOIPLAB#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R-VOIPLAB(config)#default-value exec-character-bits 8
R-VOIPLAB(config)#default-value special-character-bits 8
R-VOIPLAB(config)#exit
R-VOIPLAB#exit

After logging back in:

R-VOIPLAB#
R-VOIPLAB#æ
R-VOIPLAB#æ, ø, å

Notes:

This testing was done with the following configuration, so your milage might vary with a different terminal emulator, different router, etc:

  • Test computer: Mac OSX 10.9.2
  • Terminal program: SecureCRT for Mac, Version 7.2.0
  • Terminal emulation type: VT100
  • Connection type: SSH
  • Router: 2821
  • IOS: 15.1(4)M6
2
  • This is probably one of the best answers I've ever seen written on any Stack Exchange site. Kudos. I'd upvote it if I had enough reputation to do so. Regretfully - the solution - while DOES permit me to send them international characters - does not seem to work with sending SMS's. I am going to update my question above with my latest challenge.
    – KeyszerS
    Mar 19, 2014 at 9:19
  • @KeyszerS Thanks, I try! I'm sorry that this didn't work out on the GSM modem. I was afraid it wouldn't (the commands only modify character length for the terminal/config, not the actual code running the modem) but as I said, I couldn't test. I'm glad you were able to find a solution though! Mar 19, 2014 at 13:36
6

I have found a solution! I sent my router a text message from my phone with some Scandanavian characters, and viewing them on the router revealed this:

SMSNOSKIRT01#cellular 0 gsm sms view 2
SMS ID: 2
TIME: 14/03/19 11:03:07
FROM: 474792xxxx
SIZE: 13
Test as ^] ^L ^O

I recognised the characters as Control character keystrokes, so I did a Google search "cisco control sequence", and stumbled upon a Cisco Ctrl-^ Escape Sequence thread which refers to something which looks like "\x1E" - which I recongised as an escape sequence containing a hexadecimal value.

I referenced the Basic Character Set again, and compiled a message which I sent like this:

cellular 0 gsm sms send 00474792xxxx Greetings \x0F, \x0C, \x1D, \x17

and my phone received "Greetings å, ø, æ, Ψ"

Success!

As it turns out it doesn't look like it is necessary to convert the Cisco router to 8 bit ASCII to be able to send messages containing these special characters, but I still thank Brett Lykins for his participation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.