Merged revisions 73512 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r73512 | russell | 2007-07-05 15:50:08 -0500 (Thu, 05 Jul 2007) | 5 lines Pass HOLD and UNHOLD frames to the other channel when they are returned from a native bridge function. This fixes a problem where when two zap channels are natively bridged and one does a flash hook, the other channel did not receive music on hold. (Reported to me directly by Doug Bailey at Digium) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@73513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
0fc25ac3ee
commit
6643934403
|
@ -1749,17 +1749,24 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
|||
/* many things should be sent to the 'other' channel */
|
||||
other = (who == chan) ? peer : chan;
|
||||
if (f->frametype == AST_FRAME_CONTROL) {
|
||||
if (f->subclass == AST_CONTROL_RINGING)
|
||||
ast_indicate(other, AST_CONTROL_RINGING);
|
||||
else if (f->subclass == -1)
|
||||
ast_indicate(other, -1);
|
||||
else if (f->subclass == AST_CONTROL_FLASH)
|
||||
ast_indicate(other, AST_CONTROL_FLASH);
|
||||
else if (f->subclass == AST_CONTROL_OPTION) {
|
||||
switch (f->subclass) {
|
||||
case AST_CONTROL_RINGING:
|
||||
case AST_CONTROL_FLASH:
|
||||
case -1:
|
||||
ast_indicate(other, f->subclass);
|
||||
break;
|
||||
case AST_CONTROL_HOLD:
|
||||
case AST_CONTROL_UNHOLD:
|
||||
ast_indicate_data(other, f->subclass, f->data, f->datalen);
|
||||
break;
|
||||
case AST_CONTROL_OPTION:
|
||||
aoh = f->data;
|
||||
/* Forward option Requests */
|
||||
if (aoh && aoh->flag == AST_OPTION_FLAG_REQUEST)
|
||||
ast_channel_setoption(other, ntohs(aoh->option), aoh->data, f->datalen - sizeof(struct ast_option_header), 0);
|
||||
if (aoh && aoh->flag == AST_OPTION_FLAG_REQUEST) {
|
||||
ast_channel_setoption(other, ntohs(aoh->option), aoh->data,
|
||||
f->datalen - sizeof(struct ast_option_header), 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (f->frametype == AST_FRAME_DTMF_BEGIN) {
|
||||
/* eat it */
|
||||
|
|
Loading…
Reference in New Issue