7.12.2021
Mit dieser Testnummer für Asterisk lässt sich die eigene Stimme abhören, um die Tonqualität seines Telefons beurteilen zu können. Sie funktioniert selbst mit alten Wählscheibentelefonen. Ein Muss für jeden, der alte und neue Telefone restauriert und repariert. Bis die Nummer zu meiner Zufriedenheit lief, hat es eine Weile gedauert.
Nach dem Anwählen der Testnummer erfolgt eine kurze Ansage, die den Anrufenden auffordert ein paar Sätze nach dem Pfeifton zu sprechen, die er durch Drücken der Raute-Taste abhören kann. Nach dieser Ansage wird demnach eine Audiodatei angelegt, die sich durch Drücken der Rautetaste (#) abhören lässt. Die Dateien werden automatisch gelöscht. In der Version 1 geschieht dies unmittelbar nach dem Abhören, in der Version 2 mit einer Zeitverzögerung von 3 Minuten. Die Funktion dieser Testnummer entspricht der Testnummer 10005 bei Sipgate. Getestet wurde der Code auf Asterisk 16.2.1 und ursprünglich auch auf Asterisk 1.6. Er lässt sich also für viele Asterisk-Versionen anpassen.
Zu beachten ist, dass je nach Linux-Version die erzeugten Audiodateien in anderen Ordnern abgelegt werden.
Damit es funktioniert, müssen alle Zugriffsrechte für den entsprechenden Ordner freigegeben sein, auf dem die Dateien der Sprachaufzeichnung erzeugt, abgehört und gelöscht werden.
Wer Wählscheibentelefone oder alte Tastentelefone nach dem Impulswahlverfahren testen möchte, hat keine Möglichkeit den DTMF-Ton der Rautetaste (#) auszulösen. Macht nichts. Nach 30 Sekunden schaltet sich die Aufzeichnung ab und danach ist sie automatisch zu hören.
Version 1: Der nachfolgende Code gehört in die extensions.conf und besitzt die Telefonnummer 1000.
; EIGENE SPRACHAUFZEICHNUNG ANHOEREN UEBER DIE NUMMER 1000 - Version 1 ; ; Ansage anhoeren und nach dem Piepton ein paar ; Sätze sprechen. Dann die Raute-Taste klicken ; und die eigene Stimme abhören. ; https://www.voip-info.org/asterisk-cmd-record/ ; https://www.asteriskguru.com/tutorials/record.html ; Syntax Record(filename:format|silence[|maxduration][|option]) ; The sound file will be saved in /var/lib/asterisk/sounds in older Versions ; with the name asterisk-recording0, asterisk-recording1, etc. ; ; Hier gehts los. exten => 1000,1,System(rm /usr/share/asterisk/sounds/*asterisk-recording*) ; Obige Zeile nicht notwendig. ; Obige Zeile löscht eventuell vorhandene Audio-Aufzeichnungen, die durch vorzeitiges ; Auflegen des Hörers verblieben sind. Kann zu Problemen führen, wenn mehrere Teilnehmer ; gleichzeitig diese Testnummer benutzen, was aber kaum vorkommt. Auf großen Servern sollten ; die Dateien nach einer bestimmten Verweildauer automatisch gelöscht werden, oder nachts ; zu einer bestimmten Uhrzeit. exten => 1000,n,Set(TIMEOUT(absoulute)=120) ; trennt zur Sicherheit die Verbindung auf jeden Fall nach 120 Sekunden exten => 1000,n,Ringing() exten => 1000,n,Wait(3) exten => 1000,n,Playback(/usr/share/asterisk/sounds/eigene/SprechenSie) exten => 1000,n,Answer() exten => 1000,n,Wait(1) exten => 1000,n,Record(asterisk-recording%d:alaw,10,30,n) ; Anmerkungen zum obigen Record-Befehl: ; wird in Asterisk 16.1 auf /usr/share/asterisk/sounds gespeichert. ; alle Zugriffsrechte für diesen Ordner vergeben, damit Abspielen u. Auzeichnung funktioniert. ; siehe https://das-asterisk-buch.de/1.6/applications-record.html ; %d sorgt im Beispiel für eine fortlaufende Nummerierung des Dateinamens ; alaw bedeutet im Beispiel Aufzeichnung im Format alaw ; 10 bedeutet im Beispiel Abschaltung nach 10 Sekunden Stille ; 30 bedeutet im Beispiel die maximale Dauer der Aufzeichnung ; n sorgt im Beispiel dafür, dass nach Ablauf des maximalen Zeit ; die Aufnahme gespeichert wird. Sie wird deshalb automatisch abgespielt. ; Dadurch können auch Telefone nach dem Impulswahlverfahren getestet werden, ; was bei Telefonen mit Wählscheiben und manchen alten Tastentelefonen der Fall ist. exten => 1000,n,Wait(2) exten => 1000,n,Playback(${RECORDED_FILE}) exten => 1000,n,Playback(beep) exten => 1000,n,System(sleep 1) ; 1 Sekunde Pause zur Sicherheit exten => 1000,n,System(rm /usr/share/asterisk/sounds/*asterisk-recording*) ; obige Zeile sorgt durch den Linux-Befehl rm, dass im Ordner ; laut Pfadangabe alle Dateien gelöscht werden, die asterisk-recording in ; ihrem Namen enthalten. exten => 1000,n,System(sleep 1) ; 1 Sekunde Pause zur Sicherheit exten => 1000,n,Playback(/usr/share/asterisk/sounds/eigene/VielenDank) exten => 1000,n,Hangup() ; Ende des Echo-Tests ; https://www.voip-info.org/asterisk-tips-testing-number/ ; https://www.voip-info.org/asterisk-tips-and-tricks
Die Soundfiles für die Anweisungen: Sie wurden mit https://ttsmp3.com/ mit der Sprecherin “Vickie” als MP3-Files erzeugt und dann auf https://g711.org/ nach der Standardeinstellung umgewandelt. Die MP3-Files müssen konvertiert werden, da sich die Zeitverzögerung beim Abspielen von MP3-Files störend bemerkbar machen kann.
Die beiden Soundfiles für die Ansage in deutscher Sprache, die zur Anwendung kommen: Sie sind im Ordner „/usr/share/asterisk/sounds/eigene“ untergebracht, der anzulegen ist.
Download: Sprachdateien-Verbindungstest.zip
Audio-Datei „SprechenSie“:
Audio-Datei: „Vielen Dank“:
Audio-Dateien der eigenen Sprachaufzeichnungen: Sie werden fortlaufend mit den Datei-Namen asterisk-recording0, asterisk-recording1, asterisk-recording3 und so weiter angelegt. Diese Dateien werden automatisch gelöscht, wie es im Script-Kommentar erklärt ist. Nach dem Fernmelde-Geheimnis darf niemand die Dateien abhören. Abgesehen davon verhindert dies, dass die SD-Karte des Raspberry Pi eines Tages überläuft.
Wenn die 1088 die 1000 anruft, ist im Asterisk-CLI folgendes zu sehen:
Verbesserte Version 2 vom 8. Dezember 2021: Es muss ein Ordner /usr/share/asterisk/sounds/tausend angelegt werden und dieser muss alle Freigaben erhalten. Der Linux-Befehl
System(find /usr/share/asterisk/sounds/tausend -name "*.alaw" -type f -mmin +3 -delete)
wird gleich nach der Anwahl ausgeführt und sorgt dafür, dass alle Dateien im Ordner „tausend“ mit der Datei-Endung „alaw“ gelöscht werden, wenn sie älter als 3 Minuten sind. Diese werden also gelöscht, sobald jemand die 1000 wählt. Das hat den Vorteil, dass diese Dateien mindestens 3 Minuten erhalten bleiben und sie nicht durch einen anderen Anrufer zufällig gleich nach der Aufnahme gelöscht werden können. Selbst bei hohem Verkehrsaufkommen hält sich die Anzahl der nicht gelöschten Dateien in Grenzen.
; EIGENE SPRACHAUFZEICHNUNG ANHOEREN UEBER DIE NUMMER 1000 ; ; Version 2 vom 8.Dez.2021 ; auf Asterisk 16.2.1 und Raspbian für Raspberry Pi getestet ; Es muss ein Ordner /usr/share/asterisk/sounds/tausend angelegt werden ; und dieser muss alle Dateifreigaben erhalten. ; Der Befehl System(find /usr/share/asterisk/sounds/tausend -name "*.alaw" -type f -mmin +3 -delete) ; sorgt dafür, dass Dateien mit der Endung alaw gelöscht werden, wenn sie ; älter als 3 Minuten sind. Diese werden gelöscht, sobald jemand die 1000 wählt. ; ; Funktion: ; Ansage anhoeren und nach dem Piepton ein paar ; Sätze sprechen. Dann die Raute-Taste klicken ; und die eigene Stimme abhören. ; https://www.voip-info.org/asterisk-cmd-record/ ; https://www.asteriskguru.com/tutorials/record.html ; Syntax Record(filename:format|silence[|maxduration][|option]) ; The sound file will be saved in /var/lib/asterisk/sounds in some older Versions ; with the name asterisk-recording0, asterisk-recording1, etc. ; exten => 1000,1,System(find /usr/share/asterisk/sounds/tausend -name "*.alaw" -type f -mmin +3 -delete) ; es muss ein neuer Unterordner "tausend" angelegt werden, der mit allen Freigaben versehen ist. ; alle Dateien mit der Endung alaw werden gelöscht, wenn sie älter als 3 Minuten sind. ; siehe https://www.baeldung.com/linux/delete-files-older-than exten => 1000,n,Set(TIMEOUT(absoulute)=120) ; trennt zur Sicherheit die Verbindung auf jeden Fall nach 120 Sekunden exten => 1000,n,Ringing() exten => 1000,n,Wait(3) exten => 1000,n,Playback(/usr/share/asterisk/sounds/eigene/SprechenSie) exten => 1000,n,Answer() exten => 1000,n,Wait(1) exten => 1000,n,Record(/usr/share/asterisk/sounds/tausend/asterisk-recording%d:alaw,10,30,n) ; Anmerkungen zum obigen Record-Befehl: ; wird auf /usr/share/asterisk/sounds/tausend gespeichert. ; alle Zugriffsrechte für diesen Ordner vergeben, damit Abspielen u. Auzeichnung funktioniert. ; siehe https://das-asterisk-buch.de/1.6/applications-record.html ; %d sorgt im Beispiel für eine fortlaufende Nummerierung des Dateinamens ; alaw bedeutet im Beispiel Aufzeichnung im Format alaw ; 10 bedeutet im Beispiel Abschaltung nach 10 Sekunden Stille ; 30 bedeutet im Beispiel die maximale Dauer der Aufzeichnung ; n sorgt im Beispiel dafür, dass nach Ablauf des maximalen Zeit ; die Aufnahme gespeichert wird. Sie wird deshalb automatisch abgespielt. ; Dadurch können auch Telefone nach dem Impulswahlverfahren getestet werden, ; was bei Telefonen mit Wählscheiben und manchen alten Tastentelefonen der Fall ist. exten => 1000,n,Wait(2) exten => 1000,n,Playback(${RECORDED_FILE}) exten => 1000,n,Playback(beep) exten => 1000,n,Playback(/usr/share/asterisk/sounds/eigene/VielenDank) exten => 1000,n,Hangup() ; Ende des Echo-Tests ; https://www.voip-info.org/asterisk-tips-testing-number/ ; https://www.voip-info.org/asterisk-tips-and-tricks
Asterisk-Telefonserver auf einem Raspberry Pi – Installation, Konfiguration, Programmierung, SIP, IAX2, AGI-Skripte, Sicherheit und Tipps zum praktischen Betrieb – 2.11.2022: Diese Seite richtet sich an jene, welche einen Asterisk-Telefon-Server auf einem Raspberry Pi betreiben möchten und später ein kleines Netzwerk aus Asterisk-Servern planen, um ein eigenständiges Telefonnetz aufzubauen. Los geht es mit der Installation von Raspbian und Asterisk auf einem Raspberry Pi und dann nach Lust und Laune immer tiefer in die Programmierung von Asterisk. Die Themen werden laufend erweitert.
Selbstverständlich muss es nicht unbedingt ein Raspberry Pi sein. Andere Linux-Rechner gehen auch. – weiter – |