Nokia E90 SIP Client Setup
From KoshWiki
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 :
- Open the phone
- Menu (funny recycle loop symbol at the right of the top row of keys)
- Connectivity
- WLAN wiz.
- Follow the prompts
Congratulations, your WLAN is now setup !
[edit] SIP Setup
Back to the Phone again.
- Menu
- Tools
- Settings
- Connection
- 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 :
- Menu
- Tools
- Settings
- Connection
- 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
- Menu
- Tools
- Settings
- Phone
- 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
Categories: HOWTO's | Reference | Nokia

