summaryrefslogtreecommitdiff
path: root/channels/chan_pjsip.c
diff options
context:
space:
mode:
authorKevin Harwell <kharwell@digium.com>2014-01-02 19:08:19 +0000
committerKevin Harwell <kharwell@digium.com>2014-01-02 19:08:19 +0000
commit821ab5138118b36c95f80ea0a54c4b6457a4f572 (patch)
tree8acaba8d6051228803a83c1058931326e35b0ece /channels/chan_pjsip.c
parentf720a9ac89f2045f4a60325b661ce85afec95081 (diff)
res_pjsip: add 'set_var' support on endpoints
Added a new 'set_var' option for ast_sip_endpoint(s). For each variable specified that variable gets set upon creation of a pjsip channel involving the endpoint. (closes issue ASTERISK-22868) Reported by: Joshua Colp Review: https://reviewboard.asterisk.org/r/3095/ ........ Merged revisions 404663 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_pjsip.c')
-rw-r--r--channels/chan_pjsip.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_pjsip.c b/channels/chan_pjsip.c
index 0fbfd9ea5..bab4be581 100644
--- a/channels/chan_pjsip.c
+++ b/channels/chan_pjsip.c
@@ -346,6 +346,7 @@ static struct ast_channel *chan_pjsip_new(struct ast_sip_session *session, int s
struct ast_format fmt;
RAII_VAR(struct chan_pjsip_pvt *, pvt, NULL, ao2_cleanup);
struct ast_sip_channel_pvt *channel;
+ struct ast_variable *var;
if (!(pvt = ao2_alloc(sizeof(*pvt), chan_pjsip_pvt_dtor))) {
return NULL;
@@ -364,6 +365,11 @@ static struct ast_channel *chan_pjsip_new(struct ast_sip_session *session, int s
return NULL;
}
+ for (var = session->endpoint->channel_vars; var; var = var->next) {
+ char buf[512];
+ pbx_builtin_setvar_helper(chan, var->name, ast_get_encoded_str(
+ var->value, buf, sizeof(buf)));
+ }
ast_channel_stage_snapshot(chan);