I have just created an app that listens on the microphone and sends the audio stream to a defined host and port via a udp socket.
It also listens on the same socket to fetch packets and play them in the speaker.
This works fine if both phones are in the same WiFi network, of course. It also works fine if one phone is in a WiFi network and the other is connect to the mobile internet.
But it does not work if both phones are connected to mobile internet.
Well, one might say, they are firewalled. But what I am trying to do amounts essentially to udp hole punching, and the fact that it worked between WiFi and mobile internet shows that the mobile internet side is (at least in that case) susceptible to that technique.
The only conclusion I can draw (since both phones happen to have the same carrier) is that the carrier has a firewall that allows RELATED/ESTABLISHED (to speak iptables lingo) udp packets UNLESS they come from the same carrier. I have no idea why, but I can't think of any other reasons it would work like this. Perhaps they want to stop people from communicating peer to peer?
Anyway, has anyone else tried something like this? What are your experiences? Is it at all possible? Just with some carriers? Or do I need to use some other trick that I didn't think of?
Download SIPdroid from the market?
All carriers have firewalls and/or NAT, and the ones I know don't allow incoming connections. Can you connect from WiFi -> mobile? Mobile->WiFi is easy.
Volker1 said:
Download SIPdroid from the market?
All carriers have firewalls and/or NAT, and the ones I know don't allow incoming connections. Can you connect from WiFi -> mobile? Mobile->WiFi is easy.
Click to expand...
Click to collapse
Oh, I forgot about SIPDroid. I have tried it before, but never with calling a phone in the same carrier network.
Have you tried it? Did it work? And are you sure that the SIP gateway did not direct the streams through a SIP proxy? Many SIP providers do that (at least the ones I worked at), since SIP quite often fails to connect two firewalled phones to each other.
And regarding your question: My app does not do any client connecting to a server - it is two peers directing their UDP streams at each other - neither is server or client.
Related
MS Activesync (i'm using 4.5) does not support forwarding of UDP packets to the handset from the network. So far as I can tell it doesnt allow them to come out of the handset to the network either. When I say Network I mean IP Network, not Cellular.
Does anyone know of a way to add this feature to my setup, perhaps a UDP Proxy application that will puck up the packets on the ActiveSync Network adapter and forward them to the internet ? Or maybe something simpler like bypassing Activesync altogether ?
Hopeful,
nid
Are you trying to run any application specially using UDP's? I could access Internet once my ActiveSync is up.
Uh, yes, UDP is requred by the application I am trying to run.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=605596&SiteID=1
I have a 6800 with Verizon and I attend Penn State at the main campus. We have group authenticated VPN security for our on campus wireless. I downloaded BlueFire mobile VPN because it has group authentication capabilities. I connect to the Penn State wireless and then connect with the VPN client, however I notice that my phone calls the 777 number to access the VPN server for some reason, even though I have wireless. I messed around with connection settings, but got no results. My issue with this is that I don't have any data plan because I don't want to pay for it and the data call eats up my minutes.
Does anyone know how to properly set up the connection settings so that I don't pour money into Verizon's pockets?
Also, I don't think this is possible but I might as well ask... is there any way to use the VPN software included with WM to connect to group authenticated VPN servers?
Any clues?
Have you tried turning off data connection?
I'm attempting to use a Windows Mobile 6.1 device (HTC Diamond) for a temporary internet connection for my mail server while my broadband is down (BT cancelled my line in error and do not seem to be in any hurry to restore the service!). Initially I'm using the built-in ICS functionality..
While outgoing connections are fine I do not seem to be able to make in incoming connection. At first I thought this was due to ICS not port mapping incoming connections downstream (in a port forwarding DMZ manor) so I moved to the seemingly very good WMWiFiRouter tool and which is much more configurable in such ways, however still no joy. Further investigation using the useful website whatismyipaddress.com suggests that my connection is actually not a true connection but instead proxy'd (assumingly by Vodafone). Is this correct? If so, assumingly it is therefore impossible to make direct incoming IP connections (TCP or UDP) to devices on a mobile operators network (in my case Vodafone)?
All comments welcome!
Thanks, Simon
To reply / follow-up to my own post..
It seems this is due to a problem with Vodafone providing data connections with a private NAT’d IP address that is routed through their proxies for traffic optimization etc, and not the required (publically addressable) public IP address for incoming connections.
Please see my separate post on this wider issue: http://forum.xda-developers.com/showthread.php?t=478741
had a problem kinda like it trying to make a socket connection from 2 3 gprs devices
did'nt work unless both had static ip's which cost extre
but it worked ok if just one of them were not a 3 grps device
like a normal pc or a gprs device from another operator
Hi, I'm with Bell mobility, i have few programs that host a tcp socket and are reachable from any lan network whenever I use Wifi or VPN connections but is there any way to get the data plan connection to have incoming connections. I've tried a whole bunch of ports? Anyone knows a way around this issue?
Would be good to be able to host our own mini website on the phone or reach it with Pocket Controller.
If your device gets a public IP for wireless APN, you should be able to connect to sockets bound to this IP. If you get a private IP, then you can only connect from within the same subnet.
It depends on your data plan ... and your operator.
Some operators block TCP/IP ports below 5000.
If you subscribed a business data plan, it might work ... Just because of business tools you may need (VPNs, SSH connections, remote desktop, ... ).
My advice, connect your phone to your PC as a modem and use any tools to check open ports (try ShieldsUp from grc.com http://www.grc.com/)
Hope it helps.
I've got a unique situation, and I thought I'd ask to see if anyone else has been able to deal with this situation.
I've got an unlocked MyTouch 3G working on a network in South America. I am presently behind a proxy, and running a wireless router in my home. I can't afford a 3G connection, but of course I want to download apps from the Market, etc.
So far, I've been able to set up a transparent proxy on my desktop (cntlm) to receive traffic and redirect it to the proxy (to avoid the authentication pop-ups), so the browser is fine. Also, Gmail and GTalk work fine, since they transmit on different ports. But the rest of the apps hit a brick wall. Market, Maps, Mapdroyd, etc all zilch.
Since I've been able to do something similar with my *iPod* (yes, I know that's a curse word here), I wonder if there is a way to somehow redirect all web traffic to my desktop, so that it can authenticate with the proxy.
My phone is rooted, running Cyanogenmod-5, with the proxy settings directed to my desktop. But only the browser recognizes the settings. Can other apps be persuaded to use it as well?
Just to add to the previous post...
I did a little more digging, and it seems that the Android Market connects on port 5228. Unfortunately, I don't have control over which ports can be opened in my situation. However, since my *ahem* iPod *ahem* also has Google Maps, I tied connecting and it works fine. I can only assume that it is using the proxy setting, whereas the MT3G is ignoring it.
This is a linux system, and there has to be a way to force it to use the proxy, am I right?
Should the wireless router not take care of the proxy???
The router should take care of all wan-side communication...
So the lan-side devices just connects to the router and have internet!!!
If your router cannot handle this, you could buy some rather cheap wireless network adapter... and in linux you could set it up as hotspot... making sure that all devices just connects to it and have internet while you take care of the proxy problem!!!!
I'm sorry for the confusion, I should have explained my situation better. I actually live in a complex that provides internet by means of a proxy. I have no control over the proxy, and all I have to connect to it is a LAN connection. I have my cheap wireless router hooked up to it, and my computers are configured to direct traffic to it. (I understand that this is similar to many business-like setups.) What this means is that my MT3G can communicate through to the proxy by means of the transparent proxy, but it seems that not all apps are designed to apply the system-wide proxy setting.
If you are able to help, I would gladly provide more details...