2way with Delivery Reports | Search |
NowSMS Support Forums ⬆ NowSMS Support - SMS Issues ⬆ Archive through April 08, 2009 ⬆ |
◄ ► |
Author | Message | ||||
Kamel Fahd New member Username: Kfsmart Post Number: 28 Registered: 01-2008 |
I configured the 2 way SMS to send reply message,and also I want when sending bulk SMS,to have delivery reports saved in the Database. Then this will lead for a conflict because when a user send a bulk SMS then each Receipt 2 SMS,one from bulk and the other from the 2way SMS. Any solution to this? | ||||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 7643 Registered: 10-2002 |
Define a separate 2-way command with a command prefix of "id:*" ... this will receive the delivery reports. The other 2-way command, with a prefix of "*" will receive all other messages. | ||||
Kamel Fahd New member Username: Kfsmart Post Number: 29 Registered: 01-2008 |
you want that I made 2 commands with prefix (*), but how nowsms will differniate between that two commands. for example I'm now sending bulk sms ,how nowsms will go to execute command 1 not the other? | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 15 Registered: 08-2008 |
One command has a prefix of "*" ... the other has a prefix of "id:*". When NowSMS evaluates the prefixes, it looks for the "best match", which is the prefix that has the most characters. So, for example ... a delivery receipt will start with text like this: id:1234567890 Technically, this will match both prefix "*" and "id:*". However, NowSMS will choose "id:*" as the best match because "id:*" is 4 characters long and "*" is one character long. -- Des NowSMS Support | ||||
Kamel Fahd New member Username: Kfsmart Post Number: 31 Registered: 01-2008 |
Thanks Mr.Des, but I want to ask you another question. We are developing our own web sms and as you know we will have multiple users,how can I get the delivery reports for a specific user. Are there any fields that can I add? | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 58 Registered: 08-2008 |
That is complicated. When you submit a message to NowSMS via HTTP, the HTTP 200 OK response includes text such as the following: MessageID=54321098.req, Recipient=+xxxxxxxxxx If the message was posted to multiple recipients, this will be repeated for each recipient. You can parse the text from this HTTP response to determine the Message id that NowSMS has assigned to the message. (Remove the ".req" part of the message id.) When a delivery receipt comes back into the system, it gets routed to the 2-way command facility (unless SMPP access is enabled for the account that originally submitted the message to NowSMS, in which case the receipt gets queued for delivery back to the client account via SMPP). Normally, the SMSC will prefix the text of all delivery receipts with "id:" ... and if the message is properly formatted as a delivery receipt, but this prefix is not present, NowSMS will reformat the message to include this prefix. To define a 2-way command specific to processing delivery receipts, define the 2-way command with an "SMS Command Prefix" of id:* Leave "Receive Phone Number(s)" blank (or in the context of receipts, it would be the sender address of the originally sent message, so you could define different scripts to process receipts for different sender phone numbers). Then in the "Command to Execute" field, there is a parameter that you can use ... @@RECEIPTMESSAGEID@@, which will contain the message id for which this receipt applies. (This assumes that the service provider returns the message id properly in the receipt.) The message id in the receipt (either @@RECEIPTMESSAGEID@@ or the text after "id:" in the text of the receipt) allows you to match up the receipt with the originally submitted message. -- Des NowSMS Support | ||||
Kamel Fahd New member Username: Kfsmart Post Number: 32 Registered: 01-2008 |
thanks again DES I a new in an SMS field,so I have some ambiguity. I asked my provider that if I can get confirmation if the sms delivered or not. They told yes but you must enable registered_delivery to 1, and I see that there are parmaters that I can get like message_Id and message_state. My problem how can I deal with nowsms parmeteres and My operator. i.e how can I get my operator parameters by the help of nowsms? It can be done? | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 65 Registered: 08-2008 |
To request a delivery receipt, there are two options. If you only want to request a delivery receipt for some mesages, include the URL parameter "&ReceiptRequested=Yes" when submitting messages that require a delivery receipt. Alternatively, it is also possible to edit the SMSGW.INI, and under the [SMSGW] header, add ReceiptRequested=Yes ... which will cause this flag to be set for all message submissions received via HTTP. When this "ReceiptRequested" flag is set, it causes NowSMS to request a delivery receipt when submitting the message to an upstream SMSC. (registered_delivery = 1) When the receipt is received, the @@RECEIPTMESSAGEID@@ replaceable parameter contains the message id to which the receipt refers. message_state is currently available only by parsing the text of the receipt. Look for the text that follows "STAT:" DELIVRD means successful delivery ENROUTE is an interim OK response (some SMSCs cannot give delivery receipts, and by returning this response it indicates that the message has been queued for delivery, but an actual delivery receipt may not be available) REJECTD means failed or rejected EXPIRED means expired without being delivered DELETED means message was deleted without being delivered ACCEPTD is similar to ENROUTE UNKNOWN means an unknown type of failure | ||||
Kamel Fahd New member Username: Kfsmart Post Number: 34 Registered: 01-2008 |
ok thanks Des, but the messageId this is from nowsms or from the operator? I think it is from nowsms,so how can I get messageId from the operator,they told I can get it from some parmaters,also this confirmation is from nowsms or from the operator. In the operator side for ex: I can schedule my timing for SMS without using the delayUntil in the nowsms.and many other functionality. My problem I don't how to deal with nowsms parmaters and my operators'. | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 71 Registered: 08-2008 |
It is the NowSMS message ID. NowSMS receives the message ID from the operator and translates it back to the ID that was originally assigned by NowSMS. This way your application knows which message the receipt is for. Otherwise, you would not know. What are the operator parameters that you do not understand? | ||||
Erida Shkira New member Username: Erida Post Number: 1 Registered: 09-2008 |
You say that when submiting a message to NowSMS via HTTP, the HTTP 200 OK response includes text such as the following: MessageID=54321098.req, Recipient=+xxxxxxxxxx In this case the Url parameters that we use are PhoneNumber and Text of Sms. Which are URL parameters if we want to know Delivery Report status displayed in HTTP response in text format such as the following: 2008-06-25:20:10,+359878788280,Text,id:48469A19 sub:000 dlvrd:001 submit date:080625121622 done date:080625121639 stat:DELIVRD err:000 text:,Raiffeisen,SMSCReceiptMsgId=48469A19 can you please give me an example? Thanks | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 81 Registered: 08-2008 |
Hi, If you want to receive delivery receipts, you need to request one. The delivery receipt will come back similar to an inbound SMS, and would typically be dispatched via the 2-way command processor. Here's some more detailed information: To request a delivery receipt, when submitting a message via HTTP, include the following URL parameter: "&ReceiptRequested=Yes" It is also possible to edit the SMSGW.INI, and under the [SMSGW] header, add ReceiptRequested=Yes ... which will cause this flag to be set for all HTTP submissions. When this "ReceiptRequested" flag is set, it causes NowSMS to request a delivery receipt when submitting the message to an upstream SMSC. These receipt requests are supported when connecting to an SMPP based provider or a GSM modem that supports receipts. (In recent versions, there is also some support for UCP/EMI and CIMD2 environments, however support is not enabled by default in those environments. To enable, you need to edit SMSGW.INI, and under the [SMSGW] header, add TrackUCPReceipts=Yes or TrackCIMDReceipts=Yes.) When you are connecting to an SMPP provider, it is then up to that provider whether or not they will send delivery reports back to you. (So even if you configure everything correctly in NowSMS, they might not support delivery receipts.) If you are submitting to NowSMS via HTTP, then the "SMS Users" account that you are using should NOT have SMPP access enabled. (If the account has SMPP access enabled, NowSMS will queue any delivery receipts that it recieves back to the message queue for this SMPP client.) When a message is submitted via HTTP, the HTTP 200 OK response includes text such as the following: MessageID=54321098.req, Recipient=+xxxxxxxxxx If the message was posted to multiple recipients, this will be repeated for each recipient. You can parse the text from this HTTP response to determine the Message id that NowSMS has assigned to the message. When a delivery receipt comes back into the system, it gets routed to the 2-way command facility (unless SMPP access is enabled for the account that originally submitted the message to NowSMS, as I mentioned above). Normally, the SMSC will prefix the text of all delivery receipts with "id:" ... and if the message is properly formatted as a delivery receipt, but this prefix is not present, NowSMS will reformat the message to include this prefix. To define a 2-way command specific to processing delivery receipts, define the 2-way command with an "SMS Command Prefix" of id:* Leave "Receive Phone Number(s)" blank (or in the context of receipts, it would be the sender address of the originally sent message, so you could define different scripts to process receipts for different sender phone numbers). Then in the "Command to Execute" field, there is a parameter that you can use ... @@RECEIPTMESSAGEID@@, which will contain the message id for which this receipt applies. (This assumes that the service provider returns the message id properly in the receipt.) -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 2 Registered: 09-2008 |
Many thanks for your reply DES, Now I want to make a more concret question. I can send a sms with HTTP request using Url parameters as follows: http://server:port/path?PhoneNumber=xxxxxx&Text=xxxxx&message=@@FULLSMS@@&Receip tRequested=Yes After sms is delivered is it possible to get delived status replyed at the same URL whith replacement parameter that looks like this: http://server:port/path?PhoneNumber=xxxxxx&Text=xxxxx&message=2008-06-25:20:10,+ 359878788280,Text,id:48469A19 sub:000 dlvrd:001 submit date:080625121622 done date:080625121639 stat:DELIVRD err:000 text:,Raiffeisen,SMSCReceiptMsgId=48469A19&ReceiptRequested=Yes Is this the wright way to create HTTP request and receive delivery status? | ||||
Omar New member Username: Kfsmart Post Number: 37 Registered: 01-2008 |
Hi Erida, You can configure the delivery reports in the 2way sms: command prefix="id:*" command to execute:URL where u can save the delivery reports. | ||||
Erida Shkira New member Username: Erida Post Number: 7 Registered: 09-2008 |
Thanks again Omar, So if the command to execute is: http://10.233.26.38/SabreSms/GetResponse.aspx?Sender=@@SENDER@@&SmsPrefix=@@SMSPREFIX@@&FullSms=@@FULLSMS@@&Recip=@@RECIP@@&MessageID =@@MESSAGEID@@&ReceiptMessageID=@@RECEIPTMESSAGEID@@&MsgDate=@@MSGDATE@@&MsgTime =@@MSGTIME This mean that "I save the delivery reports at my web site".How can i get the parameters value? I should make another request to the gateway telling that i want status of that messageiD, if so pls give me an example of the URL or just run the application and read parameters value from querystring as follow: string fullsms = Request.QueryString["FullSms"]; Pls give me an answer as soon as possible. Thanks | ||||
Omar New member Username: Kfsmart Post Number: 40 Registered: 01-2008 |
get it by request.querystring | ||||
Erida Shkira New member Username: Erida Post Number: 11 Registered: 09-2008 |
Hi Omar, All your answers were very helpfull for me. Thank you. Now I want to send the same text message to many contacts, separate each phone number with comma as follows: http://server:port/?PhoneNumber=xxxxx, xxxxx, xxxx, xxxx&Text=yyyy Which is the max number of PhoneNumbers allowed in one request? Kindly , let me know any comment that you would have about. | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 87 Registered: 08-2008 |
Hi Erida, For best results, do not leave a space between phone numbers (e.g., xxxxx,xxxxx,xxxxx ... NOT xxxxx, xxxxx, xxxxx). NowSMS does not impose a limit on the number of recipients specified, as it dynamically allocates as much memory as is required. HOWEVER ... the scripting language that you are using (looks like ASP.NET) may impose a limit on the length of an HTTP GET URL. From a tech support perspective, we frequently see instances where the URL received by NowSMS has been truncated before it gets to NowSMS. Most scripting languages have a limit of at least 2000 characters/bytes, but based upon a quick web search that I just did, it looks like ASP.NET may impose a limit of MAX_PATH, or 260 characters, which is very small. The following link has information about using distribution lists in NowSMS instead of using comma-delimited recipients: http://blog.nowsms.com/2007/06/editing-distribution-lists-and-address.html I should also mention that to get around URL length limitations, it is also possible to use HTTP POST instead of HTTP GET. When you use HTTP POST, all of the HTTP GET variables are instead sent in the POST data, using "application/x-www-form-urlencoded" format (standard web form POST format). Just put all of the variables (everything after the "?") in the post data instead of the URL, and remove the "?" off of the URL. This way you get around any length limitations that your scripting language might impose on HTTP GET URL length. -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 12 Registered: 09-2008 |
Thank you so much for your well explained response. | ||||
Erida Shkira |
Hi Des, I am back again to ask you one more question. I have to send the same sms to more then 400 recipients using distribution lists in NowSMS. Is there any limit on number of recipients used in one distribution list? or Should I divide them into 2 or 3 lists. I would like your suggestion about this. Thank you | ||||
sahan anushka New member Username: Sahan Post Number: 1 Registered: 10-2008 |
honey mama dan singapur wala. | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 158 Registered: 08-2008 |
Hi Erida, One list is fine. NowSMS has some special logic for processing larger lists, but that logic isn't triggered there are more than 10,000 recipients in a list. In most cases, I'd recommend submitting the SMS to one large list rather several smaller lists. -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 2 Registered: 09-2008 |
Thank you Des, If I want to see the status of a delivery message and the time when it is submited because I want to update it in my database, the text that follow "done date:" sometimes is 10 char long, sometimes 12 char long. Doesn't it have a regular Datetime expression? How many status id can we expect? DELIVRD,ENROUTE,REJECTD,EXPIRED,DELETED ,ACCEPTD, UNKNOWN.Could you help me with any other I haven't mantion? Many many thanks Erida | ||||
Erida Shkira New member Username: Erida Post Number: 3 Registered: 09-2008 |
HI Des, I came up with a really problem. When I tryed to create a distibution list(List231020081745, it is created succefully) and send sms in group with command: http://192.168.18.11:8800/?PhoneNumber=List231020081745&Text=Good+bye I get the error: Error: Invalid Parameter Invalid format for telephone number. I will appreciate your help because i don't know what i did wrong this time. Thank you | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 167 Registered: 08-2008 |
Hi Erida, NowSMS couldn't find the list. Are you logging in with a username and password when you create the list? (If so, you need to specify the same username and password in the URL ... &user=username&password=password) Probably the easiest way to troubleshoot this is to look for the dlist file on the NowSMS server. Assuming that you are not using user accounts, you should find a file named List231020081745.txt in the DLISTS subdirectory of NowSMS. Do you see it there? Regarding the "done date" and "status field", the exact contents can be provider specific. The example in the spec shows a 10 char date, but your provider might be using a 4 digit year instead of a 2 digit year. The status field that I mentioned are the ones defined in the example in the SMPP spec. It is possible that a provider may add to this list. The good news is that they should not add any other success statuses ... only alternate failure statuses. -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 4 Registered: 09-2008 |
Good morning Des, Well, I belive I found the error. I am using user account specifing username and password in NetworkCredential not in the URL. Every time I send messages, first I create random listname(that exist in subdirectory) then I add members to it (formated numbers which came from my database). After sending messages I delete this list, because every time I had to send messages I get different telephone numbers from my database.I don't know which is the best method(creating every time a new list then deleting it, or replaceing the same list with new members).Please give me your opinion. In my case this numbers had null value so there wasn't any member in my list. I was trying to send messages when there weren't any avaiable number in my list. Exist any method to see how many members are in a specific list, or even to check if exist any member in it? Regarding the "done date" (suppose I am not wrong) I see that the date format is 081024082614 (yyMMddhhmmss) or 081024082600(yyMMddhhmm) which seems to be 2 digit year. Many thank for your help. p.s Sorry if I have disturb you with my continously questions. | ||||
Bharat Vasant New member Username: Bharat_vasant Post Number: 1 Registered: 10-2008 |
I am using version v2008.06.03 to test Delivery Report. As explained by Des above and found on number of posts, I have set TrackSMPPReceipts=Yes in SMSGW.INI file. I am receiving delivery reports but the SMSC messageID is not being mapped or translated back to messageID assigned by local NowSMS service. Please let me know the way out. | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 169 Registered: 08-2008 |
Hi Erida, That would explain it. An empty list would also result in the "Invalid format for telephone number" error. Regarding the best method of working with your list, I don't think there is a preference. It would depend on what works best for you. In your case, I think that deleting the list and recreating it makes sense. Regarding the date format that you are seeing ... that is interesting. Unfortunately the provider can use whatever format they want. You might see slight variations in format between different providers. -- Des NowSMS Support | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 170 Registered: 08-2008 |
Hi Bharat, It is not required to set the TrackSMPPReceipts=Yes setting in current versions of NowSMS, as it is enabled by default. To determine the cause of your problem, I believe we would need to take a closer look at the raw SMPP data. It is possible that your provider has a problem on their end where they do not track receipt message ids properly on their system. Or it is possible that there is something strange in this formatting that is confusing NowSMS. The best thing for us to do is to take a look at the raw SMPP data, so that we can either fix the problem ... or at least know that the problem is not fixable on the NowSMS side and would need to be addressed by your provider. Go to the "Serial #" page of the NowSMS configuration and check the setting to enable the SMSDEBUG.LOG. Restart the NowSMS service. Send two test messages with delivery receipts requested. Wait for the delivery receipts to be received. Reply back with the SMPPDEBUG.LOG as an attachment. (If you are unable to upload this file, send the SMPPSDEBUG.LOG as an attachment to an e-mail message to nowsms@nowsms.com with "Attention: Des" in the subject line of your message.) -- Des NowSMS Support | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 171 Registered: 08-2008 |
Bharat, I checked my notes, and I did see one known problem that we have seen with delivery receipts generated by some SMSCs. If this problem only occurs when you are submitting Unicode messages (try a simple message with just English text and see if that works), then the problem could be because we have seen some SMSCs that generate an incorrect data_coding value on delivery receipts for Unicode messages. There is an update for NowSMS that detects and corrects for this particular issue which can be downloaded at http://www.nowsms.com/download/nowsmsupdate.zip. If you are seeing this problem with delivery receipts for messages that contain English text only, then it is not necessary to download this update ... let's take a look at the SMPPDEBUG.LOG first. -- Des NowSMS Support | ||||
Bharat Vasant New member Username: Bharat_vasant Post Number: 2 Registered: 10-2008 |
Dear Des, Enclosed Files as suggested by you. I have observed SMSDEBUG.LOG file contains lines as: "Receipt message id = 5BECBC1B not in database for SMPP ....." Please check the attached files.. -- Bharat
| ||||
Bharat Vasant New member Username: Bharat_vasant Post Number: 3 Registered: 10-2008 |
Des, I would appreciate if you could delete the attachment from forum after download. Bharat | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 177 Registered: 08-2008 |
Hi Bharat, I see what the problem is. Delivery receipts are coming back in, but NowSMS isn't asking for a delivery receipt. (In the message that gets trasnmitted over SMPP, registered_delivery = 0.) For performance reasons, NowSMS doesn't track recept message ids unless a receipt is being requested. To request a delivery receipt for messages submitted via HTTP you can either include "&ReceiptRequested=Yes" in the HTTP URL. Or, to request a receipt for all messages submitted via HTTP, edit SMSGW.INI, and under the [SMSGW] header, add ReceiptRequested=Yes. -- Des NowSMS Support P.S. - I replaced the file with a dummy (so as not to confuse the software we use on the discussion board). | ||||
Erida Shkira New member Username: Erida Post Number: 5 Registered: 09-2008 |
Hi Des, Thanks for all your responses so far. Yesterday I was trying to send messages to more then 500 recipients at about 07:00 pm using my application. I received status SEND but for most of them I received delivery status only at midnight (01:00 am), which I think is too late for our customers to receive sms. Is it a provider issue, not depending from nowsms? And what should I do to resolve this, run my application earlier? I would be very greatful if you could give me your opinion. Thanks | ||||
Erida Shkira New member Username: Erida Post Number: 6 Registered: 09-2008 |
Hi Des, I have made another effort yesterday and just the same. Does it depends from number of recipients in a list? because when I tryed for a small amount of numbers in a list it works fine and faster. We receive delivery status in max 4 min. If you have information could you please tell me how are these messages proccessed? One message is send in 2 sec, 2 min? I would appreciate if you could give me an idea. Thank you | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 186 Registered: 08-2008 |
Hi Erida, Sorry for my delayed response here. I suspect that this is a provider issue. Current versions of NowSMS do queue delivery receipts for a slight delay ... but we're talking seconds ... minutes if there and thousands ... definitely not hours (unless you sent a million messages in one hour). If NowSMS has delayed processing of a receipt (which is very unlikely in the scenario you describe), you would still see the receipt in the SMSIN-yyyymmdd.LOG when NowSMS receives it from the provider. This log entry would show the SMSC assigned message id, before NowSMS translates it back to the NowSMS assigned message id. But the timestamp here would show you when the receipt was actually received from your provider. I expect that you'll see that the delay is happening at your provider. Many providers treat delivery receipt messages with a lower priority than regular messaging traffic, and I suspect that is what you are experiencing. But check the SMSIN-yyyymmdd.LOG, that gets recorded as soon as the provider posts the message to NowSMS. -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 7 Registered: 09-2008 |
Hi Des, No matter for your delayed response. I am gratefully to you for helping me so far. I checked SMSIN-yyyymmdd.LOG and I think you are right, it seems to be a provider issue. I am not sure if it is the right place to make this question but if you have had any experience like mine could you please give me any suggestion? Is there a setting or property in NowSms configuration where I should choose FORCD,that means for provider to treat delivery receipt messages with hight priority? Thanks in advance, | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 194 Registered: 08-2008 |
Hi Erida, I'm not aware of anything that you could do on your end. It's more likely a policy of your provider (or the software that your provider is using). Delivery receipts can put a large strain on provider systems, so your provider may be trying to delay their processing for a time when their system is under a lighter load. Unfortunately, it's the kind of thing you'd have to ask your provider about. Or you might get lucky searching the web as you might find someone else who has already encountered this issue with your provider. It's also quite possible that the delay is outside of your provider's control, but is something that happens upstream from them at another larger provider. I can't say that I've seen a delay issue of hours like this before with messages sent to only 500 recipients. Usually it would be much heavier load before you'd see any such throttling. The only thing I could think of suggesting is maybe limiting how fast you submit the messages to your provider, as maybe that would keep you below some threshold that they have on their end. This link talks about how to set these limits: http://blog.nowsms.com/2008/06/smsc-speed-limits.html -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 8 Registered: 09-2008 |
I appreciate the time you took for helping me. I can no other answer make, but thanks and thanks. Cheers | ||||
Erida Shkira New member Username: Erida Post Number: 9 Registered: 09-2008 |
I appreciate the time you took for helping me. I can no other answer make, but thanks and thanks. Cheers | ||||
Erida Shkira New member Username: Erida Post Number: 10 Registered: 09-2008 |
Hi Des, I am faceing with another problem with my application. If your remember my web service makes a list not more then 10000 phone numbers and makes a request te your page to send them at once. My request has this form: http://10.10.0.20:8800/?PhoneNumber=Smsgroup&Text=@@SMS@@ It tooks at about 30 min te receive all responses. Can you please help me or just give your idea why it becomes so slow? Kind Regards Erida | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 411 Registered: 08-2008 |
Hi Erida, When you say that it takes 30 minutes, are you saying that it takes 30 minutes to receive the HTTP response (from the message submission) back to your application? Or are you saying that it takes 30 minutes to recieve back all of the delivery responses? It is not unusual for delivery responses to take some time (providers generally consider them to be lower priority). If you are referring to a long delay in the HTTP response from NowSMS, what is the NowSMS version? (A "Bulk Q" for messages sent to a large number of recipients was added in NowSMS 2007, so that the submit HTTP response is not delayed. But earlier versions can take a long time to return an HTTP response). -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 11 Registered: 09-2008 |
Hi Des, Thank you for your attention. It looks strange to be because we have NowSMS 2007 version and it appears only when we send a large number of sms and but not always. First I thought it would be a proxy or firewall on server that cause that delay (I can't distinguish exacly when it happens, when making a HTTP request from web service to NowSms or receiving HTTP response from the messages submission) I see only that my service gives me Timeoutexpired. Could you kindly give me any help to resolve this. Thanking you! Erida | ||||
Erida Shkira New member Username: Erida Post Number: 12 Registered: 09-2008 |
Hi Des, Yesterday I send 7000 sms at a time and it took almost 10 minutes, then it started to receive back delivery responses immediately. I makes me feel happy We are still update-ing sms status, and I think is normal. But I am affraid I haven't included all statuses in my application. I am using only these ones: ACCEPTD, DELETED, DELIVRD, ENROUTE, EXPIRED, NOTSEND, REJECTD, SEND, UNDELIV, UNKNOWN. Can you please see if a have to add any other? I am worrying about these issue because the number of sms send by me is different from they I take responses. Is it possible not to receive all gateway messages id when sending a great list with numbers? I would appreciate your opinion. Thanks in advance, | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 444 Registered: 08-2008 |
Hi Erida, On the timeout, do you see a "BulkQ" directory created when you submit a message to larger than 10000 messages? If it takes 10 minutes to submit 7000 SMS, then it sounds like your disk drive is very slow. Are they long SMS messages by any chance? (There is a Windows setting that can improve performance in this case.) Regarding statuses, how they are returned is provider specific. I would treat any status that you can't determine as an UNKNOWN failure. Regarding not getting the same number of responses back ... do you know that all of the recipient phones are actually on and that the messages have been received? -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 13 Registered: 09-2008 |
Hi Des, Yes they are long SMS messages, and I don't know that all of the recipient phones are actually on. Regarding timeout I resolved it by sending 1000 messages a time. Thank you for your assistance, | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 451 Registered: 08-2008 |
Hi Erida, Here's a note on the long (multipart) SMS messages... Performance note: When processing large volumes of multipart SMS messages, we recommend disabling automatic short filename (8.3) support in Windows. The naming convention that NowSMS uses for multipart SMS message parts can trigger slow performance in the NTFS file system unless this support is disabled. To disable automatic short filename support in Windows, open a command prompt window and type "fsutil behavior set disable8dot3 1", and then reboot the system for this setting to take effect. To see the current value of this setting, type "fsutil behavior query disable8dot3" in a command prompt window (1 indicates that this feature is disabled). Note that disabling this support could cause problems for either very old applications, or any software applications that expect all files to have a short filename. We recommend setting this option only if NowSMS is the primary application running on a computer. This setting can offer very significant performance benefits if processing large volumes of multipart messages. -- Des NowSMS Support | ||||
Erida Shkira New member Username: Erida Post Number: 14 Registered: 09-2008 |
Thanks Des | ||||
Subodh Dalvi New member Username: Subdalvigmailcom Post Number: 1 Registered: 02-2009 |
Hi Des may i know which GSM Modem and which service provider u r using? Because currently i am using Nokia 3220 and BPL Mobile but its not returning me delivery reports. | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 482 Registered: 08-2008 |
Hi Subodh, In most cases, you will not receive delivery reports if your are using a phone as a modem. (In fact, most Nokia phones do not support receiveing SMS messages over the GSM modem interface ... I'm not sure about the 3220 however, as that is old enough that it might still support receiving SMS messages over the GSM modem interface. Newer Nokia phones do not support routing any received messages over the GSM modem interface.) I have seen that some SonyEricsson phones will support delivery reports over the GSM modem interface, as referenced in the following thread: http://support.nowsms.com/discus/messages/1/18724.html However, for the most part, you'd be better off with a dedicated GSM modem device (by dedicated I mean a device that is designed to be a modem, not a phone ... like models from Multitech, Falcom, iTegno, Wavecom or Cinterion/Siemens). -- Des NowSMS Support | ||||
Daniel Tok New member Username: Dantok Post Number: 4 Registered: 02-2009 |
Hi Des, Strangely, i`m using a Huawei 3G USB GSM Modem. It sends sms's. rather. VERY quickly. But apparently, when the reports come in. It says unknown. Could it be an operator issue? Or is it a modem issue? really puzzled here. | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 512 Registered: 08-2008 |
Hi Daniel, If you are seeing "id:unknown" in the delivery receipts, then it is likely that the modem does not return a message reference id when it submits the SMS message. You can determine this by enabling the SMSDEBUG.LOG. When NowSMS sends a message, you'll see it issue an AT+CMGS command. If the modem returns a response that include "+CMGS:xxx" (the message reference), then "OK" ... then everything should work correctly. Some modems do not return the "+CMGS:xxx" part of the response. They just return "OK". Without the message reference in the response, NowSMS can't properly collate the delivery reports. To the best of my knowledge, this is a modem issue ... not a network issue. Technically, the specification says that the modem is supposed to send this response if the sending is successful ... but not all modems do ... and this is only a problem for delivery receipt correlation. However, I also recall some NowSMS version issues that caused a problem. Versions prior to 2006.10.13 had a problem tracking receipts if the modem driver name included a "#" character (which is very common and happens when you have multiple modems with the same driver installed). But since I'm not seeing the "+CMGS:xxx" response in your log, I don't think this is a version issue. I think it is a modem issue. -- Des NowSMS Support | ||||
Daniel Tok New member Username: Dantok Post Number: 8 Registered: 02-2009 |
01:02:15:491 [11] ThreadProcessConnection: Processing connection from 127.0.0.1... 01:02:15:492 [11] ThreadProcessConnection: Processing request /Send%20Text%20Message.htm?PhoneNumber=93379330&Sender=&Text=Hello+World%21&Info CharCounter=&PID=&DCS=&DestPort=&DelayUntil=&Submit=Submit 01:02:15:492 [11] Debug: 1 recipient entries 01:02:15:492 [11] ThreadProcessConnection: Before message loop 01:02:15:492 [11] ThreadProcessConnection: Before message loop 01:02:15:492 [11] ThreadProcessConnection: Begin message loop 01:02:15:553 [11] ThreadProcessConnection: End message loop 01:02:15:562 [11] WaitForSocketClose: WinSock reported ioctlsocket complete 01:02:15:562 [11] ThreadProcessConnection: Request processing complete 01:02:16:686 [2] ThreadProcessModem: Processing 499DBD10.req... 01:02:16:686 [2] ThreadProcessModem: OUT: AT+CMGS=22 01:02:16:763 [2] ThreadProcessModem: IN: > 01:02:16:763 [2] ThreadProcessModem: OUT: 00210108813973390300000CC8329BFD065DDF72363904 01:02:18:767 [2] ThreadProcessModem: +CMGS: 9 OK 01:02:22:438 [2] ReceiveModemCommand: Processing +CMT: Message 01:02:22:438 [2] ReceiveModemCommand: +CDS: 23 000609088139733903903031102085239030311020952300 +CPMS: (("SM","BM","SR"),("SM")) OK 01:02:22:438 [2] ModemReceiveMessages: 000609088139733903903031102085239030311020952300 01:02:22:438 [2] ModemReceiveMessages: SMSC address len = 0 01:02:22:438 [2] ModemReceiveMessages: SMSC Address = 01:02:22:438 [2] ModemReceiveMessages: SMS Message Type = SMS-STATUS-REPORT 01:02:22:438 [2] ModemReceiveMessages: Recipient address len = 8 01:02:22:438 [2] ModemReceiveMessages: Receipient Address = 93379330 01:02:22:445 [2] ModemReceiveMessages: Message = id:unknown sub:001 dlvrd:001 submit date:0903130102 done date:0903130102 stat:DELIVRD err:000 01:02:23:450 [3] ThreadProcessInboundSMS: Processing 499DBD11.in... Sorry for the late repsonse. Strangely. this is my report. I have changed GSM modems to a Wavecom Fasttrack M1206B, but it still gives me this problem. Any ideas? But when i use my own PHP script, it returns all the values perfect. | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 583 Registered: 08-2008 |
Hi Daniel, All of the binary information looks correct. NowSMS should be able to decode that delivery receipt properly. However, I think the problem is that the delivery receipt is being received ... but we never actually asked for one. For performance reasons, NowSMS only tracks the message id when the message is sent, if a delivery receipt is being requested. I can see from the encoding of the outbound message that no delivery receipt is being requested. So it is strange that you would be receiving one. That said ... there is a simple solution. Edit SMSGW.INI, and under the [SMSGW] header, add ReceiptRequested=Yes. This will cause NowSMS to default to requesting a delivery receipt for any messages submitted via HTTP. (Alternatively, you would need to include &ReceiptRequested=Yes in the URL submission.) -- Des NowSMS Support | ||||
Daniel Tok New member Username: Dantok Post Number: 9 Registered: 02-2009 |
Hi Des, Weirdly enough. i already reqested receiptRequested=Yes when i sent out the log file, perhaps that's why it sents the reports over. however, i still find it weird, with my php script, it comes back with an id value. but with the nowsms pages. sms can be sent, but the return report is always unknown. Also, using a wavecom modem under the SMSC adding of gsm modems, are we able to add names next to the comm port number? | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 588 Registered: 08-2008 |
Hi Daniel, Maybe there is something wrong with how ReceiptRequested=Yes is configured in SMSGW.INI. What I noticed from your log is that for the raw PDU of the SMS message that is being sent out, we are not requesting a delivery receipt. So if it is working when you submit via PHP, that suggests that the flag is getting set in that case, but when a message gets submitted via our standard web interface, the INI file setting to force the receipt request is not being found. Double check the SMSGW.INI file, and make sure there is only one [SMSGW] section header, and that ReceiptRequested=Yes appears in that section. -- Des NowSMS Support | ||||
Daniel Tok New member Username: Dantok Post Number: 10 Registered: 02-2009 |
[SMSGW] CacheQSize=Yes ReceiptRequested=Yes WebAuth=No WebMenu=Yes WebPort=8800 ReceiveSMS=Yes ReceiveMMS=No ReceiveSMSCharset=utf-8 AdminUser=dantok AdminPassword=MWGZOUCQNPEL ConfigurationUpdateTriggerRestart=20090316171309 ReceiveSMSCommand1=SUB http://192.168.1.103/temp/NOWSMS/test.php?number=@@SENDER@@&message=@@FULLSMS@@ No Debug=Yes ReceiveSMSCommand2=UNSUB http://ibuy.sg/remove.php?id=@@Sender@@ No Modem1=COM15: That's my SMSGW.INI file. It only shows one of the ReceiptRequested=Yes as once. I don't understand why it wouldn't work. But it will only work when i use a PHP script. Ideas why? It's silly. i need this reports so i know if the sms number is real or not in use. Also, is it possible to change the name of the modem for the COM Port? I`m using a USB to Serial to connect to the GSM modem. Also, if i`m using prepaid cards, and i need to dial a number to check the value. How do i go about doing that, or is there a command that i can use for NOW sms to dial a *123 command? | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 603 Registered: 08-2008 |
I'm obviously missing something (possibly something very simple) ... I just don't know what it is. I guess the thing to do is to look at an SMSDEBUG.LOG to see what is different when it works compared to when it does not. So go ahead and do two submissions ... one from the web interface, and one from your PHP script. I'd like to see the SMSDEBUG.LOG showing both messages being sent out, and both receipts coming back in. We should be able to see what is different from that.
You can install a Windows modem driver via the "Phone & Modems" applet in the Windows control Panel. Then configure NowSMS to use that modem instead of COM15:. (The name still isn't configurable in that case either, however, you are stuck with the modem driver name in that case.)
We don't have any support for sending USSD commands. However, I can see how that would be useful. I'm going to send the USSD query idea to engineering for consideration. I would like to ask how you would see using the information from that query ... I assume maybe an HTTP callback? Maybe the best idea would be to support submitting to *123 ... process that as a USSD request ... and have the result be routed to an HTTP script via 2-way SMS. -- Des NowSMS Support | ||||
khansalim New member Username: Khansalim51 Post Number: 1 Registered: 03-2009 |
hello gunesh | ||||
Sandy D'Costa New member Username: Sandydc Post Number: 3 Registered: 03-2009 |
In log, getting me an delivery status but .asp file written to execute when delivery report comes not get executed. What will the problem? I done all the setting given in above discussion. | ||||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 634 Registered: 08-2008 |
Hi Sandy, If a message is submitted by an 'SMS Users' account that has SMPP or SMTP access enabled then the delivery report gets routed/queued for delivery back to that account instead of 2way SMS. Edit the account to remove that access, and the report will go to 2way SMS. -- Des NowSMS Support |