From 4a88e1d4a772591524c794831aae0f89a2e07b86 Mon Sep 17 00:00:00 2001 From: Geno Date: Tue, 14 Sep 2021 11:17:25 +0200 Subject: [PATCH] docs: first readme message wip #9 --- README.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++ messages/README.md | 3 +++ 2 files changed, 67 insertions(+) create mode 100644 README.md create mode 100644 messages/README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..69410ec --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# UnifiedPush over XMPP + +[UnifiedPush](https://unifiedpush.org/) is an specification how push notifications delivered between application server and application. +This is an implementation of the UnifiedPush specifications to delivere push notification over XMPP. + +In this project has following components: +- **Gateway** (also called an Push Provider or [Server](https://unifiedpush.org/spec/server/)) which could be registered as an XMPP Component on an Server +- **Distributor** for Linux using the [D-Bus Specification](https://unifiedpush.org/spec/dbus/) which implement an very small XMPP-Client to recieve the push notifications + +## XMPP Messages + +### Register + +Request for Register +```xml + + + token-from-distributer-regisration + + +``` + +**Responses** + +on success: +```xml + + + https://an-endpoint-for-application-server.localhost/UP?token=public-token + + +``` + +on failure: +```xml + + + a reason of failure + + +``` + +### Unregister + +TODO + +### Notification +For the push notification it-self the origin `` is used with following Position of Token and Content. + +```xml + + token-from-distributer-regisration + Here is the Notification content + +``` + +The message sender `from` should be validated from distributor, for not recieving invalid or manipulated push Messages. + +## Wordings + +We are using over the complete system three kind of **tokens**: +- **Public Token** which is part of the *Endpoint* and is for using between Gateway and Application-Server +- **External Token** which is used between Gateway and Distributor +- **Internal Token** which is used between Distributor and Application diff --git a/messages/README.md b/messages/README.md new file mode 100644 index 0000000..710b7ad --- /dev/null +++ b/messages/README.md @@ -0,0 +1,3 @@ +# UnifiedPush over XMPP - Messages + +Here are the golang `struct` of XMPP stanzes for encoding and decoding needed by UnifiedPush over XMPP gateway and distributor