diff options
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r-- | channels/chan_skinny.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index bb270d6a9..49f2c84f6 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -4845,6 +4845,7 @@ static void *skinny_newcall(void *data) struct skinny_device *d = l->device; int res = 0; + ast_channel_lock(c); ast_set_callerid(c, l->hidecallerid ? "" : l->cid_num, l->hidecallerid ? "" : l->cid_name, @@ -4858,6 +4859,7 @@ static void *skinny_newcall(void *data) ast_party_name_init(&ast_channel_connected(c)->id.name); #endif ast_setstate(c, AST_STATE_RING); + ast_channel_unlock(c); if (!sub->rtp) { start_rtp(sub); } @@ -5501,7 +5503,6 @@ static struct ast_channel *skinny_new(struct skinny_line *l, struct skinny_subli pbx_builtin_setvar_helper(tmp, v->name, v->value); ast_channel_stage_snapshot_done(tmp); - ast_channel_unlock(tmp); if (state != AST_STATE_DOWN) { |