SIP Verbindung legt nicht auf

goofer22

Neuer User
Mitglied seit
11 Jul 2004
Beiträge
45
Punkte für Reaktionen
0
Punkte
6
Hallo,

ich hab ein sehr komisches Problem:
Ich rufe über Asterisk und Sipgate eine Nummer im Festnetz an. Ich lege auf, bevor mein Gegenüber annimmt. Dennoch klingelt das Telefon weiter und wenn mein Gegenüber annimmt kostet es mich mein Geld, obwohl ich lang schon wieder aufgelegt hat.

Der Hangup meines lokalen Zap oder auch SIP Channels wird korrekt erkannt, nur klappt wohl die Übertragung zu SIPGATE nicht.

Version von Asterisk: Letzte vom CVS gestern abend. Ich meine mich dunkel zu erinnern, dass es mit meinem ersten Versuch von 4 Wochen mal geklappt hat. Weiss aber nicht mehr was ich geändert habe ;-)
Meinen Dialplan habe ich auch extrem vereinfacht, er sieht im Moment nur noch so aus:

exten => _9.,1,Wait(1)
exten => _9.,2,Answer
exten => _9.,3,Dial(SIP/${EXTEN:1}@sipgate,20)
exten => _9.,4,Hangup

Ich weiss echt nicht mehr weiter.. Hoffentlich hat jemand von euch eine Idee ;-)

Gruss
Florian
 

Anhänge

  • sip.conf.txt
    1.1 KB · Aufrufe: 20
  • sipdebug.txt
    4.5 KB · Aufrufe: 14
Hast Du in deinen Kontexten ne Hangup-Extension drin? Also, auch in dem Context, wo das DISA-Commando drin steht:
exten => h,1,Hangup
 
Genau dieses Problem habe ich auch. Ich habe die oben genannte Zeile mal eingefügt, doch da tut sich leider nichts.

Chris
 
Klingt nach einem NAT-Problem: Die Signalisierung läuft nur in eine Richtung, sprich: die eine Seite schickt zum angerufenen die Nachricht für den Rufaufbau, bekommt aber die Bestätigung nicht zurück (da sie in irgendeinem NAT verlorgen geht) und weiss dann nicht, dass die Gegenstelle schon am läuten ist, und wenn dann aufgelegt wird, wird auch keine Nachricht zum rufabbau versendet (da ja nie ein Anruf durchging nach Ansicht des Anrufers). Deshalb klingelt der Angerufene auch munter weiter.

Vermutlich hast Du auf deiner Seite den Asterisk hinter einem NAT?
Weiter Frage: tritt das bei allen leuten auf, die Du anrufst?
 
Ich bin in einem NAT, habe aber mittlerweile alle Ports, z.B. 5060 und die aus der rtp.conf, an den Asterisk Rechner weitergeleitet. Wenn ich irgendwo mit Sipgate anrufe, funktionieren die Gesrpäche ja auch wenn der andere Abnimmt. Im Log erscheint auch "Executing Hangup ("Zap/2-1", "") in new stack".

Müsste da nicht statt dem Zap dann die angerufene sipgate nummer stehen?

Chris
 
Jetzt habe ich noch den Fehler "app_dial.c: 362 wait_for_answer: Unable to forward frame" bekommen. Das scheint also wirklich was mit den NAT zu tun zu haben.
 
Habt ihr die externe ip angegeben? Also mit "externip =" in gerneral-Bereich der sip.conf?
 
Ja bei mir steht da die dyndns adresse. Zusätzlich habe ich diese auch noch bei Realm angegeben.
 
Bei mir befindet sich asterisk direkt auf der Routermaschine, also kein NAT.

externip habe ich trotzdem angegeben

Die Fehlermeldung "app_dial.c: 362 wait_for_answer: Unable to forward frame" bekomme ich seitdem ich gestern abend das neueste CVS verwende, vorher hatte ich kein Problem.

X-Lite direkt über sipgate funktioniert auch durch das NAT incl. Auflegen, also an sipgate liegts nicht. Sobald ich X-Lite über asterisk laufen lasse, genau das gleiche Problem wie mit dem Zap Channel.
 
Das hier ist der Inhalt von dieser app_dial.c

ast_log(LOG_DEBUG, "Dunno what to do with control type %d\n", f->subclass);
}
} else if (single && (f->frametype == AST_FRAME_VOICE) &&
!(outgoing->ringbackonly || outgoing->musiconhold)) {
if (ast_write(in, f))
ast_log(LOG_WARNING, "Unable to forward frame\n");
} else if (single && (f->frametype == AST_FRAME_IMAGE) &&
!(outgoing->ringbackonly || outgoing->musiconhold)) {
if (ast_write(in, f))
ast_log(LOG_WARNING, "Unable to forward image\n");
}
ast_frfree(f);
} else {
in->hangupcause = o->chan->hangupcause;
ast_hangup(o->chan);
o->chan = NULL;
o->stillgoing = 0;
}

Weiß da jemand was mit anzufangen?

@goofer Hattest Du das alles mit einer Vorgängerversion schonmal am laufen?
Chris
 
Hallo,

ich hab mir mal die SIP Debug angeschaut,

dabei ist mir eins aufgefallen in Zeile 48 und 64 wird mit IP 217.10.64.78 kommuniziert. Die IP dürfte auch im Sipgate Netzwerk liegen. Der Verbindungsaufbau wird aber mit 217.10.79.9 (sipgate.de) durchgeführt. Ich mein ich bin sicher Asterisk bzw. SIP Profi aber ein IP Adressenwechsel kommt mir schon etwas seltsam vor. Kann es sein, das Asterisk die Verbindung von der 2.ten IP ignoriert?

Grüssle

NeoMagic
 
@nc2001: Ich meine, es hätte mit einer älteren Version vor ca. 1 Monat mal funktioniert, damals hatte ich aber nur grundlegenste Dinge probiert und hatte teilweise noch andere Hardware (Teles, statt Fritzcard).
Das würde dazu passen, dass Hupe mit seiner CVS Version keine Probleme hat.

@Neomagic: Wodurch kommt so ein IP Wechsel zustande? Das mit dem Ignorieren würde passen, da manchmal im SIP debug auch "leere" Pakete ankommen.
 
Was mir aufgefallen ist, ist dass das Problem auch auftritt wenn der Gesprächspartner abnimmt. Dann steht erstmal die Verbindung und man kann telefonieren. Wenn dann der Asterisk Teilnehmer zuerst auflegt, besteht beim Angerufenen die Verbindung immer noch (er hört kein besetzt wie sonst üblich). Erst wenn er auflegt ist die Verbindung auch abgebaut.

Zu diesem Phänomen bekam ich dann diesen Fehler:
chan_sip.c:673 retrans_pkt: Maximum retries exceeded on call [email protected] for seqno 103 (Non-critical Request)

CU
Chris
 
ich habe den Asterisk auf einem dedizierten Server im Rechenzentrum laufen und kann diesen Fehler nicht nachvollziehen.

Es scheint wirklich ein Problem mit Firewall und/oder NAT zu sein.
 
@betateilchen
goofer22 hat Asterisk auch nicht hinter NAT laufen, also wird es wohl ein Config Problem sein wenn es bei dir geht, kannst du mal deine Config Posten? Vielleicht kannst du ja produktiv beitragen das Problem zu lösen.
 
Ich habe jetzt nochmal komplett neu installiert, alles ports sind auf den Asteriskserver geleitet und das Problem tritt nach wie vor auf. Auch ein rtptimeout und ein rtpholdtimeout in der sip.conf die nach 5 Sekunden RTP INaktivität trennen bewirken keinen ordentlichen Abbau der Verbindung. Das angerufene Telefon klingelt nach wie vor auch wenn ich aufgelegt habe.

@betateilchen
Auch ich würde mal gerne deine configs sehen, zusätzlich wäre auch noch die verwendete Asteriskversion von Interesse.
 
Nur noch zur Ergänzung:

An der Firewall kann es auch nicht liegen, die hatte ich auch schon komplett aus.

@nc2001: Die Frage auf asterisk-users Mailingliste wird wohl nicht viel bringen, das hatte ich gestern auch schon Probiert :D

@betateilchen: Welche Version hast du am laufen? Ich habe die Vermutung, dass es erst ab einem CVS Stand von Anfang Juli auftritt.

Mich wundert nur, dass es insgesamt so wenig mit dem Problem betroffen sind. An ein Config Problem glaube ich langsam nicht mehr...

Gruss
Florian
 
@nc2001:

Ich habe jetzt mal einen Bug direkt an das Developer Team submitted (was für ein Wort) und Teile deiner in der Mailingliste verwendeten Fehlerbeschreibung verwendet, ich hoffe du verzeihst mir :lol:

Deine Fehlerbeschreibung war einfach besser ausformuliert ;-)

Mal sehen, was sich da ergibt.
 
Jo, mal sehen was sich tut. Waren allerdings einige Rechtschreibfehler drin weil ich das schnell geschrieben hatte ohne nochmal drüberzulesen. :)

Chris
 
Laut DEV Team ist der Bug seit ein paar Tagen gefixt.

Ich versuche jetzt seit 3h den Bri-Stuff Patch auf den aktuellen CVS Stand draufzukriegen. Bis jetzt ohne Erfolg..

Im Zweifelsfall müssen wir wohl auf die neue Release von Bri-Stuff warten.

Gruss
Florian
 
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.