Hello there, I have built a kernel module that is responsible for sip and rtp encryption/decryption, padding/depadding, ptime decrease (splitting a large rtp packet to splitting into smaller packets of ptime 20) for incoming packets and ptime increase (merging small rtp packets into a big rtp packet of desired ptime) for outgoing packets. This is meant to be a faster process and indeed it is. The whole purpose is to taking the load from the sip server and to manage this things in kernel space. Now my problem is that, when packets are splitted in kernel space, no harm is done. But when packets are merged, i see somehow large zitter and delta that makes the voice robotic. I am quite new to this line. So from my experience I can say nothing on which side it is the problem. I carefully observed RTP sequencing and timestamping, and yes, it is handled perfectly. To have a work around, I suspect the following things: 1. The zitter control might be the problem. But on which side I should concentrate? Should I look the client's zitter buffer handling or server side zitter buffer handling? 2. If asterisk is run from a RT (real time) kernel, should it make any problem? Or, is it necessary to run asterisk from an RT kernel to mitigate my issue? 3. If both RT kernel and zitter control mechanism is taken to the asterisk server, can I hope to solve this problem? I am in doubt whether the process gets somehow expensive while ptime increase. Because I have to drop a few packets, making lists of packets referring to a communication, and etc. etc. I am running out of ideas. Because debugging in kernel space is not easy. -- Rifat Rahman