res_pjsip_refer: Fix bugs involving Parking/PJSIP/transfers

PJSIP would never send the final 200 Notify for a blind transfer
when transferring to parking. This patch fixes that. In addition,
it fixes a reference leak when performing blind transfers to
non-bridging extensions.

Review: https://reviewboard.asterisk.org/r/3485/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@414400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jonathan Rose
2014-05-22 15:44:11 +00:00
parent 4a6d2b4175
commit 11d1a417a5
12 changed files with 158 additions and 40 deletions

View File

@@ -26289,10 +26289,10 @@ struct blind_transfer_cb_data {
* \param user_data A blind_transfer_cb_data struct
* \param transfer_type Unused
*/
static void blind_transfer_cb(struct ast_channel *chan, void *user_data,
static void blind_transfer_cb(struct ast_channel *chan, struct transfer_channel_data *user_data_wrapper,
enum ast_transfer_type transfer_type)
{
struct blind_transfer_cb_data *cb_data = user_data;
struct blind_transfer_cb_data *cb_data = user_data_wrapper->data;
pbx_builtin_setvar_helper(chan, "SIPTRANSFER", "yes");
pbx_builtin_setvar_helper(chan, "SIPTRANSFER_REFERER", cb_data->referred_by);