Taranbir Singh - ERS, HCL Tech Taranbir.Singh at hcl.com
Thu Nov 22 14:39:37 UTC 2012

Thanks Kevin for the response.

It works with Swiften, but unfortunately the License cost of Swiften is much higher than Gloox :-(

-----Original Message-----
From: k.i.smith at gmail.com [mailto:k.i.smith at gmail.com] On Behalf Of Kevin Smith
Sent: Thursday, November 22, 2012 8:04 PM
To: Jabber/XMPP software development list; Taranbir Singh - ERS, HCL Tech
Cc: Anurag Srivastava - ERS, HCL Tech
Subject: Re: [jdev] GLOOX: BOSH +TLS+ PROXY

On Thu, Nov 22, 2012 at 1:44 PM, Taranbir Singh - ERS, HCL Tech <Taranbir.Singh at hcl.com> wrote:
> We want to make GLOOX library to make BOSH+TLS+PROXY Connection.
> We are trying to make a connection with the combination BOSH +TLS + PROXY. Unfortunately things are not working, I have attached code and logs. Would request you help.
> Even we are okay to use some other library to make this connection via C++, please suggest.

  Can't help with Gloox, but the equivalent Swiften code ( http://swift.im/swiften ) would be (I haven't checked this is exactly correct by compiling it):

> ConnectionTCPClient* tcp_client = new ConnectionTCPClient( 
> client->logInstance(), proxy_host, proxy_password);
> ConnectionHTTPProxy* http_proxy = new ConnectionHTTPProxy(client, 
> tcp_client, client->logInstance(),bosh_server,bosh_port);
> http_proxy->setProxyAuth(proxy_user,proxy_password);
> ConnectionTLS* tls_connection= new 
> ConnectionTLS(http_proxy,client->logInstance());
> ConnectionBOSH* bosh_connection = new ConnectionBOSH( client, 
> tls_connection, client->logInstance(), bosh_server, xmpp_server);
> client->setConnectionImpl( bosh_connection );

#include <Swiften/Swiften.h>

using namespace Swift;

int main(int, char**) {
SimpleEventLoop eventLoop;
BoostNetworkFactories networkFactories(&eventLoop);
Client* client = new Client("me at server.lit", "mypassword", networkFactories); /* Substituting the JID and password accordingly.
ClientOptions options;
options.boshURL= URL::fromString("http://server.lit/http-bind/"); /* Substituting the correct URL to the BOSH endpoint */ options.boshHTTPConnectProxyURL = URL::fromString("https://wwwproxy.server.lit:8080/"); /* Substituting the host/port for those of the proxy */ options.boshHTTPConnectProxyAuthID = "proxy username"; /* substituting the user name needed to authenticate with the proxy. Remove this line if the proxy doesn't require authentication */ options.boshHTTPConnectProxyAuthPassword = "proxy password"; /* substituting the user password needed to authenticate with the proxy.
Remove this line if the proxy doesn't require authentication */
/* Insert here whatever handlers you want for receiving messages etc.
- see http://swift.im/swiften/guide/ */
return 0;

Hope that helps.


The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only.
E-mail transmission is not guaranteed to be secure or error-free as information could be intercepted, corrupted,
lost, destroyed, arrive late or incomplete, or may contain viruses in transmission. The e mail and its contents
(with or without referred errors) shall therefore not attach any liability on the originator or HCL or its affiliates.
Views or opinions, if any, presented in this email are solely those of the author and may not necessarily reflect the
views or opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification,
distribution and / or publication of this message without the prior written consent of authorized representative of
HCL is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately.
Before opening any email and/or attachments, please check them for viruses and other defects.


More information about the JDev mailing list