<div class="gmail_quote">On Sat, Mar 9, 2013 at 6:01 AM, Rifat Rahman <span dir="ltr"><<a href="mailto:rifatrahmanovi@gmail.com" target="_blank">rifatrahmanovi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello there,<br>
<br>
I have built a kernel module that is responsible for sip and rtp<br>
encryption/decryption, padding/depadding, ptime decrease (splitting a<br>
large rtp packet to splitting into smaller packets of ptime 20) for<br>
incoming packets and ptime increase (merging small rtp packets into a<br>
big rtp packet of desired ptime) for outgoing packets. This is meant<br>
to be a faster process and indeed it is. The whole purpose is to<br>
taking the load from the sip server and to manage this things in<br>
kernel space.<br>
<br>
Now my problem is that, when packets are splitted in kernel space, no<br>
harm is done. But when packets are merged, i see somehow large zitter<br>
and delta that makes the voice robotic. I am quite new to this line.<br>
So from my experience I can say nothing on which side it is the<br>
problem. I carefully observed RTP sequencing and timestamping, and<br>
yes, it is handled perfectly. To have a work around, I suspect the<br>
following things:<br>
<br>
1. The zitter control might be the problem. But on which side I should<br>
concentrate? Should I look the client's zitter buffer handling or<br>
server side zitter buffer handling?<br></blockquote><div><br>You should be running your modified implementation against an unmodified version of Asterisk (or other SIP endpoint) that is known to be working properly in the circumstances you are testing. This should speed up debugging since there is only one side to focus on. <br>
<br><br><font color="#888888">Kinsey</font></div></div><br>