[asterisk-bugs] [JIRA] (ASTERISK-27153) AMI Newexten event returns wrong event parameters

John Lagonikas (JIRA) noreply at issues.asterisk.org
Tue Sep 19 04:01:08 CDT 2017


     [ https://issues.asterisk.org/jira/browse/ASTERISK-27153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Lagonikas updated ASTERISK-27153:
--------------------------------------

    Attachment: NewExtenTest.tar.gz

As promised, this is the test executable, compiled under .Net core 2.0 and it can run under linux.

1.	Install .NET Core 2.0 on a Linux machine, following the instructions found here, according to the specific distro used: https://www.microsoft.com/net/download/linux Make sure to use version 2.0
2.	Extract the application in a location of your preference
3.	Edit the appsettings.json configuration file to match your environment. The following parameters need to be defined:
a.	AsteriskAddress: The IP address of the machine running asterisk.
b.	AsteriskVersion: Use Version13 for asterisk 13, Version14 for asterisk14
c.	AMIUser / AMISecret: authentication details for connecting to AMI. The manager account used needs the following privileges (in manager.conf):
read = system,call,dialplan
write = system,call,agent,user,config,command,reporting,originate
d.	LocalIP: The IP (must be static) of the machine on which the test application is running. Since the application is handling fastagi connections, the TCP port 4573 must be accessible by the asterisk machine.
e.	TestPhone1,2,3: The extension numbers for 3 sip accounts registered on the asterisk machine. The test involves making a call from Telephone1 to Telephone2 and redirecting it to Telephone3.
f.	DefaultContext: the context used for making the calls. We use local channels to initiate the calls, so this means that the dialplan must be configured to e.g. do a Dial(SIP/${EXTEN}) for the phones used in the test.
4.	Use the command `dotnet NewExtenTest.dll` from your shell to run the test application.


> AMI Newexten event returns wrong event parameters
> -------------------------------------------------
>
>                 Key: ASTERISK-27153
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27153
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/ManagerInterface
>    Affects Versions: 13.17.0, 14.6.0
>         Environment: CentOS 6 64Bit
>            Reporter: John Lagonikas
>            Assignee: Unassigned
>         Attachments: Debug.zip, full.txt, NewExtenTest.tar.gz
>
>
> We have detected that, in some rare cases, Newexten events contain wrong Application / AppData fields (i.e. Application / AppData do not correspond to what was actually executed, but rather display the values corresponding to the previous execution for that channel).
> Our test involves originating a call to TestPhone1, transferring that call to another asterisk via IAX2, then transferring the initial channel to TestPhone2 (local) and then transferring the call to an AGI application.
> The problematic Newexten events can be seen at lines 3162 and 5246 of the attached log file. The actual executions (with the correct app/appdata) can be seen at lines 3127 and 5199 respectively. You can see that the Newexten @5246 contains the app/appdata fields that should have been contained by the Newexten @3162 event.
> The same behavior is exhibited in both asterisk versions 13 and 14 (latest builds). The problem does not appear in asterisk versions 11 and back.
> The manager actions we executed (and which do not appear in the attached log file) are the following:
> Step 1:
> {noformat}
> action: Originate
> channel: Local/mboBCmtGYDJ5UWxcKxQSWDzQg2 at mb_all_calls
> context: mb_all_calls
> exten: mbsLGrALV2_n0eoXJHXMsMZKQ1
> priority: 1
> timeout: 20000
> callerid:  <5432>
> account: TestPhone1
> actionid: mboBCmtGYDJ5UWxcKxQSWDzQg2
> async: 1
> variable:
> {noformat}
> Step 2:
> {noformat}
> action: Redirect
> channel: SIP/TestPhone1-00000000
> extrachannel: 
> context: mb_all_calls
> exten: TestPhone2
> priority: 1
> actionid: @000000C3
> {noformat}
> Step 3:
> {noformat}
> action: Redirect
> channel: SIP/TestPhone1-00000000
> extrachannel: 
> context: mb_all_calls
> exten: mbuadBCmtGYDJ5UWxcKxQSWDzQg
> priority: 1
> actionid: @0000011C
> {noformat}
> All the extensions you see in the log file were registered by our software at the beginning of the test. Their full definition is as follows:
> {noformat}
> action: Command
> command: dialplan add extension "_mohBCmtGYDJ5UW[x]cK[x]QSWD[z]Qg.","1","MusicOnHold","${EXTEN:26}" into "mb_all_calls" replace
> actionid: @00000005
> {noformat}
> {noformat}
> action: Command
> command: dialplan add extension "_mboBCmtGYDJ5UW[x]cK[x]QSWD[z]Qg.","1","agi","agi://192.168.1.69:4573/4qqf0RiNsEezVRJatsHMLA" into "mb_all_calls" replace
> actionid: @00000008
> {noformat}
> {noformat}
> action: Command
> command: dialplan add extension "_mbuadBCmtGYDJ5UW[x]cK[x]QSWD[z]Qg","1","agi","agi://192.168.1.69:4573/hGGhXk7zlkKP-fKZXLtZgg" into "mb_all_calls" replace
> actionid: @0000000B
> {noformat}
> {noformat}
> action: Command
> command: dialplan add extension "_mbq1LQsysi-K0GJ0Pg6F2ctiA.","1","agi","agi://192.168.1.69:4573/1LQsysi-K0GJ0Pg6F2ctiA" into "mb_all_calls" replace
> actionid: @0000000E
> {noformat}
> {noformat}
> action: Command
> command: dialplan add extension "_mbsLGrALV2_[n]0eo[X]JH[X]MsM[Z]KQ.","1","Dial","IAX2/192.168.1.13/mbq1LQsysi-K0GJ0Pg6F2ctiA${EXTEN:25}@mb_all_calls" into "mb_all_calls" replace
> actionid: @00000011
> {noformat}
> {noformat}
> action: Command
> command: dialplan add extension "mbtestmoh","1","musiconhold","default" into "mb_all_calls" replace
> actionid: @00000028
> {noformat}
> {noformat}
> action: Command
> command: dialplan add extension "_TestPho[n]eX","1","dial","SIP/${EXTEN}" into "mb_all_calls" replace
> actionid: @0000002D
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list