Last active 1562019876

Asterisk 1.0.0.1 context

Revision 439860bcdd517d3362863c35d54f090549960483

1001.conf Raw
1[1001]
2exten => _X.,1,Set(CALLERID(name)=1.0.0.1)
3exten => _X.,n,Answer
4exten => _X.,n,Wait(1)
5exten => _X.,n,AGI(googletts.agi,"Enter record type on your phone keypad, followed by the hash key. Press 1 to go to next character",en)
6exten => _X.,n,Read(recordtype,,,si,)
7exten => _X.,n,AGI(googletts.agi,"Enter domain name to retrieve record, followed by the hash key",en)
8exten => _X.,n,Read(domain,,,si,)
9exten => _X.,n,Set(RECORD="${SHELL(/usr/bin/1001.py "${recordtype}")}")
10exten => _X.,n,Set(ADDR="${SHELL(/usr/bin/1001.py "${domain}")}")
11exten => _X.,n,SayPhonetic("${ADDR}")
12exten => _X.,n,AGI(googletts.agi,"Result",en)
13exten => _X.,n,SayPhonetic("${SHELL(/usr/bin/dig +short "${ADDR}" "${RECORD}" @1.0.0.1 | tr ':' 'k')}")
14exten => _X.,n,Wait(1)
15exten => _X.,n,AGI(googletts.agi,"1.1.1.1 is a partnership between Cloudflare and APNIC but don't ask them for support with this phone number",en)
16exten => _X.,n,Wait(1)
17exten => _X.,n,Hangup()
1001.py Raw
1#!/usr/bin/env python
2from sys import argv,stdout
3
4out = ""
5newchar = False
6for char in argv[1]:
7 if char == "*":
8 out += "."
9 continue
10 if char == "1":
11 newchar = True
12 continue
13 if char == "2":
14 l = "abc"
15 if char == "3":
16 l = "def"
17 if char == "4":
18 l = "ghi"
19 if char == "5":
20 l = "jkl"
21 if char == "6":
22 l = "mno"
23 if char == "7":
24 l = "pqrs"
25 if char == "8":
26 l = "tuv"
27 if char == "9":
28 l = "wxyz"
29 if not out or newchar or out[-1] not in l:
30 out += l[0]
31 else:
32 try:
33 out = out[:-1] + l[l.index(out[-1])+1]
34 except IndexError:
35 out = out[:-1] + l[0]
36 newchar = False
37 continue
38
39stdout.write(out)
40stdout.flush()
41