[asterisk-dev] [Code Review] Correct the number of available call numbers in IAX2
rmudgett
reviewboard at asterisk.org
Mon Jan 28 12:39:39 CST 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2293/#review7754
-----------------------------------------------------------
Systems compiled with LOW_MEMORY have similar problems with the 2048 callno value. The way TRUNK_CALL_START is used in a bit test does not work on the 2048 callno value because the tested bit is not set.
The only reason I can find that IAX_MAX_CALLS needs to be a power of 2 is when defining TRUNK_CALL_START and the use of it in a bit test in make_trunk(). Changing make_trunk() to use a compare operator instead of a bit test should remove all requirements that IAX_MAX_CALLS be a power of two. It should be recommended that IAX_MAX_CALLS be a power of two for ease of distinguishing normal/trunk calls in IAX traces but not required.
TRUNK_CALL_START should also have insulating parentheses around the definition to avoid unexpected operator precedence issues.
- rmudgett
On Jan. 26, 2013, 12:41 p.m., Sean Bright wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2293/
> -----------------------------------------------------------
>
> (Updated Jan. 26, 2013, 12:41 p.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Summary
> -------
>
> While populating the list of available call numbers in IAX2 when LOW_MEMORY is not defined, we use every number between 2 and 32768 (inclusive). 32768 is a 16 bit number (a 1 followed by 15 0s). According to the IAX2 RFC, call numbers are 15 bit values, making 32768 invalid.
>
> This patch reduces the number of allocated call numbers by 1 so that the are all 15 bits.
>
> I intend to commit this change to Asterisk versions 1.8, 11, and trunk.
>
> I have another patch to replace the ao2_container usage for call number selection almost ready for RB as well.
>
>
> Diffs
> -----
>
> /trunk/channels/chan_iax2.c 380158
>
> Diff: https://reviewboard.asterisk.org/r/2293/diff
>
>
> Testing
> -------
>
> Ran thousands of test calls (both trunked and non-trunked) between 3 Asterisk servers.
>
>
> Thanks,
>
> Sean
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130128/a763096f/attachment.htm>
More information about the asterisk-dev
mailing list