diff options
Diffstat (limited to 'channels/chan_h323.c')
-rw-r--r-- | channels/chan_h323.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/channels/chan_h323.c b/channels/chan_h323.c index fd329538a..a4135a976 100644 --- a/channels/chan_h323.c +++ b/channels/chan_h323.c @@ -230,7 +230,7 @@ static void delete_users(void); static void delete_aliases(void); static void prune_peers(void); -static struct ast_channel *oh323_request(const char *type, int format, void *data, int *cause); +static struct ast_channel *oh323_request(const char *type, int format, const struct ast_channel *requestor, void *data, int *cause); static int oh323_digit_begin(struct ast_channel *c, char digit); static int oh323_digit_end(struct ast_channel *c, char digit, unsigned int duration); static int oh323_call(struct ast_channel *c, char *dest, int timeout); @@ -994,7 +994,7 @@ static int __oh323_rtp_create(struct oh323_pvt *pvt) } /*! \brief Private structure should be locked on a call */ -static struct ast_channel *__oh323_new(struct oh323_pvt *pvt, int state, const char *host) +static struct ast_channel *__oh323_new(struct oh323_pvt *pvt, int state, const char *host, const char *linkedid) { struct ast_channel *ch; char *cid_num, *cid_name; @@ -1012,7 +1012,7 @@ static struct ast_channel *__oh323_new(struct oh323_pvt *pvt, int state, const c /* Don't hold a oh323_pvt lock while we allocate a chanel */ ast_mutex_unlock(&pvt->lock); - ch = ast_channel_alloc(1, state, cid_num, cid_name, pvt->accountcode, pvt->exten, pvt->context, pvt->amaflags, "H323/%s", host); + ch = ast_channel_alloc(1, state, cid_num, cid_name, pvt->accountcode, pvt->exten, pvt->context, linkedid, pvt->amaflags, "H323/%s", host); /* Update usage counter */ ast_module_ref(ast_module_info->self); ast_mutex_lock(&pvt->lock); @@ -1717,7 +1717,7 @@ static int create_addr(struct oh323_pvt *pvt, char *opeer) return 0; } } -static struct ast_channel *oh323_request(const char *type, int format, void *data, int *cause) +static struct ast_channel *oh323_request(const char *type, int format, const struct ast_channel *requestor, void *data, int *cause) { int oldformat; struct oh323_pvt *pvt; @@ -1793,7 +1793,7 @@ static struct ast_channel *oh323_request(const char *type, int format, void *dat ast_mutex_unlock(&caplock); ast_mutex_lock(&pvt->lock); - tmpc = __oh323_new(pvt, AST_STATE_DOWN, tmp1); + tmpc = __oh323_new(pvt, AST_STATE_DOWN, tmp1, requestor ? requestor->linkedid : NULL); ast_mutex_unlock(&pvt->lock); if (!tmpc) { oh323_destroy(pvt); @@ -2277,7 +2277,7 @@ static int answer_call(unsigned call_reference, const char *token) } /* allocate a channel and tell asterisk about it */ - c = __oh323_new(pvt, AST_STATE_RINGING, pvt->cd.call_token); + c = __oh323_new(pvt, AST_STATE_RINGING, pvt->cd.call_token, NULL); /* And release when done */ ast_mutex_unlock(&pvt->lock); |