[asterisk-dev] [Code Review] IAX2 Transfer Fix

Russell Bryant russell at digium.com
Tue Feb 3 15:59:32 CST 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/140/#review361
-----------------------------------------------------------

Ship it!


After these couple of minor changes, this can be committed to 1.4 and 1.6.0.  As we discussed, we will hold off on merging this code into trunk and 1.6.1, since in those branches, the changes needed are more complicated due to additional transfer related changes that have been made there.

Nice work, David!


/branches/1.6.0/channels/chan_iax2.c
<http://reviewboard.digium.com/r/140/#comment873>

    Minor nitpick ... add a space after if



/branches/1.6.0/channels/chan_iax2.c
<http://reviewboard.digium.com/r/140/#comment874>

    Just below this, you'll see where the code handled the case of a memory allocation failure of iax_peercallno_pvts.
    
    You should move this allocation to be after that block and also add similar error handling after that.


- Russell


On 2009-02-03 14:02:50, David Vossel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.digium.com/r/140/
> -----------------------------------------------------------
> 
> (Updated 2009-02-03 14:02:50)
> 
> 
> Review request for Asterisk Developers and Russell Bryant.
> 
> 
> Summary
> -------
> 
> Fixes issue with IAX2 transfers not taking place.  As it was, a call that was being transfered would never be handed off correctly to the call ends because of how call numbers were stored in a hash table.  The hash table, "iax_peercallno_pvt", storing all the current call numbers did not take into account the complications associated with transferring a call, so a separate hash table was required.  This second hash table "iax_transfercallno_pvt" handles calls being transfered, once the call transfer is complete the call is removed from the transfer hash table and added to the peer hash table resuming normal operations. Addition functions were created to handle storing, removing, and comparing items in the iax_transfercallno_pvt table. 
> 
> 
> This addresses bug 0013468.
>     http://bugs.digium.com/view.php?id=0013468
> 
> 
> Diffs
> -----
> 
>   /branches/1.6.0/channels/chan_iax2.c 173167 
> 
> Diff: http://reviewboard.digium.com/r/140/diff
> 
> 
> Testing
> -------
> 
> this patch has been tested on both 1.6.0 and 1.4.  1.6.1 and trunk have issues of there own that must be fixed before this patch can be applied to them. 
> 
> 
> Thanks,
> 
> David
> 
>




More information about the asterisk-dev mailing list