mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 16:21:01 +00:00
Hangups that happen during autoservice were not processed appropriately. This is
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
This commit is contained in:
@@ -90,8 +90,11 @@ static void *autoservice_run(void *ign)
|
|||||||
if (chan) {
|
if (chan) {
|
||||||
struct ast_frame *f = ast_read(chan);
|
struct ast_frame *f = ast_read(chan);
|
||||||
|
|
||||||
if (!f)
|
if (!f) {
|
||||||
|
/* NULL means we got a hangup*/
|
||||||
|
ast_queue_hangup(chan);
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* Do not add a default entry in this switch statement. Each new
|
/* Do not add a default entry in this switch statement. Each new
|
||||||
* frame type should be addressed directly as to whether it should
|
* frame type should be addressed directly as to whether it should
|
||||||
|
Reference in New Issue
Block a user