[Home]

Summary:ASTERISK-27460: CDR: Deadlock using AMI Originate with Variable CDR(amaflags)=...
Reporter:Richard Mudgett (rmudgett)Labels:
Date Opened:2017-12-06 15:30:46.000-0600Date Closed:2017-12-11 08:52:11.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Functions/func_cdr
Versions:13.18.3 15.1.3 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:( 0) bt_brief.txt
( 1) bt_full.txt
( 2) core_show_locks.txt
Description:Applying the AMI Originate action with the variable setting 'CDR(amaflags)=<anything>' causes an immediate deadlock (Variable: CDR(amaflags)=OMIT).

{noformat}
[tar@localhost ~]$ sudo telnet localhost 5038
[sudo] Passwort fuer tar:
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/2.9.0
Action: Login
ActionID: 1
Username: admin
Secret: secret

Response: Success
ActionID: 1
Message: Authentication accepted

Event: FullyBooted
Privilege: system,all
Status: Fully Booted

Context: demo
Priority: 1
Actionid: _INBOX.EbjZs7r0AypxgXKeNWGHea
Action: Originate
Channel: SIP/1680
Exten: 1234
Timeout: 15000
Variable: CHANNEL(language)=de
Variable: __callfile_from_user=1680
Variable: __is_callfile_origin=1
Variable: __record_file=vm-041149-9
Variable: __user_id=149
Variable: __user_name=1680
Variable: CDR(amaflags)=OMIT
Async: true
CallerID: Spruch 2<Aufnahme>
{noformat}

Ways to get this deadlock:
* use the AMI Originate action and set the CDR(amaflags) variable.
* use a call file and set the CDR(amaflags) variable.
* set CDR(accountcode) under the same conditions as CDR(amaflags).

NOTE: Setting CDR(amaflags) and CDR(accountcode) are deprecated in favor of CHANNEL(amaflags) and CHANNEL(accountcode) respectively.  There is no deadlock when using the CHANNEL function to set amaflags or accountcode.
Comments:By: Friendly Automation (friendly-automation) 2017-12-11 08:52:12.753-0600

Change 7455 merged by Joshua Colp:
CDR: Fix deadlock setting some CDR values.

[https://gerrit.asterisk.org/7455|https://gerrit.asterisk.org/7455]

By: Friendly Automation (friendly-automation) 2017-12-11 08:52:39.192-0600

Change 7456 merged by Jenkins2:
CDR: Fix deadlock setting some CDR values.

[https://gerrit.asterisk.org/7456|https://gerrit.asterisk.org/7456]

By: Friendly Automation (friendly-automation) 2017-12-11 09:07:42.460-0600

Change 7457 merged by Jenkins2:
CDR: Fix deadlock setting some CDR values.

[https://gerrit.asterisk.org/7457|https://gerrit.asterisk.org/7457]

By: Friendly Automation (friendly-automation) 2017-12-11 09:17:31.728-0600

Change 7459 merged by Joshua Colp:
CDR: Fix deadlock setting some CDR values.

[https://gerrit.asterisk.org/7459|https://gerrit.asterisk.org/7459]

By: Friendly Automation (friendly-automation) 2017-12-11 09:22:31.310-0600

Change 7458 merged by Jenkins2:
CDR: Fix deadlock setting some CDR values.

[https://gerrit.asterisk.org/7458|https://gerrit.asterisk.org/7458]