Content
Wartemelodie
Die Wartemelodien für "Music On Hold" (MOH) sind als MP3s unter /var/lib/asterisk/mohmp3/ abgelegt.
Funktionsweise beim Abspielen mehrer MP3-Dateien:
Alle Musikstücke werden nacheinander in alphabetischer Reihenfolge abgespielt. Ist das Ende der letzten Datei erreicht, wird wieder bei der ersten Datei angefangen. Dieser Ablauf findet genau einmal pro Asterisk für alle Gespräche gemeinsam statt. (Ähnlich wie die Magnetplatten in den alten EMD-Vermittlungsstellen, in denen ein Tonabnehmer die Ansagen "Kein Anschluss unter dieser Nummer", etc. für alle Anschlüsse gemeinsam wiedergab.)
Daher kann es passieren, dass immer das gleiche Lied ertönt, wenn man schnell, mehrere Male hintereinander in die Warteschleife gestellt wird. (Natürlich ist das Lied dann unterschiedlich weit fortgeschritten.)
Angenommen der Asterisk hätte MP3s gespeichert, die alle 2 Minuten lang sind und man würde nach 5 Minuten wieder anrufen und in die Warteschleife gestellt, würde dementsprechend das 3. Lied der Playlist gespielt.
Beispiel:
|-----Wartemusik 1 (2 Min.) -----|-----Wartemusik 2 (2 Min.) -----|-----Wartemusik 3 (2 Min.) -----|
Anruf 1 > Wartezeit bis zum nächsten Anruf: 5 Min. < Anruf 2
|--------------------------- > 5 Min. < -----------------------------|
Rufnummerunterdrückung
Um bei einem abgehenden Gespräch die eigene Rufnummer zu unterdrücken (CLIR-Funktion) muss in der extensions.conf folgende Veränderung vorgenommen werden (für jede MSN extra):
Original:
[1234567]
;;; Phone 1234567 ;;;
; Outgoing calls over CAPI
exten => _x.,1,Set(LANGUAGE()=de)
exten => _x./1234567,2,Set(CALLERID(number)=1234567)
exten => _x./1234567,3,Set(CALLERID(name)=)
exten => _x./1234567,4,Dial(CAPI/contr1/${EXTEN}/b,120,TW)
exten => _x./1234567,5,Goto(dialStates,${DIALSTATUS},1) Extensions.php
Modifiziert:
[1234567]
;;; Phone 1234567 ;;;
; Outgoing calls over CAPI
exten => _x.,1,Set(LANGUAGE()=de)
exten => _x./1234567,2,SetCallerPres(prohib_not_screened)
exten => _x./1234567,3,Set(CALLERID(name)=)
exten => _x./1234567,4,Dial(CAPI/contr1/${EXTEN}/b,120,TW)
exten => _x./1234567,5,Goto(dialStates,${DIALSTATUS},1) Extensions.php
Dabei muss der Eintrag
exten => _x./1234567,2,Set(CALLERID(number)=1234567)
gegen
exten => _x./1234567,2,SetCallerPres(prohib_not_screened)
ausgetauscht werden.
Weiterhin ist darauf zu achten, dass in diesem Abschnitt der extensions.conf durch '(CALLERID(number)=1234567)' nicht noch zusätzlich eine CallerID oder durch '(CALLERID(name)=)' noch zusätzlich eine Name erzeugt wird.
Danach ein ‚reload’ über die ‚debug console’ und die Rufnummer wird wie gewünscht beim Zielteilnehmer nicht mehr angezeigt.
Diese Einstellung wird bei einer Änderung im Asterisk-Setup und einer anschließenden Neuaktivierung der Setupeinstellungen vom Setup überschrieben und wieder auf den Standardwert gesetzt. Somit muss man diese Prozedur bei einer Setupänderung wiederholen.
Asterisk mpg123 erhöht die Load extrem
Dieses Problem ist in der neuesten mpg123-Paketversion 0.0.10 behoben!
Sollten bei mpg123 / Asterisk Probleme mit einem extrem erhöten Load auftauchen schafft folgender Workaround Abhilfe:
vi /etc/init.d/asterisk
Zeile 211:
killall -9 mpg123
Damit werden beim Beenden des Debug-modus alle mpg123-Prozesse gekillt und es gibt keine hohe Last mehr.
Hier noch mal im Detail:
vi /etc/init.d/asterisk
Vorher:Zeile 208 bis 211:
if ! killall -0 $asterisk_bin 2>/dev/null
then
unload_modules
fi
Nachher:
Zeile 208 bis 212:
if ! killall -0 $asterisk_bin 2>/dev/null
then
unload_modules
killall -9 mpg123
fi