[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] Linphone Packet Mechanism

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: (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

Le 02/08/2020 à 10:05, Hilman Cino a écrit :
Hello, any update on this?

On Tue, 28 Jul 2020, 03:03 Hilman Fitriana, <> 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,

Linphone-developers mailing list

Attachment: 0x99D28356FED78143.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]