Оказалось, что VoIP-поддержку из моего ROM'а все-таки не убрали :-)
В первую очередь, я скачал
http://218.93.115.138/d900/patch/WM6VoIP.CAB. Установил, зашел в "Start > Settings > Phone". Там появилось "Internet Calling", в настройках которого я выбрал "Use Internet Calling: Whenever available".
Потом вернулся в Home Screen, где красовалось: Internet Calling: Service Blocked.
В
how-to сказано, что в папке "\Windows" должны лежать следующие файлы:
- ipdialplan.xml
- dnsapi.dll
- voipphonecanvas.dll
- rtcdll.dll
Открыв встроенный Explorer, я этих файлов не нашел. Скачал
Resco Explorer на пару с Resco Registry. Обнаружилось, что файлы есть, но были скрыты.
Активировал SIP в реестре:
HKLM\System\VoIP\SIP
EnablePort5060 = 1
Теперь требовалось создать xml-файл, который будет профилем для подключения к моему Asterisk-серверу. Создал файл _setup.xml с такими параметрами:
Далее нужно закинуть этот файл в CAB-архив. Для этой цели есть
Microsoft Cabinet Software Development Kit. Итак, _setup.xml и cabarc.exe в одной папке.
Создал архив:
C:\mscsdk>cabarc N voip.cab _setup.xml
Подключил телефон к компьютеру и скопировал на него voip.cab.
Отсоединил телефон и установил voip.cab
Теперь, если посмотреть в "\Windows\System\VoIP", то там можно увидеть файл Prov0SIPSettings. Это говорит о том, что установка прошла успешно.
Открыл Asterisk-консоль на сервере.
После установки Home Screen показывал: Internet Calling: No Service. Ну, это понятно, т.к. я еще не в сети :-) Активировал WLAN и вуаля - на экране показалось: Asterisk PBX: Searching... Заглянув в Asterisk-консоль, я также увидел:
-- Registered SIP '4000' at 10.10.69.225 port 1059 expires 120
-- Saved useragent "RTC/1.5.5374" for peer 4000
Сделал пробный звонок, все работает. Даже transfer, представляете :-)
Кстати, не обращайте внимание на "Asterisk PBX: Searching...". Это просто какой-то баг.