2 SIP Telefone hinter NAT: Falsche Identität

stephanw

Neuer User
Mitglied seit
24 Mrz 2006
Beiträge
73
Punkte für Reaktionen
0
Punkte
0
Hallo
ich habe folgendes Problem:
Ein Asterisk Server mit öffentlicher IP Adresse hat folgende 2 SIP Accounts:

Code:
[sip_default](!)
type=friend
canreinvite=no
insecure=port,invite
host=dynamic
qualify=yes
callgroup=63    ;mal alles in die Call- und Pickupgroup 63
pickupgroup=63
vmexten=333     ; Extension to reach voicemail

[20](sip_default)
secret=Geheim
username=Berta Muster
calleridname=Berta
callerid=Berta Muster <20>
mailbox=20@default
nat=yes
context=berta

[50](sip_default)
secret=strengGeheim
username=Hans Muster
calleridname=Hans
callerid=Hans Muster <50>
mailbox=50@default
nat=yes
context=hans

Die beiden SIP Clients befinden an einem ADSL Anschluss hinter einem NAT im Subnetz 192.168.113.x.
Die öffentliche IP des NAT Routers ist 123.123.123.123
Ein sip show peers zeigt folgendes:
Code:
20/Berta Muster      123.123.123.123    D   N      33625    OK (53 ms)
50/Hans Muster       123.123.123.123    D   N      34737    OK (53 ms)

Wenn nun Berta den User 22 auf dem Asterisk Server anruft,
erscheint folgendes:
Code:
Executing [22@hans:1] Dial("SIP/Hans Muster-081f8398", "SIP/22|60|tTr")
Es wird fälschlicherweise angezeigt, dass Hans Muster den Anruf macht!
Wieso erkennt Asterisk da nicht, dass der SIP Client Berta den Anruf macht? Die IP Adresse des NAT Routers (an dem die Clients hängen) ist zwar diesselbe, aber der Port ist doch verschieden.
Habe ich etwas falsch eingetstellt? Hat jemand eine Erklärung?
Vielen Dank für eure Hilfe.
Gruss
Stephan
 
Zuletzt bearbeitet:
Sind beide Einträge nur Peers? Funktioniert es mit type=friend?
 
Hallo
Danke für die Antwort. Sorry, bei der Kopiererei ist mir mein "template" vergessen geraten. Habe die Vorlage sip_default noch hinzugefügt. Dort steht type=friend drinn.

Hast Du eine Idee, woran das liegen kann?
Ach ja, noch ein Hinweis:
Ruft der Asterisk eines der Geräte (z.B. durch einen Anruf von User 22 nach Berta, dann klingelt nur 20. Bei Anruf an Hans nur 50. So können die Geräte also problemlos unterschieden werden. Nur in Richtung Client=>Asterisk gibts ein Durcheinander.
 
Ich vermute, die Clients senden nicht die Namen, die du jeweils als username konfiguriert hast. (Wahrscheinlich müsste da eher "20" bzw. "50" stehen.) Die Zuordnung nach dem Benutzernamen scheint jedenfalls nicht zu klappen. Und der Port wird wegen insecure=port,invite nicht unterschieden, deshalb vergleicht Asterisk nur die IP-Adresse.

Ich hätte zwei Vorschläge:

1. Die username-Zeilen komplett löschen.

2. Die Zeile insecure=port,invite ersetzen durch insecure=invite.
 
Der Eintrag insecure=invite brachte die Lösung!
Zwar habe ich auf dem Client die Einstellung "Eigene Internetadresse senden" auch einschalten können, dann hats auch geklappt.
Aber natürlich will ich nicht, dass der Client entscheiden kann, über welchen Account er gerne telefonieren möchte.

Ich danke Dir für den sehr guten Support und wünsche Dir frohe Festtage!
Liebe Grüsse
Stephan
 
Wenn ich es mir recht überlege, sollte ein Client im Normalfall wohl gar kein insecure haben.
 
Kostenlos!

Statistik des Forums

Themen
248,878
Beiträge
2,303,550
Mitglieder
378,535
Neuestes Mitglied
Richbrothers brotherhood