Nokia E90 SIP Client Setup

From KoshWiki

Jump to: navigation, search


Contents

[edit] Origin

I purchased a new Nokia E90 recently after being very impressed with a colleagues, I've had my fill of the Nokia N91 and it's alleged support of A2DP (it doesn't, go figure, music mobile and it doesn't support it).

After a few minutes (maybe less ;) ) I discovered the SIP support of the E90, it is really and truely awesome, I can have my mobile use SIP by default for outgoing calls when it is registered with the Asterisk server, I have a feeling my mobile bill is about to drop substantially.

But I felt that since I had a Nokia N91 guide on this site, which did end in failure, I should put up the success story, and help out any other Nokia E90 adventurers.

[edit] Configuring Asterisk

This assumes you know a little bit about asterisk and that you have a already running asterisk box (basically how I started)

Just a note, configuration changes quite substantially between 1.2 and 1.4, I use new 1.4 configuration but 1.2 should work in 1.4 and it shouldn't be too hard to kludge it to work in 1.2

[edit] sip.conf

[general]
context=bogon-calls
realm=entropy

[basic-options](!)
        dtmfmode=rfc2833
        type=friend

[mobile-phone](!,basic-options)
        host=dynamic
        nat=yes
        canreinvite=no
        disallow=all
        allow=g729
        allow=ulaw
        allow=alaw

[201](mobile-phone)
        username=201
        secret=secretpass
        callerid=("Kosh @ Mobile" <201>)
        context=mobile-outbound
        mailbox=201@default

These are the important lines in the sip.conf, I will explain the major ones to you.

[edit] [General]

context 
bogon-calls This is the context for calls that attempt to arrive via sip without authenticating.
realm 
entropy This is the realm for authenticating and is part of the authentication process. IMPORTANT: This is required for configuring the phone

[edit] [Extension] (201)

username 
201 The username for the SIP connection
secret 
secretpass The password for the SIP connection
context 
mobile-outbound The context for calls made from the mobile.
disallow 
all Codecs usable by the phone, we are disabling all of them then enabling a specific codec
allow 
g729 The codec we are setting for the phone to use
allow 
alaw The codec we are setting for the phone to use
canreinvite 
no This stops the phone from negotiating a direct connection when you're using multiple SIP servers.
nat 
yes Allows the host to be behind a NAT firewall/router.
host 
dynamic For profiles where the SIP device might be coming from anywhere

[edit] extensions.conf

[bogon-calls]
exten => _.,1,Congestion
exten => s,1,Congestion

[mobile-except]
include => ext-sip
exten => _X.,1,Dial(IAX2/122220/${EXTEN})

[ext-sip]
exten => 200,1,Macro(stdexten,200,SIP/200)
exten => 201,1,Macro(stdexten,201,SIP/201)

This is a VERY VERY cutdown version of my extensions.conf, down to the bare essentials for this tutorial.

[edit] [bogon-calls]

This is where incoming calls with no authentication information get thrown.

exten => _.,1,Congestion 
Any incoming number gets Congestion
exten => s,1,Congestion 
Any incoming call gets Congestion.

[edit] [mobile-except]

include => ext-sip 
Include my extension list, so handsets can call each other
exten => _X.,1,Dial(IAX2/122220/${EXTEN}) 
Any other number that isn't picked up by the extension include is dialed via IAX to my phone provider.

[edit] [ext-sip] (Include)

exten => 200,1,Macro(stdexten,200,SIP/200) 
IF you search google:macro-stdexten you can find an example of this macro.

[edit] Nokia E90 Setup

On the Handset you will need to setup access to your Wireless Access Point (Assuming you want to use WiFi, In Australia, you'd be crazy to want to do VoIP over carrier internet ... well I would be with Optus)

[edit] Wireless Setup

On the E90 this is really simple, I can't really help you through this one as I did it a few days ago and my phone now seems to have no way to remove it so I can start again.

Off the top of my head :

  1. Open the phone
  2. Menu (funny recycle loop symbol at the right of the top row of keys)
  3. Connectivity
  4. WLAN wiz.
  5. Follow the prompts

Congratulations, your WLAN is now setup !

[edit] SIP Setup

Back to the Phone again.

  1. Menu
  2. Tools
  3. Settings
  4. Connection
  5. SIP settings

[edit] SIP settings

Profile mame : Home Asterisk Just a simple name to describe the connection
Service profile : IETF what SIP you are using, asterisk uses IETF
Default access point : HomeWiFi The default access point to use, whatever you setup in the last step.
Public user name : sip:201@10.11.81.21 the address other phones would use to call you, basically your extension @ your SIP server
Use compression : No Compression, Select No
Registration : Always on This option tells the phone to stay registered whenever it can
Use security : No disable security

[edit] Proxy Server

Proxy Server Address : sip:10.11.81.21 The hostname or IP address of your SIP server
Realm : entropy IMPORTANT: this must be the same as the realm specified in your sip.conf or your authentication WILL fail
User name : 201 The user name required to connect to your SIP server
Password : **** The password required to connect, this is the "secret" listed in the sip.conf
Allow loose routing : Yes Not quite sure yet, will do some research, but I have it on.
Transport type : UDP I tried Auto but had a few weird authentication issues.
Port : 5060 Default SIP Port

[edit] Registrar Server

Registrar serv. addr. : sip:10.11.81.21 The hostname or IP address of your SIP server
Realm : None Uses Proxy Authentication Details
User name : None
Password : None
Transport type : UDP As per Proxy, I tried Auto but I got a few weird registration errors.
Port : 5060 Default SIP Port

[edit] Internet telephone

If you can't find it, it is located :

  1. Menu
  2. Tools
  3. Settings
  4. Connection
  5. Internet telephone

[edit] New Profile

Just give the Profile a friendly name, and select the appropriate sip profiles.

Name : NervHQ Just a friendly name
SIP Profiles : Home Asterisk This should be a list of SIP Profiles to connect to, once you get more confident you can start playing with multiple profiles.

[edit] Configuring the Phone to use SIP

  1. Menu
  2. Tools
  3. Settings
  4. Phone
  5. Call
Internet Call Waiting : Not Active Haven't tested this yet, should work though.
Internet Call Alert : On You want to get incoming call alerts if your asterisk box is prepared to send them.
Default Call Type : Internet Call This is more for the hard core amongst you, most people will leave this as 'Voice Call, this specifies that when you type a number in or call someone from your address book unless otherwise stated you will call out via SIP.

[edit] The End

You should be able to start calling now over your new (and hopefully cheaper) VoIP setup when available.

[edit] Troubleshooting

Errors and their notes

[edit] I keep getting "Not Registered"

Diagnosing crappy errors like this is what makes my job hard. If you're using a home Asterisk setup and don't have many other handsets connected you can use sip debug.

Use the sip debug command to enable sip debugging.

entropy*CLI> sip debug
SIP Debugging enabled

To disable use the sip no debug command

entropy*CLI> sip no debug
SIP Debugging Disabled

Below are some common errors I got.

[edit] Realm incorrect

I saw a packet like this.

SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.14.110:5060;branch=z9hG4bKv1irak98nhhc6iee1a1h9j4;received=150.101.300.400;rport=5060
From: <sip:201@entropy.reallycool.com>;tag=7eprakcsp9hc7hdc1a1h
To: <sip:201@entropy.reallycool.com>;tag=as43742f9d
Call-ID: 7E2RkgnJoIeXG0G3522IrSeLVcE37v
CSeq: 973 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
WWW-Authenticate: Digest algorithm=MD5, realm="entropy.reallycool.com", nonce="16e97f15"
Content-Length: 0

but I was using the realm in the configuration above of just "entropy", so I switched to the realm in the 401 message and voila, I registered successfully.

[edit] References

    Personal tools