I need help with MC35 and delivery reports? | Search |
NowSMS Support Forums ⬆ NowSMS Support - SMS Issues ⬆ Archive through October 03, 2004 ⬆ |
◄ ► |
Author | Message | |||||
Morten Jensen Unregistered guest |
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?
| |||||
Morten Jensen Unregistered guest |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |