Оказалось, что 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 с такими параметрами:
<wap-provisioningdoc>
<characteristic type="VoIP">
<parm name="SIPSettings"
value="<provision key='1232ab01' name='Asterisk PBX'>
<provider name='Asterisk PBX' />
<user account='4000' password='try2hack'
uri='sip:4000@asteriskserver.com'
allowedauth='digest'/>
<sipsrv addr='asteriskserver.com:5060' protocol='UDP' role='proxy'>
<session party='First' type='pc2pc' />
<session party='First' type='pc2ph' />
</sipsrv>
<sipsrv addr='asteriskserver.com:5060' protocol='UDP' role='registrar'/>
</provision>" />
</characteristic>
</wap-provisioningdoc>Далее нужно закинуть этот файл в 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...". Это просто какой-то баг.