Anruf nach ca 13sek Stille abgebrochen

BigBadaBoom

Neuer User
Mitglied seit
26 Jun 2008
Beiträge
84
Punkte für Reaktionen
0
Punkte
0
Hi, ich habe leider mit Asterisk ein Problem. Ich telefoniere über einen o2 VoIP - das funktioniert auch alles eigentlich wunder bar.

Es gibt da allerdings eine Sache die nicht so gut läuft:
Wenn Asterisk für mehr als 13 Sekunden still ist wird die Verbindung (vermutlich von o2) unterbrochen.

Folgende Szenarien in denen dieses z.B. Phänomen auftritt:

Ein Anruf wird getätigt und kommt über die o2 Verbindung bei Asterisk an. Über den Dialplan wird abgehoben und irgendwann kommt es an eine solche Stelle:
Code:
exten => s,1,Background(some-some)
exten => s,n,WaitExten(15)
exten => s,n,Goto(1)
Hier wird, falls nichts eignegeben wird, die Verbindung nach ca. 13 Sekunden unterbrochen. Wenn ich allerdings WaitExten(10) benutze spielt sich das ganze, so wie es soll, in einer endlos Schleife ab.

Exakt das selbe Szenario mit WaitExten(10), nur diesmal wird eine Extension eingegeben, nur da diese auch mal 20 Stellen lang ist dauert die Eingabe länger -> ab ca. 13 Sekunden bricht das Gespräch auch hier ab.

Wird egal in welchem Szenario eine Extension eingegeben, die zur Eingabe und darauf folgende Wartezeit (da mit _X. gematched wird) weniger Zeit benötigt, und somit auch bald wieder ein Ton o.ä. von Asterisk folgt, funktioniert mein ganzer Dialplan ohne jegliche Probleme.

Wodran kann das liegen? Gibt es Einstellungen um das zu umgehen?

Vielen Dank schon mal im Voraus.
-BBB
 
In Deiner sip.conf solltest Du einmal nach rtptimeout= und rtpkeepalive= schauen.
 
Leider hat das nicht funktioniert. Das Problem bestand auch seltsamerweise nur bei wenigen Mobilfunkanbietern - ansonsten ist das Gespräch nicht abgebrochen.
Als Work-Around lasse ich einfach die Zahlen vorlesen sobald sie eingetippt werden.

Hier mein Work-Around:
Code:
; SUB workaround to dial long extensions without timeout
;   sets variable ExtenDialed
;   if only a zero is dialed it will wait till more is dialed
[get_long_extension]
exten => s,1,Set(ExtenDialed=)
exten => s,n,WaitExten()
exten => s,n,Return()

exten => s,n(only_zero),WaitExten(6)
exten => s,n,Background(number)
exten => s,n,WaitExten(4)
exten => s,n,Goto(only_zero)

exten => _X,1,Set(ExtenDialed=${ExtenDialed}${EXTEN})
exten => _X,n,Background(digits/${EXTEN})
exten => _X,n,WaitExten(4)
exten => _X,n,GotoIf($["${ExtenDialed}" = "0"]?s,only_zero)
exten => _X,n,Return()

exten => #,1,Return()

exten => i,1,Set(ExtenDialed=)
exten => i,n,Return()
Besonderheiten: Mit "*" bricht man ab, eine einzige "0" kann nicht gewählt werden.
 
Du könntest auch ein unauffällige kleines Rauschen abspielen
 
Kostenlos!

Statistik des Forums

Themen
248,887
Beiträge
2,303,985
Mitglieder
378,567
Neuestes Mitglied
MacOS