CallBack status

CallBack status SearchSearch
Author Message
lars. mservice
Posted on Monday, May 26, 2003 - 11:22 am:   

Heres one...

Before we started using nowsms, we had a system running between us and the smsc. This is how it worked.
A user orders something, and we send it to his mobile. In the data posted to the smsc we have something called SESSIONID wich is a GUID. This is logged in the smsc. Then every one hour we would run a query to the smsc to see the status of the stuff sent to the user. could be sms, wappush, mms, etc. smsc returns a code for delivery, errors, and so on.

With nowsms i cannot do that.
I use nowsms by POSTing to it. Now if i could define my own vars like "&sessionID=askweii654ffs:23e&hello=gori5&lars=funny", and nowsms could put that in the POST to the smsc, then this would be fixed. My GUID would go through nowsms and i could once again query our smsc.

get it ? ;-)

To underline the importance of being able to do a thing like that, is eg. when comparing orders with the smsc. See we log when a user orders something. The smsc will only log when the order has been proccessed 100%. So if the users phone is off, or the phones not working. We have an order in our system that the smsc doesn't. That means that i have to believe in the numbers from the smsc, and i dont like that ;).


Another less important thing is logging to sql server. Would be nice..
lars
Posted on Wednesday, May 28, 2003 - 12:17 am:   

By the way my smsgw.ini now has 243 different connections, and fills about 2500 lines.

Is there any known limit where smsgw.exe begins to use very much memory because of the size of the ini file.

With the speed we have on right now, we expect to double our amount of new customers within this year, and they all want their own mediacodes etc. So i think my smsgw.ini file will grow much more.
Bryce Norwood - NowSMS Support (Bryce)
Posted on Wednesday, May 28, 2003 - 04:00 pm:   

Lars,

Issue #1:

This is only practical with HTTP based SMSC connections like you are using. But we actually do have support for hidden parameters like you describe.

It doesn't appear to be documented anywhere. So I'll document it here.

In the SMSGW.INI file, under the [SMSGW] section, you can add a setting called

ExtraHttpArgList=var1,var2,...

Where "var1", "var2", etc., are the names of HTTP variables. (Use only a comma to separate the variable names if you have multiple variables ... with no white space around the commas.) NowSMS parses requests that it receives, looking for these variable names. If the message is routed to an HTTP-based SMSC, it appends these variables and their associated values to the HTTP URL. (If the message is routed to any other type of SMSC, the variables are ignored.)

Please note that in the current version, these variables are NOT supported in the "Multimedia WAP Push" function. However, support for these variables in the "Multimedia WAP Push" function will be available in releases after v4.20.

Issue #2:

There is not a defined upper limit on SMSC connections. But as NowSMS creates a thread for each defined SMSC connection, I would expect there to be a practical upper limit.

I'd suggest keeping an eye on resource utilisation (especially VM size, and CPU utilisation) in task manager.

-bn
lars
Posted on Wednesday, May 28, 2003 - 11:05 pm:   

i cannot really make it work right.

in my smsgw.ini i do this:
ExtraHttpArgList=mediacode,appnr

In my post to nowsms i do this:
/?Phonenumber=" & TelNr & "&WAPURL=http:/ttt.dk/aa.gif&text=hello&Sender=4511111111&mediacode=fuk&appnr=1231


my smsdebug file says this:
Processing:
23:46:48:734 [201] ThreadProcessModem: Processing 3ED52DB4.req...
23:46:48:781 [114] ThreadProcessModem: Processing 3ED52DB4.req...
23:46:48:812 [15] ThreadProcessModem: Processing 3ED52DB4.req...
23:46:48:843 [76] ThreadProcessModem: Processing 3ED52DB4.req...
23:46:48:890 [93] ThreadProcessModem: Processing 3ED52DB4.req...
23:46:48:937 [189] ThreadProcessModem: Processing 3ED52DB4.req...
23:49:14:640 [249] ThreadProcessConnection: Processing connection from xxx.xxx.xxx.xxx...
23:49:14:843 [249] ThreadProcessConnection: Processing request http://xxx.xxx.xxx.xxx/?Phonenumber=23232323&WAPURL=http://ttt.dk/aaa.jpg&text=hello&Sender=4511111111&mediacode=fuk&appnr=1231
23:49:14:843 [249] Debug: 1 recipient entries
23:49:14:843 [249] Debug: 61304050
23:49:18:343 [2] ThreadProcessModem: Processing 3ED52DB5.req...
23:49:18:375 [2] ThreadProcessModem: GET /smscurl/pushit?to=61304050&type=pushy&data=removed_by_me_to_save_space&smsc=telco HTTP/1.0
User-Agent: Now SMS/MMS Gateway v4.20 (b20030507)
Host: smsc.smsc.com
Accept: */*
Connection: Close
23:49:18:421 [2] ThreadProcessModem: HTTP/1.0 200 OK
Server: Resin/2.0.4
Content-Length: 11
Date: Wed, 28 May 2003 21:45:20 GMT


as you se i parse the variables, but nowsms does not include them in the post to smsc.

what am i doing wrong?
Bryce Norwood - NowSMS Support (Bryce)
Posted on Thursday, May 29, 2003 - 03:17 pm:   

Ok.

It's been too long, I forgot how this worked.

You also need to include these variable names in your URL template.

If "@@variablename@@" is in the template string, then the gateway replaces "@@variablename@@" with the originally submitted value (if any).

So in your case, I imagine your template is something like this:

http://host:port/smscurl/pushit?to=@@PhoneNumber@@&type=pushy&data=@@Data@@&smsc=telco

And you would need to add to that URL:

&mediacode=@@mediacode@@&appnr=@@appnr@@


-bn

P.S. - Hope I got it right this time.
lars mservice
Posted on Thursday, May 29, 2003 - 03:29 pm:   

YEAH!
Now we're talking.

This works perfect.
had i only known this before i would not have had to create all those connections ;-)

This is just the thing i was looking for.

Thanx Bryce (again:-)
lars mservice
Posted on Friday, May 30, 2003 - 02:49 pm:   

Spent my day inplementing the ExtraHttpArgList into my system. That meant that i could remove 124 connections from my 243 connections. And i am not even finished yet. So this tool is so good and i would recommend you to put it in the help file, so that other users can benefit from it.
Lars, mService.dk
Bryce Norwood - NowSMS Support
Posted on Friday, May 30, 2003 - 04:13 pm:   

In the meantime, I moved the thread out of the "wish list" area so that it was more likely that people could find it.

Not sure what type of keywords to put in here to increase the likelihood of someone finding it ... hopefully someone interested in this would search on extra HTTP variables.
Lars mService
Posted on Saturday, May 31, 2003 - 08:44 am:   

To point out the great possibilities of this feature, i'll write at bit about what extra http args this can be used for.

Todays setups towards smscs can be complexed and they have many features that we did not have a couple of years ago.

We have many customers and to keep track on who is selling/sending what we add a mediacode to each customer. So with nowsms i am now able to send that mediacode to the smsc, wich make it possible for us, and the smsc, to keep stats over what is going out.

Another thing is the price. In Denmark we can charge the user for various amounts. If i was to have one connection in the smsgw.ini for each price, i would have 500 different connections.

Telco can now also be dynamic.

A really cool thing is that i am now able to send a GUID(Global Unique Identifier) with the message to the user. With that i can make a callback query to the smsc wich will answer back with a status of the message. Did the user receive it? Did it charge right? etc.


Can you see now the many possibilities of this?
3 days ago i had about 250 different connections. When i found out about the ExtraHTTPargs i had cut my connections down to 125 withing 1 hour of programming. So when i get the time i will make my own programming even more dynamic, and i guess in the end i will be under 10 connections in the smsgw.ini

Why do i use that much time on this?
Easy. I am allways interested in things running as smooth as possible. Having 500 different connections in the smsgw.ini and nowsms to read them into memory, someday this would give me worries. And i do not have time for worries.
So optimizing is allways a good thing that makes you sleep good at night ;-)


Best regards
Lars Nielsen