I have 3 server at 3 locations. All 3 have the same basic settings. Im.domainname.com I have open the 5269 (TCP) port on the routers (2 Cisco and 1 Watchguard). I can telnet between each other them on port 5269 and have it connect to the Openfire server. I have enter all the domains into each others (White List) allowed Connections. Check the serivce was enabled for port 5269, Secuirty was Set to Optional. I enter the user name into Spark as username@im.domainname.com and username@domainname.com. Nothing comes up.
I assume that you are "eric@im.company1.com" and try to send a message to "john@im.company2.com" using Spark. This should work as expected, otherwise you should see errors in the Openfire log files.