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