Siemens Gigaset C610 Nachfolger

Laut Gigaset-Hotline ist das C430IP der Nachfolger des C610. Auf Grund einer Rabattaktion ist jedoch das C430IP derzeit nicht lieferbar.
Gigaset empfiehlt den weiteren Nachfolger C430Go welcher kompatibel zu sein scheint.

SIP / Voip Debugging – notwendige Firewall Anpassungen SIP/2.0 404 Not Found

Wir haben uns bei unserem SIP-Provider registriert und können ausgehende Gespräche führen. Eingehende Gespräche werden jedoch an der FW geblockt:

Die Log-Datei zeigt folgendes:

IN=wan OUT= MAC= SRC=212.227.67.131 DST=ext-IP LEN=1313 TOS=0×00 PREC=0×00 TTL=57 ID=63290 PROTO=UDP SPT=5060 DPT=5060 LEN=1293

Normaler SIP-Verbindungsaufbau (INVITE) über Default-Port 5060 UDP.

Man könnte jetzt einfach den Port 5060 von aussen freigeben, damit erlaubt man jedoch den Angreifern div. Unsinn.
Wir schränken somit den Zugriff auf eine IP-Range des SIP-Providers ein.

Laut Ripe gehört das komplette /16-Netz zu 1und1/Schlund:

https://apps.db.ripe.net/search/query.html?searchtext=212.227.67.131

Nach der Port-Freischaltung durch die FW kommen zwar eingehende Anrufe an, die TK-Anlage meldet jedoch Empfänger/Durchwahl unbekannt:

Anfrage:

14:10:23.465406 IP 212.227.18.135.5060 > TK-Anlage.5060: SIP, length: 1283
E…….8..6…….e……_3INVITE sip:rufnummer@ext-IP:5060 SIP/2.0

Antwort:

14:10:23.469888 IP TK-Anlage.5060 > 212.227.18.135.5060: SIP, length: 888
E…….@……e……….C

Nach einem kurzen Blick in unsere TK-Anlage stellten wir fest, dass die Anlage nicht von jeder IP-Adresse Anrufe annimmt.
Die genaue Meldung war:

Unknown provider (public-direct-dial)
externe-Nummer (From IP: 212.227.18.205:5060, User: )
externe-Nummer (From IP: 212.227.18.137:5060, User: )
externe-Nummer (From IP: 212.227.67.136:5060, User: )
externe-Nummer (From IP: 212.227.18.135:5060, User: )
externe-Nummer (From IP: 212.227.18.202:5060, User: )
externe-Nummer (From IP: 212.227.67.197:5060, User: )
externe-Nummer (From IP: 212.227.67.206:5060, User: )

Sind diese IPs hinterlegt in der Anlage sieht der Verbindungsversucht anders aus:

...@......e..........h Via: SIP/2.0/UDP TK-Anlage:5060;branch=z9hG4bK4507410f;rport

15:04:16.465575 IP SIP-Telefon.5060 > TK-Anlage.5060: SIP, length: 358
Eh..r.@.@.C……..e…..n..SIP/2.0 100 Trying

15:04:16.527746 IP SIP-Telefon.5060 > TK-Anlage.5060: SIP, length: 413
Eh..r.@.@.C……..e……..SIP/2.0 180 Ringing

Und der Rufaufbau ist abgeschlossen.

Firewalltechnisch keine weiteren Einstellung mehr nötig als wie oben erwähnt. Es gibt eine Default-FW-Regel, die ausgehenden Verkehr erlaubt.

Bandbreitenverbrauch ist 20KB/s für das bestehende Gespräch.

1und1 ADSL ipv6 Status + Einrichtung – Workshop

Wir verwendeten bis dato einen SIXXS ipv6 Tunnel-Broker zur Nutzung von ipv6. 1und1 stellt jedoch ebenso für alle VDSL-Anschlüsse ipv6 per dual-Stack zur Verfügung.
Für ADSL-Anschlüsse muss dies über das 1und1 Kundenforum einmalig durch eine private Nachricht an die Moderatoren freigeschaltet werden.

Nach der Freischaltung und der korrekten Konfiguration des Routers steht ein /64-Prefix zur Verfügung.

Zwischen Provider und Router existiert lediglich eine Link-Lokal Verbindung. Hierüber kündigt der Provider ein /64-Netz an. Dies kann an die Clients im LAN verteilt werden.

Wir planen in den nächsten Wochen einen ipv6-Workshop. Bei Interesse eine kurze E-Mail an uns über http://www.cubewerk.de/kontakt.html

SIP tag, Call-ID, Via received Felder in SIP Invite

Um via SIP einen entfernten Teilnehmer anzurufen, benötigt man nicht zwingend einen VOIP-Provider der Aufgaben wie Nummernregistrierung und NAT-Umgehung übernimmt. Man kann auch direkt einen Teilnehmer anrufen.

Nicht jeder Soft-Client kann dies. Mit Empathy unter Linux hats nicht geklappt – LinPhone geht problemlos und hat aus meiner Sicht auch die intuitivere Oberfläche.

Gewählt wird mit KENNUNG@IP

Möchte man eine fremde Fritzbox anrufen und kennt die Rufnummer ist dies rufnummer@ip-der-fritzbox

Wählt man eine unbekannte Kennung läuft der Dialog wie folgt ab:

Anrufer schickt einen SIP-Invite (Anforderung zum Gesprächsaufbau) an den Angerufenen.

IP s1.sip > ziel.sip: SIP, length: 900
Eh….@.@…….[/……..-.INVITE sip:1@angerufener SIP/2.0
Via: SIP/2.0/UDP 192.168.0.151:5060;rport;branch=z9hG4bK2041591
From: ;tag=1705358941
To:
Call-ID: 546189454
CSeq: 20 INVITE
Contact:
Content-Type: application/sdp
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Max-Forwards: 70
User-Agent: Linphone/3.6.1 (eXosip2/4.1.0)
Subject: Phone call
Content-Length: 435

Der Angerufen quittiert mit … wenn die Kennung nicht bekannt ist.

11:24:26.060491 IP ziel.sip > s1.sip: SIP, length: 291
E..?C…>.M.[/………..+.`SIP/2.0 404 Not Found
Via: SIP/2.0/UDP 192.168.0.151:5060;rport=5060;branch=z9hG4bK2041591;received=absender-IP
From: ;tag=1705358941
To: ;tag=16-zeichen-hex
Call-ID: 546189454
CSeq: 20 INVITE
User-Agent: FRITZ!OS
Content-Length: 0

Die einzelnen Felder zur Erklärung:

Via: Definiert den Übertragungsweg wie ein Teilnehmer erreicht werden kann

Via enthält ebenso einen Parameter received – dies definiert die erkannte Absender-IP der Gegenstelle.

O-Ton:

SIP does provide the client
with the source IP address that the server saw in the request. This
information is conveyed in the received parameter in the topmost Via
header of the response. This information has proved useful for basic
NAT traversal, debugging purposes, and support of multi-homed hosts”

Quelle: https://tools.ietf.org/html/draft-ietf-sip-nat-02

Call-ID: Eindeutige Kennung für die eigentliche Verbindung – einheitlich zwischen zwei Gesprächspartnern
Tag: Eindeutige Kennung einer Gegenstelle – Anrufer und Angerufener generieren sich tag – hier die Erklärung:

When a tag is generated by a UA for insertion into a request or
response, it MUST be globally unique and cryptographically random
with at least 32 bits of randomness. A property of this selection
requirement is that a UA will place a different tag into the From
header of an INVITE than it would place into the To header of the
response to the same INVITE. This is needed in order for a UA to
invite itself to a session, a common case for “hairpinning” of calls
in PSTN gateways. Similarly, two INVITEs for different calls will
have different From tags, and two responses for different calls will
have different To tags.

Quelle: https://tools.ietf.org/html/rfc3261

Mit Zabbix string aus überwachter Log-Datei extrahieren

Seit Zabbix 2.2 gibt es die Möglichkeit, bei der Log-Überwachung mit regulären Ausdrücken einzelne Strings / Treffer zu extrahieren.
Die extrahierten Treffer sind jedoch vom Typ Log und können somit nicht für die Generierung von Graphen verwendet werden.

Bugreport hierzu https://support.zabbix.com/browse/ZBX-7821

Der Vorschlag von Zabbix auf Version 3.0 zu warten hat uns nicht überzeugt – also dann ein manuelles Update des Item Types in der DB:

Mit postgres verbinden:

# psql

Mit passender DB verbinden:

# connect zabbix

Passende Host-ID rausfinden mit:

# select host,hostid from hosts;

Item-ID rausfinden:

select name,itemid from items where hostid=10515;

Item Type ändern:

update items SET value_type=3 WHERE itemid=341479;

Askozia PBX – 1und1 SIP Konten

Benutzername: 0049862112345 (eigene int. Nummer ohne + und doppelte Null)
Kennwort: Das in der 1und1 Oberfläche hinterlegte für die Rufnummer
Host sip.1und1.de

Der Sip Proxy von 1und1 ist sehr gesprächig – man kann also sehr sinnvoll mögliche Fehler ableiten.
Hier einige Auszüge:

SIP/2.0 407 Proxy Authentication Required

Kennwort falsch – oder die Rufnummer ist “abgelaufen”. Wir hatten den Fall, dass zwar in dern 1und1-Oberfläche eine Rufnummer mit neu hinterlegtem Kennwort verfügbar war, jedoch das Kennwort ständig bemängelt wurde. Rufnummer gelöscht und neue hinterlegt und die Meldung blieb aus.

SIP/2.0 403 Keine RFC1918-IPs erlaubt oder SIP/2.0 403 Private IP im Contact-Header

Bei einem SIP-Verbindungsaufbau benötigt die Gegenstelle eine gültige Zuordnung zum Anrufer. Dies ist nicht mit privaten IP-Adressen möglich, da diese nicht geroutet werden. Entweder man konfiguriert die Askozia PBX-Anlage mit einer statischen und öffentlichen IP-Adresse oder hinterlegt die eigene dynamische und öffentliche IP-Adresse unter Konnektivität / Netzwerk.

Näheres Infos hierzu findet man unter folgender URL:

http://www.askozia.com/handbook/index.php?title=Connectivity

Hat man dies hinterlegt, ist 1und1 kooperativer und baut in folgenden Schritten den Anruf auf:

SIP/2.0 200 OK
SIP/2.0 100 trying — your call is important to us
SIP/2.0 183 Session Progress
SIP/2.0 180 Ringing
SIP/2.0 200 OK

Konfigurationsbackup von mehreren Cisco Switches mit expect und tftp

Anforderung: Sicherung der Konfigurationen von mehreren Cisco-Switches automatisch ohne manuell sich mit jedem Switch verbinden zu müssen.

Man nehme 15 Cisco Switches.
Man nehme einen TFTP-Server und das Tool expect unter Linux.

Man erhalte die Konfigurationen gesammelt in einem Pfad – geordnet nach Switch-IP.

Das eigentliche Skript ist:

#!/usr/bin/expect

set arg1 [lindex $argv 0]
set tftp 192.168.0.3
set pass kennwort
set timeout 60

spawn telnet $arg1
expect "Password:"
send "$pass\n"
expect ">"
send "en\n"
expect "Password:"
send "$pass\n"
expect "#"
send "show run | tee tftp://$tftp/$arg1.cfg\n"
expect "\n"
sleep 3
send "quit\n"

Es wird aufgerufen mit skript.sh switch-ip

Bei sehr großen Konfigurationen oder langsamer Netzwerkanbindung muss das sleep im Skript erhöht werden.
Hat man mehrere Switche ruft man das Skript wie folgt aus:

for switche in {41..50}; do /usr/local/bin/cisco-backup.sh 192.168.0.$switche; done

Dies führt Skript mit 192.168.0.41-50 aus. Obligatorisch zu erwähnen, dass ein TFTP-Server auf 192.168.0.3 laufen muss. Häufig muss dieser mit dem Schalter

–create, -c
Allow new files to be created.

gestartet werden, sonst verteilt er nur Dateien.

Der Wahnsinn mitSamba3 und Gruppenrichtlinien

Samba 3 kann noch keine Windows GPOs die zentral verwaltet werden können. Es bleibt der Weg über poledit.exe, was eine NTConfig.pol ausspuckt – die scheinbar jedoch ab Windows Vista ignoriert wird.
Man kann zwar lokale Gruppenrichtlinien anlegen

Für Computer Einstellungen -> %systemroot%\System32\GroupPolicy\Machine\registry.pol
Für Benutzer Einstellungen -> %systemroot%\System32\GroupPolicy\User\registry.pol

diese greifen jedoch für alle Benutzer bzw. für den kompletten PC.

Zusätzlich gibt es die Möglichkeit, am Client Reg-Einträge reinzuwürgen – wenig hilfreich wenn dies durch den angemeldeten Benutzer ausgeführt werden muss – er sich also selbst aussperrt und somit auch jederzeit wieder die nötigen Rechte geben kann.

Hinzu kommt, dass div. Einstellungen nur von Administratoren gesetzt werden können – wie z.B. das Ausblenden der lokalen Platten

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies

Obiger Pfad ist nur durch Administratoren beschreibbar…

Die Lösung scheint hier zu liegen:

http://www.gruppenrichtlinien.de/artikel/gpeditmsc-multi-lokale-richtlinien-standalone-ohne-server-ohne-ad/

Danke Thomas für die Info.