[Home]

Summary:ASTERISK-25951: res_agi: run_agi eats frames it shouldn't
Reporter:George Joseph (gjoseph)Labels:
Date Opened:2016-04-22 17:46:14Date Closed:2016-04-27 11:12:33
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_agi
Versions:13.8.2 Frequency of
Occurrence
Constant
Related
Issues:
causesASTERISK-26343 ASTERISK-25951 causes issues for callerid manipulation through agi
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]