2way with Delivery Reports

2way with Delivery Reports SearchSearch
Author Message
Kamel Fahd
New member
Username: Kfsmart

Post Number: 28
Registered: 01-2008
Posted on Tuesday, July 15, 2008 - 02:09 pm:   

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
Posted on Friday, July 25, 2008 - 10:05 pm:   

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
Posted on Wednesday, July 30, 2008 - 10:36 am:   

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
Posted on Tuesday, August 19, 2008 - 07:01 pm:   

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
Posted on Tuesday, August 26, 2008 - 02:09 pm:   

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
Posted on Tuesday, August 26, 2008 - 06:24 pm:   

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
Posted on Wednesday, August 27, 2008 - 07:43 am:   

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
Posted on Wednesday, August 27, 2008 - 06:27 pm:   

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
Posted on Thursday, August 28, 2008 - 06:38 am:   

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
Posted on Friday, August 29, 2008 - 10:34 pm:   

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
Posted on Tuesday, September 02, 2008 - 08:48 am:   

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
Posted on Tuesday, September 02, 2008 - 07:27 pm:   

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
Posted on Thursday, September 04, 2008 - 09:21 am:   

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
Posted on Friday, September 05, 2008 - 10:58 am:   

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
Posted on Friday, September 05, 2008 - 01:02 pm:   

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
Posted on Sunday, September 07, 2008 - 11:38 am:   

get it by request.querystring
Erida Shkira
New member
Username: Erida

Post Number: 11
Registered: 09-2008
Posted on Thursday, September 11, 2008 - 08:58 am:   

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
Posted on Thursday, September 11, 2008 - 05:07 pm:   

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
Posted on Wednesday, September 17, 2008 - 01:43 pm:   

Thank you so much for your well explained response.
Erida Shkira
Posted on Friday, October 17, 2008 - 12:45 pm:   

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
Posted on Friday, October 17, 2008 - 04:11 pm:   

honey mama dan singapur wala.
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 158
Registered: 08-2008
Posted on Friday, October 17, 2008 - 04:22 pm:   

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
Posted on Thursday, October 23, 2008 - 01:54 pm:   

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
Posted on Thursday, October 23, 2008 - 05:00 pm:   

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
Posted on Thursday, October 23, 2008 - 05:27 pm:   

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
Posted on Friday, October 24, 2008 - 08:07 am:   

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
Posted on Friday, October 24, 2008 - 12:58 pm:   

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
Posted on Friday, October 24, 2008 - 01:59 pm:   

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
Posted on Friday, October 24, 2008 - 02:06 pm:   


quote:

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.




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
Posted on Friday, October 24, 2008 - 02:09 pm:   

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
Posted on Saturday, October 25, 2008 - 07:56 am:   

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

application/x-zip-compressedAttn: Des. Delivery Report Msg ID Mappging Debug
NowSMS Debug Dlr.zip (6.5 k)
Bharat Vasant
New member
Username: Bharat_vasant

Post Number: 3
Registered: 10-2008
Posted on Saturday, October 25, 2008 - 08:01 am:   

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
Posted on Saturday, October 25, 2008 - 01:51 pm:   

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
Posted on Wednesday, October 29, 2008 - 10:58 am:   

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
Posted on Thursday, October 30, 2008 - 08:23 am:   

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
Posted on Saturday, November 01, 2008 - 02:02 pm:   

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
Posted on Monday, November 03, 2008 - 08:22 am:   

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
Posted on Tuesday, November 04, 2008 - 06:28 pm:   

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
Posted on Wednesday, November 05, 2008 - 08:10 am:   

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
Posted on Wednesday, November 05, 2008 - 12:55 pm:   

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
Posted on Tuesday, February 03, 2009 - 10:30 am:   

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
Posted on Tuesday, February 03, 2009 - 04:01 pm:   

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
Posted on Wednesday, February 04, 2009 - 09:38 am:   

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
Posted on Friday, February 06, 2009 - 08:40 am:   

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
Posted on Friday, February 06, 2009 - 06:39 pm:   

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
Posted on Monday, February 09, 2009 - 07:20 am:   

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
Posted on Monday, February 09, 2009 - 03:54 pm:   

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
Posted on Monday, February 16, 2009 - 07:32 am:   

Thanks Des
Subodh Dalvi
New member
Username: Subdalvigmailcom

Post Number: 1
Registered: 02-2009
Posted on Tuesday, February 17, 2009 - 04:27 am:   

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
Posted on Tuesday, February 17, 2009 - 06:44 pm:   

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
Posted on Wednesday, February 25, 2009 - 03:54 am:   

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
Posted on Wednesday, February 25, 2009 - 11:17 pm:   

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
Posted on Thursday, March 12, 2009 - 06:04 pm:   

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
Posted on Thursday, March 12, 2009 - 06:22 pm:   

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
Posted on Friday, March 13, 2009 - 12:23 am:   

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
Posted on Friday, March 13, 2009 - 12:09 pm:   

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
Posted on Tuesday, March 17, 2009 - 07:56 pm:   

[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
Posted on Tuesday, March 17, 2009 - 08:25 pm:   

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.


quote:

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.




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.)


quote:

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?




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
Posted on Wednesday, March 18, 2009 - 09:27 am:   

hello gunesh
Sandy D'Costa
New member
Username: Sandydc

Post Number: 3
Registered: 03-2009
Posted on Tuesday, March 24, 2009 - 07:44 am:   

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
Posted on Wednesday, March 25, 2009 - 03:27 pm:   

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