[DIALPLAN-1] exten => DIALCUSTOMER,1(NEXTCALL),Log(NOTICE,NEXTCALL) exten => DIALCUSTOMER,n,Set(CDR(userfield)=${CALL_ID}) exten => DIALCUSTOMER,n,AGI(set_disposition.php,${CALL_ID},DIALING,1) exten => DIALCUSTOMER,n,AGI(get_ani.php,${NUMBER}) exten => DIALCUSTOMER,n(DIAL),Macro(direct-dial,1,${CALL_ID},${NUMBER},${RING_TIME}) ;exten => DIALCUSTOMER,n,Log(NOTICE, DialStatus: ${DIALSTATUS} ) ;exten => DIALCUSTOMER,n,AGI(set_disposition.php,${CALL_ID},${DIALSTATUS},1) exten => DIALCUSTOMER,n,HangUp exten => SALESQUEUE,1,Log(NOTICE,Sending to sales queue) exten => SALESQUEUE,n,Set(SALES_CALL=1) exten => SALESQUEUE,n,Set(CALLERID(all)=${CALL_ID}) exten => SALESQUEUE,n,AGI(call_queue_log.php,${CALL_ID},${CARRIER},QUEUE) exten => SALESQUEUE,n,Queue(7001,,,,8) exten => SALESQUEUE,n,AGI(set_disposition.php,${CALL_ID},NOAGENT - ${QUEUESTATUS},1) exten => SALESQUEUE,n,AGI(call_queue_log.php,${CALL_ID},${CARRIER},DROPMESSAGE) exten => SALESQUEUE,n,Playback(drop-message-2) exten => DROPMESSAGE,1,AGI(set_disposition.php,${CALL_ID},ANSWERMACHINE,1) exten => DROPMESSAGE,n,GotoIf($[ "${DISPO_RESULT}" = "-1" ]?SKIPMESSAGE) exten => DROPMESSAGE,n,GotoIf($[ "${DISPO_RESULT}" = "2" ]?PLAYMESSAGE2) exten => DROPMESSAGE,n(PLAYMESSAGE1),AGI(call_queue_log.php,${CALL_ID},${CARRIER},DROPMESSAGE 1) exten => DROPMESSAGE,n,WaitForSilence() exten => DROPMESSAGE,n,Playback(drop-message-1) exten => DROPMESSAGE,n,Goto(SKIPMESSAGE) exten => DROPMESSAGE,n(PLAYMESSAGE2),AGI(call_queue_log.php,${CALL_ID},${CARRIER},DROPMESSAGE 2) exten => DROPMESSAGE,n,WaitForSilence() exten => DROPMESSAGE,n,Playback(drop-message-2) exten => DROPMESSAGE,n(SKIPMESSAGE),Log(NOTICE,HANGUP AM CALL) exten => DROPMESSAGE,n,HangUp exten => h,1,NoOp(Sales Call: ${SALES_CALL} Channel: ${CHANNEL} Context: ${CONTEXT} Call Connected: ${CALL_CONNECTED}, Dial Status: ${DIALSTATUS}, CALL ATTEMPT: ${CALL_ATTEMPT} ) exten => h,n,GotoIf($["${SALES_CALL}" = "1"]?LOGHANGUP) exten => h,n,GotoIf($["${DIALSTATUS}" = "ANSWER" ]?ENDCALL) exten => h,n,GotoIf($["${DIALSTATUS}" = "CANCEL" && "${CALL_CONNECTED}" = "0"]?RINGNOANSWER:ENDCALL) exten => h,n(RINGNOANSWER),AGI(set_disposition.php,${CALL_ID},RINGNOANSWER,1) exten => h,n,AGI(set_hangup.php,${CALL_ID}) exten => h,n,Goto(ENDCALL) exten => h,n(LOGHANGUP),AGI(set_hangup.php,${CALL_ID}) exten => h,n,AGI(set_disposition.php,${CALL_ID},HANGUP,0) exten => h,n(ENDCALL),NoOp() [macro-sendtoqueue] exten => s,1,Goto(SALESQUEUE,1) [macro-direct-dial] exten => s,1,Set(CALL_ATTEMPT=${ARG1}) exten => s,2,Set(CARRIER=${EVAL(${CARRIER${CALL_ATTEMPT}})}) exten => s,3,AGI(call_queue_log.php,${ARG2},${CARRIER},DIALING) exten => s,4,Set(CALL_CONNECTED=0) exten => s,5,Dial(${CARRIER}/${ARG3},60) exten => s,6,Set(CALL_CONNECTED=1) exten => s,7,AGI(call_queue_log.php,${ARG2},${CARRIER},${DIALSTATUS}) exten => s,8,GotoIf($["${CALL_ATTEMPT}" >= "${MAX_PROVIDERS}"]?s-FAILED,1) exten => s,9,Set(CALL_ATTEMPT=$[${CALL_ATTEMPT} + 1]) exten => s,10,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,Noop() exten => s-HANGUP,1,Noop() ;exten => s-BUSY,1,Noop() ;exten => s-CANCEL,1,Goto(s,2) exten => s-BUSY,1,Goto(s,2) exten => s-CHANUNAVAIL,1,Goto(s,2) exten => s-CONGESTION,1,Goto(s,2) exten => s-FAILED,1,AGI(set_disposition.php,${CALL_ID},FAILED,1) ;exten => s-FAILED,n,AGI(kill_number.php,${ARG2}) exten => s-CANCEL,1,AGI(set_disposition.php,${CALL_ID},CANCEL,1) ;exten => s-CANCEL,n,AGI(kill_number.php,${ARG2})