aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-05-30 22:10:09 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-05-30 22:10:09 +0000
commit09ab426af7d3d1ad561cfbe8782ad7b80e95f0fc (patch)
treee5008a1a27b04a876ae5ddc7105d3db13a5aad14 /apps
parentb063a531438d3b08515b2e58447e1ef0d0b5c174 (diff)
Update queue member after end of call (bug #1727)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3114 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rwxr-xr-xapps/app_queue.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 16e7d23f3..71a809e51 100755
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -909,6 +909,7 @@ static int try_calling(struct queue_ent *qe, char *options, char *announceoverri
char *monitorfilename;
struct ast_channel *peer;
struct localuser *lpeer;
+ struct member *member;
int res = 0, bridge = 0;
int zapx = 2;
int x=0;
@@ -1026,7 +1027,8 @@ static int try_calling(struct queue_ent *qe, char *options, char *announceoverri
}
/* Update parameters for the queue */
recalc_holdtime(qe);
- update_queue(qe->parent, lpeer->member);
+ member = lpeer->member;
+ update_queue(qe->parent, member);
hanguptree(outgoing, peer);
outgoing = NULL;
if (announce) {
@@ -1102,7 +1104,7 @@ static int try_calling(struct queue_ent *qe, char *options, char *announceoverri
if(bridge != AST_PBX_NO_HANGUP_PEER)
ast_hangup(peer);
-
+ update_queue(qe->parent, member);
if( bridge == 0 ) res=1; /* JDG: bridge successfull, leave app_queue */
else res = bridge; /* bridge error, stay in the queue */
}