aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-04-17 23:09:10 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-04-17 23:09:10 +0000
commit7a3d6cc67c4bb6ecbc2a61ce2dc5cc4d1d0055b4 (patch)
treee1c5caafb65b783959df1860c954289e111aac78 /channels
parentca88991a3ced0db5c028a37263dccd16ee8af2f0 (diff)
Merged revisions 114151 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r114151 | oej | 2008-04-15 15:39:29 -0500 (Tue, 15 Apr 2008) | 10 lines Merged revisions 114148 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r114148 | oej | 2008-04-15 22:26:05 +0200 (Tis, 15 Apr 2008) | 2 lines Handle subscribe queues in all situations... Thanks to festr_ on irc for telling me about this bug. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@114241 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 36a8e3154..98bda669a 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -15410,6 +15410,11 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
} else {
if (!p->subscribed && !p->refer)
p->needdestroy = 1;
+ if (ast_test_flag(&p->flags[1], SIP_PAGE2_STATECHANGEQUEUE)) {
+ /* Ready to send the next state we have on queue */
+ ast_clear_flag(&p->flags[1], SIP_PAGE2_STATECHANGEQUEUE);
+ cb_extensionstate((char *)p->context, (char *)p->exten, p->laststate, (void *) p);
+ }
}
} else if (sipmethod == SIP_BYE)
p->needdestroy = 1;