Since deploying XMPP federation with gmail.com back in November, we experience intermittent service problems. As far as we know, and according to Google, the problem is experienced only by our domains - credit-suisse.com and credit-suisse.tv. Other domains running the same software and version we use have not experienced the issue.
The problem always manifests itself the following way. Outbound traffic to gmail.com from credit-suisse.com, presence and messages, always flows. Inbound traffic from gmail.com stops working for not apparent reason. Then, after 4 to 48 hours, it all starts working normally. I was able to capture the traffic while it was in the non-working state. According to our vendor Cisco/Jabber, what's happening is that gmail.com is trying to piggyback two streams on a single connection. The Cisco/Jabber server does not support this and cuts off the connection. What's puzzling to me is that Cisco/Jabber does not see this issue with their own federation with gmail.com and neither do any of their customers. Here's what the XMPP looks like when it fails (taken from a snoop session). Any insight would be greatly appreciated. <stream:stream xml ns='jabber:server' xml:lang='en' xmlns:stream='http://et herx.jabber.org/streams' to='gmail.com' from='credit-sui sse.tv' xmlns:db ='jabber:server:dialback' id='1D00006CAF' version='1.0'> <stream:stream id= "03D643FBF55AFC06" xmlns:stream= "http://etherx.jabber.org/streams" xmlns="jabber :server"xmlns:d b="jabber:server:dialback"> <db:result from='credit-suisse.tv' to='gmail.com'> 34fdb3a8ded16ba9c8575a1e35c19aff60883157</db:result> <stream:stream xml ns='jabber:server' xml:lang='en' xmlns:stream='http://etherx.jabber.org/streams' to='google.com' from='credit-suisse.tv'xmlns:db='jabber:server:dialback' id='1E00002B53' version='1.0'> <stream:stream id="583E39808204DFD9" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:server"xmlns:db="jabber:server:dialback"> <db:result from='credit-suisse.tv' to='google.com' >7dc6712ed825d7c447412a07ed0bd4ed1f942b6f</db:result> <stream:stream id= "F4F017CF8BAF662B" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:server"xmlns:d b="jabber:server :dialback"> <stream:stream xml ns='jabber:server' xml:lang='en' xmlns:stream='http://etherx.jabber.org/streams' xmlns:db='jabber:server:dialback' id='1700004B46'> <db:result to="credit-suisse.tv" from="gmail.com"> CAESBxDvl5efoSQaEMjfSycdUn2HhGNsmmvoRPY=</db:result> <db:verify to="credit-suisse.tv" from="gmail.com" id="03D643FBF55AFC06">34fdb3a8ded16ba9c8575a1e35c19aff60883157</db:verif y> <db:verify from='credit-suisse.tv' id='03D643FBF55AFC06' to='gmail .com' type='valid'/> <db:result to="credit-suisse.tv" from="google.com" >CAESBxCBmJefoSQaECIBBvGboXbYhWES3TDOPPU=</db:result> <db:verify to="credit-suisse.tv" from="google.com" id="583E39808204DFD9">7dc6712ed825d7c447412a07ed0bd4ed1f942b6f</db:verif y> <stream:stream xml ns='jabber:server' xml:lang='en' xmlns:stream='http://etherx.jab ber.org/streams' to='gmail.com' from='credit-suisse.tv' xmlns:db='jabber:server:dialback' id='1800000163' version='1.0'> <db:result to="credit-suisse.tv" from="gmail.com" type="valid"/> <presence from='[email protected]/Deskt op21016' to='[email protected]'><priority >2</priority><status>Available</status><c ext='aft aim' node='http://www.credit-suisse.com/iconn ect/caps' ver='2 .1.0.16' xmlns='http://jabber.org/protocol/caps'/></presence> <stream:stream id= "32B49FE0F3FA363A" xmlns:stream= "http://etherx.jabber.org/streams" xmlns="jabber:server" xmlns:db="jabber:server:dialback"> <db:verify from='credit-suisse.tv' id='1700004B46' to='gmail.com'> CAESBxDvl5efoSQaEMjfSycdUn2HhGNsmmvoRPY=</db:verify> <presence from='jo e.mais...@credit -suisse.tv/Deskt op21016' to='[email protected]'> ********** deleted for expedience ******* </presence> <db:result from='credit-suisse.tv' to='google.com' type='error'>CAESBxCBmJefoSQaECIBBvGboXbYhWES3TDOPPU=<error code='401' ype='auth'><not-authorized xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></db:result><db:ver ify from='credit-suisse.tv' id='583E39808204DFD9' to ='google.com' type='valid'/> <db:verify to="credit-suisse.tv" from="gmail.com" type="valid" id= "1700004B46"/> </stream:stream> <stream:stream xml ns='jabber:server' xml:lang='en' xmlns:stream='http://etherx.jabber.org/streams' to='google.com' from='credit-suisse.tv' xmlns:db='jabber:server:dialback' id='1F000006BF' versi on='1.0'> <stream:stream id= "B4FED47157814B10" xmlns:stream= "http://etherx.jabber.org/streams" xmlns="jabber:server" xmlns:db="jabber:server:dialback"> <db:result from='credit-suisse.tv' to='google.com' >9945221a628ec56157cb4651c7d0b91a1f8d83ab</db:result> <stream:stream id= "E3517C4AACE08AE3" xmlns:stream= "http://etherx.jabber.org/streams" xmlns="jabber:server" xmlns:db="jabber:server :dialback"> <stream:stream xml ns='jabber:server' xml:lang='en' xmlns:stream='http://etherx.jabber.org/streams' xmlns:db='jabber:server:dialback' id='1900001D48' > <db:result to="credit-suisse.tv" from="google.com" >CAESBxC/tpifoSQaEKZLpmWC/9Nh0hS2+RRNr0A=</db:result> <db:verify to="credit-suisse.tv" from="google.com" id="B4FED47157814B10">9945221a628ec56157cb4651c7d0b91a1f8d83ab</db:verif y> <db:verify from='credit-suisse.tv' id='B4FED47157814B10' to='google.com' type='valid'/> <db:result to="credit-suisse.tv" from="gmail.com"> CAESBxDAtpifoSQaEOcaUQD2pBw3zG8f5XlI7uw=</db:result> <stream:stream xml ns='jabber:serve r' xml:lang='en' xmlns:stream='http://etherx.jabber.org/streams' to='google.com' from='credit-suisse.tv' xmlns:db='jabber:server:dialback' id='1 A00007756' version='1.0'> <stream:stream id="1CA0EF2E1E047897" xmlns:stream= "http://etherx.jabber.org/streams" xmlns="jabber:server" xmlns:db="jabber:server:dialback"> <db:verify from='credit-suisse.tv' id='1900001D48' to='google.com' >CAESBxC/tpifoSQaEKZLpmWC/9Nh0hS2+RRNr0A=</db:verify> <db:result from='credit-suisse.tv' to='gmail.com' type='error'>CAESBxDAtpifoSQaEOcaUQD2pBw3zG8f5XlI7uw=<error code ='401' type='auth'><not-authorized xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/> </error></db:result> <db:result to="credit-suisse.tv" f rom="google.com" type="valid"/> <p resence from='jo e.mais...@credit -suisse.tv/Deskt op21016' to='jon [email protected]'> <priority>2</pri ority><status>Av ailable</status> <c ext='aft aim' node='http://ww w.credit-suisse. com/iconnect/cap s' ver='2.1.0.16 ' xmlns='http:// jabber.org/proto col/caps'/></presence> <db:verify to="credit-suisse.tv" from="google.com" type="valid" id ="1900001D48"/> </stream:stream> </stream:stream> =============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ===============================================================================
