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

Russell Bryant russell at digium.com
Tue Feb 3 13:11:37 CST 2009


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



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

    The red marks here indicate that there is mixed usage of spaces and tabs in the indentation.



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

    The only place that you remove the pvt from the transfer callno hash table is here, in the function that runs when a transfer is successful.  There are a couple of other cases to handle.
    
    You have the TXMEDIA case where the pvt needs to stay in both hash tables.  In that case, you'll end up removing it in the iax2 pvt destructor.
    
    Also, you have the case where the transfer attempt has failed.  You'll need to remove it from the transfer callno table at that point, as well.



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

    It looks like you are missing the code that frees this container on module unload.


- Russell


On 2009-02-03 11:29:21, David Vossel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.digium.com/r/140/
> -----------------------------------------------------------
> 
> (Updated 2009-02-03 11:29:21)
> 
> 
> 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