Discussion:
New SMS indication in HyperTerminal
(too old to reply)
p***@gmail.com
2008-08-27 12:28:21 UTC
Permalink
Hi to all,

I have connected Siemens C35 as gsm modem on my pc. I am communicating
with it over com port using HyperTerminal and AT Commands.

All is working good, but I have one question. When phone ring is
detected it returns me RING response, when dialed number is busy it
returns BUSY. There is not any indication that new SMS is arrived. Is
there something that I must set up for this, or I should check every
few seconds if new SMS is arrived?

What are standard solutions for this?

Also if this phone don't have this feature, what low cost GSM Modem or
phone do you recommend that have this function.

Best Regards,
Pavle
John Henderson
2008-08-27 20:52:06 UTC
Permalink
Post by p***@gmail.com
Hi to all,
I have connected Siemens C35 as gsm modem on my pc. I am
communicating with it over com port using HyperTerminal and AT
Commands.
All is working good, but I have one question. When phone ring
is detected it returns me RING response, when dialed number is
busy it returns BUSY. There is not any indication that new SMS
is arrived. Is there something that I must set up for this, or
I should check every few seconds if new SMS is arrived?
What are standard solutions for this?
Also if this phone don't have this feature, what low cost GSM
Modem or phone do you recommend that have this function.
The GSM 07.05 "AT" commands for handling SMSs are optional, and
I'm not sure whether they're all implemented on the C35. They
probably are, but you'd need to check them individually.

As you're probably aware, Siemens handsets of the C35's era do
not support text-mode serial port command interactions. You'll
need to restrict yourself to PDU-mode.

How are you checking now to see if a mew message has arrived?
Be aware that the GSM 07.05 standard "AT+CMGL" and "AT+CMGR"
commands immediately change the status of an "unread" message
to "read", whereas the Siemens-specific equivalents "AT^SMGL"
and "AT^SMGR" leave the message status unchanged.

You probably have two options for getting unsolicited
notifications of incoming messages. The first is to receive
just a notification, and the second is to redirect the messages
themselves to the serial port (instead of storing them on phone
or SIM).

The basic command for doing either is "AT+CNMI". The first
thing to do is to have a look at GSM 07.05, and then run the
test version of the command:

AT+CNMI=?

to see the range of valid parameters for this specific phone.

Assuming all's well, the simple notification option should be
achievable with a command like:

AT+CNMI=1,1,0,0,1

This should result in an unsolicited

+CMTI: <mem>,<index>

indication for each new SMS received.

To deliver the PDU directly to the serial port, try something
like:

AT+CNMI=1,2,0,0,1

which probably will need

AT+CNMA=0

to be used as well, giving an unsolicited

+CMT: [<alpha>],<length><CR><LF><pdu>

response.

If you live in a country which uses cell broadcast to provide
"area info" messages (geographical areas, or cell names), you
can also read these as unsolicited results in PDU-mode with
this composite command:

AT+CNMI=1,0,2,0,1;+CSCB=0,"50,200","1-15"

You'll then get an

+CBM: <length><CR><LF><pdu>

result delivered each time the phone camps on a new cell.

John
p***@gmail.com
2008-08-28 18:21:47 UTC
Permalink
Post by John Henderson
The GSM 07.05 "AT" commands for handling SMSs are optional, and
I'm not sure whether they're all implemented on the C35.  They
probably are, but you'd need to check them individually.
As you're probably aware, Siemens handsets of the C35's era do
not support text-mode serial port command interactions.  You'll
need to restrict yourself to PDU-mode.
How are you checking now to see if a mew message has arrived?
Be aware that the GSM 07.05 standard "AT+CMGL" and "AT+CMGR"
commands immediately change the status of an "unread" message
to "read", whereas the Siemens-specific equivalents "AT^SMGL"
and "AT^SMGR" leave the message status unchanged.
You probably have two options for getting unsolicited
notifications of incoming messages.  The first is to receive
just a notification, and the second is to redirect the messages
themselves to the serial port (instead of storing them on phone
or SIM).
The basic command for doing either is "AT+CNMI".  The first
thing to do is to have a look at GSM 07.05, and then run the
        AT+CNMI=?
to see the range of valid parameters for this specific phone.
Assuming all's well, the simple notification option should be
        AT+CNMI=1,1,0,0,1
This should result in an unsolicited
        +CMTI: <mem>,<index>
indication for each new SMS received.
To deliver the PDU directly to the serial port, try something
        AT+CNMI=1,2,0,0,1
which probably will need        
        AT+CNMA=0
to be used as well, giving an unsolicited
        +CMT: [<alpha>],<length><CR><LF><pdu>
response.
If you live in a country which uses cell broadcast to provide
"area info" messages (geographical areas, or cell names), you
can also read these as unsolicited results in PDU-mode with
        AT+CNMI=1,0,2,0,1;+CSCB=0,"50,200","1-15"
You'll then get an
        +CBM: <length><CR><LF><pdu>
result delivered each time the phone camps on a new cell.
John- Hide quoted text -
- Show quoted text -
Thank you. This is info I was looking for.

I will try this soon and post results.

Best regards,
Pavle
p***@gmail.com
2008-08-28 21:27:18 UTC
Permalink
It is tested and working.

Directly delivering to the serial port is not working, but at
+cnmi=1,1,0,0,1 is working. It now sends something like this:
+CMTI:"SM",4 when sms is received.

Thank you.

Best regards,
Pavle
John Henderson
2008-08-29 00:06:36 UTC
Permalink
Post by p***@gmail.com
It is tested and working.
Directly delivering to the serial port is not working, but at
+CMTI:"SM",4 when sms is received.
That makes sense. I've just run the test command on a Siemens
S55 phone:

AT+CNMI=?
+CNMI: (0,1),(0,1),(0,2),(0,2),(1)

OK

This shows that only "0" and "1" are supported values in the
second argument position (the position relevant to SMS
handling). No "2" here means no direct diversion to the serial
port.

By contrast, a Wavecom 1206b modem gives me:

AT+CNMI=?
+CNMI: (0-3),(0-3),(0-3),(0-2),(0,1)

OK

with "0-3" indicating support for values zero through 3
inclusive.

John

Loading...