Hi Jorge,

To check what should be put to the database, try to connect sqlbox as following:

Smsbox <-> sqlbox <-> bearerbox

Then, send a test sms via http request to smsbox, providing it with dlr-mask=31 
and dlr-url containing url-encoded values. The sqlbox should create a correct 
sql row in the db and pass the message to the bearerbox. Also, turn on the sql 
logging in your db before you check it, to catch the insert command.

--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

Jorge Raimundo <[email protected]> wrote:

Hi all!

I'm using sqlbox to send messages via SMPP, but I'm getting a very strange 
problem.

I've decided to use smsbox to handle the DLR via the dlr_url.

So let me see if I can explain all the situations occurring.

1st insertion on the database:
INSERT INTO send_sms( momt, sender, receiver, msgdata, sms_type, dlr_mask, 
dlr_url) VALUES ('MT', 'MV', '+3519******67', 'Hello world', 2, 31, 
'http://my_domain/services/teste.php?type=%d%destination=91******7');

As you can see, the URL has an error (it should have type=%d&destination 
instead of type=%d%destination). This ended up in having a DLR with the status 
of 8 (!?) not properly registered by the php script since the url is malformed.

2nd insertion on the database:
INSERT INTO send_sms( momt, sender, receiver, msgdata, sms_type, dlr_mask, 
dlr_url) VALUES ('MT', 'MV', '+3519******67', 'Hello world', 2, 31, 
'http://my_domain/services/teste.php?type=%d&destination=91******7');

This ended up in having a DLR with the status of 16 properly registered by my 
php script (yes, it works with the dlr_url not encoded).

At this point I contacted the support of my provider to know why they where 
rejecting my messages. They told me that the messages where being sent with 
DCS=216. They told me to set DCS to 1 if I'm sending 7-bit messages or DCS to 3 
or 0 if I'm submitting ISO (8-bit message).

In fact on the smsc log I have this: data_coding: 216 = 0x000000d8

3rd insertion on the database:
Wondering why the change on the dlr_url gave different DLR status, I made the 
following
INSERT INTO send_sms( momt, sender, receiver, msgdata, sms_type, dlr_mask, 
dlr_url) VALUES ('MT', 'MV', '+3519******67', 'Hello world', 2, 31, '7');

This ended up in having a DLR with the status of 0. Yes, I received the 
message, but... the text was this: 䡥汬漠睯牬搀

The smsc log still gives: data_coding: 216 = 0x000000d8

4th insertion on the database:
Testing what would happen if I passed a URL encoded dlr_url
INSERT INTO send_sms( momt, sender, receiver, msgdata, sms_type, dlr_mask, 
dlr_url) VALUES ('MT', 'MV', '+3519******67', 'Hello world', 2, 31, 
'http%3A%2F%2Fmy_domain%2Fservices%2Fteste.php%3Ftype%3D%25d%26destination%3D91******7');

This ended up in having a DLR with the status of 0. I received the same text: 
䡥汬漠睯牬搀
The smsc log still gives: data_coding: 216 = 0x000000d8
The smsbox complains that:
ERROR: URL 
<http%3A%2F%2Fmy_domain%2Fservices%2Fteste.php%3Ftype%3D%25d%26destination%3D91******7>
 doesn't start with `http://' nor `https://'
ERROR: Couldn't send request to 
<http%3A%2F%2Fmy_domain%2Fservices%2Fteste.php%3Ftype%3D%25d%26destination%3D91******7>

Summarizing:
I don't know what's happening here.
Different values of the dlr_url cause different SMSC reactions to the request.
The DCS value is strange and I'm getting Chinese characters when I should 
receive a "Hello world".

Anyone could, please, point out what I am missing here?

--


 Jorge Raimundo
RAN Consultant | [email protected] António Albino Machado, 
Nº33, 2ºB.S. Domingos de Benfica, 1600 - 870 LisboaFixed PT: +351 21 155 20 53 
| Mobile PT: +351 91 933 13 67www.multivision.pt


Reply via email to