[asterisk-dev] [Code Review] Mapping of extension states

Mark Michelson mmichelson at digium.com
Tue Jun 30 12:06:03 CDT 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/301/#review912
-----------------------------------------------------------

Ship it!


Looks good to me, and I agree that you don't need the "deprecated" version of dev-mode only code.

- Mark


On 2009-06-30 11:04:07, David Vossel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.digium.com/r/301/
> -----------------------------------------------------------
> 
> (Updated 2009-06-30 11:04:07)
> 
> 
> Review request for Asterisk Developers and Mark Michelson.
> 
> 
> Summary
> -------
> 
> Mapping extension states is tricky.  This patch fixes a few issues with incorrect extension states and adds a cli command to display all possible state mappings.  Look at the test output below and confirm each mapped extension state for the two device states is as expected.
> 
> 
> This addresses bug 15413.
>     https://issues.asterisk.org/view.php?id=15413
> 
> 
> Diffs
> -----
> 
>   /branches/1.4/include/asterisk/devicestate.h 204194 
>   /branches/1.4/include/asterisk/pbx.h 204194 
>   /branches/1.4/main/devicestate.c 204194 
>   /branches/1.4/main/pbx.c 204194 
> 
> Diff: http://reviewboard.digium.com/r/301/diff
> 
> 
> Testing
> -------
> 
> 
>  Exten:          Idle Dev1:     Unknown	Dev2:     Unknown
>  Exten:          Idle Dev1:  Not in use	Dev2:     Unknown
>  Exten:         InUse Dev1:      In use	Dev2:     Unknown
>  Exten:          Busy Dev1:        Busy	Dev2:     Unknown
>  Exten:          Idle Dev1:     Invalid	Dev2:     Unknown
>  Exten:          Idle Dev1: Unavailable	Dev2:     Unknown
>  Exten:       Ringing Dev1:     Ringing	Dev2:     Unknown
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2:     Unknown
>  Exten:          Hold Dev1:     On Hold	Dev2:     Unknown
>  Exten:          Idle Dev1:     Unknown	Dev2:  Not in use
>  Exten:          Idle Dev1:  Not in use	Dev2:  Not in use
>  Exten:         InUse Dev1:      In use	Dev2:  Not in use
>  Exten:          Busy Dev1:        Busy	Dev2:  Not in use
>  Exten:          Idle Dev1:     Invalid	Dev2:  Not in use
>  Exten:          Idle Dev1: Unavailable	Dev2:  Not in use
>  Exten:       Ringing Dev1:     Ringing	Dev2:  Not in use
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2:  Not in use
>  Exten:          Hold Dev1:     On Hold	Dev2:  Not in use
>  Exten:         InUse Dev1:     Unknown	Dev2:      In use
>  Exten:         InUse Dev1:  Not in use	Dev2:      In use
>  Exten:         InUse Dev1:      In use	Dev2:      In use
>  Exten:          Busy Dev1:        Busy	Dev2:      In use
>  Exten:         InUse Dev1:     Invalid	Dev2:      In use
>  Exten:         InUse Dev1: Unavailable	Dev2:      In use
>  Exten: InUse&Ringing Dev1:     Ringing	Dev2:      In use
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2:      In use
>  Exten:         InUse Dev1:     On Hold	Dev2:      In use
>  Exten:          Busy Dev1:     Unknown	Dev2:        Busy
>  Exten:          Busy Dev1:  Not in use	Dev2:        Busy
>  Exten:          Busy Dev1:      In use	Dev2:        Busy
>  Exten:          Busy Dev1:        Busy	Dev2:        Busy
>  Exten:          Busy Dev1:     Invalid	Dev2:        Busy
>  Exten:          Busy Dev1: Unavailable	Dev2:        Busy
>  Exten: InUse&Ringing Dev1:     Ringing	Dev2:        Busy
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2:        Busy
>  Exten:          Busy Dev1:     On Hold	Dev2:        Busy
>  Exten:          Idle Dev1:     Unknown	Dev2:     Invalid
>  Exten:          Idle Dev1:  Not in use	Dev2:     Invalid
>  Exten:         InUse Dev1:      In use	Dev2:     Invalid
>  Exten:          Busy Dev1:        Busy	Dev2:     Invalid
>  Exten:   Unavailable Dev1:     Invalid	Dev2:     Invalid
>  Exten:   Unavailable Dev1: Unavailable	Dev2:     Invalid
>  Exten:       Ringing Dev1:     Ringing	Dev2:     Invalid
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2:     Invalid
>  Exten:          Hold Dev1:     On Hold	Dev2:     Invalid
>  Exten:          Idle Dev1:     Unknown	Dev2: Unavailable
>  Exten:          Idle Dev1:  Not in use	Dev2: Unavailable
>  Exten:         InUse Dev1:      In use	Dev2: Unavailable
>  Exten:          Busy Dev1:        Busy	Dev2: Unavailable
>  Exten:   Unavailable Dev1:     Invalid	Dev2: Unavailable
>  Exten:   Unavailable Dev1: Unavailable	Dev2: Unavailable
>  Exten:       Ringing Dev1:     Ringing	Dev2: Unavailable
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2: Unavailable
>  Exten:          Hold Dev1:     On Hold	Dev2: Unavailable
>  Exten:       Ringing Dev1:     Unknown	Dev2:     Ringing
>  Exten:       Ringing Dev1:  Not in use	Dev2:     Ringing
>  Exten: InUse&Ringing Dev1:      In use	Dev2:     Ringing
>  Exten: InUse&Ringing Dev1:        Busy	Dev2:     Ringing
>  Exten:       Ringing Dev1:     Invalid	Dev2:     Ringing
>  Exten:       Ringing Dev1: Unavailable	Dev2:     Ringing
>  Exten:       Ringing Dev1:     Ringing	Dev2:     Ringing
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2:     Ringing
>  Exten: InUse&Ringing Dev1:     On Hold	Dev2:     Ringing
>  Exten: InUse&Ringing Dev1:     Unknown	Dev2:  Ring+Inuse
>  Exten: InUse&Ringing Dev1:  Not in use	Dev2:  Ring+Inuse
>  Exten: InUse&Ringing Dev1:      In use	Dev2:  Ring+Inuse
>  Exten: InUse&Ringing Dev1:        Busy	Dev2:  Ring+Inuse
>  Exten: InUse&Ringing Dev1:     Invalid	Dev2:  Ring+Inuse
>  Exten: InUse&Ringing Dev1: Unavailable	Dev2:  Ring+Inuse
>  Exten: InUse&Ringing Dev1:     Ringing	Dev2:  Ring+Inuse
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2:  Ring+Inuse
>  Exten: InUse&Ringing Dev1:     On Hold	Dev2:  Ring+Inuse
>  Exten:          Hold Dev1:     Unknown	Dev2:     On Hold
>  Exten:          Hold Dev1:  Not in use	Dev2:     On Hold
>  Exten:         InUse Dev1:      In use	Dev2:     On Hold
>  Exten:          Busy Dev1:        Busy	Dev2:     On Hold
>  Exten:          Hold Dev1:     Invalid	Dev2:     On Hold
>  Exten:          Hold Dev1: Unavailable	Dev2:     On Hold
>  Exten: InUse&Ringing Dev1:     Ringing	Dev2:     On Hold
>  Exten: InUse&Ringing Dev1:  Ring+Inuse	Dev2:     On Hold
>  Exten:          Hold Dev1:     On Hold	Dev2:     On Hold
> 
> 
> Thanks,
> 
> David
> 
>




More information about the asterisk-dev mailing list