Summary: | ASTERISK-20287: Broken hangupcause passtrough | ||||||
Reporter: | Konstantin Suvorov (berlic) | Labels: | |||||
Date Opened: | 2012-08-21 01:30:30 | Date Closed: | 2012-08-29 13:24:07 | ||||
Priority: | Major | Regression? | Yes | ||||
Status: | Closed/Complete | Components: | Applications/app_dial | ||||
Versions: | 1.8.15.0 1.8.16.0 | Frequency of Occurrence | Constant | ||||
Related Issues: |
| ||||||
Environment: | Attachments: | ( 0) app_dial_hangupcause.patch | |||||
Description: | Setup: [PBX1] -- IAX2 -- [PBX2] When you dial from PBX1 with 'g' option, and execute Hangup(custom-cause-code) on PBX2, custom-cause-code will NOT be set to HANGUPCAUSE variable on PBX1. PBX1 dialplan excerpt: ... same => n(dial),Dial(IAX2/${LOGIN}:${PASSWORD}@${HOST}:${PORT}/client,5,g) same => n,NoOp(Hangup cause: ${HANGUPCAUSE}) ... PBX2 dialplan excerpt: ... same => n,Hangup(1) In this setup you will get hangupcause=16 instead of expected 1. I think this is caused by misplaces 'else' statement in app_dial.c (Revision: 369258, Line 2999) after 1.8.15.0 update. In 1.8.13.0 (and I think in 1.8.14.x) it was OK. Please fix this, cause this breaks advanced phone routing schemes. | ||||||
Comments: | By: Konstantin Suvorov (berlic) 2012-08-22 09:21:47.566-0500 This is a patch to fix the problem. Works well in my routing schemes. But I'm not 100% sure it is correct. Please revise the code. |