Unique Call ID logging Phases III and IV

Adds call ID logging changes to specific channel drivers that weren't handled
handled in phase II of Call ID Logging. Also covers logging for threads for
threads created by systems that may be involved with many different calls.
Extra special thanks to Richard for rigorous review of chan_dahdi and its
various signalling modules.

review: https://reviewboard.asterisk.org/r/1927/
review: https://reviewboard.asterisk.org/r/1950/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jonathan Rose
2012-06-26 21:45:22 +00:00
parent ee11118695
commit 5eb94d7ebb
15 changed files with 549 additions and 63 deletions

View File

@@ -5417,8 +5417,17 @@ static int parked_call_exec(struct ast_channel *chan, const char *data)
}
AST_LIST_TRAVERSE_SAFE_END;
if (pu) {
struct ast_callid *callid = ast_read_threadstorage_callid();
/* Found a parked call to pickup. */
peer = pu->chan;
/* We need to map the call id we have from this thread to the channel we found. */
if (callid) {
ast_channel_callid_set(peer, callid);
callid = ast_callid_unref(callid);
}
con = ast_context_find(parkinglot->cfg.parking_con);
if (con) {
if (ast_context_remove_extension2(con, pu->parkingexten, 1, NULL, 0)) {