[asterisk-bugs] [JIRA] (ASTERISK-27884) asterisk early processing the completion of the transferred call

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Wed May 30 14:03:56 CDT 2018


    [ https://issues.asterisk.org/jira/browse/ASTERISK-27884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=243602#comment-243602 ] 

Richard Mudgett commented on ASTERISK-27884:
--------------------------------------------

There is no bug here.  Asterisk is operating correctly.

In your [^asterisk_logs.txt] log file scenario:
* PJSIP/9702-00000015 executes dialplan to dial PJSIP/79201111111 at pstn1-1 which creates channel PJSIP/pstn1-1-00000016.
* When PJSIP/pstn1-1-00000016 answers then PJSIP/9702-00000015 and PJSIP/pstn1-1-00000016 are bridged together by the dial application.
* PJSIP/9702-00000015 initiates a transfer to 9707 using the DTMF transfer feature.  Channel Local/9707 at from-local-00000001;1 is bridged with PJSIP/9702-00000015.
* The other half of the local channel pair (Local/9707 at from-local-00000001;2) executes dialplan to dial PJSIP/9707 which creates PJSIP/9707-00000017.
* When PJSIP/9707-00000017 answers then Local/9707 at from-local-00000001;2 and PJSIP/9707-00000017 are bridged together by the dial application.
* You complete the transfer by hanging up PJSIP/9702-00000015.
* The transfer bridges PJSIP/pstn1-1-00000016 and Local/9707 at from-local-00000001;1 together.
* PJSIP/9702-00000015 executes the h exten since you hung it up and it has a PBX associated with it.
* We now have this channel chain: {{PJSIP/pstn1-1-00000016 <\-> Local/9707 at from-local-00000001;1 <\-> Local/9707 at from-local-00000001;2 <\-> PJSIP/9707-00000017}}.
* The local channels are able to optimize themselves out of the chain.
* Local/9707 at from-local-00000001;2 executes the h exten since it got optimized out of the call and it has a PBX associated with it.
* Either PJSIP/9707-00000017 or PJSIP/pstn1-1-00000016 hang up to end the call.  Since neither of these channels executed dialplan they cannot execute a h exten.

You have a misconception of when the h exten is run and which channels will execute that extension.  Only channels that have executed normal dialplan will *ever* execute the h exten since they have a PBX associated with them.  In your [^asterisk_logs.txt] log file the PJSIP/9702-00000015 and Local/9707 at from-local-00000001;2 channels execute normal dialplan and will execute any h exten located in their current execution context when they hang up.

\[1] https://wiki.asterisk.org/wiki/display/AST/Hangup+Handlers
\[2] https://wiki.asterisk.org/wiki/display/AST/Local+Channel


> asterisk early processing the completion of the transferred call
> ----------------------------------------------------------------
>
>                 Key: ASTERISK-27884
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27884
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/Channels
>    Affects Versions: 13.18.3
>         Environment: hardware: Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz, 4GB RAM, CentOS Linux release 7.4.1708 (Core), kernel 3.10.0-693.5.2.el7.x86_64,
> asterisk version is 13.18.3-cert
>            Reporter: Nikolay
>         Attachments: asterisk_logs.txt, extensions.lua, features.conf
>
>
> 1. I'm calling from extension 9702 to an external number 79201111111 through a trunk with an ISP
> 2. I transfer the call to the internal extension 9707 on PBX
> 3. After I hang up call on extension 9702, the extension h is processed twice
> 4. After the call is completed, the extension h is not processed



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



More information about the asterisk-bugs mailing list