aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_local.c
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-14 13:58:42 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-14 13:58:42 +0000
commit504ef4a3a32a59a0c5663737c374a4642ae5f42f (patch)
treefc5def642167cc7ec729e8bbeca53c9abe17bb9e /channels/chan_local.c
parent83aecb42e253e8cd2f7dbd97f052d3565d49b4ce (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.c16
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)