|
From: | Peio Rigaux |
Subject: | Re: [Linphone-developers] Linphone Packet Mechanism |
Date: | Thu, 21 Jan 2021 19:16:34 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 |
Hello Hilman, and thank you for your interest in Linphone.
I have very little knowledge about SRTP and ORTP so I asked around
me to see if we could give you some hints.
ORTP uses a data representation inspired from well known STREAMS
subsystem from System V Unix kernels. There are numerous
documentation or books about it. You may find this documentation
useful:
http://carment.ase.ro/rc/sem/socket/socket-doc/thunder.ocis.temple.edu/netprog6.html (especially section 5.6 Message data structures).
I hope that this will help you.
P.S. : I do answer on these mailing list as a volunteer. That's
why I can take some time to answer. We do value the detailed
explanation you gave to us, this helps to give you a more precise
answer. If you or your company need commercial support, you can
always contact us with our Contact Form.
Peio Rigaux
Junior Software Engineer
Belledonne Communications, the company behind Linphone
Linphone.org
Hello, any update on this?
On Tue, 28 Jul 2020, 03:03 Hilman Fitriana, <hilman.sevenfold@gmail.com> wrote:
Hello, as I always say I am trying to modify the payload encryption module on srtp which causes the payload packet size to double from 160 bytes to 320 bytes. In implementing the module itself, this has been successful, where srtp can be sent from one endpoint to another. However, the next packet will cause errors such as segmentation faults, bus errors or malloc error.
This error appears only at endpoints, while servers that implement the same function do not cause errors. I think this shows that an error occurred when integrating the encryption module with the linphone environment. What I want to ask, how to increase the size of the payload so that it can hold double the previous size? In what modules should I add a size for memory allocation that affects the payload size?
In the mblk_t data type defined in str_utils.h, what's the difference between b_wptr and b_rptr? Why do each other sometimes fill values?
In the data packet delivery mechanism, data clone process occurs where the previous packet stored in the db-> db_base variable will be called (ciphertext) so the auth tag will called, then the first 160 bytes will be replaced by the new data packet. This causes the db->db_base contain new plaintext with the previous auth tag and will be copied to mp->b_rptr. What I want to ask, in which part is the process of storing ciphertext in this db-> db_base? Is the process done after the package delivery process ?
Hope anyone can help answer this question.
Best Regards,
Hilman
_______________________________________________ Linphone-developers mailing list Linphone-developers@nongnu.org https://lists.nongnu.org/mailman/listinfo/linphone-developers
0x99D28356FED78143.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |