[Home]

Summary:ASTERISK-28446: Asterisk NOTIFY NOT_INUSE and UNAVAILABLE both send same XML dialog <state>terminated</state>
Reporter:David Brillert (aragon)Labels:
Date Opened:2019-06-12 09:29:29Date Closed:
Priority:MajorRegression?No
Status:Open/NewComponents:Channels/chan_sip/Interoperability
Versions:13.27.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:
Description:I confirmed the bad behavior with Yealink product management.
A Yealink phone configured to subscribe to asterisk hint for devstate will not change the BLF light correctly.
Yealink supports:
BLF = Green/NOT_INUSE
BLF= OFF/UNAVAILABLE

But the lights don't function in the desired manner because Asterisk sends the same XML dialog  <state>terminated</state> for both device states. So the Yealink and all other vendors result in:
BLF = Green/NOT_INUSE
BLF= Green/UNAVAILABLE

Here is the bit of Asterisk source code responsible for the problem:
Asterisk source code:
if (data->state & AST_EXTENSION_RINGING && sip_cfg.notifyringing) {
                      ast_str_append(tmp, 0, "<state>early</state>\n");
              } else if (data->state & (AST_EXTENSION_RINGING | AST_EXTENSION_INUSE | AST_EXTENSION_BUSY |
                                        AST_EXTENSION_ONHOLD) || data->presence_state == AST_PRESENCE_DND) {
                      ast_str_append(tmp, 0, "<state>confirmed</state>\n");
              } else {
                      ast_str_append(tmp, 0, "<state>terminated</state>\n");
              }

This is from chan_sip
So Asterisk always sends terminated if state is "UNAVAILABLE" and by the same if statement "IDLE" will also result in XML <state>terminated</state>

Yealink expects to see a 480 temporarily unavailable response for UNAVAILABLE

Here is a summary of XML responses by devstate from Asterisk 13.27
RINGING <state>early</state>
ONHOLD <state>confirmed</state>
BUSY <state>confirmed</state>
UNAVAILABLE <state>terminated</state>
NOT_INUSE <state>terminated</state>
Comments:By: Asterisk Team (asteriskteam) 2019-06-12 09:29:29.831-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur.

By: Chris Savinovich (csavinovich) 2019-06-12 16:20:21.891-0500

Hello David, any issues using the chan_sip channel driver is in 'extended' support status and is supported only by community members.  Your issue is in the queue. Your patience is appreciated as a community developer may work the issue when time and resources become available.
You are welcome to use instead chan_pjsip, which is fully supported by Digium.
Chris



By: David Brillert (aragon) 2019-06-12 16:32:07.935-0500

If this is in internal queue and extended community support why was it closed as 'fixed'?

By: Asterisk Team (asteriskteam) 2019-06-12 16:32:08.326-0500

This issue has been reopened as a result of your commenting on it as the reporter. It will be triaged once again as applicable.

By: Chris Savinovich (csavinovich) 2019-06-12 16:53:29.702-0500

Hello David, this specific ticket needs to be closed because it is an issue we don't support anymore (the asterisk community solely supports it) We have an limited list of resolutions available when we close a ticket.  I am going to chose "Won't fix" this time.


By: Joshua C. Colp (jcolp) 2019-06-13 11:09:48.922-0500

Just clearing out resolution...