Anrufbeantworter: Unterschied zwischen den Versionen
Aus Chaostreff Gießen
D2887 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Dieser Script hilft dabei, lästige Werbeanrufer und Umfragen zum Wahnsinn zu treiben. === Vorarbeit === ==== Erstellen der Audiofiles ==== * Mit einem belieb…“) |
D2887 (Diskussion | Beiträge) K (→extensions.conf) |
||
Zeile 23: | Zeile 23: | ||
[stupid] | [stupid] | ||
− | ; exten => s, 1, Monitor(wav,myfilename-${EPOCH}) | + | ; exten => s, 1, Monitor(wav,myfilename-${EPOCH}) |
exten => s, 1, Nop(Wir wuerden niemals aufzeichnen) | exten => s, 1, Nop(Wir wuerden niemals aufzeichnen) | ||
same => n, Gosub(phrases,hallo,1) | same => n, Gosub(phrases,hallo,1) |
Aktuelle Version vom 2. August 2017, 20:25 Uhr
Dieser Script hilft dabei, lästige Werbeanrufer und Umfragen zum Wahnsinn zu treiben.
Inhaltsverzeichnis
Vorarbeit
Erstellen der Audiofiles
- Mit einem belieben Audioeditor (bevorzugt z.B. Audacity) Samples aufnehmen. Diese können auch an einem Stück aufgezeichnet werden.
- Die Lautstärke normalisieren, also auf -3dB.
- Ausgabe in Datei, z.B. fetzen.wav
- sox hilft, die einzelnen Samples zu trennen:
sox -V3 fetzen.wav output.wav silence 1 0.2 0.1% 1 0.3 0.1% : newfile : restart
- Dann die einzelnen Samples durchhören und ggf. die Sox-Commandline wiederholen.
- Nun die WAV files für Asterisk konvertieren:
$ cat > conv.sh #!/bin/sh b=`basename $1 .wav` sox $b.wav -t raw -r 8000 -c 1 $b.sln $ find . -name "*.wav" -exec sh conv.sh {} ;
- Die erstellten .sln Dateien dann auf den Asterisk-Server unter
/var/lib/asterisk/sounds/
kopieren. - Anschließend folgende schöne Zeilen (siehe unten extensions.conf) in die
/etc/asterisk/extensions.conf
eintragen. - Nun noch die Anrufer per dialplan dort in den Kontext "stupid" schicken und geniessen!
Config-Files
extensions.conf
[stupid] ; exten => s, 1, Monitor(wav,myfilename-${EPOCH}) exten => s, 1, Nop(Wir wuerden niemals aufzeichnen) same => n, Gosub(phrases,hallo,1) same => n, Goto(wait,s,1) [wait] exten => s,1,BackgroundDetect(silence) ;BackgroundDetect is similar to Background. It plays back a given filename, waiting for interruption from a given digit (the digit must same => n,Goto(wait,s,1) exten => talk,1,WaitForSilence(${RAND(250,600)}) ;BackgroundDetect(filename[|silence[|min[|max]]]) same => n,Goto(phrases,s,1)
[phrases] ; seq 24 | awk '{printf("exten => sample%d, 1, Playback(output%03d)\nsame => n, Return\n",$1,$1)}'; exten => s, 1, Gosub(phrases,sample${RAND(1,5)},1) same => n, Goto(wait,s,1) exten => sample1, 1, Playback(output001) same => n, Return exten => sample2, 1, Playback(output002) same => n, Return exten => sample3, 1, Playback(output003) same => n, Return exten => sample4, 1, Playback(output004) same => n, Return exten => sample5, 1, Playback(output005) same => n, Return