mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 19:38:22 +00:00
Fix the Park 'r' option when a channel parks itself.
When a channel uses the Park appliation to park itself with the 'r' option, the channel hears music-on-hold instead of the requested ringing. * Added a missing check for the 'r' option when a channel parks itself. (closes issue ASTERISK-19382) Reported by: James Stocks Patches by: dsessions Review: https://reviewboard.asterisk.org/r/2148/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@375388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1630,10 +1630,15 @@ static int park_call_full(struct ast_channel *chan, struct ast_channel *peer, st
|
|||||||
}
|
}
|
||||||
if (peer == chan) { /* pu->notquiteyet = 1 */
|
if (peer == chan) { /* pu->notquiteyet = 1 */
|
||||||
/* Wake up parking thread if we're really done */
|
/* Wake up parking thread if we're really done */
|
||||||
pu->hold_method = AST_CONTROL_HOLD;
|
if (ast_test_flag(args, AST_PARK_OPT_RINGING)) {
|
||||||
ast_indicate_data(chan, AST_CONTROL_HOLD,
|
pu->hold_method = AST_CONTROL_RINGING;
|
||||||
S_OR(pu->parkinglot->cfg.mohclass, NULL),
|
ast_indicate(chan, AST_CONTROL_RINGING);
|
||||||
!ast_strlen_zero(pu->parkinglot->cfg.mohclass) ? strlen(pu->parkinglot->cfg.mohclass) + 1 : 0);
|
} else {
|
||||||
|
pu->hold_method = AST_CONTROL_HOLD;
|
||||||
|
ast_indicate_data(chan, AST_CONTROL_HOLD,
|
||||||
|
S_OR(pu->parkinglot->cfg.mohclass, NULL),
|
||||||
|
!ast_strlen_zero(pu->parkinglot->cfg.mohclass) ? strlen(pu->parkinglot->cfg.mohclass) + 1 : 0);
|
||||||
|
}
|
||||||
pu->notquiteyet = 0;
|
pu->notquiteyet = 0;
|
||||||
pthread_kill(parking_thread, SIGURG);
|
pthread_kill(parking_thread, SIGURG);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user