SCRIPT:::::::::::::::::::: [default] exten => 6101,1,Macro(stdexten,6101,${PINGTEL1}) exten => 6102,1,Macro(stdexten,6102,${PINGTEL2}) exten => 6103,1,Macro(stdexten,6103,${JOHN}) exten => 6104,1,Macro(stdexten,6104,${GRAND1}) exten => 6105,1,Macro(stdexten,6105,${ALEX}) exten => 6106,1,Macro(stdexten,6106,${OPTI1}) exten => 6107,1,Macro(stdexten,6107,${SNOM}) ;----------------------------------------------------------------------------- [macro-stdexten] ; ; Standard extension macro: ; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well ; ${ARG2} - Device(s) to ring ; exten => s,1,Answer exten => s,2,Playback(transfer) ;play transfer (please hold whilst i try to conenct you) ;exten => s,3,Macro(record-start) ;exten => s,4,Dial(${ARG2},10,tTM(record-start,testarg)) exten => s,3,SetVar(CALLFILENAME=/tmp/call_logs/${ARG1}/${TIMESTAMP}-${CALLERID}) exten => s,4,Macro(printvars) exten => s,5,Dial(${ARG2},10,tTM(printvars)) exten => s,6,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER) exten => s-ANSWER,1,Hangup ; If call had been answered then ensure that caller is hungup exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start exten => s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain [macro-printvars] exten => s,1,NoOp(CALLFILENAME: ${CALLFILENAME}) exten => s,2,NoOp(Arg1: ${ARG1}) exten => s,3,NoOp(Exten: ${EXTEN}) exten => s,4,NoOp(Context: ${CONTEXT}) exten => s,5,NoOp(UniqueID: ${UNIQUEID}) exten => s,6,NoOp(CallID: ${SIPCALLID}) exten => s,7,NoOp(CallerID: ${CALLERID}) exten => s,8,NoOp(Channel: ${CHANNEL}) exten => s,9,NoOp(Macro-Exten: ${MACRO_EXTEN}) exten => s,10,NoOp(Macro-Context: ${MACRO_CONTEXT}) Example Output:::::::::::::::::::::::;;; -- Executing Macro("SIP/pingtel-c08c", "stdexten|6107|SIP/snom") in new stack -- Executing Answer("SIP/pingtel-c08c", "") in new stack -- Executing Playback("SIP/pingtel-c08c", "transfer") in new stack -- Playing 'transfer' (language 'en') -- Executing SetVar("SIP/pingtel-c08c", "CALLFILENAME=/tmp/call_logs/6107/20041005-132746-6101") in new stack -- Executing Macro("SIP/pingtel-c08c", "printvars") in new stack -- Executing NoOp("SIP/pingtel-c08c", "CALLFILENAME: /tmp/call_logs/6107/20041005-132746-6101") in new stack -- Executing NoOp("SIP/pingtel-c08c", "Arg1: 6107") in new stack -- Executing NoOp("SIP/pingtel-c08c", "Exten: s") in new stack -- Executing NoOp("SIP/pingtel-c08c", "Context: macro-printvars") in new stack -- Executing NoOp("SIP/pingtel-c08c", "UniqueID: 1096982864.21") in new stack -- Executing NoOp("SIP/pingtel-c08c", "CallID: call-1096979962-28@193.195.52.81") in new stack -- Executing NoOp("SIP/pingtel-c08c", "CallerID: 6101") in new stack -- Executing NoOp("SIP/pingtel-c08c", "Channel: SIP/pingtel-c08c") in new stack -- Executing NoOp("SIP/pingtel-c08c", "Macro-Exten: s") in new stack -- Executing NoOp("SIP/pingtel-c08c", "Macro-Context: macro-stdexten") in new stack -- Executing Dial("SIP/pingtel-c08c", "SIP/snom|10|tTM(printvars)") in new stack -- Called snom -- SIP/snom-59ed is ringing Oct 5 13:27:46 WARNING[262161]: chan_sip.c:681 retrans_pkt: Maximum retries exceeded on call 29a3eb0505feeb2c1b8afeaa562e1c2b@172.16.0.217 for seqno 102 (Non-critical Request) -- SIP/snom-59ed is ringing -- SIP/snom-59ed answered SIP/pingtel-c08c -- Executing NoOp("SIP/snom-59ed", "CALLFILENAME: """) in new stack -- Executing NoOp("SIP/snom-59ed", "Arg1: ") in new stack -- Executing NoOp("SIP/snom-59ed", "Exten: s") in new stack -- Executing NoOp("SIP/snom-59ed", "Context: macro-printvars") in new stack -- Executing NoOp("SIP/snom-59ed", "UniqueID: 1096982866.22") in new stack -- Executing NoOp("SIP/snom-59ed", "CallID: 1ad3295a04f225e1133217165ed03f4e@172.16.0.217") in new stack -- Executing NoOp("SIP/snom-59ed", "CallerID: 6101") in new stack -- Executing NoOp("SIP/snom-59ed", "Channel: SIP/snom-59ed") in new stack -- Executing NoOp("SIP/snom-59ed", "Macro-Exten: ") in new stack -- Executing NoOp("SIP/snom-59ed", "Macro-Context: default") in new stack -- Attempting native bridge of SIP/pingtel-c08c and SIP/snom-59ed