Video Call for iPhone - Support page

This page provides information on how to get connected with Video Call. Some of you have had problems connecting and this can be due to a variety of causes from not understanding how Video Call works or related to the networks you are trying to connect across.

A new version of Video Call is on the way which should improve connection rates over home Wi-Fi if you have "UPNP" enabled on your wireless router.

You can get a better idea of the problem you are having by looking at the connection log shown by Video Call on the main screen as it tries to connect.

Here are a few examples:

Locating user '408 555 1234'
Waiting for 408 555 1234 to run Video Call and connect.
Locating user '408 555 1234'
Waiting for 408 555 1234 to run Video Call and connect.
Locating user '408 555 1234'
Waiting for 408 555 1234 to run Video Call and connect.
Locating user '408 555 1234'
Waiting for 408 555 1234 to run Video Call and connect.
The above example shows a common problem. You do not use the telephone number of the friend you are trying to call or the name of the phone shown in iTunes but the name that they gave their phone on the registration screen when your friend first ran Video Call.
Locating user 'Tom's iPhone'
Waiting for Tom's iPhone to run Video Call and connect.
Locating user 'Tom's iPhone'
Waiting for Tom's iPhone to run Video Call and connect.
Locating user 'Tom's iPhone'
Waiting for Tom's iPhone to run Video Call and connect.
Locating user 'Tom's iPhone'
Waiting for Tom's iPhone to run Video Call and connect.
This seems to be a very common problem. To use Video Call to connect to a friend you have to both install Video Call, both be running it and have pressed the connect button giving the name of the phone you want to call. If Tom is not running Video Call or he has not registered Video Call with the name 'Tom's iPhone' I'm afraid you'll never get an answer.
Locating user 'Tom's iPhone'
Sent user 'Tom's iPhone' push notification
Waiting for Tom's iPhone to run Video Call and connect.
Locating user 'Tom's iPhone'
Waiting for Tom's iPhone to run Video Call and connect.
Locating user 'Tom's iPhone'
Waiting for Tom's iPhone to run Video Call and connect.
Locating user 'Tom's iPhone'
Waiting for Tom's iPhone to run Video Call and connect.
This is a case where the name 'Tom's iPhone' is known and he has accepted receiving push notifications but Tom must be busy and has not run Video Call, entered the name of your phone and pressed 'connect' to receive your call. To connect you must enter each others names correctly and meet in the middle though this is easy when you receive a push notification message from someone calling you.
Locating user 'Tom's iPhone'
Sent user 'Tom's iPhone' push notification
Waiting for Tom's iPhone to run Video Call and connect.
Locating user 'Tom's iPhone'
Tom's iPhone is online, connecting...
Tom's iPhone is online, connecting...
Locating user 'Tom's iPhone'
Tom's iPhone is online, connecting...
Tom's iPhone is online, connecting...
Locating user 'Tom's iPhone'
Tom's iPhone is online, connecting...
Tom's iPhone is online, connecting...
Locating user 'Tom's iPhone'
Tom's iPhone is online, connecting...
Tom's iPhone is online, connecting...
This example shows where Tom has got your push notification and run Video Call but because of the networks between your and his phone it has been unable to make a direct connection between your phone and his (see the discussion of networking and firewalls below.) A resolution to this problem will be included in the next release in about a week.
Locating user 'Tom's iPhone'
Locating user 'Tom's iPhone'
Unable to startup rendezvous server.
Locating user 'Tom's iPhone'
This is a less common case where your phone is not even able to contact the "rendezvous server" which introduces your phones when you make a Video Call. There will be no possibility of connecting using the network your phone is on.
Locating user 'Tom's iPhone'
Shan'o is online, connecting...
Shan'o is online, connecting...
Connection from Tom's iPhone, acknowledging...
Connection from Tom's iPhone, acknowledging...
Connected to Tom's iPhone...
Connected to user 'Tom's iPhone'
Connected to Tom's iPhone...
Connected from Tom's iPhone...
Connected from Tom's iPhone...
Sending Video to Tom's iPhone
Stopped Sending Video to Tom's iPhone
Receiving Video from Tom's iPhone
Stopped Receiving Video from Tom's iPhone
This is what the log should look like when you have been able to connect. Once you are connected, press the "Send Video to ..." button at the bottom of the screen to share your camera with your friend.

So why can't I connect?

In order to be able to send Video to your friend Tom's iphone your two phones need to be able to exchange 'packets' of data. If your phones are on the same home WiFi network, this is simple as they will have straight-forward access to each other using their 'IP addresses' which look something like this: 192.168.2.50 or 10.0.2.2. In order that you don't have to enter these random numbers all the time Video Call sets up a system where you give your phone a name and when you call, the name you are calling is converted into one of these special numbers. This introduction is done by the "Rendezvous server" which runs at my site johnholdsworth.com.

So, if you and your friend are both connected via WiFi to your home network you would generally have no trouble connecting to each other. You both run Video Call enter the name of each others phone's and press connect, the rendezvous server introduces the phones using the 'IP address' on your local network and the Video data flows between your two phones just like you where playing catch, throwing a ball to each other in your living room. If you're having problems connecting this would be the first thing to try.

It's more complicated when you have two phones connected to two different home WiFi networks. Video Call has to find a way to 'route' these data packets out of your home network, over the internet and back into your friends network which may have a firewall in the WiFi router which connects them to the Internet. To do this Video Call uses a trick politely called 'UDP hole punching'. To extend the 'catch' analogy above, making a call between phones on different WiFi networks is like playing catch through the window between two adjacent houses. Obviously you have to have the window open!

In the internet world 'having the window open' means you have to be able to get through the 'firewall' which protects your home network. Switching back to the analogy, for me to throw the ball to my neighbour's house I would open the window to throw the ball. His window may still be closed but if he wants to play catch he would open the window to to throw the ball which in the process also allow any balls I throw to come in. Once both windows are open you can play catch all you like.

To cut a long story short Video Call works through firewalls by your phone and your friends phone sending a packet (throwing the ball) which opens a window in the firewall to allow the ball to go out. Opening this window allows any packets from my friends phone (and only packets from my friends phone - If you're worried) to come in as well.

So the next thing to try is whether you can make a call from your friends WiFi network to your own. This should work if both routers are not configured too defensively. If it doesn't look at your firewall settings to allow UDP packets to come in and out. This would normally be the case though if you are running any peer-to-peer type of program.

Why can't I connect on 3G?

When you use your phone for data traffic it is like you are using one big WiFi network which is connected by your cell provider to the Internet at some point by a great big router and firewall essentially like the one you have at home. The same hole punch trick works on cellular networks but the problem is you can not reconfigure their router to let though UDP packets if your provider has decided not to let them escape to or enter from the Internet. This seems to happen in some countries where the router has been configured specifically not to allow packets to flow from phone to phone. If this is the case Video Call will not work and there is very little I can do about it. You may find however that a 3G network Video Call to a phone on home WiFi works as the router sees your home internet connection as just another place on the Internet and allows you to connect. So, you can see it depends on many factors. Start with a home Wifi connect then home WiFi to Home WiFi and work up through 3G to home WiFi and the 3G to 3G to see what works for you.

John 10th August.