diff options
author | Richard Mudgett <rmudgett@digium.com> | 2010-11-03 18:38:27 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2010-11-03 18:38:27 +0000 |
commit | cbd42ce6eb3dffe4e6fdb59216ef94968ccf2bd4 (patch) | |
tree | 18012bf4c870afd3f43178e0c5b2b02f3feb91b7 /channels/sig_analog.c | |
parent | 9528e27b8c8cfc9d17a221afe6bd2a914a686754 (diff) |
Merged revisions 293807 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r293807 | rmudgett | 2010-11-03 13:35:19 -0500 (Wed, 03 Nov 2010) | 34 lines
Merged revisions 293806 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r293806 | rmudgett | 2010-11-03 13:31:57 -0500 (Wed, 03 Nov 2010) | 27 lines
Merged revisions 293805 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r293805 | rmudgett | 2010-11-03 13:23:04 -0500 (Wed, 03 Nov 2010) | 20 lines
Party A in an analog 3-way call would continue to hear ringback after party C answers.
All parties are analog FXS ports.
1) A calls B.
2) A flash hooks to call C.
3) A flash hooks to bring C into 3-way call before C answers. (A and B hear ringback)
4) C answers
5) A continues to hear ringback during the 3-way call. (All parties can hear each other.)
* Fixed use of wrong variable in dahdi_bridge() that stopped ringback on
the wrong subchannel.
* Made several debug messages have more information.
A similar issue happens if B and C are SIP channels. B continues to hear
ringback. For some reason this only affects v1.8 and trunk.
* Don't start ringback on the real and 3-way subchannels when creating the
3-way conference. Removing this code is benign on v1.6.2 and earlier.
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@293808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/sig_analog.c')
-rw-r--r-- | channels/sig_analog.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/channels/sig_analog.c b/channels/sig_analog.c index 18753270b..30a1de47d 100644 --- a/channels/sig_analog.c +++ b/channels/sig_analog.c @@ -3170,7 +3170,9 @@ static struct ast_frame *__analog_handle_event(struct analog_pvt *p, struct ast_ /* Lets see what we're up to */ if (((ast->pbx) || (ast->_state == AST_STATE_UP)) && (p->transfertobusy || (ast->_state != AST_STATE_BUSY))) { - ast_verb(3, "Building conference on call on %s and %s\n", p->subs[ANALOG_SUB_THREEWAY].owner->name, p->subs[ANALOG_SUB_REAL].owner->name); + ast_verb(3, "Building conference call with %s and %s\n", + p->subs[ANALOG_SUB_THREEWAY].owner->name, + p->subs[ANALOG_SUB_REAL].owner->name); /* Put them in the threeway, and flip */ analog_set_inthreeway(p, ANALOG_SUB_THREEWAY, 1); analog_set_inthreeway(p, ANALOG_SUB_REAL, 1); @@ -3182,11 +3184,6 @@ static struct ast_frame *__analog_handle_event(struct analog_pvt *p, struct ast_ ast_queue_control(p->subs[orig_3way_sub].owner, AST_CONTROL_UNHOLD); } p->owner = p->subs[ANALOG_SUB_REAL].owner; - if (ast->_state == AST_STATE_RINGING) { - ast_debug(1, "Enabling ringtone on real and threeway\n"); - analog_play_tone(p, ANALOG_SUB_REAL, ANALOG_TONE_RINGTONE); - analog_play_tone(p, ANALOG_SUB_THREEWAY, ANALOG_TONE_RINGTONE); - } } else { ast_verb(3, "Dumping incomplete call on %s\n", p->subs[ANALOG_SUB_THREEWAY].owner->name); analog_swap_subs(p, ANALOG_SUB_THREEWAY, ANALOG_SUB_REAL); |