Hello,
I'm new in XMPP. So I've some questions and hope you can give me some tips. 
Currently, I'm studying the possibility of applying XMPP for user discovery in 
ad hoc and infrastructure networks at the same time.
Some background information of my project: There are two environments, the 
infrastructureless serverless ad hoc environment (e.g. conference, train) and 
the internet environment. I want to discover users in the ad hoc and in the 
internet environment. XMPP clients (e.g. installed on a smartphone) inside of 
the adhoc environment communicate directly without the use of any server. So 
XEP-0174 appears to be the right solution for it.
If a user wants to discover other users outside of the current adhoc network, 
his client must connect to his XMPP "home" server. So he needs a connection to 
the public internet. But most of the clients inside of the adhoc environment 
will not have any active wireless connection to the public internet. Thus they 
cannot connect to their XMPP home server. To realize this, I need special 
clients which act as a gate. A gate will have an active connection to the 
internet (e.g. through UMTS, WLAN hotspot). Through the gate the adhoc clients 
can reach their XMPP server. But the gate shouldn't act as a simple NAT. 
Rather, it should act as a kind of proxy between the adhoc clients and the XMPP 
server. I've read BOSH as a suitable solution for this purpose but I don't want 
the overhead caused by HTTP. Are there any other solutions?
Furthermore, the gate should merge the client to server connections to one 
connection (similar to a vpn tunnel). In mobile environments this could help to 
save bandwidth (e.g. through the usage of data compression methods) and support 
handover scenarios (for example the adhoc network "travels" by train and the 
gate internet connection switch from the local railroad station WLAN hotspot to 
UMTS). The gate complement, which resides of the XMPP server, unwraps/splits 
the connections. The XMPP server shouldn't note the difference between direct 
connected clients and indirect connected clients over the gate. Do you know 
about such proxy solutions? The XMPP component model doesn't seem to be the 
right solution for my problem because it uses subdomains. I'd like to partition 
a XMPP domain. Some users are present in the adhoc environment and the other 
ones in the internet environment.
Makes this sense? Any other suggestions for my problem?

Thanks for your time!

Sebastian Schoepke

Reply via email to