Sie befinden sich hier: Hilfe / Asterisk / Tipps & Tricks / Asterisk
Deutsch
2023-11-30

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