[asterisk-bugs] [JIRA] (ASTERISK-26716) Channels with pre-dial handlers cannot be hung up via ARI

Tom Pawelek (JIRA) noreply at issues.asterisk.org
Sun Jan 15 12:27:12 CST 2017


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

Tom Pawelek edited comment on ASTERISK-26716 at 1/15/17 12:25 PM:
------------------------------------------------------------------

*UPDATE:* As I mentioned before, the issues only happens in ~75% of the cases. I've managed to capture a debug where 2 call attempts are placed without any changes in the dialplan: the first one is hung up properly, the second one is not.


+Changes to core_local.c+ (My futile attempts at locating the bug)

{code}
static int local_hangup(struct ast_channel *ast)
{
        ast_debug(1, "*TMP* Entering local_hangup\n");

        struct local_pvt *p = ast_channel_tech_pvt(ast);
        int res;

        if (!p) {
                ast_debug(1, "*TMP* No_p\n");
                return -1;
        }

        /* give the pvt a ref to fulfill calling requirements. */
        ao2_ref(p, +1);
        res = ast_unreal_hangup(&p->base, ast);
        if (!res) {
                ast_debug(1, "*TMP* No_res\n");
                int unlink;

                ao2_lock(p);
                unlink = !p->base.owner && !p->base.chan;
                ao2_unlock(p);
                if (unlink) {
                        ast_debug(1, "*TMP* Unlink_locals\n");
                        ao2_unlink(locals, p);
                }
        }
        ao2_ref(p, -1);

        return res;
}
{code}

+Correct hang up+

_C-00000005 correctly hangs up PJSIP/flowroute-00000006_

[2017-01-15 12:58:32] DEBUG[26445] channel.c: Hanging up channel 'Local/13051002000-18001002000 at cont-fas-00000005;1'
[2017-01-15 12:58:32] DEBUG[26445] core_local.c: *TMP* Entering local_hangup
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 881
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 881
[2017-01-15 12:58:32] DEBUG[26445] core_local.c: *TMP* No_res
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 648
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 648
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] channel.c: Hanging up channel 'PJSIP/flowroute-00000006'
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] chan_pjsip.c: AST hangup cause 0 (no match found in PJSIP)
[2017-01-15 12:58:32] DEBUG[26291] devicestate.c: Changing state for Local/13051002000-18001002000 at cont-fas - state 1 (Not in use)
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 704
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] app_dial.c: Exiting with DIALSTATUS=CANCEL.
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 704
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] pbx.c: Spawn extension (cont-fas,13051002000-18001002000,5) exited non-zero on 'Local/13051002000-18001002000 at cont-fas-00000005;2'
[2017-01-15 12:58:32] VERBOSE[26446][C-00000005] pbx.c: Spawn extension (cont-fas, 13051002000-18001002000, 5) exited non-zero on 'Local/13051002000-18001002000 at cont-fas-00000005;2'
[2017-01-15 12:58:32] DEBUG[26307] res_pjsip_session.c: Method is CANCEL
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] channel.c: Soft-Hanging (0x10) up channel 'Local/13051002000-18001002000 at cont-fas-00000005;2'
[2017-01-15 12:58:32] DEBUG[26307] res_config_pgsql.c: PostgreSQL query attempt 1
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] channel.c: Hanging up channel 'Local/13051002000-18001002000 at cont-fas-00000005;2'
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 674
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] core_local.c: *TMP* Entering local_hangup
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 674
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] core_local.c: *TMP* No_res
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] core_local.c: *TMP* Unlink_locals
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 704
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 704
[2017-01-15 12:58:32] DEBUG[26291] core_local.c: Checking if extension 13051002000-18001002000 at cont-fas exists (devicestate)
[2017-01-15 12:58:32] DEBUG[26338] stasis/app.c: channel '1484503110.30': is 0 interested in mg-bridges
[2017-01-15 12:58:32] DEBUG[26338] stasis/app.c: channel '1484503110.30' unsubscribed from mg-bridges
[2017-01-15 12:58:32] DEBUG[26291] devicestate.c: Changing state for Local/13051002000-18001002000 at cont-fas - state 1 (Not in use)


+Zombie hang up+

_No attempts to hang up PJSIP (i.e. Local/;2)_

[2017-01-15 12:58:44] DEBUG[26455] bridge.c: Waiting for 0x7f680403d900(Local/13051002000-18001002000 at cont-fas-00000006;1) bridge thread to die.
[2017-01-15 12:58:44] DEBUG[26455] stasis/app.c: channel '1484503123.40': is 1 interested in mg-bridges
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 749
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 749
[2017-01-15 12:58:44] DEBUG[26455] channel.c: Hanging up channel 'Local/13051002000-18001002000 at cont-fas-00000006;1'
[2017-01-15 12:58:44] DEBUG[26455] core_local.c: *TMP* Entering local_hangup
[2017-01-15 12:58:44] DEBUG[26455] core_local.c: *TMP* No_res
[2017-01-15 12:58:44] DEBUG[26456][C-00000006] res_rtp_asterisk.c: No remote address on RTP instance '0x7f6810028060' so dropping frame
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 881
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 881
[2017-01-15 12:58:44] DEBUG[26291] devicestate.c: Changing state for Local/13051002000-18001002000 at cont-fas - state 1 (Not in use)
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 648
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 648
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 704
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 704
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 676
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 676
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 704
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 704
[2017-01-15 12:58:44] DEBUG[26338] stasis/app.c: channel '1484503123.40': is 0 interested in mg-bridges
[2017-01-15 12:58:44] DEBUG[26338] stasis/app.c: channel '1484503123.40' unsubscribed from mg-bridges
[2017-01-15 12:58:44] DEBUG[26447] http.c: HTTP Request URI is /ari/bridges/cid-819901


+Zombie follow up+

[2017-01-15 12:58:46] VERBOSE[26456][C-00000006] app_dial.c: PJSIP/flowroute-00000008 is making progress passing it to Local/13051002000-18001002000 at cont-fas-00000006;2

;; 10 minutes later I finally hang up from the PSTN

[2017-01-15 13:10:26] DEBUG[26320] channel.c: Soft-Hanging (0x20) up channel 'Local/13051002000-18001002000 at cont-fas-00000006;2'
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge_channel.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: pulling 0x7f6804005b90(Local/13051002000-18001002000 at cont-fas-0
0000006;2)
[2017-01-15 13:10:26] VERBOSE[26456][C-00000006] bridge_channel.c: Channel Local/13051002000-18001002000 at cont-fas-00000006;2 left 'simple_bridge' basic-bridge <d03ac899-2abb
-4bca-8274-f52accf08925>
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge_channel.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: 0x7f6804005b90(Local/13051002000-18001002000 at cont-fas-00000006;
2) is leaving simple_bridge technology
[2017-01-15 13:10:26] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 692
[2017-01-15 13:10:26] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 692
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925 is dissolved, not performing smart bridge operation.
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: actually destroying basic bridge, nobody wants it anymore
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: calling basic bridge destructor
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: calling simple_bridge technology stop
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: calling simple_bridge technology destructor
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] app_dial.c: Exiting with DIALSTATUS=ANSWER.
[2017-01-15 13:10:26] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 702
[2017-01-15 13:10:26] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 702
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] pbx.c: Spawn extension (cont-fas,13051002000-18001002000,5) exited non-zero on 'Local/13051002000-18001002000 at cont-fas-0000000
6;2'
[2017-01-15 13:10:26] VERBOSE[26456][C-00000006] pbx.c: Spawn extension (cont-fas, 13051002000-18001002000, 5) exited non-zero on 'Local/13051002000-18001002000 at cont-fas-000
00006;2'
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] channel.c: Soft-Hanging (0x10) up channel 'Local/13051002000-18001002000 at cont-fas-00000006;2'
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] channel.c: Hanging up channel 'Local/13051002000-18001002000 at cont-fas-00000006;2'
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] core_local.c: *TMP* Entering local_hangup
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] core_local.c: *TMP* No_res
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] core_local.c: *TMP* Unlink_locals

Zombie bridge (simple / audio): *d03ac899-2abb-4bca-8274-f52accf08925*
Zombie leg: *Local/13051002000-18001002000 at cont-fas-00000006;2*


was (Author: tompaw):
*UPDATE:* As I mentioned before, the issues only happens in ~75% of the cases. I've managed to capture a debug where 2 call attempts are placed without any changes in the dialplan: the first one is hung up properly, the second one is not.


+Changes to core_local.c+ (My futile attempts at locating the bug)

static int local_hangup(struct ast_channel *ast)
{
        ast_debug(1, "*TMP* Entering local_hangup\n");

        struct local_pvt *p = ast_channel_tech_pvt(ast);
        int res;

        if (!p) {
                ast_debug(1, "*TMP* No_p\n");
                return -1;
        }

        /* give the pvt a ref to fulfill calling requirements. */
        ao2_ref(p, +1);
        res = ast_unreal_hangup(&p->base, ast);
        if (!res) {
                ast_debug(1, "*TMP* No_res\n");
                int unlink;

                ao2_lock(p);
                unlink = !p->base.owner && !p->base.chan;
                ao2_unlock(p);
                if (unlink) {
                        ast_debug(1, "*TMP* Unlink_locals\n");
                        ao2_unlink(locals, p);
                }
        }
        ao2_ref(p, -1);

        return res;
}


+Correct hang up+

_C-00000005 correctly hangs up PJSIP/flowroute-00000006_

[2017-01-15 12:58:32] DEBUG[26445] channel.c: Hanging up channel 'Local/13051002000-18001002000 at cont-fas-00000005;1'
[2017-01-15 12:58:32] DEBUG[26445] core_local.c: *TMP* Entering local_hangup
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 881
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 881
[2017-01-15 12:58:32] DEBUG[26445] core_local.c: *TMP* No_res
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 648
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 648
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] channel.c: Hanging up channel 'PJSIP/flowroute-00000006'
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] chan_pjsip.c: AST hangup cause 0 (no match found in PJSIP)
[2017-01-15 12:58:32] DEBUG[26291] devicestate.c: Changing state for Local/13051002000-18001002000 at cont-fas - state 1 (Not in use)
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 704
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] app_dial.c: Exiting with DIALSTATUS=CANCEL.
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 704
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] pbx.c: Spawn extension (cont-fas,13051002000-18001002000,5) exited non-zero on 'Local/13051002000-18001002000 at cont-fas-00000005;2'
[2017-01-15 12:58:32] VERBOSE[26446][C-00000005] pbx.c: Spawn extension (cont-fas, 13051002000-18001002000, 5) exited non-zero on 'Local/13051002000-18001002000 at cont-fas-00000005;2'
[2017-01-15 12:58:32] DEBUG[26307] res_pjsip_session.c: Method is CANCEL
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] channel.c: Soft-Hanging (0x10) up channel 'Local/13051002000-18001002000 at cont-fas-00000005;2'
[2017-01-15 12:58:32] DEBUG[26307] res_config_pgsql.c: PostgreSQL query attempt 1
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] channel.c: Hanging up channel 'Local/13051002000-18001002000 at cont-fas-00000005;2'
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 674
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] core_local.c: *TMP* Entering local_hangup
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 674
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] core_local.c: *TMP* No_res
[2017-01-15 12:58:32] DEBUG[26446][C-00000005] core_local.c: *TMP* Unlink_locals
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 704
[2017-01-15 12:58:32] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 704
[2017-01-15 12:58:32] DEBUG[26291] core_local.c: Checking if extension 13051002000-18001002000 at cont-fas exists (devicestate)
[2017-01-15 12:58:32] DEBUG[26338] stasis/app.c: channel '1484503110.30': is 0 interested in mg-bridges
[2017-01-15 12:58:32] DEBUG[26338] stasis/app.c: channel '1484503110.30' unsubscribed from mg-bridges
[2017-01-15 12:58:32] DEBUG[26291] devicestate.c: Changing state for Local/13051002000-18001002000 at cont-fas - state 1 (Not in use)


+Zombie hang up+

_No attempts to hang up PJSIP (i.e. Local/;2)_

[2017-01-15 12:58:44] DEBUG[26455] bridge.c: Waiting for 0x7f680403d900(Local/13051002000-18001002000 at cont-fas-00000006;1) bridge thread to die.
[2017-01-15 12:58:44] DEBUG[26455] stasis/app.c: channel '1484503123.40': is 1 interested in mg-bridges
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 749
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 749
[2017-01-15 12:58:44] DEBUG[26455] channel.c: Hanging up channel 'Local/13051002000-18001002000 at cont-fas-00000006;1'
[2017-01-15 12:58:44] DEBUG[26455] core_local.c: *TMP* Entering local_hangup
[2017-01-15 12:58:44] DEBUG[26455] core_local.c: *TMP* No_res
[2017-01-15 12:58:44] DEBUG[26456][C-00000006] res_rtp_asterisk.c: No remote address on RTP instance '0x7f6810028060' so dropping frame
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 881
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 881
[2017-01-15 12:58:44] DEBUG[26291] devicestate.c: Changing state for Local/13051002000-18001002000 at cont-fas - state 1 (Not in use)
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 648
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 648
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 704
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 704
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 676
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 676
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 704
[2017-01-15 12:58:44] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 704
[2017-01-15 12:58:44] DEBUG[26338] stasis/app.c: channel '1484503123.40': is 0 interested in mg-bridges
[2017-01-15 12:58:44] DEBUG[26338] stasis/app.c: channel '1484503123.40' unsubscribed from mg-bridges
[2017-01-15 12:58:44] DEBUG[26447] http.c: HTTP Request URI is /ari/bridges/cid-819901


+Zombie follow up+

[2017-01-15 12:58:46] VERBOSE[26456][C-00000006] app_dial.c: PJSIP/flowroute-00000008 is making progress passing it to Local/13051002000-18001002000 at cont-fas-00000006;2

;; 10 minutes later I finally hang up from the PSTN

[2017-01-15 13:10:26] DEBUG[26320] channel.c: Soft-Hanging (0x20) up channel 'Local/13051002000-18001002000 at cont-fas-00000006;2'
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge_channel.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: pulling 0x7f6804005b90(Local/13051002000-18001002000 at cont-fas-0
0000006;2)
[2017-01-15 13:10:26] VERBOSE[26456][C-00000006] bridge_channel.c: Channel Local/13051002000-18001002000 at cont-fas-00000006;2 left 'simple_bridge' basic-bridge <d03ac899-2abb
-4bca-8274-f52accf08925>
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge_channel.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: 0x7f6804005b90(Local/13051002000-18001002000 at cont-fas-00000006;
2) is leaving simple_bridge technology
[2017-01-15 13:10:26] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 692
[2017-01-15 13:10:26] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 692
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925 is dissolved, not performing smart bridge operation.
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: actually destroying basic bridge, nobody wants it anymore
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: calling basic bridge destructor
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: calling simple_bridge technology stop
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] bridge.c: Bridge d03ac899-2abb-4bca-8274-f52accf08925: calling simple_bridge technology destructor
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] app_dial.c: Exiting with DIALSTATUS=ANSWER.
[2017-01-15 13:10:26] DEBUG[26338] res_http_websocket.c: Writing websocket string of length 702
[2017-01-15 13:10:26] DEBUG[26338] res_http_websocket.c: Writing websocket text frame, length 702
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] pbx.c: Spawn extension (cont-fas,13051002000-18001002000,5) exited non-zero on 'Local/13051002000-18001002000 at cont-fas-0000000
6;2'
[2017-01-15 13:10:26] VERBOSE[26456][C-00000006] pbx.c: Spawn extension (cont-fas, 13051002000-18001002000, 5) exited non-zero on 'Local/13051002000-18001002000 at cont-fas-000
00006;2'
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] channel.c: Soft-Hanging (0x10) up channel 'Local/13051002000-18001002000 at cont-fas-00000006;2'
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] channel.c: Hanging up channel 'Local/13051002000-18001002000 at cont-fas-00000006;2'
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] core_local.c: *TMP* Entering local_hangup
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] core_local.c: *TMP* No_res
[2017-01-15 13:10:26] DEBUG[26456][C-00000006] core_local.c: *TMP* Unlink_locals

Zombie bridge (simple / audio): *d03ac899-2abb-4bca-8274-f52accf08925*
Zombie leg: *Local/13051002000-18001002000 at cont-fas-00000006;2*

> Channels with pre-dial handlers cannot be hung up via ARI
> ---------------------------------------------------------
>
>                 Key: ASTERISK-26716
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26716
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_stasis
>    Affects Versions: 13.13.1
>         Environment: - platform independent -
>            Reporter: Tom Pawelek
>            Assignee: Unassigned
>
> A local channel with a pre-dial handler will fail to be properly hung up in 90% of the cases - Asterisk does not send BYE/CANCEL on .hangup()
> ; Original channel
> {noformat}
> ch = client.channels.originate(endpoint="Local/12345 at cont-test", app="ari-test")
> {noformat}
> ; Dialplan
> {noformat}
> [test-handler]
> exten => testcall,1,NoOp(foo)
> exten => testcall,n,Return()
> [cont-test]
> exten => _XXX.,1,Answer()
> exten => _XXX.,n,Dial(PJSIP/bar at pstn,,b(test-handler^testcall^1(foo)))
> {noformat}
> ; Attempt to hang up
> {noformat}
> client.channels.hangup(channelId=ch_id)
> {noformat}
> Only b( ) handlers cause the issue to appear, B( ) works perfectly fine.



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



More information about the asterisk-bugs mailing list