Ticket #1523: password_trunks.txt

File password_trunks.txt, 4.8 kB (added by francesco_r, 5 years ago)
Line 
1 MODIFICHE EXTENSIONS_CUSTOM.CONF
2
3 [from-internal-additional-custom]
4 include => app-pintrunk-on
5 include => app-pintrunk-off
6
7 [app-pintrunk-off]
8 exten => *59,1,Answer
9 exten => *59,n,Wait(1)
10 exten => *59,n,Macro(user-callerid,)
11 exten => *59,n,Set(pintrunkuser=${DB(PINTRUNK/${CALLERID(number)})})
12 exten => *59,n,GotoIf($[${LEN(${PINTRUNKUSER})} = 0]?s-NOPIN,1)
13 exten => *59,n,Authenticate(${PINTRUNKUSER})
14 exten => *59,n,Wait(1)
15 exten => *59,n,dbDel(PINTRUNK/${CALLERID(number)})
16 exten => *59,n,Playback(vm-no&vm-password)
17 ;exten => *59,n,Playback(vm-password&de-activated)
18 exten => *59,n,Macro(hangupcall,)
19 exten => s-NOPIN,1,Playback(vm-no&vm-password)
20 exten => s-NOPIN,n,Macro(hangupcall,)
21
22 [app-pintrunk-on]
23 exten => *58,1,Answer
24 exten => *58,n,Wait(1)
25 exten => *58,n,Macro(user-callerid,)
26 exten => *58,n,Set(pintrunkuser=${DB(PINTRUNK/${CALLERID(number)})})
27 exten => *58,n,GotoIf($[${LEN(${PINTRUNKUSER})} = 0]?s-SETPIN,1)
28 exten => *58,n,Authenticate(${PINTRUNKUSER})
29 exten => *58,n,Wait(1)
30 exten => *58,n,Goto(s-SETNEWPIN,1)
31 exten => s-SETPIN,1,Read(PINTRUNKCODE,vm-password)
32 exten => s-SETPIN,n,Set(DB(PINTRUNK/${CALLERID(number)})=${PINTRUNKCODE})
33 exten => s-SETPIN,n,Playback(vm-passchanged)
34 exten => s-SETPIN,n,Macro(hangupcall,)
35 exten => s-SETNEWPIN,1,Read(PINTRUNKCODE,vm-reenterpassword)
36 exten => s-SETNEWPIN,n,Set(DB(PINTRUNK/${CALLERID(number)})=${PINTRUNKCODE})
37 exten => s-SETNEWPIN,n,Playback(vm-passchanged)
38 exten => s-SETNEWPIN,n,Macro(hangupcall,)
39
40 MODIFICHE EXTENSIONS.CONF
41
42 [macro-dialout-trunk]
43 exten => s,1,Set(DIAL_TRUNK=${ARG1})
44
45 ; If NODEST is set, clear it. No point in remembering since dialout-trunk will just end in the
46 ; bit bucket. But if answered by an outside line with transfer capability, we want NODEST to be
47 ; clear so a subsequent transfer to an internal extension works and goes to voicmail or other
48 ; destinations.
49 ;
50 exten => s,n,Set(_NODEST=)
51 exten => s,n,Set(DIAL_NUMBER=${ARG2})
52 exten => s,n,Set(ROUTE_PASSWD=${ARG3})
53 exten => s,n,Set(DIAL_TRUNK_OPTIONS=${DIAL_OPTIONS}) // will be reset to TRUNK_OPTIONS if not intra-company
54 exten => s,n,GotoIf($["${ROUTE_PASSWD}" = ""]?noauth) ; arg3 is pattern password
55 exten => s,n(auth),Authenticate(${ROUTE_PASSWD})
56 exten => s,n(noauth),Set(GROUP()=OUT_${DIAL_TRUNK})
57 exten => s,n,Macro(user-callerid,SKIPTTL)
58 exten => s,n,Macro(record-enable,${CALLERID(number)},OUT)
59 ;modifica macro per blocco password singolo interno
60 exten => s,n,Set(pintrunkuser=${DB(PINTRUNK/${CALLERID(number)})})
61 exten => s,n,GotoIf($["${DIAL_NUMBER:0:2}" = "11"]?trunkok)
62 exten => s,n,GotoIf($[${LEN(${PINTRUNKUSER})} = 0]?trunkok)
63 exten => s,n,Authenticate(${PINTRUNKUSER})
64 exten => s,n(trunkok),NoOp(No password or password ok)
65 ;fine modifica macro per blocco password singolo interno
66 exten => s,n,GotoIf($["${INTRACOMPANYROUTE}" = "YES"]?skipoutcid) ;Set to YES if treated like internal
67 exten => s,n,Set(DIAL_TRUNK_OPTIONS=${TRUNK_OPTIONS})
68 exten => s,n,Macro(outbound-callerid,${DIAL_TRUNK})
69 exten => s,n(skipoutcid),GotoIf($["${OUTMAXCHANS_${DIAL_TRUNK}}foo" = "foo"]?nomax)
70 exten => s,n(checkmax),GotoIf($[ ${GROUP_COUNT()} > ${OUTMAXCHANS_${DIAL_TRUNK}} ]?chanfull)
71 exten => s,n(nomax),DeadAGI(fixlocalprefix) ; this sets DIAL_NUMBER to the proper dial string for this trunk
72 exten => s,n,Set(OUTNUM=${OUTPREFIX_${DIAL_TRUNK}}${DIAL_NUMBER}) ; OUTNUM is the final dial number
73 exten => s,n,Set(custom=${CUT(OUT_${DIAL_TRUNK},:,1)}) ; Custom trunks are prefixed with "AMP:"
74 exten => s,n,GotoIf($["${custom}" = "AMP"]?customtrunk)
75 exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM},300,${DIAL_TRUNK_OPTIONS}) ; Regular Trunk Dial
76 exten => s,n,Goto(s-${DIALSTATUS},1)
77 exten => s,n(customtrunk),Set(pre_num=${CUT(OUT_${DIAL_TRUNK},$,1)})
78 exten => s,n,Set(the_num=${CUT(OUT_${DIAL_TRUNK},$,2)}) ; this is where we expect to find string OUTNUM
79 exten => s,n,Set(post_num=${CUT(OUT_${DIAL_TRUNK},$,3)})
80 exten => s,n,GotoIf($["${the_num}" = "OUTNUM"]?outnum:skipoutnum) ; if we didn't find "OUTNUM", then skip to Dial
81 exten => s,n(outnum),Set(the_num=${OUTNUM}) ; replace "OUTNUM" with the actual number to dial
82 exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})
83 exten => s,n,Goto(s-${DIALSTATUS},1)
84
85 exten => s,n(chanfull),Noop(max channels used up)
86
87 exten => s-BUSY,1,NoOp(Dial failed due to trunk reporting BUSY - giving up)
88 exten => s-BUSY,2,Busy(20)
89
90 exten => s-NOANSWER,1,NoOp(Dial failed due to trunk reporting NOANSWER - giving up)
91 exten => s-NOANSWER,2,Playtones(congestion)
92 exten => s-NOANSWER,3,Congestion(20)
93
94 exten => s-CANCEL,1,NoOp(Dial failed due to trunk reporting CANCEL - giving up)
95 exten => s-CANCEL,2,Playtones(congestion)
96 exten => s-CANCEL,3,Congestion(20)
97
98 exten => _s-.,1,NoOp(Dial failed due to ${DIALSTATUS} - failing through to other trunks)
99
100 exten => h,1,Macro(hangupcall)