[Gelöst] Keine Rufannahme von Telekom trotz erfolgreichem peer und registry / auth rejection

vwittich

Neuer User
Mitglied seit
31 Okt 2004
Beiträge
90
Punkte für Reaktionen
0
Punkte
6
Hallo Leute,

seit 01.04.2013 kann mein Asterisk keine Anruf mehr über die Telekom annehmen. Zur Zeit muss ich die Anrufe an Sipgate weiterleiten und dann annehmen. Der Asterisk melden lediglich:

Code:
Sending fake auth rejection for device <sip:[email protected];user=phone>;tag=dd4d97e3

Das bedeutet doch, dass die Telekom IP abgewiesen wurde richtig?

Ich verstehe nur nicht warum ich in der Asterisk-Consule sehe, dass sowohl mit dem Telekom-Server gepeered wurde also auch registriert:
Code:
*CLI> sip show peers
Name/username              Host                                    Dyn Forcerport ACL Port     Status
[...]
telekom/username             217.0.16.170                                 N      5060     OK (16 ms)
[...]
8 sip peers [Monitored: 8 online, 0 offline Unmonitored: 0 online, 0 offline]

*CLI> sip show registry
Host                                    dnsmgr Username       Refresh State                Reg.Time
[...]
tel.t-online.de:5060                    N      063333333      225    Registered           Thu, 03 Apr 2014 14:29:56
4 SIP registrations.

Hier meine Konfiguration:
[sip.conf]
Code:
[general]
context=sonstige   
allowoverlap=no 
udpbindaddr=0.0.0.0:5060
tcpenable=no
tcpbindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=alaw
allow=ulaw
allow=g729
allow=gsm
allow=slinear
language=de   
allowsubscribe=yes
notifyringing = yes
notifyhold = yes
defaultexpirey=240
directmedia=no                  ; das ehemalige canreinvite
directrtpsetup=no
alwaysauthreject=yes      
allowguest=no              

register => 063333333:passwort:[email protected]/063333333

[...]

[telekom]
type=friend
context=von_telekom
username=username
secret=passwort
host=tel.t-online.de
fromdomain=tel.t-online.de
qualify=yes           
port=5060
insecure=invite
nat=yes
call-limit=5
canreinvite=no

[...]

Irgendwelche Ideen oder Ratschläge?

Gruß Valentin
 
Zuletzt bearbeitet:
Hmm so bin jetzt mal wieder bisschen zum testen gekommen. Also selbst wenn ich alle Loadbalancer IPs der Telekom eintrage wird mein Anruf rejected.

Ich hab schon versucht mir anzeigen zu lassen über welche IP der Anruf reinkommt... aber mit dem entsprechenden Patch komme ich nicht klar, bzw. hab ich keine Ahnung wo ich die zu patchende Datei finde.

Sonst irgend eine Methode das ganze zu debuggen?

Gruß Valentin
 
Ja eigentlich schon, aber irgendwie war ich nicht auf die Idee gekommen auch mal den sip debug zu setzen. Der hat mich aber nun entscheidend weitergebracht. Danke!

Die Telekom hat wohl noch weitere Loadbalancer installiert oder zu mindestens die IP gewechselt. Bei mir kommen zur Zeit die Anrufe über die IP 217.0.17.230 rein. Also habe ich diese jetzt auch noch hinzugefügt. Ganz nach dem Vorbild von abw1oim:
Code:
[DTAG-IP_IN17_230](external-standard)
host=217.0.17.230
trustrpid=no

Es gibt nicht irgendwo eine aktuelle Liste der Loadbalancer der Telekom?

Gruß Valentin
 
Es gibt nicht irgendwo eine aktuelle Liste der Loadbalancer der Telekom?

Du hast doch meinen Beitrag verlinkt :confused: - der enthält die aktuellen und bekannten Balancer. Und Du kannst mir glauben: ich pflege die sogar öfter mal, da meine privaten Asteriske eben auch (u.a.) an einem Telekom-Anschluss hängen ...
 
Danke für den Hinweis.

Da ich hatte ich mir wohl gerade die Liste kopiert bevor du Sie aktualisiert hast und später habe ich nicht mehr geprüft ob IPs dazugekommen sind.

Vorschlag: könntest du nicht noch zusätzlich noch das letzte Aktualisierungsdatum als Kommentar in die Liste aufnehmen, dann könnte man solche Missverständnisse/Fragen in Zukunft vermeiden.

Gruß Valentin

PS: Auf welche Art ermittelst du die IPs?
 
Zuletzt bearbeitet:
Ich hab's mal dazugeschrieben. Aber bitte auch dort nachlesen, was schon da stand:
ohne Garantie auf Vollständigkeit
- ich zitiere mich schon selbst :mad:

PS: Auf welche Art ermittelst du die IPs?

Alles eine Frage des Loggings: Anrufe ohne Peermatch landen bei mir in einem spezellen (default) Kontext (allowguest = yes) und werden dort daraufhin untersucht, ob das Anrufziel eine zu mir gehörendfe Rufnummer ist. Wenn ja wird auch noch festgestellt, zu welchem Anbieter (Telekom, 1und1 etc.) die Zielrufnummer gehört. Anschließend kann die Herkunfts-IP (die steht in den SIP-Headern) ganz einfach geloggt werden und wird dann später (manuell) in die Konfig übernommen. Alles also kein Hexenwerk ...
 
Zuletzt bearbeitet:
Könntest du deine Header und Nummerauswertung mal posten?
Das mit der Nummerauswertung ist ja schon mal ein brauchbarer Schutz, denn der Hacker weiß ja nicht welche Telefonnr. eine bestimmte IP hat. Die Domain kann man schon leichter erraten.
 
Das Prinzip kann ich posten. Da meine Rufnummern in einer DB stehen (und da wiederum noch tiefergehende Logik zum Routing dahinterliegt) schenke ich mir den Teil und deute ihn hier nur mal an ...

Das Prinzip: Zunächst wird die Zielrufnummer ermittelt. Die steckt bei SIP im SIP_HEADER(TO). Diese wird dann bei SIP statt der EXTEN in MYDEST übermnommen. Zulässig ist ein Anruf immer dann, wenn MYDEST einer der Rufnummern ist, die Asterisk als eigene Rufnummern kennt. Das machen wir hier im switch-Verteiler, indem wir inboundcontext setzen.
Anschließend wird nach inboundcontext gegangen, sofern der nicht leer ist. Ist er leer, wird der Anruf abgeworfen und eine Verbose-Nachricht geschrieben. Diese kann man dann mit fail2ban auswerten .

Die IP, von der der Anruf stammt, steht bei SIP-Calls in CHANNEL(recvip).

Code:
context default {
        _[*#a-zA-Z0-9]! =>      {
                                if ("${CHANNEL(channeltype)}"="SIP") {
                                        NoOp(Call von ${SIPCHANINFO(uri)});
                                        NoOp(Call fuer ${SIP_HEADER(TO)});
                                        Set(MYDEST=${CUT(CUT(CUT(SIP_HEADER(TO),<,2),@,1),:,2)});
                                } else {
                                        Set(MYDEST=${EXTEN});
                                }
                                switch (${MYDEST}) {
                                        pattern 12345.   : Set(inboundcontext=Provider1); break;
                                        case 98765431   : Set(inboundcontext=Provider2); break;
                                        default              : break;
                                }
                                if (! ${ISNULL(${inboundcontext})} ) {
                                        goto ${inboundcontext},${MYDEST},1;
                                } else {
                                        Verbose(1,Illegal Dialing attempt from '${CHANNEL(peerip)}');
                                        if (${CHANNEL(channeltype)}=SIP) {
                                                Verbose(1,Illegal Dialing attempt from '${CHANNEL(recvip)}');
                                        }
                                        Hangup(21);
                                }
                                }
        h               =>      Hangup;

        e               =>      Hangup;
};
 
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.