9 Replies Latest reply on Nov 20, 2006 7:13 AM by 9uSt00

    Server to Server HowTo

      I am new to the Wildfire and the XMPP world so please be patient

       

      Our company has two small offices that are connected to the Internet and have firewalls setup. I would like to run a wildfire server in each office and allow users at each office to "see" and communicate with the users in the other office.

       

      I have installed wildfire in each office and both instances are working fine independently. Each instance is connected to the corresponding office''s Active Directory. What do I need to do to achieve my goal stated above? Is there a how-to guide out there?

       

      Thanks,

       

      Erasmus

        • Re: Server to Server HowTo
          Gaston Dombiak

          Hey Erasmus,

           

          Have you tried searching in this forum? This question has been asked many times and one thing we need to do is include documentation for this common question.

           

          Server-2-server communication occurs on port 5269 (by default). So the first thing to check is that there is no firewall closing that port. The second task would be to verify that the server name of each Wildfire server can be resolved by the DNS. XMPP servers will do a DNS SRV look up to figure out the actual IP address and port to use to connect to the remote server. As a consequence of this we can say that remote servers should be accessible from the internet or any remote net that you want to use (e.g. VPN).

           

          Regards,

           

            -- Gato

          • Re: Server to Server HowTo

            When you say server name, do you mean the server as defined in the Server Properties?

             

            I can telnet from each server to the other server''s 5269 port.What do I do next?

             

            Folks from the two offices don''t see each other. And when I try to search for a user that''s in the other office, the search comes up blank.

             

            Thanks,

             

            Erasmus

              • Re: Server to Server HowTo
                LG

                Hi,

                 

                server = xmpp.domain, you did specify it during installation. The server part in the JID: "nick@server/resource".

                 

                LG

                 

                UPD: So if office one uses "office1" as xmpp.domain then you must make sure that Wildfire in office two can resolve "office1" and get''s the external IP address of office one. To do this you may want to edit the "/etc/hosts" file of the server in office two where Wildfire is running.

                  • Re: Server to Server HowTo

                    What is the /resource in your example (nick@server/resource)? To add a user to my roster I am adding, for example, "joes@office2"  (without the double quotes).

                     

                     

                    From a networking perspective I believe that I am all set.

                     

                    Assuming that the xmpp.domain is office1 and office2 repectively, I can:

                    telnet office2 5269   from office1

                    and

                    telnet office1 5269   from office2

                     

                    I both cases the connection opens up. This means the ports are open on both sides, that port forwarding is working on both sides, and that DNS is setup properly.

                     

                    Still I am unable to add users that are on a remote server. I get the following exception in the log file that I believe is related:

                     

                    2006.11.01 18:33:51 [org.jivesoftware.wildfire.server.ServerDialback.createOutgoingSession(ServerDi alback.java:217)

                    ] Error creating outgoing session to remote server: office1(DNS lookup: office1)

                    org.xmlpull.v1.XmlPullParserException: expected start tag name and not / (position: START_DOCUMENT seen </... @1:2)

                         at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1475)

                         at org.jivesoftware.wildfire.net.MXParser.nextImpl(MXParser.java:331)

                         at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)

                         at org.jivesoftware.wildfire.server.ServerDialback.createOutgoingSession(ServerDia lback.java:177)

                         at org.jivesoftware.wildfire.server.OutgoingServerSession.createOutgoingSession(Ou tgoingServerSession.java:350)

                         at org.jivesoftware.wildfire.server.OutgoingServerSession.authenticateDomain(Outgo ingServerSession.java:140)

                         at org.jivesoftware.wildfire.server.OutgoingSessionPromise.createSessionAndSendPac ket(OutgoingSessionPromise.java:130)

                         at org.jivesoftware.wildfire.server.OutgoingSessionPromise.access$300(OutgoingSess ionPromise.java:40)

                         at org.jivesoftware.wildfire.server.OutgoingSessionPromise$1$1.run(OutgoingSession Promise.java:95)

                         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

                         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

                         at java.lang.Thread.run(Unknown Source)

                     

                    What am I doing wrong?

                     

                    Erasmus

                      • Re: Server to Server HowTo
                        Gaston Dombiak

                        Hey Erasmus,

                         

                        Seems like you are making good progress. Are both servers running Wildfire? Try enabling the debug log to trace the connection setup process. Post here what you found in the debug.log file (of each server).

                         

                        Thanks,

                         

                          -- Gato

                          • Re: Server to Server HowTo

                            Thanks for the help everyone. I got the connectivity working by setting the Server Connection Security to optional on both ends.

                             

                            I can add users one by one using their Jabber ID (e.g. jdoe@office1). 

                             

                            Now is there a way to make the groups on each server available on the other server?

                             

                            Thanks,

                             

                            Erasmus