I need help with MC35 and delivery reports?

I need help with MC35 and delivery reports? SearchSearch
Author Message
Morten Jensen
Unregistered guest
Posted on Friday, September 24, 2004 - 11:53 am:   

I encountered a strange problem that i can't resolve, so i hope one of you might bee able to help me:-)

I've setup Nowsms on 2 different machines. One with a Nokia 6310i GSM phone as modem, and one with the Simens MC35 GSM/GPRS modem.

The setup of the to machines is identicall all the way down to the verisons of the programs installed on the machines incl Nowsms(Vers 5,51 b20040823). I use the same webpages on the to machines to send the commands to Nowsms, so it can't bee in the programing of the pages.

When i use the "&ReceiptRequested=Yes" url parameter on the 6310i, everything works perfectly, i get a delivery report back.

When i do the exact same thing without changeging anythings on the MC35, nothing hapends? The SMS gets send correctly, but no delevery report comes back?

There are only to differents in the to machines.

1. The one version of Nowsms is a registerd version with a legal serial number, the other is just the trial version wihtout any serial entered.

2. The one machine uses the nokia 6310i gsm phone as modem, the other machine the MC35 gsm/gprs modem.

Can any one please help me?

application/octet-streamSMSdebuglog nok 6310i
6310 i SMSDEBUG.LOG (4.5 k)
application/octet-streamSMSdebuglog mc35
MC35 SMSDEBUG.LOG (1.9 k)
Morten Jensen
Unregistered guest
Posted on Friday, September 24, 2004 - 11:57 am:   

Also i would like to know if anuone has a complete list af all the delivery codes that might appear in the delivery repport?

I know the code (00) means: OK Recived.
But what does (30) mean for instance?
ashot shahbazian
New member
Username: Animatele

Post Number: 21
Registered: 06-2004
Posted on Friday, September 24, 2004 - 10:51 pm:   

Hi Morten

Make sure the modem's set to receive SMS, set "direct to modem" in the modem properties tab for the MC35, then restart the service.

Error codes may differ from carrier to carrier, those known to me are:
41 Incompatible Destination
43 Not obtainable
these would return if the send was to a number which was not provisioned, or a line disconnected due to non-payment
64 QoS not available - most oftern returned if the network you're sending to does not accept messages from your home net
46 Message Expired
30 seems to be some generic type of error

Again, this is probably network-specific. Some nets return 4-digit codes for example
Morten Jensen
Unregistered guest
Posted on Saturday, September 25, 2004 - 11:41 am:   

Thanks for the reply.

I've checked the "Recive SMS" in the SMSC configuration and i have no problems reciving sms'. It's just the delivery report that is missing. Is there any AT commands that i can use, or is there any one ho can see what the problem is?
ashot shahbazian
New member
Username: Animatele

Post Number: 23
Registered: 06-2004
Posted on Sunday, September 26, 2004 - 09:29 am:   

You probaly missed "direct to modem" setting. Some external modems won't receive reports if set otherwise.

Even though the status reports appear in your smsin log and smsin directory as ordinary text messages in fact they are not. NowSMS developers made the program decipher the reports on-the-fly so that they appear as ordinary texts.

To illustrate: try sending a long batch of messages (from your modem supporting the reports), watch the \q folder and as soon as it's done disable the NowSMS service. Then restart it in 30 minutes. What you'll notice is that most of the reports won't be there. If you do the same trick without disabling the service you'll get all of your reports. If the report arrives on the modem while it's on, but not polled by the gateway, as that hapens when you disable the service, NowSMS won't have it's opportunity to decode it, so it would appear as if the report's lost.
ashot shahbazian
New member
Username: Animatele

Post Number: 24
Registered: 06-2004
Posted on Sunday, September 26, 2004 - 09:36 am:   

Yes, and if that doesn't work try the most obvious - switch the modems between the gateways. Then you'll know if it's a modem, software or a network issue.
Morten Jensen
Unregistered guest
Posted on Wednesday, September 29, 2004 - 07:43 pm:   

I figured out what the problem was with the status reports. Somehow the At commands that Nowsms sends to the MC35 during initializing didn't work.
The commands being send to the MC35 during initializing is:
AT+CNMI=2,2,2,1,0
and
AT+CNMI=2,2
Both gives the same error:
+CMS ERROR: unknown error

I just added some AT commands to the smsgw.INI file. I just added this under the modem section of smsgw.INI:
CommandPostInit1=AT+CSMS=1
CommandPostInit2=AT+CNMI=3,3,3,2,1
CommandPostInit3=AT+CSMS?
CommandPostInit4=AT+CNMI?

The last to commands is just to check everything is set correct.

It solved the problem for me, so i thought i'd write the solution here if it could help others:-)



Ashot or others, Are you absolute sure that the error codes differs from carrier to carrier? I've read other places on the net, that there is some standard error codes, but i haven't been able to find any?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3498
Registered: 10-2002
Posted on Wednesday, September 29, 2004 - 10:02 pm:   

Morten & Ashot,

Thanks for your postings, I think this will be of help to others.

I'm a little intrigued by this AT+CNMI=2 vs. AT+CNMI=3 difference on the modem.

What does AT+CNMI=? report as available settings?

Regarding the codes, there is a standard list of codes. It is just a 2 digit (hex) code. But I have seen some operators that return non-delivery notices as text messages, and that is where you see some unusual codes.

As Ashot mentions, NowSMS is converting the delivery messages to text, but it is also possible that some operators will return them in their own text formats.

Here is a list of status codes that we put together based upon the specifications (all numbers are hex format):

00: Delivered
01: Forwarded: Delivery unconfirmed
02: Forwarded: Message replaced
20: Temp Error: Network Congestion
21: Temp Error: Recipient Busy
22: Temp Error: Recip No Response
23: Temp Error: Service Rejected
24: Temp Error: QoS not available
25: Temp Error: Error at receipient
40: Error: Remote Procedure Error
41: Error: Incompatible Destination
42: Error: Message rejected
43: Error: Not obtainable
44: Error: QoS not available
45: Error: No interworking avail
46: Error: Message Expired
47: Error: Message del by sender
48: Error: Message deleted by admin
49: Error: Message does not exist
60: Error: Network Congestion
61: Error: Recipient Busy
62: Error: Recipient Not Responding
63: Error: Service Rejected
64: Error: QoS not available
65: Error: Error at receipient

This list is adapted from ETSI GSM 07.05. Section 9.2.3.15 defines the codes. Basically, they are defined as bit masks in some cases, so the above list does not cover all values. You'll find that when NowSMS encounters an error that is not in the above list it just says "Error: Message not Delivered".

-bn
Morten Jensen
Unregistered guest
Posted on Thursday, September 30, 2004 - 08:36 am:   

Thanks Bruce, that really helps a lot:-)

About the AT+CNMI=? options i get this respons:
+CNMI: (0-3),(0-3),(0,2,3),(0-2),(1)

One last Question...
I'm stil a bit curius about the codes. For instance when i send a sms to a phone that is just turned of, i get a respons that says: "2004-09-29 18:19:17,+45XXXXXXXX,Text,Report: +45XXXXXXXX SMSC: +4540390999 Submitted: 2004-09-29 18:18:53 +0200 Reported: 2004-09-29 18:18:53 +0200 Status: 30 (Temp Error: Unknown error),"

Does that mean that i can belive that the code for a phone that is turned off, and the sms therefor can't be delivered, is 30?

Do you know if my carrier/phone company should be able to tell me the specific codes for there network? The claim that they can't tell the me codes as it is my program that generates these codes and not the network? Is that true do you know?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3501
Registered: 10-2002
Posted on Thursday, September 30, 2004 - 04:19 pm:   

Morten,

I should have mentioned the range between 26 and 3F inclusive. We put in a text description of "Temp Error: Unknown Error".

Bascially, if our text starts with "Temp Error:", then this indicates that the error condition is temporary, and the SMSC is still trying to transfer the SMS message.

So if you get a "Temp Error:" response, which encompasses error codes between 20 and 3F, then these error codes are *supposed* to indicate that the SMSC is encountering problems but has not yet given up on attempting message delivery.

The specific value 30 that you are receiving is an SMSC specific error code.

Here's the text from the spec below, with me taking the liberty to change the binary values to hex so that they match the error codes that you would see coming back in the messages via NowSMS. So you can contrast it with the text above which is NowSMS' shortened interpretation.

Short message transaction completed:

00 Short message received by the SME
01 Short message forwarded by the SC to the SME but the SC is unable to confirm delivery
02 Short message replaced by the SC

Reserved values:

03-0F Reserved
10-1F Values specific to each SC

Temporary error, SC still trying to transfer SM:

20 Congestion
21 SME busy
22 No response from SME
23 Service rejected
24 Quality of service not available
25 Error in SME
26-2F Reserved
30-3F Values specific to each SC

Permanent error, SC is not making any more transfer attempts:

40 Remote procedure error
41 Incompatible destination
42 Connection rejected by SME
43 Not obtainable
44 Quality of service not available
45 No interworking available
46 SM Validity Period Expired
47 SM Deleted by originating SME
48 SM Deleted by SC Administration
49 SM does not exist (The SM may have previously existed in the SC but the SC no longer has knowledge of it or the SM may never have previously existed in the SC)
4A-4F Reserved
50-5F Values specific to each SC

Temporary error, SC is not making any more transfer attempts:

60 Congestion
61 SME busy
62 No response from SME
63 Service rejected
64 Quality of service not available
65 Error in SME
66-69 Reserved
6A-6F Reserved
70-7F Values specific to each SC

80-FF Reserved

If you're getting the messages returned in the NowSMS format (e.g., "Report: number SMSC: number Submitted: ..."), then the codes used should be consistent with the above.

But what Ashot is alluding to is that there are some carriers that generate there own format delivery/non-delivery reports. And finding those codes can be a challenge.

Then you also have other carriers who respond back to every request with an OK delivered status, even if you send the message to a non-existant phone number.

-bn