Issues with using UDH with sqlbox

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Issues with using UDH with sqlbox

Jon Schøpzinsky
Hi Developers,

I am using sqlbox to inject SMS’es into kannel.

My client has specific needs as to how DLR is handled for concatenated messages, and therefore I can’t let Kannel do it for me, as I need a DLR when the entirety of the concatenated message is delivered.

I have run into a problem though. Whenever I add the concatenation UDH header to my INSERT, sqlbox strips away everything after the first 0x00 character.

I have also found out why this is, as sqlbox fetches the udhdata field using the octstr_null_create function, which in turn points to the octstr_create function.
The documentation on this function, very specifically specifies, that it sees 0x00 as a \0 string terminator, and therefore can’t read anything after this.

I have tried fixing it with at patch, that used the octstr_create_from_data function instead, but that did not work either. It again only reads until the first \0 characters, and then throws away the rest.

Is this something somebody with some more Kannel developer experience can fix?

Kind Regards
Jon Schøpzinsky
Teleguys
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Issues with using UDH with sqlbox

spameden
My guess is you need to urlencode UDH field.

2016-05-16 22:46 GMT+03:00 Jon Schøpzinsky <[hidden email]>:
Hi Developers,

I am using sqlbox to inject SMS’es into kannel.

My client has specific needs as to how DLR is handled for concatenated messages, and therefore I can’t let Kannel do it for me, as I need a DLR when the entirety of the concatenated message is delivered.

I have run into a problem though. Whenever I add the concatenation UDH header to my INSERT, sqlbox strips away everything after the first 0x00 character.

I have also found out why this is, as sqlbox fetches the udhdata field using the octstr_null_create function, which in turn points to the octstr_create function.
The documentation on this function, very specifically specifies, that it sees 0x00 as a \0 string terminator, and therefore can’t read anything after this.

I have tried fixing it with at patch, that used the octstr_create_from_data function instead, but that did not work either. It again only reads until the first \0 characters, and then throws away the rest.

Is this something somebody with some more Kannel developer experience can fix?

Kind Regards
Jon Schøpzinsky
Teleguys

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Issues with using UDH with sqlbox

Jon Schøpzinsky
Hi,

Didnt see that part of the code, but why is the send_sms table then created with udhdata as a BLOB? That makes no sense if it's parsed as a string...

And addressed devel as I had pointers to a possible error in the source

On Monday, May 16, 2016, spameden <[hidden email]> wrote:
check here https://redmine.kannel.org/projects/kannel-sq-lbox/repository/entry/trunk/gw/sqlbox.c#L182

both msgdata and udhdata are urldecode prior doing anything.

    /* URL-decode first */
    if (octstr_url_decode(msg->sms.msgdata) == -1)
        return -1;
    if (octstr_url_decode(msg->sms.udhdata) == -1)
        return -1;

also it's more appropriate to address your issue to users@ rather than devel@, so I'm copying users@ list.

2016-05-16 23:01 GMT+03:00 spameden <<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;spameden@gmail.com&#39;);" target="_blank">spameden@...>:
My guess is you need to urlencode UDH field.

2016-05-16 22:46 GMT+03:00 Jon Schøpzinsky <<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;jos@teleguys.com&#39;);" target="_blank">jos@...>:
Hi Developers,

I am using sqlbox to inject SMS’es into kannel.

My client has specific needs as to how DLR is handled for concatenated messages, and therefore I can’t let Kannel do it for me, as I need a DLR when the entirety of the concatenated message is delivered.

I have run into a problem though. Whenever I add the concatenation UDH header to my INSERT, sqlbox strips away everything after the first 0x00 character.

I have also found out why this is, as sqlbox fetches the udhdata field using the octstr_null_create function, which in turn points to the octstr_create function.
The documentation on this function, very specifically specifies, that it sees 0x00 as a \0 string terminator, and therefore can’t read anything after this.

I have tried fixing it with at patch, that used the octstr_create_from_data function instead, but that did not work either. It again only reads until the first \0 characters, and then throws away the rest.

Is this something somebody with some more Kannel developer experience can fix?

Kind Regards
Jon Schøpzinsky
Teleguys


Loading...