[Home]

Summary:ASTERISK-23154: Manager: ExtensionStatus event does not present information in a human readable way
Reporter:Jonathan Rose (jrose)Labels:
Date Opened:2014-01-16 10:39:45.000-0600Date Closed:2014-01-27 15:10:01.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/ManagerInterface
Versions:SVN 1.8.26.0 11.8.0 12.1.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:ExtensionStatus displays the extension status purely as a number which is set based on a field of the ast_state_cb_info struct called 'exten_state'.

exten_state isn't really a state value. The enumerator has a few values that operate as states, those being:
AST_EXTENSION_REMOVED
AST_EXTENSION_DEACTIVATED
AST_EXTENSION_NOT_INUSE
AST_EXTENSION_INUSE

But after that things start to get a little weird.  The extension state value that I noticed in particular was 16 which would be:
AST_EXTENSION_INUSE | AST_EXTENSION_ONHOLD

and allegedly it would be possible to hit other combinations such as NOT_INUSE | UNAVAILABLE

Obviously changing the value of the Status field in the event is off the table, but a new value should be added to present this information
in a human readable way, possibly simply by providing a function that turns an extension state into a comma separated list of the items in
the enumerator.

Another part of this task could be adding documentation.
Comments: