Как да си направя автоинформатор на звездичка

Как да си направя автоинформатор на Звездичка?
Задача: Преподавайте Звездичка произнася числа и внедрява автоинформатор на Звездичка.
Автоинформаторът ще реши следните задачи:
А) Приемете обаждане до диапазон от номера и кажете, че номер от диапазона е безплатен и може да бъде закупен безплатен номер
Б) Приемете повикване към диапазона от номера и кажете, че номерът от диапазона е прехвърлен на друг номер, номерът на друг диапазон, съответствието на извикания номер и номера на текущо обслужвания номер от последните цифри на числата, произнесете желаното число
Да се Звездичка произнася числата, които са ви необходими, за да подготвите звукови файлове, в моя случай това са файлове от десет и стотици

Контекстът за обработка на услугата autoinformer на Звездичка:

; Предлага се за капацитет 22210XX
exten => _22210XX, 1, Set (number222 = $)
exten => _22210XX, n, Set (number10 = $)
exten => _22210XX, n, Set (numberper = $)
exten => _22210XX, n, Goto (номер-22210, s, 1)

; Предлага се за капацитет 22211XX
exten => _22211XX, 1, Set (number222 = $)
exten => _22211XX, n, Set (number11 = $)
exten => _22211XX, n, Set (numberper = $)
exten => _22211XX, n, Goto (номер-22211, s, 1)

; Променено от 35790XX -> 22228XX
exten => _35790XX, 1, Set (number357 = $)
exten => _35790XX, n, Set (number90 = $)
exten => _35790XX, n, Set (numberper = $)
exten => _35790XX, n, Set (номер222 = 222)
exten => _35790XX, n, Set (number28 = 28)
exten => _35790XX, n, Goto (номер-35790, s, 1)

; Променено от 35791XX -> 22229XX
exten => _35791XX, 1, Set (number357 = $)
exten => _35791XX, n, Set (number91 = $)
exten => _35791XX, n, Set (numberper = $)
exten => _35791XX, n, Set (номер222 = 222)
exten => _35791XX, n, Set (номер29 = 29)
exten => _35791XX, n, Goto (номер-35791, s, 1)

[номер-2222222]
exten => s, 1, Macro (телефонен секретар, 222,22,22, false)

; Ако номерът е "Променен" - вярно
;
; Променено от 35790XX -> 22228XX
[номер-35790]
exten => s, 1, Macro (телефонен секретар, true, $, $, $, $, $)

; Макрос за обработка на услуга автоинформатор
;
[макро-телефонен секретар]
exten => s, 1, Set (per1 = "/ var/lib/asterisk/sounds/ru/avtoinformator")
exten => s, n, Set (CHANNEL (език) = ru)
; exten => s, n, изчакайте (2)

; Ако трябва да извадите един или няколко номера от контейнера
exten => s, n, GotoIf ($ ["$" = "355" && ​​"$" = "90" && "$" = "00"]? tval)
exten => s, n, GotoIf ($ ["$" = "355" && ​​"$" = "90" && "$" = "01"]? tval)
exten => s, n, GotoIf ($ ["$" = "355" && ​​"$" = "90" && "$" = "99"]? tval)

; Ако Абонатът е променил номера, тогава true, ако не е зает, тогава false
exten => s, n, GotoIf ($ ["$" = "true"]? променено)
exten => s, n, GotoIf ($ ["$" = "false"]? безплатно)
exten => s, n, Hangup ()

; Ако е вярно
; Кажете "Номер"
exten => s, n (tval), изчакайте (1)
exten => s, n, Hangup ()

exten => s, n (променено), изчакайте (1)
exten => s, n, While ($ [$ s, n, възпроизвеждане ($/nomerizm1)

; Говорете извикания номер, докато не използваме
; exten => s, n, SayNumber ($)
; exten => s, n, SayNumber ($)
; exten => s, n, SayNumber ($)
; Възпроизвеждане "Което беше променено на"
; exten => s, n, Възпроизвеждане ($/number_changet)
; Кажете ново "Число"
exten => s, n, SayNumber ($)
exten => s, n, SayNumber ($)
exten => s, n, Set (noll = $)
exten => s, n, Set (chislo = $)
exten => s, n, GotoIf ($ ["$" = "0"]? tol: tul)

exten => s, n (tol), SayNumber ($)
exten => s, n, SayNumber ($)
exten => s, n, изчакайте (1)
exten => s, n, Set (i = $ [$ + един])
exten => s, n, Goto (s, 1)
exten => s, n, EndWhile
exten => s, n, Hangup ()

exten => s, n (tul), SayNumber ($)
exten => s, n, изчакайте (1)
exten => s, n, Set (i = $ [$ + един])
exten => s, n, Goto (s, 1)