diff options
author | murf <murf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-05-14 13:58:42 +0000 |
---|---|---|
committer | murf <murf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-05-14 13:58:42 +0000 |
commit | 504ef4a3a32a59a0c5663737c374a4642ae5f42f (patch) | |
tree | fc5def642167cc7ec729e8bbeca53c9abe17bb9e /channels/chan_local.c | |
parent | 83aecb42e253e8cd2f7dbd97f052d3565d49b4ce (diff) |
As per 9570, worrisome CDR warnings have been removed, that are either not helpful, or not relevant.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@64193 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_local.c')
-rw-r--r-- | channels/chan_local.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/channels/chan_local.c b/channels/chan_local.c index 2277c6a0c..ff462ad4b 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -582,10 +582,22 @@ static struct ast_channel *local_new(struct local_pvt *p, int state) { struct ast_channel *tmp = NULL, *tmp2 = NULL; int randnum = ast_random() & 0xffff, fmt = 0; + const char *t; + int ama; /* Allocate two new Asterisk channels */ - if (!(tmp = ast_channel_alloc(1, state, 0, 0, "", p->exten, p->context, 0, "Local/%s@%s-%04x,1", p->exten, p->context, randnum)) - || !(tmp2 = ast_channel_alloc(1, AST_STATE_RING, 0, 0, "", p->exten, p->context, 0, "Local/%s@%s-%04x,2", p->exten, p->context, randnum))) { + /* safe accountcode */ + if (p->owner && p->owner->accountcode) + t = p->owner->accountcode; + else + t = ""; + + if (p->owner) + ama = p->owner->amaflags; + else + ama = 0; + if (!(tmp = ast_channel_alloc(1, state, 0, 0, t, p->exten, p->context, ama, "Local/%s@%s-%04x,1", p->exten, p->context, randnum)) + || !(tmp2 = ast_channel_alloc(1, AST_STATE_RING, 0, 0, t, p->exten, p->context, ama, "Local/%s@%s-%04x,2", p->exten, p->context, randnum))) { if (tmp) ast_channel_free(tmp); if (tmp2) |