In the shuffling around of res_stasis, control_continue was renamed to
stasis_app_control_continue, but the call in res_stasis wasn't updated.
In looking into it, it turns out it wasn't really the right thing to do
in res_stasis anyways.
This patch changes the handling of received a AST_CONTROL_HANGUP frame
to be the same as receiving a NULL frame, and removed the declaration of
control_continue(), since it doesn't exist any more.
(closes issue ASTERISK-22292)
Reported by: Denis Smirnov
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397295
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
f = ast_read(chan);
if (!f) {
- ast_debug(3,
- "%s: No more frames. Must be done, I guess.\n",
+ /* Continue on in the dialplan */
+ ast_debug(3, "%s: Hangup (no more frames)\n",
ast_channel_uniqueid(chan));
break;
}
- switch (f->frametype) {
- case AST_FRAME_CONTROL:
+ if (f->frametype == AST_FRAME_CONTROL) {
if (f->subclass.integer == AST_CONTROL_HANGUP) {
/* Continue on in the dialplan */
ast_debug(3, "%s: Hangup\n",
ast_channel_uniqueid(chan));
- control_continue(control);
+ break;
}
- break;
- default:
- /* Not handled; discard */
- break;
}
}
*/
void control_wait(struct stasis_app_control *control);
-/*!
- * \brief Signals that a control object should finish and exit back to the
- * dialplan.
- *
- * \param control Control object to continue.
- */
-void control_continue(struct stasis_app_control *control);
-
/*!
* \brief Returns true if control_continue() has been called on this \a control.
*