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:18 | Date Closed: | 2017-08-16 06:53:13 |
Priority: | Minor | Regression? | |
Status: | Closed/Complete | Components: | 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. |