Our UDH header is like the following :
11 05 04 xx xx 00 00 00 03 ref {no of fragments} {seq no of the fragment}
where xx xx is the port
      no of fragments : is the max number of fragments
 
This is working perfectly fine with the older version of kannel i.e., 1.0.3.

Rgds,
venu
 
 

Andreas Fink wrote:

On Mittwoch, September 19, 2001, at 12:33 Uhr, Venugopal Panchamukhi wrote:

     The request is not coming till bearerbox. When a HTTP request is made, in the smsbox i'm getting this error.

In this case your UDH is malformed and before it was passed "as-is" while now it complains. Thats correct behaviour. You should not pass any UDH headers which have an incorrect size parameters. If you can show me the UDH header you pass I can tell you what's wrong. For nokia smart messages it is usually like:

06 05 xx xx 00 00 where xx xx is the port.

     As i've written, there is a condition in the beginning of the method smsbox_req_handle() of smsbox.c which will check the UDH length.
     The condition is like this

     if(udh != NULL && (octstr_len(udh) != octstr_get_char(udh, 0) ? 1))
     {
         .....
         return the string "UDH field misformed, rejected"
     }

     We convert the whole UDH field data into hexadecimal format like % followed by the hex-code of the decimal value. Since the condition is taking the first character of the UDH, it is getting failed.

its not taking the first cahracter away, its checking if the length is the same as the first character. In my example above you see that the UDH is 6 bytes long and the spec tell you that the first byte is indicating the length. If thats not the case, your UDH is malformed and Kannel is right in complaining.

-- 
Venugopal Panchamukhi
Mobile# +358-(0)9-4110 1675
E-Mail: [EMAIL PROTECTED]
        [EMAIL PROTECTED]
 


Reply via email to