Skip to content
Snippets Groups Projects
Commit c5a8178b authored by Mark Spencer's avatar Mark Spencer
Browse files

Fix directed pickup to a call that is up (bug #5425 with mods)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 460655f3
No related branches found
No related tags found
No related merge requests found
......@@ -100,7 +100,6 @@ static int pickup_exec(struct ast_channel *chan, void *data)
if (res) {
ast_log(LOG_WARNING, "Unable to answer '%s'\n", chan->name);
res = -1;
ast_mutex_unlock(&target->lock);
goto out;
}
res = ast_queue_control(chan, AST_CONTROL_ANSWER);
......@@ -108,24 +107,21 @@ static int pickup_exec(struct ast_channel *chan, void *data)
ast_log(LOG_WARNING, "Unable to queue answer on '%s'\n",
chan->name);
res = -1;
ast_mutex_unlock(&target->lock);
goto out;
}
res = ast_channel_masquerade(target, chan);
if (res) {
ast_log(LOG_WARNING, "Unable to masquerade '%s' into '%s'\n", chan->name, target->name);
res = -1;
ast_mutex_unlock(&target->lock);
goto out;
}
/* Done */
ast_mutex_unlock(&target->lock);
} else {
ast_log(LOG_DEBUG, "No call pickup possible...\n");
res = -1;
}
/* Done */
out:
if (target) ast_mutex_unlock(&target->lock);
LOCAL_USER_REMOVE(u);
return res;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment