Code Repo    |     RSS
MD's Technical Sharing



Wednesday, April 28, 2010

Native SIP on Windows Mobile 6.1 and 6.5

Although Windows Mobile 6.1 and above supports SIP natively, the user does not always have the ability to configure SIP settings. In particular, SIP (a.k.a Internet Call) needs to be enabled in the device firmware, and SIP server configuration needs to be set via registry. This post summarizes the step needed to enable SIP and make Internet Calls from the phone's native dialer.

First, you must check if your firmware enables Internet Call. There should be an Internet Call item on your Today Screen:



If you are not using the standard Today screen plugin, check your Phone settings, there should be a tab for Internet Call:


Your operator may have bundled the SIP configuration settings with the phone. If so, you're good to go, just select either "Whenever Available" or "Only if cellular is not available" from the drop down. The phone will attempt SIP registration whenever a connection is available and you'll see "Internet Call: Available" on the Today screen when SIP is registered. If SIP is not registered, you'll see "Internet Call: No Service".

If your phone does not have bundled SIP configuration settings, you will need to configure it yourself. You can do this manually, but I'd recommend using a tool called Sip Config Tool:


Input your SIP server configuration and choose to save. This will overwrite any existing configuration. By default, SIP over a cellular connection is disabled, but you can enable it via the menu if you want to.

You may need some configuration to make sure that the number you dial from the dialpad gets translated into a proper SIP address. Check \windows\ipdialplan.xml and you'll see something like this:
   
   
<!-- International -->
   
<rule pattern='(\d+)'
        dial='sip:\1@$host$'
        display='\1'
        transfer='sip:\1@$host$'
        />


pattern: the number you dial in the dialpad
dial: the actual SIP address where INVITE request is sent to
display: the number to be displayed during the call

The default configuration is only suitable for US number so you may need to change them as appropriate according to your country's telephone nunbering plan. In my case, I remove everything except one entry in the International section. To dial a number, I simple enter the full format, country code + area code + telephone number.

If your device does not support playing audio on the earpiece via RIL_SetAudioDevices, don't expect Internet calls to work with your earpiece. In my case (Acer F900), audio is played via loudspeaker unless a headset is connected, with a lower volume to simulate the earpiece. At the beginning of every call, a beep tone will be played to indicate an Internet call.

7 comments:

  1. Hi, was just wondering if anyone ran into a snag with this? I got 'sipconfigtools.exe not supported" error message.I did install the missing files via
    wmvoip6.cab. Perhaps there is a work around?

    ReplyDelete
  2. Hi

    What is your phone model and OS version, WM 6.0?

    What is the exact error message?

    I think SipConfigTools requires .NET Framework 2.0 or 3.5, have you installed it your device?

    If it still does not work, try a third party SIP client such as SJPhone or fring. They seem to work better than WM built-in SIP.

    ReplyDelete
  3. Hi It's a HP Voice Messenger WM6.1 standard. I didn't write down the exact error,sorry I can't remember. I doubt the phone has .net installed on it, but I will put it on there, and try again. If it will fit....
    I will give the SJPhone a try if it still won't go. Thanks for the suggestions.

    ReplyDelete
  4. Hi

    I know why the SIP Config tool does not work on your 6.1 Standard device. The button it uses ('Save Configuration', see my screenshot in article) is only supported on Professional (PocketPC) devices with touch screen. So you will get a NotSupportedException if you run it on a Standard device with no touch screen.

    You can try to look for other tool that will work on a standard device, or you can try SJPhone or fring.

    ReplyDelete
  5. Hmmm....I can't find SJPhone for win mobile 6.1 standard, only windows CE(pocket PC)and fring doesn't support wifi calling with win mobile. Gues I will have to keep looking. thanks anyway.

    ReplyDelete
  6. i have sony ericsson aspen M1i....windows mobile 6.5.3 how to use voip in this ...pl tell me my email id is some1_4_all2001@yahoo.com

    ReplyDelete
  7. I wish someone would make an all in one WM app to make calls over WIFI. It would make some good money. I have an i637 phone I just bought in 2012 and it does not work with this device since it's not a touch screen device.

    ReplyDelete

Note: Only a member of this blog may post a comment.