Gigaset Go 100 hinter OpenBSD Router betreiben

dennisN86

Member
Grüße,

ich bin auf dieses Forum aufmerksam geworden, da ich auf Suche nach einer Antwort für mein Konfigurationsproblem einer Gigaset Go 100 Box hinter einem OpenBSD Router bin. Hier zur faktischen Ausgangslage:

Ich habe an einem VDSL 50 (o2 myHome M) Anschluss, die von o2 mitgelieferte Box deprecated und durch einen Speedport Smart 2 im Modem Modus + APU2C4 Board mit OpenBSD ersetzt. Mit dem Setup aus SP2 und OpenBSD Router kenne ich mich so weit aus. Da es hier aber um den Anschluss meiner Mutter geht, welche natürlich ein Legacy-Device wie ein Haustelefon benutzt, habe ich Sie auf eine Gigaset Go 100 Box umgestellt. Ein kurzer Blick in die Protokolle rund um SIP, VoIP, RDP hat mir deutlich gemacht, dass ich meine Zeit lieber in andere Teil der Infrastruktur stecken möchte, anstelle ein PBX zu implementieren. Die Gigaset Go 100 soll nun den von o2 mitgelieferten VoIP Anschluss bereitstellen. Leider funktioniert das noch nicht.

Viel Wissenswertes habe ich hier in diesem Thread gelesen: https://www.bsdforen.de/threads/tel...penbsd-internet-deutschlandlan-telekom.34427/

Der Reihe nach:

Der Thread oben beginnt mit dem Hinweis auf sngrep, ein prima Tool, welches die verschiedenen Requests, die über SIP/VoIP laufen, grafisch aufzeigt. In dem Attachment sngrep.txt sieht man den Output des Tools. Der Error Response Code 423 deutet auf ein zu kurzes Intervall für den SIP Request hin. Dieser verschwand, nachdem ich den Wert auf 3600 wie im obigen Thread genannt erhöht habe. 401 - Unauthorized und 403 - Forbidden deuten auf einen Fehler hinsichtlich Zugangsdaten, Passwort bzw. Typo meinerseits oder Angabe in falschem Inputfeld in der GUI hin. Der Frage nach Vertauschen der Inputs gehe ich durch Lesen im o2 Forum nach. Es scheint einige zu geben, welche die Unterschiedlichkeit von o2 sowie Gigaset Naming verwirrt.

Ein guter Hinweis war auch der sich anzuschauen, ob die Firewall Rules in pf.conf etwas blockieren. Das scheint der Fall zu sein.

Code:
router# tcpdump -nettti pflog0

Sep 20 02:03:07.579557 rule 35/(match) pass in on em1: 10.10.10.8.32978 > 62.109.121.1.53: 23107+[|domain]
Sep 20 02:03:07.601903 rule 35/(match) pass in on em1: 10.10.10.8.60594 > 81.173.115.217.80: S 5224129:5224129(0) win 1608 <mss 536> (DF)
Sep 20 02:03:08.579069 rule 35/(match) pass in on em1: 10.10.10.8.123 > 10.10.10.1.123: v4 client strat 0 poll 0 prec 0
Sep 20 02:03:08.607190 rule 35/(match) pass in on em1: 10.10.10.8.60597 > 87.106.115.205.80: S 16217670:16217670(0) win 1608 <mss 536> (DF)
Sep 20 02:03:08.715257 rule 35/(match) pass in on em1: 10.10.10.8.60598 > 87.106.115.205.80: S 12766555:12766555(0) win 1608 <mss 536> (DF)
Sep 20 02:03:08.826097 rule 35/(match) pass in on em1: 10.10.10.8.60599 > 87.106.115.205.80: S 16188738:16188738(0) win 1608 <mss 536> (DF)
Sep 20 02:03:08.945858 rule 35/(match) pass in on em1: 10.10.10.8.60600 > 87.106.115.205.80: S 7286526:7286526(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.047425 rule 35/(match) pass in on em1: 10.10.10.8.60601 > 87.106.115.205.80: S 8569362:8569362(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.155503 rule 35/(match) pass in on em1: 10.10.10.8.60602 > 87.106.115.205.80: S 4075638:4075638(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.263347 rule 35/(match) pass in on em1: 10.10.10.8.60603 > 87.106.115.205.80: S 14864220:14864220(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.391401 rule 35/(match) pass in on em1: 10.10.10.8.60604 > 148.251.243.132.80: S 1408395:1408395(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.514634 rule 35/(match) pass in on em1: 10.10.10.8.60605 > 148.251.243.132.80: S 1780684:1780684(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.639405 rule 35/(match) pass in on em1: 10.10.10.8.60606 > 87.106.115.205.80: S 5722772:5722772(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.752640 rule 35/(match) pass in on em1: 10.10.10.8.60607 > 87.106.115.205.80: S 12948785:12948785(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.865629 rule 35/(match) pass in on em1: 10.10.10.8.60608 > 87.106.115.205.80: S 13159669:13159669(0) win 1608 <mss 536> (DF)
Sep 20 02:03:09.972998 rule 35/(match) pass in on em1: 10.10.10.8.60609 > 87.106.115.205.80: S 14394517:14394517(0) win 1608 <mss 536> (DF)
Sep 20 02:03:10.071106 rule 35/(match) pass in on em1: 10.10.10.8.60610 > 87.106.115.205.80: S 314701:314701(0) win 1608 <mss 536> (DF)
Sep 20 02:03:10.178173 rule 35/(match) pass in on em1: 10.10.10.8.60611 > 87.106.115.205.80: S 10214196:10214196(0) win 1608 <mss 536> (DF)
Sep 20 02:03:10.291728 rule 35/(match) pass in on em1: 10.10.10.8.60612 > 87.106.115.205.80: S 12923165:12923165(0) win 1608 <mss 536> (DF)
Sep 20 02:03:10.393157 rule 35/(match) pass in on em1: 10.10.10.8.60613 > 87.106.115.205.80: S 15009783:15009783(0) win 1608 <mss 536> (DF)
Sep 20 02:03:11.612687 rule 35/(match) pass in on em1: 10.10.10.8.32978 > 62.109.121.2.53: 20422+[|domain]
Sep 20 02:03:14.661953 rule 35/(match) pass in on em1: 10.10.10.8.5060 > 62.52.19.67.5060: udp 4 [tos 0x88]
Sep 20 02:03:17.397541 rule 35/(match) pass in on em1: 10.10.10.8.60614 > 81.173.115.217.80: S 1499446:1499446(0) win 1608 <mss 536> (DF)
Sep 20 02:03:20.428916 rule 35/(match) pass in on em1: 10.10.10.8.60615 > 81.173.115.217.80: S 101103:101103(0) win 1608 <mss 536> (DF)
Sep 20 02:03:20.910224 rule 35/(match) pass in on em1: 10.10.10.8.123 > 3.64.117.201.123: v4 client strat 0 poll 0 prec 0
Sep 20 02:03:22.291668 rule 37/(match) pass in on pppoe0: 170.106.115.253.40812 > 93.135.15.88.7004: S 611496260:611496260(0) win 65535 <mss 1424,nop,wscale 8,nop,nop,sackOK> (DF)
Sep 20 02:03:30.259088 rule 37/(match) pass in on pppoe0: 212.70.149.34.46552 > 93.135.15.88.65016: S 3710120168:3710120168(0) win 1024

Ich bin mir nicht sicher, inwieweit rule 37 auf interface pppoe0 hier eine Rolle spielt. Rule 35 wird eine Rolle spielen, da unter der IP 10.10.10.8 die Gigaset Go in der dhcpd.conf hardgecoded wurde.


Code:
router# pfctl -vvnf /etc/pf.conf
Loaded 714 passive OS fingerprints
if_wan = "pppoe0"
ip_wan = "169.254.2.2"
if_lo = "lo0"
if_lan = "em1"
if_wifi = "bwfm0"
if_dmz = "em2"
if_internal = "{ em1 bwfm0 }"

dns_nameserver = "1.1.1.1"
ssh_ports = "22"

voip_ports = "{ 5060 5004:5020 }"
voip_base = "10.10.10.8"

table <martians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 224.0.0.0/3 192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 203.0.113.0/24 :: ::/96 ::1 ::ffff:0.0.0.0/96 100::/64 2001:10::/28 2001:2::/48 2001:db8::/32 3ffe::/16 fec0::/10 fc00::/7 }

table <bruteforce> persist

set block-policy drop
set loginterface pppoe0
set skip on { lo0 }

@0 match in all scrub (no-df random-id max-mss 1440)
@1 block drop in from no-route to any
@2 block drop in quick on pppoe0 from <martians:0> to any
@3 block drop out quick on pppoe0 from any to <martians:0>
@4 block drop in quick from urpf-failed to any
@5 block drop in log quick proto tcp from <bruteforce:0> to any port = 22
@6 block drop in log quick on pppoe0 proto tcp from any to any port = 22
@7 block drop log all
@8 match out on pppoe0 inet from ! (pppoe0:network:*) to any nat-to (pppoe0:*) round-robin
@9 pass out quick on pppoe0 all flags S/SA
@10 pass inet proto udp from any to 10.10.10.8 port = 5060
@11 pass inet proto udp from any to 10.10.10.8 port 5004:5020
@12 pass proto udp from any to any port = 22
@13 pass proto tcp from any to any port = 22 flags S/SA
@14 pass out log proto tcp from any to any port = 22 flags S/SA
@15 pass out log proto tcp from any to any port = 53 flags S/SA
@16 pass out log proto tcp from any to any port = 80 flags S/SA
@17 pass out log proto tcp from any to any port = 123 flags S/SA
@18 pass out log proto tcp from any to any port = 443 flags S/SA
@19 pass out log proto tcp from any to any port = 853 flags S/SA
@20 pass out log proto tcp from any to any port = 993 flags S/SA
@21 pass out log proto tcp from any to any port 5222:5223 flags S/SA
@22 pass out log proto tcp from any to any port = 5228 flags S/SA
@23 pass out log proto tcp from any to any port = 3389 flags S/SA
@24 pass out log quick inet from 10.10.10.0/24 to any flags S/SA
@25 pass out log quick inet from 192.168.0.0/24 to any flags S/SA
@26 pass out log quick proto tcp from any to any port = 53 flags S/SA
@27 pass out log quick proto tcp from any to any port = 853 flags S/SA
@28 pass out log quick proto udp from any to any port = 53
@29 pass out log quick proto udp from any to any port = 853
@30 pass out quick inet6 from (self:*) to any flags S/SA
@31 pass out quick inet6 from (bwfm0:network:*) to any flags S/SA
@32 pass out quick inet6 from (em0:network:*) to any flags S/SA
@33 pass out quick inet6 from (em1:network:*) to any flags S/SA
@34 pass out quick inet6 from (em2:network:*) to any flags S/SA
@35 pass in log quick on em1 inet all flags S/SA
@36 pass in log quick on bwfm0 inet all flags S/SA
@37 pass in log quick on pppoe0 all flags S/SA
@38 pass in log quick on pppoe0 proto tcp from any to any port = 22 flags S/SA modulate state (source-track rule, max-src-conn-rate 3/60, overload <bruteforce> flush global, src.track 60)
@39 pass in log on pppoe0 inet6 proto tcp from any to fe80::20d:b9ff:fe44:ec5c port = 22 flags S/SA
@40 pass in log on pppoe0 inet6 proto tcp from any to fe80::20d:b9ff:fe44:ec5c port = 53 flags S/SA
@41 pass in log on pppoe0 inet6 proto tcp from any to fe80::20d:b9ff:fe44:ec5c port = 80 flags S/SA
@42 pass in log on pppoe0 inet6 proto tcp from any to fe80::20d:b9ff:fe44:ec5c port = 443 flags S/SA
@43 pass in log on pppoe0 inet6 proto tcp from any to fe80::20d:b9ff:fe44:ec5c port = 2015 flags S/SA
@44 pass in log on pppoe0 inet6 proto tcp from any to fe80::20d:b9ff:fe44:ec5c port = 8000 flags S/SA
@45 pass in log on pppoe0 inet6 proto tcp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 22 flags S/SA
@46 pass in log on pppoe0 inet6 proto tcp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 53 flags S/SA
@47 pass in log on pppoe0 inet6 proto tcp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 80 flags S/SA
@48 pass in log on pppoe0 inet6 proto tcp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 443 flags S/SA
@49 pass in log on pppoe0 inet6 proto tcp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 2015 flags S/SA
@50 pass in log on pppoe0 inet6 proto tcp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 8000 flags S/SA
@51 pass in log on pppoe0 inet6 proto udp from any to fe80::20d:b9ff:fe44:ec5c port = 22
@52 pass in log on pppoe0 inet6 proto udp from any to fe80::20d:b9ff:fe44:ec5c port = 53
@53 pass in log on pppoe0 inet6 proto udp from any to fe80::20d:b9ff:fe44:ec5c port = 80
@54 pass in log on pppoe0 inet6 proto udp from any to fe80::20d:b9ff:fe44:ec5c port = 443
@55 pass in log on pppoe0 inet6 proto udp from any to fe80::20d:b9ff:fe44:ec5c port = 2015
@56 pass in log on pppoe0 inet6 proto udp from any to fe80::20d:b9ff:fe44:ec5c port = 8000
@57 pass in log on pppoe0 inet6 proto udp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 22
@58 pass in log on pppoe0 inet6 proto udp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 53
@59 pass in log on pppoe0 inet6 proto udp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 80
@60 pass in log on pppoe0 inet6 proto udp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 443
@61 pass in log on pppoe0 inet6 proto udp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 2015
@62 pass in log on pppoe0 inet6 proto udp from any to 2a01:c22:c200:3ba7:20d:b9ff:fe44:ec5c port = 8000
@63 pass in log on pppoe0 inet proto tcp from any to 93.135.15.88 port = 22 flags S/SA
@64 pass in log on pppoe0 inet proto tcp from any to 93.135.15.88 port = 53 flags S/SA
@65 pass in log on pppoe0 inet proto tcp from any to 93.135.15.88 port = 80 flags S/SA
@66 pass in log on pppoe0 inet proto tcp from any to 93.135.15.88 port = 443 flags S/SA
@67 pass in log on pppoe0 inet proto tcp from any to 93.135.15.88 port = 2015 flags S/SA
@68 pass in log on pppoe0 inet proto tcp from any to 93.135.15.88 port = 8000 flags S/SA
@69 pass in log on pppoe0 inet proto udp from any to 93.135.15.88 port = 22
@70 pass in log on pppoe0 inet proto udp from any to 93.135.15.88 port = 53
@71 pass in log on pppoe0 inet proto udp from any to 93.135.15.88 port = 80
@72 pass in log on pppoe0 inet proto udp from any to 93.135.15.88 port = 443
@73 pass in log on pppoe0 inet proto udp from any to 93.135.15.88 port = 2015
@74 pass in log on pppoe0 inet proto udp from any to 93.135.15.88 port = 8000
@75 pass in log quick on pppoe0 inet proto tcp from any to (pppoe0:*) port = 53 flags S/SA
@76 pass in log quick on pppoe0 inet proto udp from any to (pppoe0:*) port = 53
@77 pass in on pppoe0 inet proto udp from any to 93.135.15.88 port = 5060 rdr-to 10.10.10.8
@78 pass in on pppoe0 inet proto udp from any to 93.135.15.88 port 5004:5020 rdr-to 10.10.10.8
@79 pass in log on pppoe0 inet6 proto ipv6-icmp all icmp6-type echoreq
@80 pass in log on pppoe0 inet6 proto ipv6-icmp all icmp6-type routeradv
@81 pass in log on pppoe0 inet6 proto ipv6-icmp all icmp6-type neighbrsol
@82 pass in log on pppoe0 inet6 proto ipv6-icmp all icmp6-type neighbradv
@83 pass in log on pppoe0 inet proto icmp all icmp-type echoreq
@84 pass in log quick inet from 10.10.10.0/24 to any flags S/SA
@85 pass in log quick inet from 192.168.0.0/24 to any flags S/SA


Um die PF Rules verstehen zu koennen, hier der Aufbau meines Netzwerks:

<-----o2-VDSL<---->Speedport Smart 2 Modem-Modus<----->em0 APU2C4 OpenBSD em1<----> Switch <----> 10.10.10.8 Gigaset Box

Hier noch die Gesamtheit meiner pf.conf

Code:
router# cat /etc/pf.conf

### Interfaces
if_wan      = "pppoe0"
#ip_wan      = "169.254.2.2" # em0 static-ip
if_lo       = "lo0"
if_lan      = "em1"
if_wifi     = "bwfm0"
if_dmz      = "em2"
if_internal = "{" $if_lan $if_wifi "}"

### Ports
ssh_ports       = "22"
voip_ports      = "{ 5060 5004:5020 }"
voip_base       = "10.10.10.8"

### Tables
table <martians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16 \
                   172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 224.0.0.0/3 \
                   192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 \
                   203.0.113.0/24 \
                   ::/128 ::/96 ::1/128 ::ffff:0:0/96 100::/64 2001:10::/28 \
                   2001:2::/48 2001:db8::/32 3ffe::/16 fec0::/10 fc00::/7 }

table <bruteforce> persist

### Security Rules
set block-policy drop
set loginterface $if_wan
set skip on $if_lo

match in all scrub (no-df random-id max-mss 1440)
 
block in from no-route
block in quick from urpf-failed

block drop in quick on $if_wan from <martians> to any
block drop out quick on $if_wan from any to <martians>

block in log quick proto tcp from <bruteforce> to any port $ssh_ports
block in log quick on $if_wan proto tcp to port $ssh_ports

##### Outgoing - Egress Rules

### $if_wan - pppoe0
block log all
match out on $if_wan inet from !($if_wan:network) to any nat-to ($if_wan)
pass out quick on $if_wan
pass proto tcp to any port $ssh_ports keep state
pass proto udp to any port $ssh_ports keep state
#match proto udp to port $voip_ports
pass proto udp to $voip_base port $voip_ports

# TCP
pass out log proto tcp to port { 22 53 80 123 443 853 993 5222:5223 5228 3389 }

# UDP
pass out log quick proto { tcp udp } to any port { 53 853 }

# ICMP

# [$if_lan <-> $if_wifi]
pass out quick log from { $if_lan:network $if_wifi:network } to any
pass out quick log from $if_lan:network to $if_wifi:network


### Interfaces
pass out quick inet6 from { (self) (bwfm0:network) }
pass out quick inet6 from { (self) (em0:network) }
pass out quick inet6 from { (self) (em1:network) }
pass out quick inet6 from { (self) (em2:network) }

### $if_lan - em1 / $if_wifi - bwfm0 = $if_internal
#pass proto tcp from $if_internal to port $tcp_services
#pass quick log proto { tcp udp } to port $udp_services

### $if_dmz - em2


##### Incoming - Outbound Rules
pass in quick log on { $if_lan $if_wifi } inet
pass in quick log on $if_wan
#pass in quick log on $if_wan to any port $monitor_ports
pass in quick log on $if_wan proto tcp to port { 22 80 443 2015 8000 }

### $if_wan - pppoe0
pass in quick log on $if_wan proto tcp to any port $ssh_ports modulate state \
    (source-track rule, max-src-conn-rate 3/60, overload <bruteforce> flush global)

# TCP
pass in log on $if_wan proto { tcp udp } from any to $if_wan port { 22 53 80 443 2015 8000 }
pass in quick log on $if_wan inet proto { tcp udp } from any to ($if_wan) port 53

# UDP
#match in on $if_wan proto udp to $if_wan port $voip_ports rdr-to $voip_base
pass in on $if_wan proto udp from any to $if_wan port $voip_ports rdr-to $voip_base

# ICMP
pass in log on $if_wan inet proto icmp all icmp-type { echoreq }
pass in log on $if_wan inet6 proto icmp6 all icmp6-type { echoreq routeradv neighbrsol neighbradv }

# [$if_lan <-> $if_wifi]
pass in quick log from { $if_lan:network $if_wifi:network } to any
pass in quick log from $if_lan:network to $if_wifi:network


Hilfe wird dankend angenommen. Ich bin etwas unschluessig, an welchen Stellschrauben ich weiter drehen soll. Und meine Mutter sitzt mir im Nacken, weil sie ihr Haustelefon wieder haben will.


Cheers


#Edit: Telefonnummer anonymisiert
 

Anhänge

  • sngrep_anon.txt
    1,9 KB · Aufrufe: 55
Zuletzt bearbeitet von einem Moderator:

jmt

Well-Known Member
Ich habe leider meine alte pf.conf nicht mehr, aber bei mir kam der Durchbruch Als ich feststellte, dass man für SiP die gleichen Ports verwenden muss, die der Client verwendet. Wenn ich mich richtig erinnere, dann steht die Portnummer nämlich auch im Netzpaket.
 

mr44er

moderater Moderator
Teammitglied
401 - Unauthorized und 403 - Forbidden deuten auf einen Fehler hinsichtlich Zugangsdaten, Passwort bzw. Typo meinerseits oder Angabe in falschem Inputfeld in der GUI hin.
Oder o2 weist alles an voip ab, wenn die o2-box nicht die Einwahl macht. Gehen denn die Zugangsdaten grundsätzlich?
Bei sipgate.de kannst du einen kostenlosen Probemonat zum Vergleich nehmen, das ist komplett geräteunabhängig und damit könntest du schauen, ob die logs was anderes anzeigen. Auch: du brauchst keine offenen ports von außen, sondern nur nach außen. Vermutlich ist die 93.135.15.88 auch nicht statisch, die ganzen Regeln 5060, 5004, 5020 können somit als Stolperfalle raus.

Der Frage nach Vertauschen der Inputs gehe ich durch Lesen im o2 Forum nach. Es scheint einige zu geben, welche die Unterschiedlichkeit von o2 sowie Gigaset Naming verwirrt.
Voip ohne die mitgelieferte Providerbox verhält sich nicht selten merkwürdig. Eine gute Anlaufstelle zur Recherche wäre auch https://www.ip-phone-forum.de/
Die Spezis dort kennen die einzelnen Kniffe zu den Providern am besten. Das fängt schon an mit welchem DNS-Server man den registrar sip.alice-voip.de auflösen kann. Ich frage direkt die root-server ab und komme z.B. nicht auf 62.52.19.67 raus.

Tipp zur privacy: ich würde die Rufnummer nicht öffentlich posten, lieber mit 49123456789 anonymisieren. Sonst ruft in Zukunft ein bot oder sonstiger Schelm an und will Waschmaschinen verkaufen oder so. Wenn du den post selbst nicht mehr editieren kannst, sag bei einem Teammod Bescheid, der kickt das dann fix raus.
Ansonsten herzlich willkommen bei uns. :)
 

dettus

Bicycle User

Vielleicht magst du mal mit Asterisk rumexperimentieren. Das habe ich damals gemacht, weil mir einuge Einstellungen nicht klar waren.
und es war einfacher due am PC zu testen als ueber die fummelige Weboberflaeche von den Telefonen.


Auf jeden Fall habe ich in meiner pf.conf folgenden Eintrag!
pass in quick on $ext_if proto { tcp, udp} from $ext_if to any port 5060 keep state
 

dennisN86

Member
Oder o2 weist alles an voip ab, wenn die o2-box nicht die Einwahl macht. Gehen denn die Zugangsdaten grundsätzlich?
Bei sipgate.de kannst du einen kostenlosen Probemonat zum Vergleich nehmen, das ist komplett geräteunabhängig und damit könntest du schauen, ob die logs was anderes anzeigen. Auch: du brauchst keine offenen ports von außen, sondern nur nach außen. Vermutlich ist die 93.135.15.88 auch nicht statisch, die ganzen Regeln 5060, 5004, 5020 können somit als Stolperfalle raus.

Ich bin mir nicht sicher. Zum einen gibt es die Möglichkeit "static-port" zu definieren, welches dann die URL des em0 interfaces des APU Boards Richtung Speedport Modem ist? Zum anderen kann mit "keep-state" die Pakete statisch an ein interface binden. Bislang habe ich mit dieser Art Konfiguration noch keine Erfahrungen gemacht.

Voip ohne die mitgelieferte Providerbox verhält sich nicht selten merkwürdig. Eine gute Anlaufstelle zur Recherche wäre auch https://www.ip-phone-forum.de/
Die Spezis dort kennen die einzelnen Kniffe zu den Providern am besten. Das fängt schon an mit welchem DNS-Server man den registrar sip.alice-voip.de auflösen kann. Ich frage direkt die root-server ab und komme z.B. nicht auf 62.52.19.67 raus.

Das muss sich doch irgendwie machen lassen. Ich werde dort mal die Frage nach der richtigen Konfiguration stellen.

Tipp zur privacy: ich würde die Rufnummer nicht öffentlich posten, lieber mit 49123456789 anonymisieren. Sonst ruft in Zukunft ein bot oder sonstiger Schelm an und will Waschmaschinen verkaufen oder so. Wenn du den post selbst nicht mehr editieren kannst, sag bei einem Teammod Bescheid, der kickt das dann fix raus.
Ansonsten herzlich willkommen bei uns. :)

Das ist mir entgangen @mod bitte einmal anonymisieren. Danke
 

dennisN86

Member

Vielleicht magst du mal mit Asterisk rumexperimentieren. Das habe ich damals gemacht, weil mir einuge Einstellungen nicht klar waren.
und es war einfacher due am PC zu testen als ueber die fummelige Weboberflaeche von den Telefonen.


Auf jeden Fall habe ich in meiner pf.conf folgenden Eintrag!
pass in quick on $ext_if proto { tcp, udp} from $ext_if to any port 5060 keep state

Eine Adaption an deine PF Rule hat leider keinen Unterschied gemacht. Ein Herumspielen mit Asterisk will ich mir gerade aus Zeitgründen verkneifen. Ich habe das Thema mal im IP Forum breitgetreten. Vllt hat dort jemand eine Idee, wie mit der Gigaset Box umzugehen ist.

Link: https://www.ip-phone-forum.de/threads/o2-myhome-m-gigaset-go-box-100.313830/

Weitere Lösungen hinsichtlich PF Konfiguration sind herzlich willkommen.
 

mr44er

moderater Moderator
Teammitglied
Der dort gezeigte Link sieht schon mal gut aus, das würde ich 1:1 übernehmen und dann erneut die logs prüfen.
 

dennisN86

Member
Der dort gezeigte Link sieht schon mal gut aus, das würde ich 1:1 übernehmen und dann erneut die logs prüfen.

Genau das habe ich gemacht. Genau das hat auch funktioniert in Zusammenarbeit mit Dettus keep-state rule.

Code:
pass in quick log on $if_wan proto { tcp udp } from $if_wan to any port $voip_ports keep state

Danke hier für den Support!
 

GrandDixence

Well-Known Member
Vielleicht magst du mal mit Asterisk rumexperimentieren.
Für sehr einfache Anwendungen mit rein interner Sprachtelefonie mit VoIP (SIP + RTP) eignet sich Kamailio besser als Asterisk. Seit einigen Monaten setze ich erfolgreich Kamailio auf einem Raspberry Pi 4 und Ubuntu 20.04 LTS mit VoIP-fähigen Gigaset-Schnurlostelefonen für die kostenlose, interne Sprachtelefonie ein.

Ausführliche Anleitung zu Kamailio findet man unter:

Für die Fehlersuche in der VoIP-Telefonie genügt Wireshark.

Wireshark besitzt mächtige Funktionen für die Auswertung der Signalisierung per SIP und die einfachen Audiocodecs können einfach "abgehört" werden.

Ich verwende Wireshark aus Sicherheitsgründen nur in Kombination mit dumpcap:

Beim Einsatz von VoIP-fähigen Gigaset-Schnurlostelefonen ist zu beachten, dass die zu verwendenden SIP-Ports (Signalisierung) und RTP-Ports (Sprachdaten) im Webinterface des Gigaset-Schnurlostelefons konfiguriert werden können. Die wichtigsten Konfigurationsschritte im Webinterface des VoIP-fähigen Gigaset-Schnurlostelefons sind im zweiten Link aufgelistet. Diese VoIP-Telefon-Konfiguration muss natürlich mit der Firewallkonfiguration übereinstimmen. Und ja, die NAT-Traversal muss natürlich korrekt konfiguriert sein, ansonsten funktionieren plötzlich ankommende Sprachanrufe nicht mehr!

Ich bin der (ungetesteten) Meinung, dass für externe VoIP-Telefonie über IPv4 das VoIP-Telefon so konfiguriert werden muss, dass der Outbound-Proxy verwendet wird => GigaSet-Webinterface-Einstellung: Outbound-Proxymodus

Meine Kritikpunkte am Gigaset E630A GO (mit Gigaset GO-Box 100) findet man auf der Webseite:
ganz unten.

Im sngrep_anon-txt ist ersichtlich, dass die Registrierung beim "SIP-Registrar" nicht erfolgreich war.

Die fehlende erfolgreiche Registrierung beim SIP-Registrar wird im Webinterface des VoIP-Telefons ausgewiesen. Und wird auch auf dem Display des VoIP-Telefons gemeldet => GigaSet-Webinterface-Einstellung: VoIP-Status am Mobilteil anzeigen:=Ja
 
Zuletzt bearbeitet:
Oben