I pushed append_body_part_hex() function in master branch, which expects the parameter in hexa format and it will decode it before adding it as a body part. Can you test the function and see if it works ok?

Cheers,
Daniel


On 05.04.18 09:32, Daniel-Constantin Mierla wrote:



On 05.04.18 09:19, Sergey Basov wrote:

> Are you doing msg_apply_changes before use of sipt_destination()?

Yes I do.

> Why you had to do changes inside sipt module and not inside append_body_part()?
I have added line to debug append_body_part() function and it receives string till first \x00 in input...

May be this problem goes from configuration parser? Can it parse \x00 as end of value?

I make change in sipt module because I create ISUP part with replaced \x00 by \x01 in 3 places.
I know where they are incorrect, so I can change them to 00 while changing number using sipt_destination()
OK.

I haven't looked at the code to see how the config parser handles this case, could be what you said.

A solution might be to add a new function append_body_part_hex(...) where the parameter is given in hexadecimal without escaping and the conversion to binary is done inside the code of the function. Like:

append_body_part("01 90 00 20")

Spaces can be omitted or ignored.

Cheers,
Daniel



--
Best regards,
Sergey Basov                     e-mail: sergey.v.basov@gmail.com

2018-04-05 8:20 GMT+03:00 Sergey Basov <sergey.v.basov@gmail.com>:
Hi Daniel,

I think that kamailio while reading configuration think that \x00 character is the end of string..

--
Best regards,
Sergey Basov                     e-mail: sergey.v.basov@gmail.com

2018-04-04 19:47 GMT+03:00 Daniel-Constantin Mierla <miconda@gmail.com>:

Hello,

I haven't looked at the source code, but it looks like it needs some options to make it work with zero characters.

Why you had to do changes inside sipt module and not inside append_body_part()?

Are you doing msg_apply_changes before use of sipt_destination()?

Cheers,
Daniel


On 04.04.18 16:19, Sergey Basov wrote:
Hi All.

Does nobody have any idea how to avoid this?

Thank you.

--
Best regards,
Sergey Basov                     e-mail: sergey.v.basov@gmail.com

2018-04-03 17:07 GMT+03:00 Sergey Basov <sergey.v.basov@gmail.com>:
Hi All!

I have some troubles with encoding hex string to use as ISUP part.

I have next line:

append_body_part("\x01\x10\x48\x00\x0a\x00\x02\x09\x07\x03\x90\x90\x13\x71\x32\x20\x0a\x04\x02\x13\x73\x12\x00","application/isup;version=itu-t92+","signal;handling=optional");

Problem is in the \x00 kamailio reads this string till first \x00

May be there is some workaround?

Currently I have added some C code into SIPT module to change values in this pisitions first to 00 then make other changes.

My current input string is
append_body_part("\x01\x10\x48\x01\x0a\x01\x02\x09\x07\x03\x90\x90\x13\x71\x32\x20\x0a\x04\x02\x13\x73\x12\x01","application/isup;version=itu-t92+","signal;handling=optional");

I first make replacement \x01 to \x00 while executing sipt_destination

May be there is better solution?

Thank you.
--
Best regards,
Sergey Basov                     e-mail: sergey.v.basov@gmail.com



_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - April 16-18, 2018, Berlin - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com



-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - April 16-18, 2018, Berlin - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - April 16-18, 2018, Berlin - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com