@@ -102,3 +102,46 @@ Use local script
102102 .. code-block :: sh
103103
104104 /opt/zammad/contrib/packager.io/test_download_dependencies_connection.sh
105+
106+ Web Push Notifications
107+ ----------------------
108+
109+ Zammad can notify agents about their tickets on mobile devices. These
110+ notifications are delivered as web push messages of the device's browser. On
111+ Android, a supported browser and the installed mobile view can both receive
112+ them. On iPhone and iPad, the mobile view has to be added to the home screen
113+ first. How to set them up on a device is described in the :user-docs: `mobile
114+ view documentation </extras/mobile-view.html> `.
115+
116+ The messages are sent by the background worker of Zammad over HTTPS (port 443)
117+ to the push service of the browser vendor. A firewall that restricts outgoing
118+ traffic has to allow the following addresses, including their subdomains:
119+
120+ .. csv-table ::
121+ :header: "Address", "Comment"
122+ :widths: 40, 70
123+
124+ "fcm.googleapis.com", "Web push for Chrome and other Chromium-based browsers"
125+ "jmt17.google.com", "Alternative address of the Google push service"
126+ "notify.windows.com", "Web push for Microsoft Edge"
127+ "push.services.mozilla.com", "Web push for Mozilla Firefox"
128+ "web.push.apple.com", "Web push for Safari on iPhone, iPad and Mac"
129+
130+ The proxy configuration described above applies to these connections as well,
131+ including the no-proxy list of the GUI configuration and the ``NO_PROXY ``
132+ environment variable.
133+
134+ Zammad only accepts device subscriptions of the push services listed above. A
135+ browser that uses another push service cannot enable push notifications.
136+
137+ There is nothing to configure in Zammad. The key pair used to sign the
138+ messages (VAPID) is generated once per installation and is not meant to be
139+ changed: all existing device subscriptions become invalid if it changes.
140+
141+ The push service of the browser vendor delivers the messages, not Zammad.
142+ Depending on the device, delivery can take a while, for example when battery
143+ optimization delays it on Android devices. A message that cannot be delivered
144+ right away is kept by the push service for up to one day. On iPhone and iPad,
145+ several messages about the same ticket stay as separate notifications, while
146+ other platforms replace the previous one.
147+
0 commit comments