summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 47176c66e..44eb1c163 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -15505,6 +15505,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;