[general] static=yes writeprotect=yes [Overhear] exten => s,1,UserEvent(Overhearing,OverhearedChannel: ${OverhearedChannel}) exten => s,n,ChanSpy(${OverhearedChannel},qdv(4)x(9)) ;exten => s,n,Hangup [MeetMeInvite] ; wait for the interviewer to pickup the phone exten => _X!,1,Answer() ; notify we have the interviewer ;same => n,UserEvent(InterviewerEnteredMeetMe, Channel: ${CHANNEL}, MeetMeRoom: ${bridgeName}) ;put him in the confererence, as a "marked" user and no auto-messages same => n,ConfBridge(${bridgeName},,interviewer) exten => s,1,Hangup() exten => h,1,Hangup() exten => failed,1,Hangup() [MeetMeRespondent] exten => _X!,1,Answer() same => n,UserEvent(RespondentEnteredMeetMe,CreatorChannel: ${CHANNEL},Channel1: ${InterviewerChannel},MeetMeRoom: ${bridgeName},RpqId: ${RpqId},RespondentNumber: ${respondentNumber},RespondentPrimaryKey:${RespondentPrimaryKey}) same => n,ConfBridge(${bridgeName},,respondent) exten => h,1,UserEvent(RespondentLeavedMeetMe,CreatorChannel: ${CHANNEL},Channel1: ${InterviewerChannel},MeetMeRoom: ${bridgeName},RpqId: ${RpqId},RespondentNumber: ${respondentNumber},RespondentPrimaryKey:${RespondentPrimaryKey}) ;;Please change to 1 if We do not recording exten => s,1,Hangup() exten => failed,1,Hangup() [StopConfBridgeRecordSub] exten => _[a-zA-Z0-9]!,1,System(/var/spool/asterisk/confbridge/stopRecording.sh ${EXTEN} 3) same => n,Return() [StopConfBridgeRecord] exten => _[a-zA-Z0-9],1,System(/var/spool/asterisk/confbridge/stopRecording.sh ${EXTEN} 3) [PredictiveMeetMeRespondent] exten => _X!,1,Answer() ;Between here, the server gets notified call was picked up and will then issue a redirect to MeetMeRespondent same => n,wait(2) same => n,playback(apology,skip) same => n,hangup() exten => s,1,Hangup() exten => failed,1,Hangup() [handler] exten => addheader,1,Set(PJSIP_HEADER(add,P-Asserted-Identity)="+4578770000" ) same => n,Return() [RespondentCall] exten =>4530141377,1,Answer() same => n,ConfBridge(PreShift,,preshift) exten => _X!,1,Set(Respondent=${EXTEN}) same => n,Verbose(0,RespondentCall ${InterviewerChannel}) ;same => n,SET(CALLERID(num)=+4570200000) ;same => n,SET(CALLERID(name)=+4570200000) same => n,SET(CALLERID(num)=+4530141377) same => n,SET(CALLERID(name)=+4530141377) same => n,GOTOIF($[${EXISTS(${CG_ANONYMOUS})}]?:skipAnon) same => n,SET(CALLERID(num)=anonymous) same => n,SET(CALLERID(name)=anonymous) same => n(skipAnon),GOTOIF($[${EXISTS(${CG_CALLERID})}]?:cgdial) same => n,SET(CALLERID(num)=${CG_CALLERID}) same => n,SET(CALLERID(name)=${CG_CALLERID}) ;;same => n(cgdial),Dial(PJSIP/00${EXTEN}@mytrunk,30) ;;same => n(cgdial),Dial(PJSIP/00${EXTEN}@mytrunk,,b(handler^addheader^1),30) same => n(cgdial),Dial(PJSIP/00${EXTEN}@mytrunk,30,b(handler^addheader^1)) exten => failed,1,Hangup() [from_trunk] exten => _X.,1,Hangup() exten => failed,1,Hangup() ;;!!!!!!!!!!!!!!!!!!!!!!!!! DEBUG CODE DO NOT PUT IN PRODUCTION!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [unauthenticated] exten => 789,1,Noop(789) same => n,Answer() ;same => n,Set(DENOISE(rx)=on) ;same => n,Set(DENOISE(tx)=on) same => n,Wait(3) ;same => n,SayNumber(10) ;same => n,SayDigits(9876543210) ;same => n,Playback(welcome) same => n,Background(demo-echotest) ;same => n(echo),ConfBridge(testme,,interviewer) same => n(echo),Echo() same => n,Playback(demo-echodone) same => n,Playback(vm-goodbye) same => n,Hangup() exten => i,1,SayNumber(${INVALID_EXTEN}) exten => i,n,Goto(unauthenticated,789,echo) exten => 987,1,Answer() same => n,Playback(welcome) same => n,Playback(vm-goodbye) same => n,Hangup()