Sprachausgaben in Asterisk

Zwei einfache Beispiele für die Sprachausgaben mit der Telefonsoftware Asterisk

24.2.2020

Für Sehbehinderte und zu Testzwecken sind Sprachausgaben eine nützliche Eigenschaft.  Nachfolgend zwei Beispiele.

Die beiden Beispiele sind in der extensions.conf unterzubringen. Sie wurden mit Asterisk 1.4.22 getestet.

1. Ansage der eigenen Anschlussnummer: Wählt man die 55555, dann hört man als englische Ansage die eigene Anschlussnummer. Zuerst erfolgt die eigene Ansage Ziffer für Ziffer, was mit dem Befehl

SayDigits(${CALLERID(num)})

erfolgt. CALLERID(num) gibt die eigene Anschlussnummer zurück.

Die nächste Ansage erfolgt als gesprochene Zahl. Dafür sorgt der Befehl SayNumber die Programmzeile

SayNumber(${CALLERID(num)})

Der gesamte Programmabschnitt für das Wählen der Nummer 55555 lautet:

; Ansage gibt eigene Nummer zurück, wenn man die 55555 waehlt:
; CALLERID (num) liefert die eigene Rufnummer zurueck
; SayDigits sagt die Nummern in einzelnen Ziffern
; SayNumber sagt die Nummer als Zahl
exten => 55555,1,Ringing()
exten => 55555,n,Answer()
exten => 55555,n,Wait(1)
exten => 55555,n,SayDigits(${CALLERID(num)})
exten => 55555,n,Wait(1)
exten => 55555,n,SayNumber(${CALLERID(num)})
exten => 55555,n,Wait(1)
exten => 55555,n,HangUp()
Die Zeile
exten => 55555,n,Answer()
ist notwendig, damit der Code auch mit dem Softphone Sipnetic funktioniert.

Dies zeigt die Asterisk-Console nach dem Wählen der 55555 an.
2. Ansage der gewählten Nummer: Dies wurde mit Callthrough gelöst. Man wählt in diesem Fall die 880088. Danach fordert die Stimme auf die gewünschte Teilnehmernummer zu wählen und diese Nummer mit einer Raute # abzuschließen. Danach ist die gewählte Nummer als Zahl und als Abfolge von Ziffern zu hören. Erst dann stellt das Programm die Nummer durch. Hat man sich verwählt, bleibt noch Zeit den Hörer aufzulegen.
; Anwahl der 88088 und Weiterleitung zu callthroughB
exten => 880088,1,Goto(callthroughB,s,1)
[callthroughB]
; NR liefert die gewaehlte Nummer zurueck, auch fuer die Ansage
; Prompt caller to key-in number to be dialed and to finish with #
; Nach der Ansage Nummer (ev. mit Vorwahl) waehlen und mit # bestaetigen
; Beim Vertippen * und von vorne anfangen
exten => s,1,Ringing()
exten => s,2,Answer()
exten => s,3,Set(NR=)
exten => s,4,Background(vm-enter-num-to-call)
exten => s,5,Background(vm-then-pound)
exten => s,6,Set(TIMEOUT(response)=30)
exten => s,7,WaitExten
;
;
exten => _X,1,Set(NR=${NR}${EXTEN})
exten => _X,2,Goto(s,6)
exten => *,1,Goto(s,3)
exten => #,1,NoOp(${NR})
exten => #,n,Wait(1)
exten => #,n,SayNumber(${NR})
exten => #,n,Wait(1)
exten => #,n,SayDigits(${NR})
exten => #,n,Wait(1)
exten => #,n,SayDigits(${NR})
exten => #,n,Wait(1)
exten => #,n,Playback(vm-dialout)
exten => #,n,NoOP(Dialing Now)
exten => #,n,NoOp(Dialing ${NR})
exten => #,n,Dial(SIP/${NR},45,tT)
exten => #,n,Playback(beep)
exten => #,n,Goto(telefone,${NR},1)
exten => #,n,HangUp()
Die Varialbe NR gibt die eingetippte Nummer zurück.