|
|
|
|
@ -4666,6 +4666,26 @@ static void clone_variables(struct ast_channel *original, struct ast_channel *cl
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* \pre chan is locked
|
|
|
|
|
*/
|
|
|
|
|
static void report_new_callerid(const struct ast_channel *chan)
|
|
|
|
|
{
|
|
|
|
|
manager_event(EVENT_FLAG_CALL, "NewCallerid",
|
|
|
|
|
"Channel: %s\r\n"
|
|
|
|
|
"CallerIDNum: %s\r\n"
|
|
|
|
|
"CallerIDName: %s\r\n"
|
|
|
|
|
"Uniqueid: %s\r\n"
|
|
|
|
|
"CID-CallingPres: %d (%s)\r\n",
|
|
|
|
|
chan->name,
|
|
|
|
|
S_OR(chan->cid.cid_num, ""),
|
|
|
|
|
S_OR(chan->cid.cid_name, ""),
|
|
|
|
|
chan->uniqueid,
|
|
|
|
|
chan->cid.cid_pres,
|
|
|
|
|
ast_describe_caller_presentation(chan->cid.cid_pres)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief Masquerade a channel
|
|
|
|
|
|
|
|
|
|
@ -4869,6 +4889,8 @@ int ast_do_masquerade(struct ast_channel *original)
|
|
|
|
|
exchange.cid = original->cid;
|
|
|
|
|
original->cid = clonechan->cid;
|
|
|
|
|
clonechan->cid = exchange.cid;
|
|
|
|
|
report_new_callerid(original);
|
|
|
|
|
|
|
|
|
|
exchange.connected = original->connected;
|
|
|
|
|
original->connected = clonechan->connected;
|
|
|
|
|
clonechan->connected = exchange.connected;
|
|
|
|
|
@ -4972,20 +4994,9 @@ void ast_set_callerid(struct ast_channel *chan, const char *cid_num, const char
|
|
|
|
|
ast_free(chan->cid.cid_ani);
|
|
|
|
|
chan->cid.cid_ani = ast_strdup(cid_ani);
|
|
|
|
|
}
|
|
|
|
|
manager_event(EVENT_FLAG_CALL, "NewCallerid",
|
|
|
|
|
"Channel: %s\r\n"
|
|
|
|
|
"CallerIDNum: %s\r\n"
|
|
|
|
|
"CallerIDName: %s\r\n"
|
|
|
|
|
"Uniqueid: %s\r\n"
|
|
|
|
|
"CID-CallingPres: %d (%s)\r\n",
|
|
|
|
|
chan->name,
|
|
|
|
|
S_OR(chan->cid.cid_num, ""),
|
|
|
|
|
S_OR(chan->cid.cid_name, ""),
|
|
|
|
|
chan->uniqueid,
|
|
|
|
|
chan->cid.cid_pres,
|
|
|
|
|
ast_describe_caller_presentation(chan->cid.cid_pres)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
report_new_callerid(chan);
|
|
|
|
|
|
|
|
|
|
ast_channel_unlock(chan);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|