[Standards-JIG] Jingle + HTTP proxy support

Andre Magalhaes andrunko at gmail.com
Thu Dec 22 20:04:40 UTC 2005


Hi all,

I am not sure if this is the correct list for this, but anyway, lets try it.

I am working on to integrate libjingle with a VoIP framework
(http://tapioca-voip.sf.net) and i am having some problems regarding
http proxy functionality.

First of all, I am developing behind a firewall and the only way to
connect to google talk is trough a HTTP proxy. This proxy only
supports CONNECT method
on port 443. I tested with Google Talk client on Windows and it works
well, but i
couldn't find a way to connect using libjingle.

Here is what i did.
libjingle/talk/examples/call/call_main.cc:
  ...
+  xcs.set_proxy(cricket::PROXY_HTTPS);
+  xcs.set_proxy_host("my_proxy_addr"); // tried with name and ip addr
+  xcs.set_proxy_port(8080);
+  xcs.set_server(cricket::SocketAddress("talk.google.com", 443)); //
  ...

libjingle/talk/examples/login/xmppsocket.cc:
  ...
  cricket::AsyncSocket* socket =
      pth->socketserver()->CreateAsyncSocket(SOCK_STREAM);

+  socket = new cricket::AsyncHttpsProxySocket(socket,
+          cricket::SocketAddress("my_proxy_addr", 8080),
+          "", buzz::XmppPassword(buzz::EmptyXmppPasswordImpl()));
  ...

Now it seems that the client sucessfully CONNECT to
talk.google.com on port 443 but on the first command sent the
connection is closed.
libjingle:
   CONNECT talk.google.com:443 HTTP/1.0
   User-Agent: Google Talk
   Host: talk.google.com
   Content-Length: 0
   Proxy-Connection: Keep-Alive
Proxy response:
   HTTP/1.0 200 Connection established
   Proxy-Agent: NetCache NetApp/5.6.2R1
libjingle:
  <stream:stream to="gmail.com" version="1.0"
xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
Proxy response:
  Connection closed by foreign host

I captured some packets using ethereal on Windows and Google Talk
client and it seems that the same msgs are sent to the
proxy server. I should be missing something.

It seems libjingle SSL support is not finished yet.
Can this be related to my problem?
Any tips???

BR
Andrunko



More information about the Standards mailing list