[Home]

Summary:ASTERISK-14390: [patch] Mapping of extension state to device state is incorrect
Reporter:Michael Legart (legart)Labels:
Date Opened:2009-06-29 03:56:40Date Closed:2009-07-02 13:07:37
Priority:BlockerRegression?Yes
Status:Closed/CompleteComponents:Functions/func_devstate
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) exten_helper.diff
Description:It seems that the fix for bug 15057 has introduced a different bug. A
users state can never be RINGING.

> > set global DEVSTATE(Custom:XXXX) RINGING
c3pbx*CLI>
   -- Global variable DEVSTATE(Custom:XXXX) set to RINGING
[Jun 26 15:34:54]  Extension Changed XXXX[default] new state Busy for
Notify User XXXX

Setting e.g. RINGINGINUSE works, but RINGING always gets
Busy as device state result.

The hint for a SIP peer is also Busy while the device is ringing.

This makes it impossible to pickup ringning channels from e.g. a
SNOM phone.

Tested with 1.4.26rc3 and rc4. Looks like it was introduced with
1.4.26rc2.
Comments:By: Mark Michelson (mmichelson) 2009-06-29 11:26:47

The issue appears to be because very few of the states listed in ast_extension_state2 clear the "allbusy" flag. AST_DEVICE_RINGING is one such case.

By: David Vossel (dvossel) 2009-06-29 17:58:14

Take a look at the patch I submitted, I believe it fixes the ringing state issue.  It also adds a cli command 'core show device2extenstate' to show every possible mapping.  Let me know if this resolves it.

By: Michael Legart (legart) 2009-06-30 04:19:50

I have not tested all cases yet, but now the Ringing state is working again.
The rest also seems to work like they should.

Thanks!

By: Amilcar S Silvestre (amilcar) 2009-06-30 16:16:17

Seems to me that the patch fixed all the states.

By: Digium Subversion (svnbot) 2009-07-02 10:05:58

Repository: asterisk
Revision: 204681

U   branches/1.4/include/asterisk/devicestate.h
U   branches/1.4/include/asterisk/pbx.h
U   branches/1.4/main/devicestate.c
U   branches/1.4/main/pbx.c

------------------------------------------------------------------------
r204681 | dvossel | 2009-07-02 10:05:57 -0500 (Thu, 02 Jul 2009) | 14 lines

Improved mapping of extension states from combined device states.

This fixes a few issues with incorrect extension states and adds
a cli command, core show device2extenstate, to display all possible
state mappings.

(closes issue ASTERISK-14390)
Reported by: legart
Patches:
     exten_helper.diff uploaded by dvossel (license 671)
Tested by: dvossel, legart, amilcar

Review: https://reviewboard.asterisk.org/r/301/

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=204681

By: Digium Subversion (svnbot) 2009-07-02 11:03:45

Repository: asterisk
Revision: 204710

_U  trunk/
U   trunk/include/asterisk/devicestate.h
U   trunk/main/devicestate.c
U   trunk/main/pbx.c

------------------------------------------------------------------------
r204710 | dvossel | 2009-07-02 11:03:44 -0500 (Thu, 02 Jul 2009) | 21 lines

Merged revisions 204681 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
 r204681 | dvossel | 2009-07-02 10:05:57 -0500 (Thu, 02 Jul 2009) | 14 lines
 
 Improved mapping of extension states from combined device states.
 
 This fixes a few issues with incorrect extension states and adds
 a cli command, core show device2extenstate, to display all possible
 state mappings.
 
 (closes issue ASTERISK-14390)
 Reported by: legart
 Patches:
       exten_helper.diff uploaded by dvossel (license 671)
 Tested by: dvossel, legart, amilcar
 
 Review: https://reviewboard.asterisk.org/r/301/
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=204710

By: Digium Subversion (svnbot) 2009-07-02 11:12:42

Repository: asterisk
Revision: 204711

_U  branches/1.6.2/
U   branches/1.6.2/include/asterisk/devicestate.h
U   branches/1.6.2/main/devicestate.c
U   branches/1.6.2/main/pbx.c

------------------------------------------------------------------------
r204711 | dvossel | 2009-07-02 11:12:42 -0500 (Thu, 02 Jul 2009) | 28 lines

Merged revisions 204710 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r204710 | dvossel | 2009-07-02 11:03:44 -0500 (Thu, 02 Jul 2009) | 21 lines
 
 Merged revisions 204681 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r204681 | dvossel | 2009-07-02 10:05:57 -0500 (Thu, 02 Jul 2009) | 14 lines
   
   Improved mapping of extension states from combined device states.
   
   This fixes a few issues with incorrect extension states and adds
   a cli command, core show device2extenstate, to display all possible
   state mappings.
   
   (closes issue ASTERISK-14390)
   Reported by: legart
   Patches:
         exten_helper.diff uploaded by dvossel (license 671)
   Tested by: dvossel, legart, amilcar
   
   Review: https://reviewboard.asterisk.org/r/301/
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=204711

By: Digium Subversion (svnbot) 2009-07-02 11:28:30

Repository: asterisk
Revision: 204736

_U  branches/1.6.1/
U   branches/1.6.1/include/asterisk/devicestate.h
U   branches/1.6.1/main/devicestate.c
U   branches/1.6.1/main/pbx.c

------------------------------------------------------------------------
r204736 | dvossel | 2009-07-02 11:28:30 -0500 (Thu, 02 Jul 2009) | 28 lines

Merged revisions 204710 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r204710 | dvossel | 2009-07-02 11:03:44 -0500 (Thu, 02 Jul 2009) | 21 lines
 
 Merged revisions 204681 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r204681 | dvossel | 2009-07-02 10:05:57 -0500 (Thu, 02 Jul 2009) | 14 lines
   
   Improved mapping of extension states from combined device states.
   
   This fixes a few issues with incorrect extension states and adds
   a cli command, core show device2extenstate, to display all possible
   state mappings.
   
   (closes issue ASTERISK-14390)
   Reported by: legart
   Patches:
         exten_helper.diff uploaded by dvossel (license 671)
   Tested by: dvossel, legart, amilcar
   
   Review: https://reviewboard.asterisk.org/r/301/
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=204736

By: Digium Subversion (svnbot) 2009-07-02 13:07:36

Repository: asterisk
Revision: 204754

_U  branches/1.6.0/
U   branches/1.6.0/include/asterisk/devicestate.h
U   branches/1.6.0/main/devicestate.c
U   branches/1.6.0/main/pbx.c

------------------------------------------------------------------------
r204754 | dvossel | 2009-07-02 13:07:35 -0500 (Thu, 02 Jul 2009) | 28 lines

Merged revisions 204710 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r204710 | dvossel | 2009-07-02 11:03:44 -0500 (Thu, 02 Jul 2009) | 21 lines
 
 Merged revisions 204681 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r204681 | dvossel | 2009-07-02 10:05:57 -0500 (Thu, 02 Jul 2009) | 14 lines
   
   Improved mapping of extension states from combined device states.
   
   This fixes a few issues with incorrect extension states and adds
   a cli command, core show device2extenstate, to display all possible
   state mappings.
   
   (closes issue ASTERISK-14390)
   Reported by: legart
   Patches:
         exten_helper.diff uploaded by dvossel (license 671)
   Tested by: dvossel, legart, amilcar
   
   Review: https://reviewboard.asterisk.org/r/301/
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=204754