IP Loggen bei eingehenden Anrufen

mode

Mitglied
Mitglied seit
22 Okt 2004
Beiträge
285
Punkte für Reaktionen
0
Punkte
16
Hallo,

ich wurde gerne in einem meiner Contexte loggen, von welcher IP ein Anruf gekommen ist. Gibt es eine Variable, die diesen Wert enthält?

Zudem habe ich folgenden Eintrag in der sip.conf

Code:
[1und1-out-123]
type=peer
context=nevermatch
username=49123
fromuser=49123
remotesecret=xxxxxx
host=1und1.de
qualify=yes
insecure=port,invite
nat=yes
disallow=all
allow=alaw
allow=ulaw

Dieser sollte eigentlich nur für ausgehende Anrufe von * -> 1&1 verwendet werden.

Eingehende Anrufe werden bei mir wie folgt abgefrühstückt:
Code:
[1und1-template](!)
type=peer
fromdomain=1und1.de
disallow=all
allow=ulaw
allow=alaw
context=incomming-1und1


[1und1_in_1-1](1und1-template)                             
   host=sipbalance1-1.1und1.de  ;212.227.67.131
...
*** Alle weiteren 1und1 Server ***


Heute hatte ich allerdings einen Anruf von außen der auf Kontext Nevermatch gelandet ist. Wie kann das sein?

VG

Mode
 
ich wurde gerne in einem meiner Contexte loggen, von welcher IP ein Anruf gekommen ist.

Im SIP Header From solltest Du was finden. Ist aber nicht fälschungssicher.

Bei einem abgehenden Peer kannst Du das insecure raus nehmen, dann kommt darüber auch nichts mehr an.

Es gibt hier einen umfangreichen Asterisk + 1&1 Thread, wo das alles ausführlich beschrieben steht.
 
Hi Rentier-s,

danke, das hatte ich mir schon gedacht.
Ein
NoOp(${SIP_HEADER(Via)});
gibt die gewünschten Informationen aus.

Eine Frage habe ich allerdings noch.
Es geht weiterhin um den ausgehenden Context in meiner Sip.conf:
Code:
[1und1-out-123]
type=peer
context=nevermatch
username=49123
fromuser=49123
remotesecret=xxxxxx
host=1und1.de
qualify=yes
insecure=port,invite
nat=yes
disallow=all
allow=alaw
allow=ulaw

Der Peer wird wie folgt registriert:
Code:
server*CLI> sip show peers
Name/username              Host                                    Dyn Forcerport ACL Port     Status
1und1-out-123/49123  212.227.67.136                               N      5060     OK (16 ms)
...

Die Frage ist nun wie die IP des Peers ermittelt wird. Die ist nämlich eine IP der 1und1 Telefonieserver über die auch eingehende Anrufe reinkommen. Und da in meiner sip.conf die Outgoing Definitionen vor den Incomming standen, hat er zufällig einen der 1und1 Server auf die Outgoing Definition mit Context "nevermatch" gematcht. Wenn auf diesem dann ein Anruf reinkam (Chance 1 zu ~40) dann matching auf den falschen Kontext.
Warum ist das so? mit host=1und1.de zeige ich doch auf eine andere IP als 212.227.67.136.

LG

Mode

PS: das mit dem Insecure werde ich versuchen. Vielen Dank!

[Beitrag 2:]

Hallo,
Insecure herauszunehmen hat leider keine Änderung gebracht. Auf diesem Peer kamen trotzdem noch die Anrufe rein, wenn die IP gepasst hat.
Als Workaround habe ich nun die eingehenden Peers vor die ausgehenden Peers gestellt. So werden die eingehenden immer zuerst gefunden.
Wie kann ich in einem Peer zuverlässig verhindern, dass auf diesem Anruf eingehen. Wo kommt die dem Peer zugeordnete IP her wenn nicht von host=1und1.de?

LG

Mode
 
Zuletzt bearbeitet von einem Moderator:
Gerade in Kombination mit remotesecret statt secret sollten ohne insecure imho keine ankommenden Anrufe über dieses Peer möglich sein. Zuerst die ankommenden zu definieren ist jedenfalls kein Workaround, sondern die empfohlene Vorgehensweise.

Die IP Adresse ermittelt Asterisk durch Auflösen des host= Eintrags beim Laden der Config. Ich weiß nicht, inwieweit 1&1 zur Lastverteilung diesen Hostname zeitweise auf verschiedene Balancer leitet. Das wäre jedenfalls eine Erklärung.
 
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.