Summary: | ASTERISK-25951: res_agi: run_agi eats frames it shouldn't | ||||
Reporter: | George Joseph (gjoseph) | Labels: | |||
Date Opened: | 2016-04-22 17:46:14 | Date Closed: | 2016-04-27 11:12:33 | ||
Priority: | Major | Regression? | |||
Status: | Closed/Complete | Components: | Resources/res_agi | ||
Versions: | 13.8.2 | Frequency of Occurrence | Constant | ||
Related Issues: |
| ||||
Environment: | Attachments: | ||||
Description: | The run_agi function is eating control frames when it shouldn't be. This is causing issues when an AGI is run from CONNECTED_LINE_SEND_SUB in a blond transfer.
Alice calls Bob. Bob attended transfers to Charlie but hangs up before Charlie answers. Alice gets the COLP UPDATE indicating Charlie but Charlie never gets an UPDATE and is left thinking he's connected to Bob In this case, when CONNECTED_LINE_SEND_SUB runs on Alice's channel and it calls an AGI, the extra eaten frames prevent CONNECTED_LINE_SEND_SUB from running on Charlie's channel. | ||||
Comments: | By: Morten Tryfoss (mtryfoss) 2016-09-06 09:49:59.040-0500 It seems like this change causes an issue with callerid (or changing parameters on the channels) after assisted transfer. Scenario: A calls B B transfer call to C Set(CALLERID(number)=something) is executed through an AGI script on the channel which calls C. Because of the nature of our system it's doing a Dial(Local/xxx@default). On the new channel the callerid is the same as before it was changed on the channel before. Tried to remove this code, and it worked again as intended. I'll investigate a little bit more tomorrow. At least in Asterisk 13 By: Morten Tryfoss (mtryfoss) 2016-09-07 04:59:30.228-0500 Opened ASTERISK-26343 By: Friendly Automation (friendly-automation) 2017-02-02 22:12:03.238-0600 Change 4857 merged by zuul: res_agi: Prevent an AGI from eating frames it should not. (Re-do) [https://gerrit.asterisk.org/4857|https://gerrit.asterisk.org/4857] By: Friendly Automation (friendly-automation) 2017-02-02 23:22:38.134-0600 Change 4882 merged by zuul: res_agi: Prevent an AGI from eating frames it should not. (Re-do) [https://gerrit.asterisk.org/4882|https://gerrit.asterisk.org/4882] By: Friendly Automation (friendly-automation) 2017-02-02 23:55:09.062-0600 Change 4876 merged by zuul: res_agi: Prevent an AGI from eating frames it should not. (Re-do) [https://gerrit.asterisk.org/4876|https://gerrit.asterisk.org/4876] By: Friendly Automation (friendly-automation) 2017-02-03 05:33:08.172-0600 Change 4879 merged by Joshua Colp: res_agi: Prevent an AGI from eating frames it should not. (Re-do) [https://gerrit.asterisk.org/4879|https://gerrit.asterisk.org/4879] |