[asterisk-dev] Re: [Fwd: [svn-commits] oej:
branch oej/iaxtrunkfix-1.2 r44779
Rich Adamson
radamson at routers.com
Tue Oct 10 17:45:58 MST 2006
Benny Amorsen wrote:
>>>>>> "RA" == Rich Adamson <radamson at routers.com> writes:
>
> RA> Author: oej Date: Tue Oct 10 04:43:12 2006 New Revision: 44779
>
> RA> URL: http://svn.digium.com/view/asterisk?rev=44779&view=rev Log:
> RA> Add patch for setting MTU on trunks.
>
> RA> With a large amount of traffic on IAX2 trunks, there is bad voice
> RA> quality due to the fact that the IAX2 trunking scheme depends on
> RA> the Linux system to handle fragmentation of UDP packets. This is
> RA> not very efficient. This patch adds the ability to set an MTU size
> RA> for *ALL* iAX2 trunks in Asterisk 1.2. In the patch for svn trunk,
> RA> we will add new features, like setting MTU per trunk. In the case
> RA> of Asterisk 1.2, we wanted a small clean patch to be able to get
> RA> voice quality back without changing a lot of source code.
>
> Why not simply do path MTU discovery?
Path mtu discovery will not provide the required performance mtu sizing
with the single exception of when an asterisk box is directly attached
to a dsl modem (or other transmission link). That means absolutely no
other box sharing the link. The patch is oriented around moving rtp
packets out of the local ethernet interface, and does not consider the
impact from the "next" box in the transmission path.
This might be a poor example, but I'll try it anyway.
Example: Asterisk box with patch applied. Another linux box on the same
local segment providing dns, simple web, and maybe email. Dsl modem with
512k bandwidth.
The path mtu discovery for the general linux box will likely return a
1500 bytes, and will attempt to send all data via the dsl modem in
packets of 1500 byte size.
The asterisk box (with patch applied) will attempt to impact the mtu
size of the packets sent only by the asterisk box, sizing those packets
to something less then 1500 byte packets. (That will only occur when
using iax trunking only.)
When a number of large packets from the general linux machine queues up
at the dsl modem (or cisco router if you want that instead), as soon as
one large packet begins to flow across the dsl link, the link is 100%
utilized until that packet has been sent, and that elapsed time is much
larger then is wanted for consistent rtp packet flows (resulting in
jitter). In effect, it turns out to be iax packet starvation.
I'm not saying the patch is bad, however it will have very little impact
with the exception of large installations where many iax conversations
are occurring across a singe path.
More information about the asterisk-dev
mailing list