[asterisk-dev] [Code Review] Mapping of extension states
Russell Bryant
russell at digium.com
Tue Jun 30 07:47:25 CDT 2009
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/301/#review911
-----------------------------------------------------------
/branches/1.4/main/pbx.c
<http://reviewboard.digium.com/r/301/#comment2206>
How about we just backport the ast_devstate_aggregate() code from trunk? That will make it easier to keep the fixes in sync.
- Russell
On 2009-06-29 17:51:16, David Vossel wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.digium.com/r/301/
> -----------------------------------------------------------
>
> (Updated 2009-06-29 17:51:16)
>
>
> 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/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