summaryrefslogtreecommitdiff
path: root/main/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/main/channel.c b/main/channel.c
index b17dddeef..e9e37c0fd 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -783,10 +783,11 @@ static void ast_channel_destructor(void *obj);
static void ast_dummy_channel_destructor(void *obj);
/*! \brief Create a new channel structure */
-static struct ast_channel * attribute_malloc __attribute__((format(printf, 13, 0)))
+static struct ast_channel * attribute_malloc __attribute__((format(printf, 15, 0)))
__ast_channel_alloc_ap(int needqueue, int state, const char *cid_num, const char *cid_name,
const char *acctcode, const char *exten, const char *context, const struct ast_assigned_ids *assignedids,
- const struct ast_channel *requestor, enum ama_flags amaflag, const char *file, int line,
+ const struct ast_channel *requestor, enum ama_flags amaflag, struct ast_endpoint *endpoint,
+ const char *file, int line,
const char *function, const char *name_fmt, va_list ap)
{
struct ast_channel *tmp;
@@ -963,6 +964,10 @@ __ast_channel_alloc_ap(int needqueue, int state, const char *cid_num, const char
ao2_link(channels, tmp);
+ if (endpoint) {
+ ast_endpoint_add_channel(endpoint, tmp);
+ }
+
/*
* And now, since the channel structure is built, and has its name, let
* the world know of its existance
@@ -975,6 +980,7 @@ struct ast_channel *__ast_channel_alloc(int needqueue, int state, const char *ci
const char *cid_name, const char *acctcode,
const char *exten, const char *context, const struct ast_assigned_ids *assignedids,
const struct ast_channel *requestor, enum ama_flags amaflag,
+ struct ast_endpoint *endpoint,
const char *file, int line, const char *function,
const char *name_fmt, ...)
{
@@ -983,7 +989,7 @@ struct ast_channel *__ast_channel_alloc(int needqueue, int state, const char *ci
va_start(ap, name_fmt);
result = __ast_channel_alloc_ap(needqueue, state, cid_num, cid_name, acctcode, exten, context,
- assignedids, requestor, amaflag, file, line, function, name_fmt, ap);
+ assignedids, requestor, amaflag, endpoint, file, line, function, name_fmt, ap);
va_end(ap);
return result;