diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-05-23 20:06:13 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-05-23 20:06:13 +0000 |
commit | af125e9a83d8ec5bf1840961883ce60177b2dfdf (patch) | |
tree | b35383d02814c266521f9cde1b2a55e5988e501d | |
parent | 62d35a638f377e49363d07c1b39f00cfbf805818 (diff) |
if we are going to set variables on a newly created channel, it should be done *before* we start the PBX on it
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@65676 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_iax2.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index f9821eabe..70164b9e7 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -3485,6 +3485,10 @@ static struct ast_channel *ast_iax2_new(int callno, int state, int capability) i->owner = tmp; i->capability = capability; ast_setstate(tmp, state); + + for (v = i->vars ; v ; v = v->next) + pbx_builtin_setvar_helper(tmp, v->name, v->value); + if (state != AST_STATE_DOWN) { if (ast_pbx_start(tmp)) { ast_log(LOG_WARNING, "Unable to start PBX on %s\n", tmp->name); @@ -3492,9 +3496,7 @@ static struct ast_channel *ast_iax2_new(int callno, int state, int capability) tmp = NULL; } } - for (v = i->vars ; v ; v = v->next) - pbx_builtin_setvar_helper(tmp,v->name,v->value); - + ast_mutex_lock(&usecnt_lock); usecnt++; ast_mutex_unlock(&usecnt_lock); |