Essentiële configuraties voor optimale werking
Om de X-Guard Alarm-app optimaal te laten functioneren, is het noodzakelijk om specifieke firewallinstellingen te configureren. Dit zorgt ervoor dat alle benodigde verbindingen correct worden opgezet en dat meldingen en communicatie zonder onderbrekingen verlopen.
Verbindingen vanuit de app
De X-Guard Alarm-app verbindt met een aantal APIs om de app te laten werken. De gemakkelijkste manier om er zeker van te zijn dat onze app werkt (en in de toekomst blijft werken) is het whitelisten van x-guard.nl en *.x-guard.nl (alle subdomeinen).
De volgende (sub)domeinen zijn op dit moment in gebruik:
- x-guard.nl (dynamische IP range Cloudflare Proxy)
- api.x-guard.nl (34.160.81.128 / 2600:1901:0:ceb1::)
- ws.api.x-guard.nl (34.120.175.214 / 2600:1901:0:7849::)
- auth.api.x-guard.nl (34.102.214.191 / 2600:1901:0:592e::)
- observations.api.x-guard.nl (34.117.215.28 / 2600:1901:0:e9be::)
- report.api.x-guard.nl (34.149.238.144 / 2600:1901:0:17e9::)
- device-registration.edge.x-guard.nl (dynamische IP range Heroku)
- tasks.x-guard.nl (dynamische IP range Heroku)
Alle verbindingen vanuit de app, op audioverbindingen na, zijn TCP-gebaseerd.
Websockets
De volgende twee hostnames zijn in staat te upgraden naar het Websocket-protocol:
- device-registration.edge.x-guard.nl (dynamische IP range Heroku)
- ws.api.x-guard.nl (34.120.175.214 / 2600:1901:0:7849::)
Met deze hostnames wordt mogelijk ook via het normale HTTP-verkeer gecommuniceerd.
HTTP+TLS
Alle verbinden zijn versleuteld via TLS. Dit wordt gewaarborgd door Apple en Google, zij staan geen onbeveiligde verbindingen toe in de Google Play Store en Apple App Store.
Op moment van schrijven garandeert X-Guard B.V. niet dat deze IP’s ongewijzigd blijven. Tevens kan deze lijst worden uitgebreid.
Pushnotificaties
We verwijzen voor het ontvangen van Pushnotificaties naar de officiële documentatie:
FCM / Android / Google: https://firebase.google.com/docs/cloud-messaging/concept-options#messaging-ports-and-your-firewall
Apple / iOS: https://support.apple.com/en-us/HT203609
Dashboards
Op dit moment zijn de volgende dashboards beschikbaar:
- manage.x-guard.nl (34.102.218.140 / 2600:1901:0:4b37::)
- alarmmanager.x-guard.nl / login.x-guard.nl (34.117.96.116 / 2600:1901:0:d9d::)
- 2023.alarmmanager.x-guard.nl (34.149.69.190 / 2600:1901:0:d5c3::)
Bellen via de app (audio bij een alarm)
X-Guard maakt gebruik van Twilio Programmable Voice voor het uitbellen naar meldkamers. De applicatie, kiest op basis van een intelligente schakeling automatisch de beste en snelste servers. Het is aannemelijk, maar niet zeker, dat in Nederland de telefoon met Ireland of Frankfurt verbindt. X-Guard werkt aan een oplossing om het verbinden met een vaste regio vast te zetten.
Component | Address | Server-side port used | Protocol |
---|---|---|---|
Signaling – GLL (Global Low Latency) |
chunderm.gll.twilio.com (Dynamic IPs) | 443 | TCP |
Signaling – Regional | chunderm.{region}.twilio.com (Dynamic IPs) {Regions: au1, br1, de1, ie1, jp1, sg1, us1} |
443 | TCP |
RTP | Static IP range (see regions below) | 10000 – 20000 | UDP |
Insights | eventgw.twilio.com | 443 | HTTPS |
Registration | ers.twilio.com | 443 | HTTPS |
Apple Audio Real-Time Transport Protocol (RTP), Real-Time Control Protocol (RTCP) Messages (Audio RTP, RTCP; Video RTP, RTCP) |
Apple heeft niet gespecificeerd om welke IP-adressen het gaat. Het gaat ten minste om de volgende IP-adressen:
|
16384–16403 | UDP |
The initial GLL and Regional chunderm.x.twilio.com signaling address are only used in the initial connection; these connections will be redirected to a dynamic IP using port 443.
Nieuw Twilio Adres:
Secure Media (ICE/STUN/SRTP) Edge Locations | Protocol | Source
IP |
Source Port † | Destination
IP Ranges |
Destination Port Range |
sydney (au1)
|
UDP | ANY | ANY | 168.86.128.0/18 |
10,000 – 60,000 |
Legacy vanaf 5 december 2023:
Region ID | Location | Media Server IP Address Range | CIDR notation |
---|---|---|---|
au1 | Australia | 54.252.254.64 – 54.252.254.127 3.104.90.0 – 3.104.90.255 |
54.252.254.64/26 3.104.90.0/24 |
br1 | Brazil | 177.71.206.192 – 177.71.206.255 18.228.249.0 – 18.228.249.255 |
177.71.206.192/26 18.228.249.0/24 |
ie1 | Ireland | 54.171.127.192 – 54.171.127.255 52.215.127.0 – 52.215.127.255 |
54.171.127.192/26 52.215.127.0/24 |
de1 | Frankfurt Bij voorkeur verbindt de app met Frankfurt |
35.156.191.128 – 35.156.191.255 3.122.181.0 – 3.122.181.255 |
35.156.191.128/25 3.122.181.0/24 |
jp1 | Japan | 54.65.63.192– 54.65.63.255 3.112.80.0 – 3.112.80.255 |
54.65.63.192/26 3.112.80.0/24 |
sg1 | Singapore | 54.169.127.128 – 54.169.127.191 3.1.77.0 – 3.1.77.255 |
54.169.127.128/26 3.1.77.0/24 |
us1 | US East Coast (Virginia) | 54.172.60.0 – 54.172.61.255 34.203.250.0 – 34.203.251.255 |
54.172.60.0/23 34.203.250.0/23 |
Bellen vanuit de app goed testen?
Er zijn drie manieren:
- Installeer de app en maak een alarm
- Ga naar https://networktest.twilio.com/ op je telefoon en voer de tests uit
- Ga naar https://networktest.twilio.com/?usenewvoiceips=true op je telefoon en voer de tests uit
Let op: Stap 2 en 3 lijken op elkaar maar testen een andere IP-range. Voer beide tests uit!
Webhooks
Webhooks komen vanaf februari 2023 binnen vanaf de volgende IP-adressen:
34.77.72.90
34.91.168.231
Momenteel worden Webhooks nog niet verstuurd via IPv6.
Op termijn, wanneer wij besluiten, een nieuwe regio toe te voegen, kunnen hier meer IP-adressen aan worden toegevoegd. Indien u webhooks op basis van IP toe laat dan dient u dit schriftelijk kenbaar te maken aan info@x-guard.nl zodat dit geadministreerd kan worden.