Summary: | ASTERISK-13770: [patch] ISDN-Transfer causes backcall attempt of attendent phone | ||
Reporter: | Sven Hirschmueller (sodom) | Labels: | |
Date Opened: | 2009-03-18 07:57:04 | Date Closed: | 2009-07-22 12:46:16 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_misdn |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) misdn_xfer_v14_r205839.patch ( 1) misdn.analyzed.trace.log ( 2) misdn.trace.log | |
Description: | If you successfuly transfer a call via ISDN-Transfer the attendant phone will generate a "ghost" back call for the first phone you spoke to. e.g. You got three phones with the number 11 (port 4),15 (port 8) and 13 (port 6). 15 calls 11 -> connection success. 15 presses R-Key -> Hold success, 11 got moh 15 calls 13 -> connection success. 15 simply hook on -> transfer 13->11 success 15 starts ringing again, indicating still established call to 11 as there is nothing left from the connection 15->11 you can run into real problems. Some phones ring forether as they don't reaslise that the connection was disconnected. (Most of Siemens DECT-ISDN phones e.g., on some you can't get rid of the ghost call other the switching the phone off.) I analised the problem down and i think it's simply the problem that asterisk didn't send a ISDN-Relase message for the first connection. It only send a ISDN-Release message for the second connection, so the attendant phone simply didn't know that the initial connection was also released. I attached a asterisk CLI of the misdn debug lv. 1. I guess the problem is that asterisk masquerades the second connection with the first connection. Logicaly only three connection are handling in asterisk but in real you would need to handle four connections. | ||
Comments: | By: Richard Mudgett (rmudgett) 2009-07-10 19:09:52 There are several outstanding problems with the chan_misdn transfer feature that individual fixes would conflict with each other. Therefore, the misdn_xfer_v14_r205839.patch file fixes the following issues: JIRA ABE-1903 - Orphaned held calls left in music-on-hold. issue ASTERISK-13770 - Held calls are not automatically cleared after transfer. issue ASTERISK-13471 - Crash if attempt to transfer a call to an application. By: Digium Subversion (svnbot) 2009-07-14 11:44:50 Repository: asterisk Revision: 206487 U branches/1.4/channels/chan_misdn.c U branches/1.4/channels/misdn/isdn_lib.c U branches/1.4/channels/misdn/isdn_lib.h ------------------------------------------------------------------------ r206487 | rmudgett | 2009-07-14 11:44:47 -0500 (Tue, 14 Jul 2009) | 28 lines Fixes several call transfer issues with chan_misdn. * issue ASTERISK-13471 - Crash if attempt to transfer a call to an application. Masquerade the other pair of the four asterisk channels involved in the two calls. The held call already must be a bridged call (not an applicaton) or it would have been rejected. * issue ASTERISK-13770 - Held calls are not automatically cleared after transfer. Allow the core to initate disconnect of held calls to the ISDN port. This also fixes a similar case where the party on hold hangs up before being transferred or taken off hold. * JIRA ABE-1903 - Orphaned held calls left in music-on-hold. Do not simply block passing the hangup event on held calls to asterisk core. * Fixed to allow held calls to be transferred to ringing calls. Previously, held calls could only be transferred to connected calls. * Eliminated unused call states to simplify hangup code. * Eliminated most uses of "holded" because it is not a word. (closes issue ASTERISK-13471) (closes issue ASTERISK-13770) Reported by: sodom Patches: misdn_xfer_v14_r205839.patch uploaded by rmudgett (license 664) Tested by: rmudgett ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=206487 By: Digium Subversion (svnbot) 2009-07-14 12:01:50 Repository: asterisk Revision: 206489 _U trunk/ U trunk/channels/chan_misdn.c U trunk/channels/misdn/isdn_lib.c U trunk/channels/misdn/isdn_lib.h ------------------------------------------------------------------------ r206489 | rmudgett | 2009-07-14 12:01:49 -0500 (Tue, 14 Jul 2009) | 35 lines Merged revisions 206487 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206487 | rmudgett | 2009-07-14 11:44:47 -0500 (Tue, 14 Jul 2009) | 28 lines Fixes several call transfer issues with chan_misdn. * issue ASTERISK-13471 - Crash if attempt to transfer a call to an application. Masquerade the other pair of the four asterisk channels involved in the two calls. The held call already must be a bridged call (not an applicaton) or it would have been rejected. * issue ASTERISK-13770 - Held calls are not automatically cleared after transfer. Allow the core to initate disconnect of held calls to the ISDN port. This also fixes a similar case where the party on hold hangs up before being transferred or taken off hold. * JIRA ABE-1903 - Orphaned held calls left in music-on-hold. Do not simply block passing the hangup event on held calls to asterisk core. * Fixed to allow held calls to be transferred to ringing calls. Previously, held calls could only be transferred to connected calls. * Eliminated unused call states to simplify hangup code. * Eliminated most uses of "holded" because it is not a word. (closes issue ASTERISK-13471) (closes issue ASTERISK-13770) Reported by: sodom Patches: misdn_xfer_v14_r205839.patch uploaded by rmudgett (license 664) Tested by: rmudgett ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=206489 By: Digium Subversion (svnbot) 2009-07-14 13:17:17 Repository: asterisk Revision: 206555 _U branches/1.6.0/ U branches/1.6.0/channels/chan_misdn.c U branches/1.6.0/channels/misdn/isdn_lib.c U branches/1.6.0/channels/misdn/isdn_lib.h ------------------------------------------------------------------------ r206555 | rmudgett | 2009-07-14 13:17:15 -0500 (Tue, 14 Jul 2009) | 42 lines Merged revisions 206489 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r206489 | rmudgett | 2009-07-14 12:01:48 -0500 (Tue, 14 Jul 2009) | 35 lines Merged revisions 206487 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206487 | rmudgett | 2009-07-14 11:44:47 -0500 (Tue, 14 Jul 2009) | 28 lines Fixes several call transfer issues with chan_misdn. * issue ASTERISK-13471 - Crash if attempt to transfer a call to an application. Masquerade the other pair of the four asterisk channels involved in the two calls. The held call already must be a bridged call (not an applicaton) or it would have been rejected. * issue ASTERISK-13770 - Held calls are not automatically cleared after transfer. Allow the core to initate disconnect of held calls to the ISDN port. This also fixes a similar case where the party on hold hangs up before being transferred or taken off hold. * JIRA ABE-1903 - Orphaned held calls left in music-on-hold. Do not simply block passing the hangup event on held calls to asterisk core. * Fixed to allow held calls to be transferred to ringing calls. Previously, held calls could only be transferred to connected calls. * Eliminated unused call states to simplify hangup code. * Eliminated most uses of "holded" because it is not a word. (closes issue ASTERISK-13471) (closes issue ASTERISK-13770) Reported by: sodom Patches: misdn_xfer_v14_r205839.patch uploaded by rmudgett (license 664) Tested by: rmudgett ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=206555 By: Digium Subversion (svnbot) 2009-07-14 13:32:22 Repository: asterisk Revision: 206558 _U branches/1.6.1/ U branches/1.6.1/channels/chan_misdn.c U branches/1.6.1/channels/misdn/isdn_lib.c U branches/1.6.1/channels/misdn/isdn_lib.h ------------------------------------------------------------------------ r206558 | rmudgett | 2009-07-14 13:32:21 -0500 (Tue, 14 Jul 2009) | 42 lines Merged revisions 206489 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r206489 | rmudgett | 2009-07-14 12:01:48 -0500 (Tue, 14 Jul 2009) | 35 lines Merged revisions 206487 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206487 | rmudgett | 2009-07-14 11:44:47 -0500 (Tue, 14 Jul 2009) | 28 lines Fixes several call transfer issues with chan_misdn. * issue ASTERISK-13471 - Crash if attempt to transfer a call to an application. Masquerade the other pair of the four asterisk channels involved in the two calls. The held call already must be a bridged call (not an applicaton) or it would have been rejected. * issue ASTERISK-13770 - Held calls are not automatically cleared after transfer. Allow the core to initate disconnect of held calls to the ISDN port. This also fixes a similar case where the party on hold hangs up before being transferred or taken off hold. * JIRA ABE-1903 - Orphaned held calls left in music-on-hold. Do not simply block passing the hangup event on held calls to asterisk core. * Fixed to allow held calls to be transferred to ringing calls. Previously, held calls could only be transferred to connected calls. * Eliminated unused call states to simplify hangup code. * Eliminated most uses of "holded" because it is not a word. (closes issue ASTERISK-13471) (closes issue ASTERISK-13770) Reported by: sodom Patches: misdn_xfer_v14_r205839.patch uploaded by rmudgett (license 664) Tested by: rmudgett ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=206558 By: Digium Subversion (svnbot) 2009-07-14 14:49:48 Repository: asterisk Revision: 206565 _U branches/1.6.2/ U branches/1.6.2/channels/chan_misdn.c U branches/1.6.2/channels/misdn/isdn_lib.c U branches/1.6.2/channels/misdn/isdn_lib.h ------------------------------------------------------------------------ r206565 | rmudgett | 2009-07-14 14:49:47 -0500 (Tue, 14 Jul 2009) | 42 lines Merged revisions 206489 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r206489 | rmudgett | 2009-07-14 12:01:48 -0500 (Tue, 14 Jul 2009) | 35 lines Merged revisions 206487 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206487 | rmudgett | 2009-07-14 11:44:47 -0500 (Tue, 14 Jul 2009) | 28 lines Fixes several call transfer issues with chan_misdn. * issue ASTERISK-13471 - Crash if attempt to transfer a call to an application. Masquerade the other pair of the four asterisk channels involved in the two calls. The held call already must be a bridged call (not an applicaton) or it would have been rejected. * issue ASTERISK-13770 - Held calls are not automatically cleared after transfer. Allow the core to initate disconnect of held calls to the ISDN port. This also fixes a similar case where the party on hold hangs up before being transferred or taken off hold. * JIRA ABE-1903 - Orphaned held calls left in music-on-hold. Do not simply block passing the hangup event on held calls to asterisk core. * Fixed to allow held calls to be transferred to ringing calls. Previously, held calls could only be transferred to connected calls. * Eliminated unused call states to simplify hangup code. * Eliminated most uses of "holded" because it is not a word. (closes issue ASTERISK-13471) (closes issue ASTERISK-13770) Reported by: sodom Patches: misdn_xfer_v14_r205839.patch uploaded by rmudgett (license 664) Tested by: rmudgett ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=206565 |