# Redirecting channels to a Conference

**URL:** <https://community.asterisk.org/t/redirecting-channels-to-a-conference/94841>\
**Category:** Asterisk Dialplan\
**Created:** [November 22, 2022, 2:47pm UTC](https://community.asterisk.org/t/redirecting-channels-to-a-conference/94841 "2022-11-22T14:47:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![cron333](https://avatars.discourse-cdn.com/v4/letter/c/6de8d8/32.png) [@cron333](https://community.asterisk.org/u/cron333)\
**Post date:** [November 22, 2022, 2:47pm UTC](https://community.asterisk.org/t/redirecting-channels-to-a-conference/94841/1 "2022-11-22T14:47:41Z")

</div>

Hello!

I have a problem with redirecting two non-bridget channes to a Conference.

The dialplan is:

```auto
[start-nway]
exten => s,1,NoOp()
        same => n,ChannelRedirect(${BRIDGEPEER},conference-nway,6666,1)
        same => n,ConfBridge(6666)
        same => n,Return()

[conference-nway]
exten => _XXXX,1,Answer()
        same => n,SET(_DYNAMIC_FEATURES=)
        same => n,ConfBridge(${EXTEN})
        same => n,Hangup()

```

the features.conf is:

```auto
[applicationmap](+)
start_nway => *0,self,GoSub,start-nway\,s\,1

```

When the caller presses \*0, the called channel is redirecting to the conference. But the caller’s channel leaves the conference after the first voice phrase. Is it correct?

```auto
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:4001 __ast_read: DTMF begin '*' received on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:4012 __ast_read: DTMF begin passthrough '*' on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:3887 __ast_read: DTMF end '*' received on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa, duration 100 ms
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:3938 __ast_read: DTMF end accepted with begin '*' on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:3976 __ast_read: DTMF end passthrough '*' on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:4001 __ast_read: DTMF begin '0' received on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:4012 __ast_read: DTMF begin passthrough '0' on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:3887 __ast_read: DTMF end '0' received on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa, duration 120 ms
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:3938 __ast_read: DTMF end accepted with begin '0' on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa
[Nov 22 14:33:08] DTMF[30894][C-0000004e]: channel.c:3976 __ast_read: DTMF end passthrough '0' on PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa
    -- PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa Internal Gosub(start-nway,s,1) start
    -- Executing [s@start-nway:1] Set("PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa", "BR_TO_CHAN=PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587101-000000ab") in new stack
    -- Executing [s@start-nway:2] ChannelRedirect("PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa", "PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587101-000000ab,conference-nway,6666,1") in new stack
    -- Executing [s@start-nway:3] ConfBridge("PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa", "6666") in new stack
    -- Channel PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587101-000000ab left 'simple_bridge' basic-bridge <168faa99-8e69-4750-84c1-c72199a95883>
    -- Executing [6666@conference-nway:1] Answer("PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587101-000000ab", "") in new stack
    -- Executing [6666@conference-nway:2] Set("PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587101-000000ab", "_DYNAMIC_FEATURES=") in new stack
    -- Executing [6666@conference-nway:3] ConfBridge("PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587101-000000ab", "6666") in new stack
    -- Channel CBAnn/6666-00000058;2 joined 'softmix' base-bridge <3edb6ff1-9eb2-4431-b1cd-8fbb3476acd1>
    -- <PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa> Playing 'conf-onlyperson.slin' (language 'ru')
    -- <PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587101-000000ab> Playing 'confbridge-join.alaw' (language 'ru')
    -- <CBAnn/6666-00000058;1> Playing 'confbridge-join.gsm' (language 'en')
    -- Channel PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587101-000000ab joined 'softmix' base-bridge <3edb6ff1-9eb2-4431-b1cd-8fbb3476acd1>
    -- <PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa> Playing 'confbridge-join.slin' (language 'ru')
    -- <CBAnn/6666-00000058;1> Playing 'confbridge-join.gsm' (language 'en')
    -- Executing [s@start-nway:4] Return("PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa", "") in new stack
  == Spawn extension (manager_dial, s, 3) exited non-zero on 'PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa'
    -- PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa Internal Gosub(start-nway,s,1) complete GOSUB_RETVAL=
    -- Channel PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa left 'simple_bridge' basic-bridge <168faa99-8e69-4750-84c1-c72199a95883>
  == Spawn extension (manager_dial, s, 3) exited non-zero on 'PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa'
    -- PJSIP/9f3ee6b6-30ee-4070-97bf-9bac3fcf8587110-000000aa Internal Gosub(hangup_call_end,s,1) start

```

---

<div class="post-metadata">

**Author:** ![david551](https://avatars.discourse-cdn.com/v4/letter/d/3bc359/32.png) [@david551](https://community.asterisk.org/u/david551)\
**Post date:** [November 22, 2022, 3:07pm UTC](https://community.asterisk.org/t/redirecting-channels-to-a-conference/94841/2 "2022-11-22T15:07:28Z")

</div>

I’d say this goes well beyond what is safe to do with a feature code. You are, effectively, forcing the callee into a GoTo, which is not an operation that would be considered safe, even if done directly.

> <https://github.com/asterisk/asterisk/blob/master/configs/samples/features.conf.sample#L97>

I’d say the result was undefined.

If the special case of atxferthreeway won’t work for you, I’d suggest monitoring the DTMF with AMI and having it do a double channel redirect. One might be able to replace the whole Dial process with ARI, but I have no experience of that, and can’t say whether that really is within its capability.

---

<div class="post-metadata">

**Author:** ![penguinpbx](https://sea1.discourse-cdn.com/asterisk/user_avatar/community.asterisk.org/penguinpbx/32/8856_2.png) [@penguinpbx](https://community.asterisk.org/u/penguinpbx)\
**Post date:** [November 28, 2022, 7:58pm UTC](https://community.asterisk.org/t/redirecting-channels-to-a-conference/94841/3 "2022-11-28T19:58:39Z")

</div>

Cool dial plan!

You might be able to add an astDB variable X into `[start-nway]`, then add **g** option to the caller’s **Dial()** application call, and finally branch in next line of dial plan after the **Dial()** by checking for X. _(Not sure, didn’t test - would need to see more details in dial plan and logs.)_

---

<div class="post-metadata">

**Author:** ![cron333](https://avatars.discourse-cdn.com/v4/letter/c/6de8d8/32.png) [@cron333](https://community.asterisk.org/u/cron333)\
**Post date:** [November 29, 2022, 8:47am UTC](https://community.asterisk.org/t/redirecting-channels-to-a-conference/94841/4 "2022-11-29T08:47:07Z")

</div>

Hello! Thanks!  
I’v resolved this issue with the Originate command …

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/asterisk/original/2X/4/475d0c889911cfb84ac4881ad6df8b523e3f9105.png) [@system](https://community.asterisk.org/u/system)\
**Post date:** [December 29, 2022, 8:47am UTC](https://community.asterisk.org/t/redirecting-channels-to-a-conference/94841/5 "2022-12-29T08:47:44Z")

</div>

Closed on December 29, 2022, 8:47am UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
