diff options
author | Kevin Harwell <kharwell@digium.com> | 2014-01-02 19:08:19 +0000 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2014-01-02 19:08:19 +0000 |
commit | 821ab5138118b36c95f80ea0a54c4b6457a4f572 (patch) | |
tree | 8acaba8d6051228803a83c1058931326e35b0ece /channels/chan_pjsip.c | |
parent | f720a9ac89f2045f4a60325b661ce85afec95081 (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.c | 6 |
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); |