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 windowsipdialplan.xml and you’ll see something like this:
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.