Fixes issue with IAX2 transfer not handing off calls. Reverts changes in 116884
authorDavid Vossel <dvossel@digium.com>
Wed, 4 Feb 2009 21:25:14 +0000 (21:25 +0000)
committerDavid Vossel <dvossel@digium.com>
Wed, 4 Feb 2009 21:25:14 +0000 (21:25 +0000)
commitb605bdff0c8788330368b8863d95dfb51b7df677
treeff5fcb0a901ac275103b475a3b9906f375e85ad4
parent39ec5d15767d8c7007dc864a6419e1c072733304
Fixes issue with IAX2 transfer not handing off calls. Reverts changes in 116884

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. The changes reverted in 116884 caused backwards compatibility issues involving iax2 transfer with 1.6.0, 1.4, and 1.2.

(closes issue #13468)
Reported by: nicox
Tested by: dvossel

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_iax2.c
channels/iax2-parser.h