Using the Nokia E-Series Phones with Asterisk

The mobile phone giant’s newest hybrid phones usher in a brave new era of cell/VoIP connectivity. Getting them working, though, is no trivial matter. In this Voxilla How-To, we show you how to easily pair up Nokia’s new fusion phones (the E60, E61 and E70) with a basic Asterisk PBX server and take full advantage of the best of both telephony worlds.

The Nokia E60 and its brothers, the E61 and E70, were first released in late 2005 and became available commercially in the first half of 2006. These phones herald a new era of mobile connectivity as they are among the first “fusion” cell phones that join low-cost (or even free) Wi-Fi VOIP communications and ubiquitous standard wireless cell service.

All three phones are full featured cell phones supporting the global GSM standard (in US compatible with Cingular and T-Mobile networks), high-bandwidth 3G networks and support of the Blackberry enterprise server. And all three work with Nokia’s SIP stack, giving the phones powerful VoIP features that, until now, have only been available on non-cellular Wi-Fi handsets from Linksys, UT Starcom, D-link and others.

The advantages of cellular and VoIP services in one device are fairly obvious. First is coverage: The phones work equally well where the cell phone signal is weak (interior of buildings, offices) but Wi-Fi is available and in areas with no Wi-Fi signal but good cell phone coverage. Second is cost: VoIP over a Wi-Fi saves bundles over cell service and avoids usurious roaming charges when traveling.

{mosimage}
While all three phones offer similar Wi-Fi capabilities, they differ significantly in form and function. The Nokia E60 is the classic “brick” type phone that has become Nokia’s trademark. The E61 is a much wider device (similar to a RIM Blackberry in design) and comes with a readily-accessible full QWERTY keyboard. The E70 is slightly larger than the E60 and offers a 2.0 megapixel camera and a QWERTY keyboard that “folds” open.

All three phones are more complex than your typical cell phone, and taking advantage of some advanced features could pose a configuration challenge to the uninitiated. This is particularly true for VOIP usage. Current firmware versions have only limited NAT support and require use of “reverse NAT” on the SIP registrar side to successfully traverse NAT. Nokia promises the phones will support more common VoIP NAT traversal methods such as STUN (by the end of 2006), TURN and ICE (both next year).

In this story we focus on the proper configuration of a Nokia E60 with an Asterisk PBX, the popular open-source telephony server, though the instructions should work with no changes on the Nokia E61 and E70 models.

Our setup will allow us to:

  • Make a call over Wi-Fi whenever available and use GSM as a backup option;
  • Configure a certain set of predefined Wi-Fi access points, such as Home or Work, when they are available. The phone will automatically connect to one of the access points and register with an Asterisk server;
  • Receive all calls using a single phone number. If at the time of the call the Nokia phone is connected to the Asterisk server via WiFi, the call will be routed to it via the internet protocol. Otherwise, the Asterisk server will connect the call over the GSM network (some network charges might apply for incoming call).

This article assumes you already have a working Asterisk server running and that you are able to make and receive phone calls to and from US phone numbers. We will also assume that you either run the popular Trixbox or have your asterisk running in conjunction with freePBX so that you can configure your asterisk via the freePBX web interface. If not, you will have to edit the the appropriate Asterisk configuration files (sip.conf, extensions.conf, etc) manually.

{mospagebreak title=Part 1: Making Asterisk Accessible&toctitle=Introduction}

Part 1: Making Asterisk Accessible

If your Asterisk server has a static IP address accessible over the internet, you may skip this step and jump directly to Part 2. If not, open an account with dyndns.org, no-ip.com or any other service that offers free dynamic DNS. Create your own domain name on the service. For this example, we’ll use the domain name myasterisk.dyndns.org.

If your Asterisk server is not behind a router, configure it to run inadyn or a similar program at the boot up. This will keep the DNS data up to date, so that the domain name myasterisk.dyndns.org will always point to the IP address of our Asterisk server. Your command line might look as follows:

inadyn –background -u yourusername -p yourpassword –update_period_sec 300 –forced_update_period 864000 –alias myasterisk.dyndns.org

If your Asterisk server is behind a router, the router probably supports dynamic DNS update (most Linksys, D-link and Netgear routers do). Make the appropriate configuration changes on your router and pointing your domain name on dyndns.org to the router’s IP address. If your router does not support dynamics DNS, you can always use inadyn as an alternative.

Test your configuration by pinging your domain name. It should return your public IP address. If your Asterisk server is behind a router make sure that port 5060 is forwarded to it.

{mospagebreak title=Part2: Configuring Asterisk}

Part2: Configuring Asterisk

If you have installed FreePBX (or Trixbox, which installs FreePBX), you will configure Asterisk by logging into the web portal and creating two new extensions for the Nokia telephone: one to receive phone calls when the Nokia is in a Wi-Fi zone and registered with your PBX, the second to receive calls over the cellular network when you’re away from a Wi-Fi hot spot.

The first extension (we use extension 1111 in our example) is standard SIP, so click on Extensions/Add extension/Device technology SIP. Enter your Display name and password. Then click on the “Submit” button. The new extension should now be created. We need to add to the configuration, so click on it again. Now fill out remaining boxes. Here is the our sample configuration:

Extension options:

SIP extension : 1111
Display name: Martin Dindos
Direct DID:
DID Alert info:
Outbound CID: 1-401-555-1414
Emergency CID:
Record Incoming: Never
Record Outgoing: Never

Device options:

Secret: [your password]
Dtmfmode: rfc2833
Canreinvite: no
Context: from-internal
Host: dynamic
Type: friend
Nat: yes
Port: 5060
Qualify: 60000
Callgroup:
Pickupgroup:
Disallow: all
Allow: ulaw
Dial: SIP/1111

Replace your personal information in the pertinent fields above, and leave any of the fields with no entries blank. We leave the Emergency CID field blank because it makes more sense to use a GSM when dialing 911 on a mobile device.

It is important to set the “Qualify” value at 60000. This allows our Asterisk server to check whether the Nokia phone is connected via SIP once a minute. This has two different functions. It keeps a hole open in your router firewall if your Nokia is behind it (otherwise you will not be able to receive any VOIP call as the Nokia’s NAT support is somewhat lacking). It also keeps Asterisk informed in case you walk away from the reaches of the Wi-Fi access point, in which case any incoming call should go over the GSM network. You may try smaller “Qualify” values if your router closes open ports quicker.

If you’re not using Freepbx, you will instead edit Asterisk’s “sip.conf” file (usually in /etc/asterisk/) directly by adding the following:

[1111]
username=1111
type=friend
secret=your password
dtmfmode=rfc2833
canreinvite=no
context=from-internal
host=dynamic
nat=yes
port=5060
qualify=60000
disallow=all
allow=ulaw

Next, in FreePBX, we’ll create a second extension that is responsible for sending incoming calls to the GSM side of your Nokia phone. We do this by creating a “Custom” extension (click on Extensions/Add extension/Device technology CUSTOM). The only thing we fill out are 3 lines:

Extension options:

extension number: 1112
Display name: Martin Dindos

Device options:

Dial: Local/4155551313@outbound-allroutes

Here 4155551313 is our regular cell phone number. Please modify this line accordingly if, for example, your outbound provider requires the “1” for dialing i.e.: Dial: Local/14155551313@outbound-allroutes).

Let’s run a quick test of our setup. Click on the red bar “You have made changes — when finished, click to APPLY them” at the top of the FreePBX screen. Now dial “1112” from softphone or hardphone connected to your Asterisk server. In a few seconds, your cell phone should ring.

Now we create a ring group. Click on Ring group/Add ring group. In our example we give the group phone number 105. Here is the rest of our configuration:

Group description: Nokia-E60
Ring strategy: hunt
Extension list: 1111
1112
CID prefix name:
Ring time: 30
Announcement: none

Destination if no answer:

The last step is to configure “Inbound routes”. Let’s say we want the phone number 401-555-1414 we have from our VOIP provider to ring our Nokia. We go to inbound routes, create/modify the route for the phone number 4015551414 and set the destination of this number to be the ring group Nokia E60 <105>. That’s it. Now “Submit” everything; reload FreePBX by clicking on the red bar. Call 401-555-1414 and it should ring your Nokia phone(the call will go over GSM as we haven’t configured the Nokia for VOIP calls yet).

If you do not use FreePBX, you will have to configure how incoming calls are handled in extensions.conf. A simple configuration might look like this:

[incoming]
exten => s,1,Dial(SIP/1111,20,r) ; Dial the Nokia over SIP
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)

exten => s-ANSWER,1,Hangup() ; Hangup when call is finished

exten => _s-.,1,Dial(…/14155551313) ; Treat anything else as no answer try to call the Nokia over your GSM via SIP, IAX or ZAP

{mospagebreak title=Part 3: Configuring your Nokia Phone}

Part 3: Configuring your Nokia Phone

We are finally ready to configure our Nokia phone for VOIP calls.

We start by downloading the Nokia software updater for E60 from Nokia’s web page and install the program on your computer (Windows only). Connect your Nokia via the USB cable to the computer and backup all your data using the Nokia PC Suite (this is important because all the data on the cell phone will be overwritten during the software update). Next, run the Nokia software update. It will tell you whether a firmware update is available. If yes, download it and update your Nokia. After the update, use PC Suite to reload your backed up data to the phone.

You can check your the firmware version on your Nokia phone by typing *#0000#. It is preferable to have firmware version 2 or higher installed. Version 1 frequently freezes the phone during VOIP calls, requiring a restart. Version 2 is much more stable. Following is a screenshot of what you should expect to see:

{mosimage}

Configure your Wi-Fi Access Points on the Nokia phone. You get to the configuration menu by clicking the Menu button, and choosing Tools>Settings>Connections>Access points. The Nokia phones offer excellent connectivity options (WEP, WPA-PSK, WPA/WPA2, 802.1x, EAP-TLS, and EAP-PEAP) and it’s likely you’ll be able to connect to your home router or your office network.

Check your connectivity by using Nokia’s web browser. If you can’t access an external web site, troubleshoot and fix your network connectivity as you cannot proceed.

{mosimage}

{mosimage}

{mosimage}

{mosimage}

{mosimage}

{mosimage}

Once you can access a site using the Nokia’s built-in browser, we’re ready to configure the phone for VOIP. We go to the Menu>Tools>Settings>Connection>SIP settings. If you have not configured anything before this, the submenu should be empty. If it is not, you should probably delete everything there. Then we go to Options and select: “Add new” and “Use default profile”. In this example we will configure a profile called “Asterisk-office” which will be used to connect from work. We fill out the following details:

Profile name: Asterisk-office
Service profile: IETF
Default AP: Work [your AP name, make sure it works, try to browse the web]

{mosimage}

Public user name: sip:1111@myasterisk.dyndns.org [You need to put here your own dynamics DNS service name]
Use compression: No
Registration: Always on
Use security: No

{mosimage}

{mosimage}

Next we configure the Proxy and Registrar server:

Proxy server:

Proxy server address: sip:myasterisk.dyndns.org [your DNS name or IP]
Realm: asterisk [all letters must be lower case]
User name: 1111
Password: your password [same you have in Asterisk for extension 1111]
Allow loose routing: Yes
Transport type: UDP
Port: 5060

{mosimage}

{mosimage}

Registrar server:
Registrar server addr.: sip:myasterisk.dyndns.org [could be anything here, even sip:X]
Realm: None
User name: None
Password: None
Transport type: UDP
Port: 5060

{mosimage}

{mosimage}

Your Nokia will require a different setup if the Access Point you are configuring is on the same network as your Asterisk sever. The setup above assumes that you are trying to connect to your asterisk from outside, that is we want to connect to an Aserisk server at home from your office

If your Asterisk server and Nokia phone are on the same network with a private IP range (for example Asterisk is 192.168.1.10 and Nokia 192.168.1.110), you will have to modify the setup above. Your “Public username” should be “sip:1111@192.168.1.10” (or the private IP address of your asterisk box). The same is true for the Proxy and Registrar server addresses, where you would enter “sip:192.168.1.10”.

After you are finished your Nokia should register with the Asterisk server. You should see a screen like this one:

{mosimage}

The screenshot here has actually 2 different profiles, one for “work” and the other for “home.” Because we are connected from the office using the office access point, the profile named “Asterisk-office” is registered. At home the other profile would register. We will talk more on this a bit later. If your phone does not register, try to reboot it and see whether it helps. If not check all other settings. Warning: Before we can try to make a call, one more setup step is needed.

Go to the Menu>Tools>Settings>Connection>Internet tel. settings.

{mosimage}

We select options and create a new profile. You can just keep the name Default if you wish.

{mosimage}

Now click on SIP profiles and choose the profile “Asterisk-office”. Go back. At this point, a small icon of a telephone with globe should appear on the upper right corner of the phone. This icon indicates that internet calling is now available. To test it, dial “*43” for the Asterisk echo test.

If all works you should hear: “You are about to hear an echo test……”

{mosimage}

{mosimage}

At this stage you should also be able to receive calls over the internet. Dial the number you assigned to the Nokia in Asterisk (in our case 401-555-1414) and the call should arrive to the Nokia over VOIP. This is indicated by the “globe” under the yellow and green flashing handset when the phone rings. The way our system was setup, all incoming calls to Asterisk will ring the Nokia either over VOIP or GSM, with preference given to VOIP.

You may also want to change you default call type from cellular to Internet. This is done in “Menu>Tools>Settings>Call”. Click on “Default call type” and set it to “internet”. This does not mean you will not be able to make cellular calls as all call will go over the GSM network if the phone is not registered to Asterisk.

{mosimage}

{mosimage}

Also, even if internet calling is available, you can still route any call out over the cellular network manually by clicking the Select button on the upper-left corner (see the attached snapshot).

{mosimage}

Once you test everything you might want to add a second VOIP profile for example “Asterisk-home” (configured with your home access point) for seamless transition between home and work. To make both profiles available to you, you need to add the second profile in “Internet tel. settings>Default>SIP” profiles.

{mosimage}

A small warning: There appears to be a bug in Nokia’s firmware that appears to prevent two separate profiles to be work simultaneously if one profile uses the Dynamic DNS address (myasterisk.dyndns.org) and the other a private IP address of the Asterisk (192.168.1.10). The setup only works if both profiles use the same DNS or IP address. We fixed it by running a DNS server on our home network (on the Asterisk server) which pointed the DNS name “myasterisk.dyndns.org” to 192.168.1.10. However, this is a clumsy solution and hopefully future Nokia firmware updates will address this problem.

If we want our phone to connect to a predefined access point automatically, we need to tell the phone to scan for the access point. This is done in “Menu>Tools>Settings>Connection>Wireless LAN>Scan for networks (every 1, 2, 5 or 10minutes)”. With this setup, if we walk into reach of an access point used in our SIP profile, the phone will try to register with the Asterisk. This might take 2-3 minutes. Once registered the calls will be made and received over VOIP.

As stated above the phone can also be used in landscape mode with screen rotated by 90 degrees. This feature is particularly useful when browsing the web. Attached is a screenshot of www.google.co.uk page in the landscape mode.

{mosimage}

{mospagebreak title=Conclusion}

Conclusion

The Nokia E series phones are one of the first phones that offer truly working VOIP/mobile convergence. The Nokia E60 we tested compares very well with purely Wi-fi phones such Linksys WIP 300 and 330 both in terms of price and functionality; its price is comparable to the cheaper model WIP 300, but in terms of functionality (email, web browser) the Nokia has all features of WIP 330.

The phone’s main drawback is weak NAT support, but this should be amended in future firmware versions. Despite this, in combination with Asterisk it represents very attractive option for VOIP adopters who wants to take the next step and make their VOIP mobile. Your cell phone and VOIP phone is integrated into a powerful combination that makes you available everywhere via a single phone number.

There is no doubt that the Nokia’s phone will soon be followed by similar devices from other cell phone/VOIP hardware manufacturers like Motorola, Linksys or D-link.
What can we expect in near future? Some hints are already evident, such as the roaming agreements two UK VOIP providers (Mobiboo and Vonage UK) have recently inked with large UK Wifi provider Cloud (covering central London and 9 other UK cities). These agreements mean that users of wifi phones configured with these two VOIP providers can use their handsets free over Cloud network. Currently only UT Starcom handsets are supported, but more are sure to follow. Another feature under development is VOIP/GSM call handover, that will make dropped calls due to walking out of Wi-fi signal a thing of the past.

Of course, these welcome developments can be squashed by (a few) cell network operators who feel their revenue stream is threatened by VoIP, and instead of innovating, resort to obstructing. Here’s to hoping they choose the right path.

Be Sociable, Share!