Diverse Asterisk-Probleme

Telefon klingelt ewig weiter

Problem: Ein Anrufer ruft an, es klingelt, doch der Anrufer legt auf, bevor abgenommen wird. Das Telefon klingelt aber ewig weiter. Der Kontext in der extensions.conf sieht aus wie folgt:

[capi-in]
exten => _.,1,Dial(Sip/100)
exten => _.,2,Hangup

Hintergrund: (Achtung, nur zusammen gereimt, diese Erklärung ist daher vielleicht falsch! ) Asterisk erkennt schon, dass der Anrufer aufgelegt hat. Allerdings wird der aktuelle Kontext erneut durchlaufen, um ggf. noch andere Aktionen auszuführen. Bei der obigen Konfiguration wird in diesem Fall erneut der Teilnehmer 100 angerufen, anstatt aufzulegen!

Lösung: In den Kontext muss noch die hangup-Direktive speziell behandelt werden. Folgende Konfiguration verhindert das aber:

[capi-in]
exten => _.,1,Dial(Sip/100)
exten => h,1,Hangup

Ansagen werden abgeschnitten

Problem: Ansagen scheinen schon begonnen zu haben bevor der Anrufer etwas hört, d.h. 1/10-1/2 Sekunde fehlt. Dabei macht es keinen Unterschied, welches Telefon verwendet wird (Cisco 7970, Softphone Xten Lite, klassisches Telefon). Auch ist es egal, ob es ein internes Gespräch über SIP, SCCP oder eben POTS ist. Die Definition der Nummer in der extensions.conf sieht z.B. so aus:

exten => 600,1,VoiceMailMain()

Lösung: Für den Einbau einer Verzögerung (hier eine Sekunde) geht man wie folgt vor:

exten => 600,1,Answer
exten => 600,n,Wait,1
exten => 600,n,VoiceMailMain()

Vielen Dank an betateilchen, der im IP-Phone-Forum diese Lösung vorgeschlagen hat.