rendered paste bodyVariables in Manager
Action: Originate
Channel: Local/15555555555@dialoutconf/n
Callerid: 555555555
Context: dialoutconf
Exten: dialoutconf
Variable: CallInitiate_person=someone
Variable: CallInitiate_phonenumber=15555555555
extensions.conf
[dialoutconf]
exten => outbound,1,Answer()
exten => outbound,2,NoOp(Chanel name is ${CHANNEL})
exten => outbound,3,NoOp(called number is ${CallInitiate_phonenumber} exten => _1NXXNXXXXXX,1,Set(NOJOIN=0)
; exten => _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@vitel-conference|20|gM(conf-connect^${CallInitiate_conferenceName}^${CallInitiate_person}))
exten => _1NXXNXXXXXX,1,Dial(SIP/ernie|20|gM(conf-connect^${CallInitiate_conferenceName}^${CallInitiate_person}))
exten => _1NXXNXXXXXX,2,NoOp(Dial status on exit from Macro is ${DIALSTATUS})
exten => _1NXXNXXXXXX,3,Set(NOJOIN=1)
exten => _1NXXNXXXXXX,4,Goto(102)
exten => _1NXXNXXXXXX,102,Hangup()
exten => h,1,GoToIf($[${CALLERIDNUM} = 5555555555]?5:3)
exten => h,3,GoToIf($[${NOJOIN} = 1]?5:4)
exten => h,4,System(/opt/asterisk/conference-announce ${CallInitiate_conferenceName} out ${CallInitiate_person})
exten => h,5,NoOp(Hung up outbound ${CHANNEL})
[macro-conf-connect]
exten => s,1,Answer()
exten => s,2,agi(swift.agi|${ARG2})
exten => s,3,Wait(1.5)
;exten => s,4,NoOp(Channel in macro is ${CHANNEL})
exten => s,4,Playback(to-join-a-meeting)
exten => s,5,Playback(conference-call)
exten => s,6,Read(NUMBER,press-9,1,,1,10)
exten => s,7,GotoIf($[${NUMBER} = 9]?9:13)
exten => s,8,SetVar(MACRO_RESULT=BUSY)
exten => s,9,System(/opt/asterisk/conference-announce ${ARG1} in ${ARG2})
exten => s,10,Conference(${ARG1}/S/1)
exten => s,11,Goto(dialoutconf,outbnd-handler,102)
exten => s,12,Playback(vm-goodbye)
exten => s,13,SetVar(MACRO_RESULT=CONTINUE)
sip.conf
[ernie]
type=friend
secret=blahbla
qualify=yes
nat=yes
host=dynamic
callerid=Ellingson <5555555555>
canreinvite=no
context=internal
Callgroup=1
pickupgroup=1
[provider-conference] ;(exact format/casing required)
type=friend
host=outbound1.provider.net
context=dialoutconf ;(generated by conf call)
username=ernieboy
fromuser=ernieboy
trustrpid=yes
sendrpid=yes
nat=no
secret=blahblah
allow=all
canreinvite=yes
[confhelper]
; make one of these extensions per seperate conference bridge
exten => conf-establish,1,Conference(${ConferenceName}/S/1)
exten => in,1,Answer()
exten => in,2,agi(swift.agi|${ConferencePerson})
exten => in,3,Playback(conf-hasjoin)
;exten => in,4,ResponseTimeout(5)
exten => in,5,Hangup()
exten => out,1,Answer()
exten => out,2,agi(swift.agi|${ConferencePerson})
exten => out,3,Playback(conf-hasleft)
exten => out,4,Hangup()