All pastes #717325 Raw Edit

Miscellany

public text v1 · immutable
#717325 ·published 2007-09-27 15:26 UTC
rendered paste body
[user_services]
; any services accesible by users will go here (voicemail, meetme, etc)
	
;handle external polycom dnd redirects
	exten => _voicemail.,1,Wait(1)
	exten => _voicemail.,n,VoiceMail(u${EXTEN:9}@default)
	exten => _voicemail.,n,Hangup()
	
;handle voicemail retrieval from Polycom sets
	exten => _getmail.,1,Answer()
	exten => _getmail.,n,Wait(1)
	exten => _getmail.,n,VoiceMailMain(${EXTEN:7}@default)
	exten => _getmail.,n,Hangup()

	exten => _getmailrem.,1,noop(--==[ enter reference vmb for ${EXTEN:10} ]==--)
	exten => _getmailrem.,n,VoiceMail(${EXTEN:10}@default)
	exten => _getmailrem.,n,Hangup()

; voicemail transfer
	exten => _5[45]00,1,Answer()
	exten => _5[45]00,n,Wait(1)
	exten => _5[45]00,n,VoiceMailMain(${EXTEN:1}@default)
	exten => _5[45]00,n,Hangup()
	
	exten => _52XX,1,Answer()
	exten => _52XX,n,Wait(1)
	exten => _52XX,n,VoiceMailMain(${EXTEN:1}@default)
	exten => _52XX,n,Hangup()
	
	exten => _530[01],1,Answer()
	exten => _530[01],n,Wait(1)
	exten => _530[01],n,VoiceMailMain(${EXTEN:1}@default)
	exten => _530[01],n,Hangup()
	
;handle remote notification
	exten => _vmremote.,1,Wait(9)
	exten => _vmremote.,n,Set(acknowleged=0) ; initialize the variable
	exten => _vmremote.,n,Read(acknowleged,${varCustom_Prompts_Dir}vmremote,1,option,5,5)
	exten => _vmremote.,n,Verbose(2,acknowleged=${acknowleged})
	exten => _vmremote.,n,Gotoif($[foo${acknowleged} = foo]?hangup:acknowleged)
	exten => _vmremote.,n(acknowleged),VoicemailMain(${EXTEN:8}@default,g(5))
	exten => _vmremote.,n(hangup),Hangup()
	
; Voicemail retrieval (from perhaps external)
	exten => 6000,1,Wait(1)
	exten => 6000,n,VoiceMailMain(,g(15))
	exten => 6000,n,Hangup()
	exten => 555,1,goto(6000,1)
	
; Conference rooms
; (PIN matches number - change in /etc/asterisk/meetme.conf) ; Personal Meetme Rooms
;	exten => 6210,1,MeetMe(6610|MpIx)
;	exten => 6210,n,Hangup()
;	exten => 6211,1,MeetMe(6611|MpIx)
;	exten => 6211,n,Hangup()
	exten => 333,1,MeetMe(|MIxp)
	exten => 333,n,Hangup()

	exten => _66XX.,1,noop(--==[ lines testing ]==--)
	exten => _66XX.,n,dial(zap/${EXTEN:2:2}/${EXTEN:4})
	exten => _66XX.,n,Hangup()

; Play music on hold
	exten => 6012,1,Answer()
	exten => 6012,n,Musiconhold(test)
	exten => 6012,n,Hangup()
	
	exten => 6013,1,Answer()
	exten => 6013,n,Musiconhold(default)
	exten => 6013,n,Hangup()
; Echo test
	exten => 6014,1,Answer()
	exten => 6014,n,Echo()
	exten => 6014,n,Hangup()
	
; Internal ANIC
	exten => 6015,1,Answer()
	exten => 6015,n,Wait(1)
	exten => 6015,n,SayDigits(${CALLERID(num)})
	exten => 6015,n,Hangup()

; test zap
	exten => 6016,1,Answer()
	exten => 6016,n,Wait(1)
	exten => 6016,n,Read(zap_test,enter-phone-number10,10,,,4)
	exten => 6016,n,GotoIf($[ ${ISNULL(${zap_test})} = 1 ]?6016,1)
	exten => 6016,n,Playback(the-num-i-have-is)
	exten => 6016,n,SayDigits(${zap_test})
	exten => 6016,n(zapchn),Read(zap_num,conf-getchannel,2,,,4)
	exten => 6016,n,GotoIf($[ ${ISNULL(${zap_num})} = 1 ]?zapchn)
	exten => 6016,n,GotoIf($[${zap_num}<1]?zapchn)
	exten => 6016,n,GotoIf($[${zap_num}>20]?zapchn)
	exten => 6016,n,Set(CALLERID(name)=${MAIN_CALLER_NM})
	exten => 6016,n,Set(CALLERID(num)=${MAIN_CALLER_ID})
	exten => 6016,n,Noop(-----> ${CALLERID(name)} [${CALLERID(num)}] <-----)
	exten => 6016,n,Dial(ZAP/${zap_num}/1${zap_test},,ftT)
	exten => 6016,n,Hangup()
	
;	exten => 6018,1,Answer()
;	exten => 6018,n,macro(alt_number_add,412) ;${number})
;	exten => 6018,n,Hangup()
	
;	exten => 6222,1,Noop(--== [test ] ==--)
;	exten => 6222,n,Set(CALLERID(name)=Agility Recovery)
;	exten => 6222,n,Set(CALLERID(num)=${MAIN_CALLER_ID})
;	exten => 6222,n,Dial(${POTS}/<type here a number>&Local/6018,20,r)
;	exten => 6222,n,Hangup()


	exten => 6018,1,Noop(-----> AAT service calls)
	exten => 6018,n,Wait(1)
	exten => 6018,n,Set(DAY_NOW=$[${STRFTIME(||%H%M)}])
	exten => 6018,n,noop(---> ${DAY_NOW} <---)
	exten => 6018,n,Hangup()

	exten => 6020,1,goto(main_menu,s,1)
	exten => 6020,n,Hangup()

	exten => 6021,1,goto(after_hours,s,1)
	exten => 6021,n,Hangup()
	
;Page phones
	exten => 6724,1,Verbose(2,${_ALERT_INFO})
	exten => 6724,n,Set(_ALERT_INFO="Auto Answer")
	exten => 6724,n,Verbose(2,${_ALERT_INFO})
	exten => 6724,n,Gotoif($[${EXISTS({PAGEROOM})}=0]?end)
	exten => 6724,n,Page(${PAGEROOM}|q)
	exten => 6724,n(end),Hangup()

; locate-me 
;	exten => 6777,1,Noop(-----> locate-me (${number})<------)
;	exten => 6777,n,Answer()
;	exten => 6777,n,Goto(loacte_me_setup,loc_me_${number},1)
;	exten => 6777,n,Hangup()


; Paging port
;	exten => 6017,1,Dial(ZAP/32)
;	exten => 6017,n,Hangup()
	
; Paging all zones
;	exten => 6018,1,Dial(ZAP/32,,D(ww00))
;	exten => 6018,n,Hangup()
	
; Reception ringer
;  exten => 6054,1,Dial(SIP/554)
;  exten => 6054,n,Verbose(3,row 348: ${CHANNEL} :: ${EXTEN}) ;  exten => 6054,n,Voicemail(u${receptionDN}) ;  exten => 6054,n,Hangup() ; ; Pickup reception ringer
;	exten => 6055,1,Pickup(554)
	
; Speed Dial
	exten => _6[01]XX,1,Verbose(3,"System Speed Dial")
	exten => _6[01]XX,n,GoToIf($[${REGEX("60..",${EXTEN})} = 1 ]?systemspeeddial:personalspeeddial)
	exten => _6[01]XX,n(personalspeeddial),Set(Chan=${CUT(CHANNEL,-,1)})
	exten => _6[01]XX,n,Set(ChanType=${CUT(Chan,/,1)})
	exten => _6[01]XX,n,Set(ChanName=${CUT(Chan,/,2)})
	exten => _6[01]XX,n,Noop(-----> ${chanvar${ChanType}${ChanName}})
	exten => _6[01]XX,n,GotoIf($[ ${EXISTS(${chanvar${ChanType}${ChanName}})} = 1]?:invalid)
	exten => _6[01]XX,n,Set(userDN=${CUT(chanvar${ChanType}${ChanName},:,1)})
	exten => _6[01]XX,n,Goto(speeddial)
	exten => _6[01]XX,n(systemspeeddial),Set(userDN=systemspeeddial)
	exten => _6[01]XX,n,Goto(speeddial)
	exten => _6[01]XX,n(speeddial),Noop(-----> userDN is ${userDN})
	exten => _6[01]XX,n,Gotoif($["${EXTEN}"="6000"]?speeddialentry,s,1:)
	exten => _6[01]XX,n,Gotoif($["${EXTEN}"="6100"]?speeddialentry,s,1:)
	exten => _6[01]XX,n,Set(vartmpSD=${DB(SpeedDial/${userDN}/${EXTEN})})
	exten => _6[01]XX,n,Gotoif($[${ISNULL(${vartmpSD})}=1]?invalidsd:${vartmpSD},1)
	exten => _6[01]XX,n,Hangup()
	exten => _6[01]XX,n(invalidsd),Noop(-----> ${BLINDTRANSFER})
	exten => _6[01]XX,n,GotoIf($[${ISNULL(${BLINDTRANSFER})}=1]?invalidannounce:invalidbt)
	exten => _6[01]XX,n,Hangup()
	exten => _6[01]XX,n(invalidannounce),Answer()
	exten => _6[01]XX,n,Wait(1)
	exten => _6[01]XX,n,Playback(invalid)
	exten => _6[01]XX,n,Hangup()
	exten => _6[01]XX,n(invalidbt),Noop(-----> Send back to person who transfered)
	exten => _6[01]XX,n,Wait(3)
	exten => _6[01]XX,n,Goto(${CUT(CUT(BLINDTRANSFER,,1),/,2)},1)
	exten => _6[01]XX,n,Hangup()
	exten => _6[01]XX,n(invalid),Noop(-----> no valid chanVAR)
	exten => _6[01]XX,n,Hangup()
	
; Transfer directly to voicemail
	exten => _64XX,1,Answer()
	exten => _64XX,n,Noop(---> ${EXTEN:2} <---)
	exten => _64XX,n,Set(Voicemailbox=${IF($[${ISNULL(${RefVM${EXTEN:1}})}=1]?2${EXTEN:2}:${RefVM${EXTEN:2}})})
	exten => _64XX,n,Gotoif($[${ISNULL(${RefIAXVM${EXTEN:1}})}=1]?:getmailrem${RefIAXVM${EXTEN:1}},1)
	exten => _64XX,n,VoiceMail(${Voicemailbox},u)
	exten => _64XX,n,Hangup()

; Remote forwarding "393" spells FWD on the dialpad
	exten => _63XX,1,Answer()
	exten => _63XX,n,Authenticate(4${EXTEN:2})
	exten => _63XX,n,Set(ExtFwd=4${EXTEN:2})
	exten => _63XX,n,Goto(remote_forwarding,s,1)
	exten => _63XX,n,Hangup()

; Personal Meetme Rooms
;	#include /etc/asterisk/extensions_meetme.conf
	
; Holiday prompt recording (6HOL)
	exten => 6765,1,Answer()
	exten => 6765,n(newprompt),Record(${varCustom_Prompts_Dir}holiday.wav)
	exten => 6765,n,Wait(1)
	exten => 6765,n(promptexists),Playback(${varCustom_Prompts_Dir}holiday)
	exten => 6765,n,Hangup()
	
; Prompt recording (these prompts are placed in the /tmp folder, from which ; they can be copied to wherever they are needed
	exten => _65XX,1,Wait(1)
	exten => _65XX,n,Record(/tmp/${EXTEN}.wav)
	exten => _65XX,n,Wait(2)
	exten => _65XX,n,Playback(/tmp/${EXTEN})
	exten => _65XX,n,Hangup()
	
;#extension preceeded by 4 announces transferred call
exten=>_42XX,1,Answer()
exten=>_42XX,n,Dial(Sip/${EXTEN:1},40,M(trx-announce));
exten=>_42XX,n,Hangup()

; Dial ZERO for Operator
;exten => 0,1,Noop()
;exten => 0,n,Verbose(2,${EVAL(${${RECEPTION}})})
;exten => 0,n,Verbose(2,${CUT(${${RECEPTION}},/,1)})
;exten => 0,n,Verbose(2,${${RECEPTION}}) ;exten => 0,n,Macro(reception,${CUT(RECEPTION,N,2)},${${RECEPTION}})
	
	include => parkedcalls