Asterisk Timeout

c.jungwirth

Neuer User
Mitglied seit
10 Okt 2019
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hallo Leute,

wir haben bei uns eine Askozia Telefonanlage installiert, im Hintergrund läuft ja der Asterisk.

Das Problem was wir haben ist, das nach 15 Minuten das Telefonat abgebrochen wird. Da dachte ich mir ich schau einfach mal auf der Askozia nach ob es da irgendwo eine Konfig dazu geben könnte, aber leider nein. Nach langem suchen bin ich dann mal über die extensions.conf gestolpert und da fand ich auch eine Zeile mit Timeout, da dachte ich mir das es ausreichen würde wenn ich diese Timeoutzeite einfach auskommentiere. Aber dem war leider nicht so.



Code:
[macro-main];
exten => _[0-9*#+]!,1,NoOp(Translate context to ${EXTEN})
exten => _[0-9*#+]!,n,Set(_TRANSLATE_CONTEXT=0)
exten => _[0-9*#+]!,n,Dial(Local/${CALLED}@internal-caller-transfer/n,${TIMEOUT},${ARG4})
exten => s,1,GotoIf($["${TRANSLATE_CONTEXT}" = "1"]?${ARG2},1)
exten => s,n,ExecIf($["${CALLERID(rdnis)}" != ""]?NoOp(Transfered call from ${CALLERID(rdnis)} to ${ARG1}))
exten => s,n,GotoIf($[$["${BLOCKED}" = "yes"] & $["${BUSYFORWARDING}" != ""]]?busyforwarding-noanswer,1)
exten => s,n,GotoIf($[$["${BLOCKED}" = "yes"] & $["${NOANSWERFORWARDING}" != ""]]?noanswerforwarding-noanswer,1)
exten => s,n,GotoIf($[$["${BLOCKED}" = "yes"] & $["${HASVOICEMAIL}" = ""]]?blacklist,1)
exten => s,n,GotoIf($[$["${BLOCKED}" = "yes"] & $["${HASVOICEMAIL}" != ""]]?vm-busy,1)
exten => s,n,Set(TIMEOUT=${ARG5})
exten => s,n,Dial(${ARG1},${TIMEOUT},${ARG4})
exten => s,n,GotoIf($["${IGNORE_DIAL_LOGIC}" = "1"]?endofdial)
exten => s,n,GotoIf($[$["${DIALSTATUS}" != "ANSWER"] & $[${LEN(${BLINDTRANSFER})} > 0]]?failed-blindtransfer,1)
exten => s,n,NoOp(DIALSTATUS: ${DIALSTATUS})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s,n(endofdial),NoOp(End of main dial macro)

exten => failed-blindtransfer,1,Wait(2)
exten => failed-blindtransfer,n,Dial(${CUT(BLINDTRANSFER,,1)},${ARG5},to) ; blind transfer fallback
exten => failed-blindtransfer,n,GotoIf($[$[${DIALSTATUS} != "ANSWER"] & $[${LEN(${BLINDTRANSFER})} > 0]]?failed-blindtransfer,1)
exten => failed-blindtransfer,n,Goto(s-${DIALSTATUS},1)

exten => blacklist,1,Busy(10)
exten => blacklist,n,Hangup()

;exten => s-ANSWER
;exten => s-CANCEL
;exten => s-CHANUNAVAIL
;exten => s-CONGESTION
;exten => s-DONTCALL
;exten => s-TORTURE
;exten => s-INVALIDARGS
exten => s-BUSY,1,Set(MISSEDCAUSE=busy)
exten => s-BUSY,2,Goto(busy,1)
exten => s-NOANSWER,1,Set(MISSEDCAUSE=no-answer)
exten => s-NOANSWER,2,Goto(noanswer,1)
exten => _s-.,1,Goto(noanswer,1)


Habt Ihr eine Vermutung was ich ändern müsste damit die Telefonate nicht automatisch nach 15 Minuten abgeborchen werden?


Mit freundlichen Grüßen
c.jungwirth
 
Immer exakt nach 15 Minuten? Wenn ja, dann würde ich auf die "Session Timer" tippen. Die richtigen Einstellungen hängen vom Service Provider ab.

Das kann man mit pcap-Traces verifizieren.
 
Vermute ich ebenfalls. 15 Minuten sind 900 Sekunden. Das sind 50% von 1800 Sekunden. Beides sind Standard-Werte für Session-Timers (dort in der angehängten PDF-Datei steht noch mehr Hintergrundwissen).

Normalerweise sind Session-Timer in Asterisk aktiv und werden auch richtig ausgehandelt. Die kannst Du testweise ausschalten, indem Du in der sip.conf session-timers=refuse hinzufügst und Asterisk neu startest (oder sip reload auf der CLI). Aber wie ubsyathEe schon schrieb, solltest Du über Protokoll-Mitschnitte analysieren, warum das passiert – könnte nur ein Symptom für ein ganz anderes Problem sein.

Oder es könnte ein viel größeres Problem sein: Der alte SIP-Channel-Driver chan_sip unterstützt kein SIP-UPDATE. Wenn Dein VoIP-Anbieter trotzdem SIP-UPDATE schickt, dann müsstest Du auf den neuen SIP-Channel-Driver chan_pjsip wechseln. Begründung: Unabhängig von Session-Timers kann die Gegenstelle jederzeit Session-Refreshes schicken, auch dann wenn keine Session-Timers ausgehandelt werden. Nutzt Dein Anbieter dafür nicht Re-INVITE sondern (fälschlicherweise) SIP-UPDATE, können Telefonate an ganz anderen Stellen kaputt gehen.

Du weißt wie Du so einen Protokoll-Mitschnitt erstelltst? Entweder über set sip debug on im Command-Line-Interface (CLI) vom Asterisk. Oder über Port-Mirroring eines Ethernet-Switch. Oder falls Du eine FRITZ!Box nutzt, deren capture.html…
 
Zuletzt bearbeitet:
Jetzt wäre interessant zu wissen, welcher Telefonanbieter und welches Produkt verwendet wird. Wenn ich mich richtig erinnere (April diesen Jahres), schickt die Telekom tatsächlich "UPDATE" requests nach einer gewissen Zeit. Warum aber erst später die UPDATEs kommen, blieb mir schleierhaft. Ggfs. kann ich die Details nochmal raussuchen, aber ich glaube, dass es der SIP-Trunk war.
 
Mal etwas offtopic:

Könnte mir vielleicht jemand die extension.conf aus dem Eingangspost in groben Zügen erklären? Was macht die???

Bin Anfänger und hab meinen Asterisk im Zusammenspiel mit der Fritzbox zuhause am laufen, daher sieht das aus dem ersten Thread alles etwas nach böhmischen Dörfern für mich aus.

Aber ich würde gerne dazulernen...
 
Könnte mir vielleicht jemand die extension.conf aus dem Eingangspost in groben Zügen erklären?
Ehrlich gesagt, keinen Schimmer – und ich habe das Buch in der aktuellen Fassung hier stehen und durch. Vielleicht meldet sich der Thread-Ersteller nochmal (auch zum eigentlichen Thema).
 
Askozia macht es komplizierter als notwendig und es ist ein Irrtum, dass extensions.conf alles regelt. FreePBX ist im Grunde auch nicht besser.
 

Neueste Beiträge

Statistik des Forums

Themen
244,858
Beiträge
2,219,652
Mitglieder
371,572
Neuestes Mitglied
#Kuddel#
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.