aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/stanza_routing.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/doc/stanza_routing.txt b/doc/stanza_routing.txt
new file mode 100644
index 00000000..1460a6d5
--- /dev/null
+++ b/doc/stanza_routing.txt
@@ -0,0 +1,25 @@
+No 'to' attribute:
+ IQ: Pass to appropriate handler
+ Presence: Broadcast to contacts
+ - if initial presence, also send out presence probes
+ - if probe would be to local user, generate presence stanza for them
+ Message: Route as if it is addressed to the bare JID of the sender
+
+To a local host:
+ IQ: Pass to appropriate handler
+ Presence: -
+ Message: Deliver to admin?
+
+To local contact:
+ Bare JID:
+ IQ: Pass to appropriate handler
+ Presence: Broadcast to all resources
+ Message: Route to 'best' resource
+ Full JID:
+ IQ: Send to resource
+ Presence: Send to resource
+ Message: Send to resource
+
+To remote contact:
+ Initiate s2s connection if necessary
+ Send stanza across