Move number taging from lastcall.conf to tagnumber.conf
[project/luci.git] / contrib / package / asterisk-xip / files / macros / tagnumber.conf
1 ; Number tagging
2 ; Author: Michael Geddes aka FrogOnWheels
3
4 ; Depends: app_stack app_macro app_system
5
6 [macro-tagnumber] ; Number / Tag Directory / Return 
7 exten => s,1,Set(tagNumber=${ARG1})
8 exten => s,n,Set(tagDirectory=${ARG2})
9 exten => s,n,Set(tagRetContext=${MACRO_CONTEXT})
10 exten => s,n,Set(tagRetExtn=${MACRO_EXTEN})
11 exten => s,n,Set(tagRetPriority=$[${MACRO_PRIORITY} + 1])
12 ;exten => s,n,Set(tagReturn=${ARG3})
13 ;exten => s,n,Gosub(macrobody_tagnumber,s,1)
14 exten => s,n,Goto(macrobody_tagnumber,s,1)
15 exten => s,n(return),Noop(Returned)
16 [macrobody_tagnumber]
17 exten => s,1(again),Background(voicetag/recordname)
18 exten => s,n,Record(/tmp/tmprectag:gsm|2|5)
19 exten => s,n(askagain),Background(voicetag/tagfor)
20 exten => s,n,Macro(backgroundphone,${tagNumber})
21 exten => s,n,Background(/tmp/tmprectag)
22 exten => s,n,Background(voicetag/confirmnumber)
23 exten => s,n,Background(voicetag/tryagain)
24 exten => s,n,Background(voicetag/cancelrecord)
25 exten => s,n,WaitExten(5)
26 exten => s,n,Goto(s|askagain)
27 exten => 1,1,System(mkdir -p ${tagDirectory})
28 exten => 1,2,System(mv /tmp/tmprectag.gsm ${tagDirectory}/${tagNumber}.gsm)
29 exten => 1,3,Goto(${tagRetContext}|${tagRetExtn}|${tagRetPriority})
30 exten => 2,1,Goto(s|again)
31 exten => 3,1,system(rm -f /tmp/tmprectag.gsm)
32 exten => 3,2,Goto(${tagRetContext}|${tagRetExtn}|${tagRetPriority})
33 exten => h,1,system(rm -f /tmp/tmrectag.gsm)
34
35 [macro-backgroundtagnumber] ; Number, directory
36 exten => s,1,TrySystem(test -f ${ARG2}/${ARG1}.gsm)
37 exten => s,n,GotoIf($[${SYSTEMSTATUS} != SUCCESS]?s-saynum|1)
38 exten => s,n,Background(${ARG2}/${ARG1})
39 exten => s-saynum,1,Macro(backgroundphone,${ARG1})
40
41 ; Say Phone number in the background
42 [macro-backgroundphone]
43 exten => s,1,Set(bgDigits=${ARG1})
44 exten => s,n(loop),Set(bgDigit=${bgDigits:0:1})
45 exten => s,n,GotoIf($["${bgDigits:0:3}" = "000"]?saythousand)
46 exten => s,n,GotoIf($["${bgDigits:0:2}" = "00"]?sayhundred)
47 exten => s,n,GotoIf($["${bgDigits}" = ""]?exitloop)
48 exten => s,n,Set(bgDigits=${bgDigits:1})
49 exten => s,n,Background(digits/${bgDigit})
50 exten => s,n,Goto(loop)
51 exten => s,n(saythousand),Background(digits/thousand)
52 exten => s,n,Set(bgDigits=${bgDigits:3})
53 exten => s,n,Goto(loop)
54 exten => s,n(sayhundred),Background(digits/hundred)
55 exten => s,n,Set(bgDigits=${bgDigits:2})
56 exten => s,n,Goto(loop)
57 exten => s,n(exitloop),NOOP
58