When a call pickup is performed using and invite with replaces header
the ast_do_pickup method is attempted and a PICKUP stasis message is sent.
ASTERISK-28081 #close
Reported-by: Luit van Drongelen
Change-Id: Ieb1442027a3ce6ae55faca47bc095e53972f947a
}
ao2_ref(bridge, -1);
} else {
- ast_channel_move(replaces_chan, c);
+ int pickedup;
+ ast_channel_lock(replaces_chan);
+ pickedup = ast_can_pickup(replaces_chan) && !ast_do_pickup(c, replaces_chan);
+ ast_channel_unlock(replaces_chan);
+ if (!pickedup) {
+ ast_channel_move(replaces_chan, c);
+ }
ast_hangup(c);
}
ast_channel_unref(c);