I’d like to understand how to prioritise RTP flow through Asterisk.
We currently run Asterisk on a resource constrained linux box. I’d like to ensure that RTP flow through Asterisk is as deterministic as possible to reduce the amount of jitter in the system.
Have tried using the highpriority = yes
flag in asterisk.conf
but have not measured a noticable difference to jitter. Can you explain what change this flag performs underneath?
We use a custom channel driver to feed RTP packets into Asterisk and made a substantial improvement by increasing its thread priority and using FIFO kernel scheduling as below
param.sched_priority = sched_get_priority_max(SCHED_FIFO);
pthread_setschedparam(pthread_self(), SCHED_FIFO, ¶m);
I’d like to find out if there is more that can be done to improve core Asterisk RTP performance? If I could find out which threads are responsible for RTP processing I’d like to attempt to prioritise those as well using the method above.
Thanks,
Adam