Hi,
I was setting up conferences though confbridge on Asterisk 16.1.0 and ran into issue with adding participants to it.
I’m not sure if I’m doing something wrong here and configured it incorrectly or there is some kind of a bug. Your help would be much appreciated.
I’m using confbridge.conf:
[admin]
type=user
admin=yes
music_on_hold_when_empty=no
music_on_hold_class=default
end_marked=yes
announce_only_user=yes
announce_join_leave=no
dtmf_passthrough=yes
[conferences]
type=bridge
[fancymenu]
type=menu
1=toggle_mute
2=leave_conference
3=dialplan_exec(addcaller,1,1)
4=decrease_listening_volume
5=reset_listening_volume
6=increase_listening_volume
7=decrease_talking_volume
8=reset_talking_volume
9=increase_talking_volume
0=admin_kick_last
Simple dialplan to join conference.
[internal-conference]
exten => #100,1,Set(CONFNO=${CALLERID(num)})
same => n,ConfBridge(${CONFNO}_conf,conferences,admin,fancymenu)
and to dialout participant - context addcaller called from within confbridge app:
[addcaller]
exten => 1,1,Read(numberToDial,vm-enter-num-to-call)
same => n,Set(__DYNAMIC_FEATURES=confinvite)
same => n,Dial(PJSIP/${numberToDial})
Then I want to talk to remote side and if he agrees - join him to the earlier created conference using features (confinvite):
[applicationmap]
confinvite => #,self,Gosub(confinvite,s,1)
[confinvite]
exten => s,1,ChannelRedirect(${BRIDGEPEER},conference,${CONFNO},1)
same => n,ChannelRedirect(${CHANNEL(name)},internal-conference,#100,3)
333 can successfully create a conference(dialing #100), hit 3 and move to “addcaller” context, dial 222 and hear rings, but as soon as 222 answers 333 is returned to conference and 222 is hung in the solo channel on asterisk with silence on the other end. It’s like no bridge happens after 222 answers the call.
Here is console log for this:
[Mar 1 08:46:52] -- Executing [#100@internal:1] Set("PJSIP/333-00000005", "CONFNO=333") in new stack
[Mar 1 08:46:52] -- Executing [#100@internal:2] ConfBridge("PJSIP/333-00000005", "2333_conf,conferences,admin,fancymenu") in new stack
[Mar 1 08:46:52] > 0x244ff90 -- Strict RTP learning after remote address set to: IP:8000
[Mar 1 08:46:52] > 0x244ff90 -- Strict RTP switching to RTP target address IP:8000 as source
[Mar 1 08:46:52] -- Channel CBAnn/333_conf-00000003;2 joined 'softmix' base-bridge <21c513cc-f8e4-4262-888e-45a218b79db7>
[Mar 1 08:46:52] -- <PJSIP/333-00000005> Playing 'conf-onlyperson.gsm' (language 'en')
[Mar 1 08:46:56] -- Channel PJSIP/333-00000005 joined 'softmix' base-bridge <21c513cc-f8e4-4262-888e-45a218b79db7>
[Mar 1 08:46:56] -- <CBAnn/333_conf-00000003;1> Playing 'confbridge-join.gsm' (language 'en')
[Mar 1 08:46:57] -- Executing [1@addcaller:1] Read("PJSIP/333-00000005", "numberToDial,vm-enter-num-to-call") in new stack
[Mar 1 08:46:57] -- <PJSIP/333-00000005> Playing 'vm-enter-num-to-call.gsm' (language 'en')
[Mar 1 08:46:57] > 0x244ff90 -- Strict RTP learning complete - Locking on source address IP:8000
[Mar 1 08:47:01] -- User entered '222'
[Mar 1 08:47:01] -- Executing [1@addcaller:2] Set("PJSIP/333-00000005", "__DYNAMIC_FEATURES=confinvite") in new stack
[Mar 1 08:47:01] -- Executing [1@addcaller:3] Dial("PJSIP/333-00000005", "PJSIP/222") in new stack
[Mar 1 08:47:01] -- Called PJSIP/222
[Mar 1 08:47:01] -- PJSIP/222-00000006 is ringing
[Mar 1 08:47:01] -- PJSIP/222-00000006 is ringing
[Mar 1 08:47:04] > 0x7f02cc007500 -- Strict RTP learning after remote address set to: IP:8002
[Mar 1 08:47:04] -- PJSIP/222-00000006 answered PJSIP/333-00000005
[Mar 1 08:47:04] -- Channel PJSIP/222-00000006 joined 'simple_bridge' basic-bridge <cf7e0d33-4cd0-42dc-94de-34b62f9c8253>
[Mar 1 08:47:04] > 0x7f02cc007500 -- Strict RTP switching to RTP target address IP:8002 as source
[Mar 1 08:47:04] == Spawn extension (addcaller, 1, 3) exited non-zero on 'PJSIP/333-00000005'
Is this an expected behavior?
Asterisk version tested 16.0.0, 16.1.0, 16.2.1
Thanks!