[Home]

Summary:ASTERISK-26919: res_pjsip_dialog_info_body_generator: Ringing&&InUse behavior difference between chan_sip and res_pjsip
Reporter:Zach R (zrothy)Labels:
Date Opened:2017-04-04 09:34:18Date Closed:2017-08-16 06:53:13
Priority:MinorRegression?
Status:Closed/CompleteComponents:Resources/res_pjsip_dialog_info_body_generator
Versions:13.7.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:CentOS release 6.6 (Final) Working off git branch 13. Version: GIT-13-73cbb91 Attachments:( 0) ringing_in_use_pickup.patch
Description:Previously on asterisk 1.8 with chan_sip the dialog body of a notify for a device that was Ringing&&InUse had its state set to early in the dialog body. With Asterisk 13, using PJSIP as the channel driver it is sending "Completed".  Due to the state being completed, I found that Cisco SPA series phones monitoring a hint won't flash as expected for Ringing&&InUse states.

I was able to resolve this by changing completed to early within /res/res_pjsip/presence_xml.c inside the method "ast_sip_presence_exten_state_to_str".

After patching this I found a related bug which was not allowing a BLF on the SPA phones to do directed pickup from the Ringing&&InUse device it monitored..

Previously it was patched so that for the ringing state in /res/res_pjsip_dialog_info_body_generator.c, method 'dialog_info_generate_body_content', added a direction node to the xml dialog. This is not added during Ringing&&InUse as the if statement that adds it only checks for the state being ringing. After modifying the if statement a bit so it added it, I was able to get teh directed pickup to work as it had done in earlier versions of asterisk.
Comments:By: Asterisk Team (asteriskteam) 2017-04-04 09:34:19.521-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].

By: Zach R (zrothy) 2017-04-04 09:44:08.743-0500

This is the modifications I made to the code to get it working as it had been in earlier versions of asterisk.

[ringing_in_use_pickup.patch|https://issues.asterisk.org/jira/secure/attachment/55342/ringing_in_use_pickup.patch]

By: Rusty Newton (rnewton) 2017-04-06 17:09:01.681-0500

Thanks for your work Zach. Do you want to get this up on Gerrit so it can be reviewed and start moving towards a merge?

https://wiki.asterisk.org/wiki/display/AST/Gerrit+Usage

By: Zach R (zrothy) 2017-04-14 15:18:06.836-0500

Sorry for the late reply got held up with some other stuff.  I've opened a pull request/patch on Gerrit following the instructions you linked. As well I cherry picked it via the website rather than terminal for the cherry pick to 14 and master if that matters. If it does I can redo it following the cherry pick terminal instructions.

By: Rusty Newton (rnewton) 2017-04-14 15:29:54.736-0500

Thanks. I don't think that is a problem. If there is an issue one of the reviewers on Gerrit will let you know.