[Windows Mobile Software Development] eluth:
Here is an example of VoIP provisioning for WM6.

Claims that it does not work have been greatly exaggerated.

Actually, it works quite well for me (test done a Wizard based on a modified Orwell ROM).

Check if the VoIP is support is present in your ROM, as some cooks have removed them from the ROM.

so look for the Internet Calling today item as well as for the following files from the packages VoIP and VoIPOS in the \Windows directory:

[*]ipdialplan.xml

[*]dnsapi.dll

[*]voipphonecanvas.dll

[*]rtcdll.dll

If you don't have Internet Calling support in your ROM, complain to your favorite cook, not me.

Internet Calling is an integral part of WM6 and should not be removed.

For the HTC Wizard, the Orwell1984, the PDAViet ROMs, MB ROM and mUn_aRTM_10_2_0_8_WWE have the necessary modules.

For other devices, try it for yourself, as I don't know the specifics of the ROMs..

Ok. Let' go to the setup on how to do it.

Simple: 1-2-3 steps.

you will have to create a _setup.xml file with your provisioning information, any text editor will do, use the attached sample as a baseline.

run the following command: cabarc N myVoIPsettings.cab _setup.xml

get your newly created .cab file on the WM6 PPC and run it.

Note: if you don't have cabarc, you can get it from http://support.microsoft.com/kb/198038

Voilà! You might have to turn on your Wifi (it does not work over GPRS/EDGE)

and select "Whenever Available" as an option in Phone/Menu/Options/Internet or Settings/Phone/Internet.

Soon, you will be connected to your preferred VoIP provider...

As sample of the _setup.xml file is attached as _setup.xml.txt.

You can also see its content in the following section.

<wap-provisioningdoc>
<characteristic type="VoIP">
<parm name="SIPSettings"
value="<provision key='1232ab01' name='_sip_provider_name_'>
<provider name='_sip_provider_name_' />
<user account='_account_' password='_password_'
uri='sip:_user@sip_host.com_'
allowedauth='digest'/>
<sipsrv addr='_sip_proxy.com_' protocol='UDP' role='proxy'>
<session party='First' type='pc2pc' />
<session party='First' type='pc2ph' />
</sipsrv>
<sipsrv addr='_sip_registrar.com_' protocol='UDP' role='registrar'/>
</provision>" />
</characteristic>
</wap-provisioningdoc>

So get the attached _setup.xml.txt and do the following modifications:

rename _setup.xml.txt to _setup.txt (not obvious to every one according to the comments in this thread),

replace _sip_provider_name_ by your provider name,

_account_ and _password_ by your user name and password,

sip:_user@sip_host.com_ should be your SIP address,

_sip_proxy.com_ and _sip_registrar.com_ are your SIP proxy and registrar,

sometimes it's the same thing as your sip_host.com.

Sometimes not. It depends on your provider.

save the file as _setup.xml and run the cabarc N voip.cab _setup.xml

transfer the cab on the PPC and run it!

How to check your installation?

-

If the provisioning worked you should find a Prov0SIPSettings under the directory \Windows\System\VoIP.

Creation date and time should match the instant when you ran your .cab file.

If you don't find one, that means that you have a syntax error in your _setup.xml file.

To demonstrate the process, you can use my attached file without any modification.

It will create Prov0SIPSettings file, but nothing will work with the dummy settings of my sample file, of course :-).

To activate Internet Calling over 3G (thanks Sleuth255 & Golfman),

go to the HKLM\Comm\RTC\AdapterTypes with a registry editor (like Total Commander),

now delete both the "1" and the "2" values that are here,

next reset your device and Internet calling will connect over the data connection for your phoneservice.

If you need to re-apply different settings (if you changed your .xml file and .cab),

you will have to delete first the Prov0SIPSettings file under \Windows\System\VoIP

prior re-applying your new .CAB file. Otherwise, your new settings will be ignored.

Let me know how you do on this.

Enjoy!

--eluth, the comparison Guy.