[general] static=yes writeprotect=no [globals] CONSOLE=Console/dsp IAXINFO=guest TRUNKMSD=1 myTIMEOUT= ;DYNAMIC_FEATURES=>automon myDIALOPTIONSEXT=to myDIALOPTIONSOUTBOUND=tTo myDIALOPTIONSOUTBOUNDREC=tTowW ;[default] ;include => incoming ;include => sipdiscount-outgoing ;exten => 678,1,Set(DB(test/count)=1) ;exten => 678,2,Set(COUNT=${DB(test/count)}) ;exten => 678,3,SayNumber(${COUNT}) ;exten => 678,4,Set(COUNT=$[${COUNT} + 1]) ;exten => 678,5,Set(DB(test/count)=${COUNT}) ;exten => 678,6,Goto(2) ;exten => 679,1,Zapateller() ;[incoming] ;exten => 1234567,1,Dial(SIP/localuser,,${myDIALOPTIONSEXT}) ;exten => 1234567,2,Hangup ;exten => 654321,1,Dial(SIP/mx250/654321,,${myDIALOPTIONSEXT}) ;exten => 654321,2,Hangup [default] exten => h,1,DeadAGI(call_log.agi,${EXTEN}) ; DeadAGI is new exten => h,2,DeadAGI(VD_hangup.agi,${EXTEN}) exten => 1000,1,Playback(transfer|skip) exten => 1000,n,Dial(SIP/localuser,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1000,n,Voicemail(u1000) exten => 1000,n,Hangup exten => 1001,1,Playback(transfer|skip) exten => 1001,n,Dial(SIP/mx250/1001,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1001,n,Voicemail(u1001) exten => 1001,n,Hangup exten => 1002,1,Playback(transfer|skip) exten => 1002,n,Dial(SIP/mx250/1002,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1002,n,Voicemail(u1002) exten => 1002,n,Hangup exten => 1003,1,Playback(transfer|skip) exten => 1003,n,Dial(SIP/mx250/1003,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1003,n,Voicemail(u1003) exten => 1003,n,Hangup exten => 1004,1,Playback(transfer|skip) exten => 1004,n,Dial(SIP/mx250/1004,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1004,n,Voicemail(u1004) exten => 1004,n,Hangup exten => 1005,1,Playback(transfer|skip) exten => 1005,n,Dial(SIP/mx250/1005,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1005,n,Voicemail(u1005) exten => 1005,n,Hangup exten => 1006,1,Playback(transfer|skip) exten => 1006,n,Dial(SIP/mx250/1006,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1006,n,Voicemail(u1006) exten => 1006,n,Hangup exten => 1007,1,Playback(transfer|skip) exten => 1007,n,Dial(SIP/mx250/1007,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1007,n,Voicemail(u1007) exten => 1007,n,Hangup exten => 1008,1,Playback(transfer|skip) exten => 1008,n,Dial(SIP/mx250/1008,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1008,n,Voicemail(u1008) exten => 1008,n,Hangup exten => 1009,1,Playback(transfer|skip) exten => 1009,n,Dial(SIP/mx250/1009,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1009,n,Voicemail(u1009) exten => 1009,n,Hangup exten => 1010,1,Playback(transfer|skip) exten => 1010,n,Dial(SIP/mx250/1010,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1010,n,Voicemail(u1010) exten => 1010,n,Hangup exten => 1011,1,Playback(transfer|skip) exten => 1011,n,Dial(SIP/mx250/1011,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1011,n,Voicemail(u1011) exten => 1011,n,Hangup exten => 1012,1,Playback(transfer|skip) exten => 1012,n,Dial(SIP/mx250/1012,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1012,n,Voicemail(u1012) exten => 1012,n,Hangup exten => 1013,1,Playback(transfer|skip) exten => 1013,n,Dial(SIP/mx250/1013,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1013,n,Voicemail(u1013) exten => 1013,n,Hangup exten => 1014,1,Playback(transfer|skip) exten => 1014,n,Dial(SIP/mx250/1014,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1014,n,Voicemail(u1014) exten => 1014,n,Hangup exten => 1015,1,Playback(transfer|skip) exten => 1015,n,Dial(SIP/agent15,${myTIMEOUT},${myDIALOPTIONSEXT}) exten => 1015,n,Voicemail(u1015) exten => 1015,n,Hangup ;exten => 1235,1,Playback(transfer|skip) ;exten => 1235,n,Dial(SIP/zultys@192.168.1.13,${myTIMEOUT},$myDIALOPTIONSEXT}) ;exten => 1235,n,Voicemail(u1235) ;exten => 1235,n,Hangup exten => 8159,1,ZapBarge() exten => 8159,n,Hangup exten => 8600,1,Meetme(8600) exten => 8601,1,Meetme(8601) ; extensions for agc conferences exten => 8600011,1,Meetme(8600011,q) exten => 8600012,1,Meetme(8600012,q) exten => 8600013,1,Meetme(8600013,q) exten => 8600014,1,Meetme(8600014,q) exten => 8600015,1,Meetme(8600015,q) exten => 8600016,1,Meetme(8600016,q) exten => 8600017,1,Meetme(8600017,q) exten => 8600018,1,Meetme(8600018,q) exten => 8600019,1,Meetme(8600019,q) exten => 8600020,1,Meetme(8600020,q) exten => 8600021,1,Meetme(8600021,q) exten => 8600022,1,Meetme(8600022,q) exten => 8600023,1,Meetme(8600023,q) exten => 8600024,1,Meetme(8600024,q) exten => 8600025,1,Meetme(8600025,q) exten => 8600026,1,Meetme(8600026,q) exten => 8600027,1,Meetme(8600027,q) exten => 8600028,1,Meetme(8600028,q) exten => 8600029,1,Meetme(8600029,q) ; extensions for VICIDIAL conferences exten => 8600051,1,Meetme(8600051) exten => 8600052,1,Meetme(8600052) exten => 8600053,1,Meetme(8600053) exten => 8600054,1,Meetme(8600054) exten => 8600055,1,Meetme(8600055) exten => 8600056,1,Meetme(8600056) exten => 8600057,1,Meetme(8600057) exten => 8600058,1,Meetme(8600058) exten => 8600059,1,Meetme(8600059) exten => 8600060,1,Meetme(8600060) exten => 8600061,1,Meetme(8600061) exten => 8600062,1,Meetme(8600062) exten => 8600063,1,Meetme(8600063) exten => 8600064,1,Meetme(8600064) exten => 8600065,1,Meetme(8600065) exten => 8600066,1,Meetme(8600066) exten => 8600067,1,Meetme(8600067) exten => 8600068,1,Meetme(8600068) exten => 8600069,1,Meetme(8600069) exten => 8600070,1,Meetme(8600070) exten => 8600071,1,Meetme(8600071) exten => 8600072,1,Meetme(8600072) exten => 8600073,1,Meetme(8600073) exten => 8600074,1,Meetme(8600074) exten => 8600075,1,Meetme(8600075) exten => 8600076,1,Meetme(8600076) exten => 8600077,1,Meetme(8600077) exten => 8600078,1,Meetme(8600078) exten => 8600079,1,Meetme(8600079) exten => 8600080,1,Meetme(8600080) exten => 8600081,1,Meetme(8600081) exten => 8600082,1,Meetme(8600082) exten => 8600083,1,Meetme(8600083) exten => 8600084,1,Meetme(8600084) exten => 8600085,1,Meetme(8600085) exten => 8600086,1,Meetme(8600086) exten => 8600087,1,Meetme(8600087) exten => 8600088,1,Meetme(8600088) exten => 8600089,1,Meetme(8600089) exten => 8600090,1,Meetme(8600090) exten => 8600091,1,Meetme(8600091) exten => 8600092,1,Meetme(8600092) exten => 8600093,1,Meetme(8600093) exten => 8600094,1,Meetme(8600094) exten => 8600095,1,Meetme(8600095) exten => 8600096,1,Meetme(8600096) exten => 8600097,1,Meetme(8600097) exten => 8600098,1,Meetme(8600098) exten => 8600099,1,Meetme(8600099) exten => 8600100,1,Meetme(8600100) ; quiet entry and leaving conferences for VICIDIAL exten => 78600051,1,Meetme(8600051,q) exten => 78600052,1,Meetme(8600052,q) exten => 78600053,1,Meetme(8600053,q) exten => 78600054,1,Meetme(8600054,q) exten => 78600055,1,Meetme(8600055,q) exten => 78600056,1,Meetme(8600056,q) exten => 78600057,1,Meetme(8600057,q) exten => 78600058,1,Meetme(8600058,q) exten => 78600059,1,Meetme(8600059,q) exten => 78600060,1,Meetme(8600060,q) exten => 78600061,1,Meetme(8600061,q) exten => 78600062,1,Meetme(8600062,q) exten => 78600063,1,Meetme(8600063,q) exten => 78600064,1,Meetme(8600064,q) exten => 78600065,1,Meetme(8600065,q) exten => 78600066,1,Meetme(8600066,q) exten => 78600067,1,Meetme(8600067,q) exten => 78600068,1,Meetme(8600068,q) exten => 78600069,1,Meetme(8600069,q) exten => 78600070,1,Meetme(8600070,q) exten => 78600071,1,Meetme(8600071,q) exten => 78600072,1,Meetme(8600072,q) exten => 78600073,1,Meetme(8600073,q) exten => 78600074,1,Meetme(8600074,q) exten => 78600075,1,Meetme(8600075,q) exten => 78600076,1,Meetme(8600076,q) exten => 78600077,1,Meetme(8600077,q) exten => 78600078,1,Meetme(8600078,q) exten => 78600079,1,Meetme(8600079,q) exten => 78600080,1,Meetme(8600080,q) exten => 78600081,1,Meetme(8600081,q) exten => 78600082,1,Meetme(8600082,q) exten => 78600083,1,Meetme(8600083,q) exten => 78600084,1,Meetme(8600084,q) exten => 78600085,1,Meetme(8600085,q) exten => 78600086,1,Meetme(8600086,q) exten => 78600087,1,Meetme(8600087,q) exten => 78600088,1,Meetme(8600088,q) exten => 78600089,1,Meetme(8600089,q) exten => 78600090,1,Meetme(8600090,q) exten => 78600091,1,Meetme(8600091,q) exten => 78600092,1,Meetme(8600092,q) exten => 78600093,1,Meetme(8600093,q) exten => 78600094,1,Meetme(8600094,q) exten => 78600095,1,Meetme(8600095,q) exten => 78600096,1,Meetme(8600096,q) exten => 78600097,1,Meetme(8600097,q) exten => 78600098,1,Meetme(8600098,q) exten => 78600099,1,Meetme(8600099,q) exten => 78600100,1,Meetme(8600100,q) ; quiet monitor extensions for meetme rooms (for room managers) exten => 68600051,1,Meetme(8600051,mq) exten => 68600052,1,Meetme(8600052,mq) exten => 68600053,1,Meetme(8600053,mq) exten => 68600054,1,Meetme(8600054,mq) exten => 68600055,1,Meetme(8600055,mq) exten => 68600056,1,Meetme(8600056,mq) exten => 68600057,1,Meetme(8600057,mq) exten => 68600058,1,Meetme(8600058,mq) exten => 68600059,1,Meetme(8600059,mq) exten => 68600060,1,Meetme(8600060,mq) exten => 68600061,1,Meetme(8600061,mq) exten => 68600062,1,Meetme(8600062,mq) exten => 68600063,1,Meetme(8600063,mq) exten => 68600064,1,Meetme(8600064,mq) exten => 68600065,1,Meetme(8600065,mq) exten => 68600066,1,Meetme(8600066,mq) exten => 68600067,1,Meetme(8600067,mq) exten => 68600068,1,Meetme(8600068,mq) exten => 68600069,1,Meetme(8600069,mq) exten => 68600070,1,Meetme(8600070,mq) exten => 68600071,1,Meetme(8600071,mq) exten => 68600072,1,Meetme(8600072,mq) exten => 68600073,1,Meetme(8600073,mq) exten => 68600074,1,Meetme(8600074,mq) exten => 68600075,1,Meetme(8600075,mq) exten => 68600076,1,Meetme(8600076,mq) exten => 68600077,1,Meetme(8600077,mq) exten => 68600078,1,Meetme(8600078,mq) exten => 68600079,1,Meetme(8600079,mq) exten => 68600080,1,Meetme(8600080,mq) exten => 68600081,1,Meetme(8600081,mq) exten => 68600082,1,Meetme(8600082,mq) exten => 68600083,1,Meetme(8600083,mq) exten => 68600084,1,Meetme(8600084,mq) exten => 68600085,1,Meetme(8600085,mq) exten => 68600086,1,Meetme(8600086,mq) exten => 68600087,1,Meetme(8600087,mq) exten => 68600088,1,Meetme(8600088,mq) exten => 68600089,1,Meetme(8600089,mq) exten => 68600090,1,Meetme(8600090,mq) exten => 68600091,1,Meetme(8600091,mq) exten => 68600092,1,Meetme(8600092,mq) exten => 68600093,1,Meetme(8600093,mq) exten => 68600094,1,Meetme(8600094,mq) exten => 68600095,1,Meetme(8600095,mq) exten => 68600096,1,Meetme(8600096,mq) exten => 68600097,1,Meetme(8600097,mq) exten => 68600098,1,Meetme(8600098,mq) exten => 68600099,1,Meetme(8600099,mq) exten => 68600100,1,Meetme(8600100,mq) ; Park channel for client GUI parking, hangup after 30 minutes exten => 8301,1,Answer() exten => 8301,2,AGI(park_CID.agi) exten => 8301,3,Playback(park) exten => 8301,4,Hangup() ; Park channel for client GUI conferencing, hangup after 30 minutes exten => 8302,1,Answer() exten => 8302,2,Playback(conf) exten => 8302,3,Hangup() ; Record Conference Calls, Client App sends the filename value as a caller ID recordings go to /var/spool/asterisk/monitor (WAV) exten => 8309,1,Answer() exten => 8309,n,Monitor(wav,${CALLERIDNAME}) exten => 8309,n,Wait(3600) exten => 8309,n,Hangup() ; Record Conference Calls, Client App sends the filename value as a caller ID recordings go to /var/spool/asterisk/monitor (GSM) exten => 8310,1,Answer() exten => 8310,n,Monitor(gsm,${CALLERIDNAME}) exten => 8310,n,Wait(3600) exten => 8310,n,Hangup() ; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL ; replace conf with the message file you want to leave exten => 8320,1,WaitForSilence(2000,2) ; AMD got machine. leave message after recording exten => 8320,2,Playback(conf) exten => 8320,3,AGI(VD_amd_post.agi,${EXTEN}) exten => 8320,4,Hangup ; This is used to allow GUI to send you directly into voicemail exten => 8501,1,VoicemailMain(s${CALLERID}) exten => 8501,n,Hangup() ; This is used to allow GUI to send live calls directly into voicemail exten => _85026666666666.,1,Wait(2) exten => _85026666666666.,n,Voicemail(${EXTEN:14}) exten => _85026666666666.,n,Hangup() ; This is used for sending DTMF signals within conference calls, the client app sends the digits to be played in the callerID ; field, sound files must be placed in /var/lib/asterisk/sounds exten => 8500998,1,Answer() exten => 8500998,n,AGI(agi-dtmf.agi) exten => 8500998,n,Hangup() ; VICIDIAL_auto_dialer transfer script exten => 8365,1,AGI(call_log.agi,${EXTEN}) exten => 8365,n,AGI(agi-VDADtransfer.agi,${EXTEN}) exten => 8365,n,AGI(agi-VDADtransfer.agi,${EXTEN}) exten => 8365,n,AGI(agi-VDADtransfer.agi,${EXTEN}) exten => 8365,n,Hangup() ; VICIDIAL_auto_dialer transfer script SURVEY at beginning: exten => 8366,1,AGI(call_log.agi,${EXTEN}) exten => 8366,n,AGI(agi-VDADtransferSURVEY.agi,${EXTEN}) exten => 8366,n,AGI(agi-VDADtransferSURVEY.agi,${EXTEN}) exten => 8366,n,AGI(agi-VDADtransferSURVEY.agi,${EXTEN}) exten => 8366,n,Hangup ; VICIDIAL_auto_dialer transfer script Load Balance Overflow: exten => 8367,1,AGI(call_log.agi,${EXTEN}) exten => 8367,n,AGI(agi-VDAD_LO_transfer.agi,${EXTEN}) exten => 8367,n,AGI(agi-VDAD_LO_transfer.agi,${EXTEN}) exten => 8367,n,AGI(agi-VDAD_LO_transfer.agi,${EXTEN}) exten => 8367,n,Hangup ; VICIDIAL_auto_dialer transfer script Load Balanced: exten => 8368,1,AGI(call_log.agi,${EXTEN}) exten => 8368,n,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) exten => 8368,n,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) exten => 8368,n,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) exten => 8368,n,Hangup ; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: exten => 8369,1,AGI(call_log.agi,${EXTEN}) exten => 8369,2,AMD(3500|1500|300|5000|120|50|5|256) exten => 8369,3,AGI(VD_amd.agi,${EXTEN}) exten => 8369,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) exten => 8369,5,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) exten => 8369,6,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) exten => 8369,7,Hangup ; VICIDIAL auto-dial reminder script exten => 8372,1,AGI(call_log.agi,${EXTEN}) exten => 8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) exten => 8372,5,Hangup ; Out Bound Trunk ;exten => _001.,1,AGI(call_log.agi,${EXTEN}) ;exten => _001.,n,Dial(SIP/${EXTEN:1}@sipdiscount.com,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) ;exten => _001.,n,Congestion ;exten => _001.,n,Hangup ;USA exten => _9001NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN}) exten => _9001NXXNXXXXXX,n,Dial(SIP/${EXTEN:1}@sipdiscount,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _9001NXXNXXXXXX,n,Congestion exten => _9001NXXNXXXXXX,n,Hangup ;Australia exten => _900612.,1,AGI(call_log.agi,${EXTEN}) exten => _900612.,n,Dial(SIP/${EXTEN:1}@sipdiscount,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _900612.,n,Congestion exten => _900612.,n,Hangup ;Anywhere Else exten => _9121121.,1,AGI(call_log.agi,${EXTEN}) exten => _9121121.,n,Dial(SIP/${EXTEN:7}@sipdiscount,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _9121121.,n,Congestion exten => _9121121.,n,Hangup ;Germany exten => _90049.,1,AGI(call_log.agi,${EXTEN}) exten => _90049.,n,Dial(SIP/${EXTEN:1}@sipdiscount,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _90049.,n,Congestion exten => _90049.,n,Hangup exten => _8001NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN}) exten => _8001NXXNXXXXXX,n,Dial(SIP/${EXTEN:1}@aircel,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _8001NXXNXXXXXX,n,Congestion exten => _8001NXXNXXXXXX,n,Hangup exten => _8612.,1,AGI(call_log.agi,${EXTEN}) exten => _8612.,n,Dial(SIP/${EXTEN:1}@aircel,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _8612.,n,Congestion exten => _8612.,n,Hangup exten => _8613.,1,AGI(call_log.agi,${EXTEN}) exten => _8613.,n,Dial(SIP/${EXTEN:1}@aircel,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _8613.,n,Congestion exten => _8613.,n,Hangup exten => _7612.,1,AGI(call_log.agi,${EXTEN}) exten => _7612.,n,Dial(SIP/${EXTEN:1}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _7612.,n,Congestion exten => _7612.,n,Hangup exten => _7613.,1,AGI(call_log.agi,${EXTEN}) exten => _7613.,n,Dial(SIP/${EXTEN:1}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _7613.,n,Congestion exten => _7613.,n,Hangup exten => _8612.,1,AGI(call_log.agi,${EXTEN}) exten => _8612.,n,Dial(SIP/${EXTEN:1}@aircel,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _8612.,n,Congestion exten => _8612.,n,Hangup exten => _8613.,1,AGI(call_log.agi,${EXTEN}) exten => _8613.,n,Dial(SIP/${EXTEN:1}@aircel,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _8613.,n,Congestion exten => _8613.,n,Hangup exten => _700612.,1,AGI(call_log.agi,${EXTEN}) exten => _700612.,n,Dial(SIP/${EXTEN:1}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _700612.,n,Congestion exten => _700612.,n,Hangup exten => _700613.,1,AGI(call_log.agi,${EXTEN}) exten => _700613.,n,Dial(SIP/${EXTEN:1}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _700613.,n,Congestion exten => _700613.,n,Hangup ;Direct call with recording ;exten => _77612.,1,AGI(call_log.agi,${EXTEN}) ;exten => _77612.,n,Monitor(wav,,m) ;exten => _77612.,n,Dial(SIP/${EXTEN:2}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) ;exten => _77612.,n,Wait(3600) ;exten => _77612.,n,Congestion ;exten => _77612.,n,Hangup ;exten => _77613.,1,AGI(call_log.agi,${EXTEN}) ;exten => _77613.,n,Monitor(wav,,m) ;exten => _77613.,n,Dial(SIP/${EXTEN:2}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) ;exten => _77613.,n,Wait(3600) ;exten => _77613.,n,Congestion ;exten => _77613.,n,Hangup ;Direct call with recording exten => _77612.,1,AGI(call_log.agi,${EXTEN}) exten => _77612.,n,Set(DYNAMIC_FEATURES=automon) exten => _77612.,n,Dial(SIP/${EXTEN:2}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUNDREC}) exten => _77612.,n,Congestion exten => _77612.,n,Hangup exten => _77613.,1,AGI(call_log.agi,${EXTEN}) exten => _77613.,n,Set(DYNAMIC_FEATURES=automon) exten => _77613.,n,Dial(SIP/${EXTEN:2}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUNDREC}) exten => _77613.,n,Congestion exten => _77613.,n,Hangup ;Direct call with recording exten => _99001.,1,AGI(call_log.agi,${EXTEN}) exten => _99001.,n,Set(DYNAMIC_FEATURES=automon) exten => _99001.,n,Dial(SIP/${EXTEN:2}@sipdiscount,${myTIMEOUT},${myDIALOPTIONSOUTBOUNDREC}) exten => _99001.,n,Congestion exten => _99001.,n,Hangup exten => _99001.,1,AGI(call_log.agi,${EXTEN}) exten => _99001.,n,Set(DYNAMIC_FEATURES=automon) exten => _99001.,n,Dial(SIP/${EXTEN:2}@sipdiscount,${myTIMEOUT},${myDIALOPTIONSOUTBOUNDREC}) exten => _99001.,n,Congestion exten => _99001.,n,Hangup exten => _6612.,1,AGI(call_log.agi,${EXTEN}) exten => _6612.,n,Dial(SIP/0${EXTEN:3}@freecall,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _6612.,n,Congestion exten => _6612.,n,Hangup exten => _6613.,1,AGI(call_log.agi,${EXTEN}) exten => _6613.,n,Dial(SIP/0${EXTEN:3}@freecall,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _6613.,n,Congestion exten => _6613.,n,Hangup exten => _7121121614.,1,AGI(call_log.agi,${EXTEN}) exten => _7121121614.,n,Dial(SIP/${EXTEN:7}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _7121121614.,n,Congestion exten => _7121121614.,n,Hangup exten => _7001NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN}) exten => _7001NXXNXXXXXX,n,Dial(SIP/${EXTEN:1}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _7001NXXNXXXXXX,n,Congestion exten => _7001NXXNXXXXXX,n,Hangup exten => _70044.,1,AGI(call_log.agi,${EXTEN}) exten => _70044.,n,Dial(SIP/${EXTEN:1}@primus,${myTIMEOUT},${myDIALOPTIONSOUTBOUND}) exten => _70044.,n,Congestion exten => _70044.,n,Hangup ; # timeout invalid rules exten => #,1,Playback(invalid) exten => #,2,Hangup exten => t,1,Goto(#,1) exten => i,1,Playback(invalid) ; Give voicemail at extension 8500 exten => 8500,1,VoicemailMain exten => 8500,2,Goto(s,6)