because a hangup actually causes a NULL frame to be received, not a hangup frame.
Queueing a hangup if we receive a NULL frame during autoservice corrects this problem
(closes issue #11467, reported by jmls, patched by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@91737
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
if (chan) {
struct ast_frame *f = ast_read(chan);
- if (!f)
+ if (!f) {
+ /* NULL means we got a hangup*/
+ ast_queue_hangup(chan);
continue;
+ }
/* Do not add a default entry in this switch statement. Each new
* frame type should be addressed directly as to whether it should