Во-первых (и, возможно, немного не по теме), на самом деле есть встроенная функция WM6, позволяющая маршрутизировать вызовы либо через сотовую сеть, либо через SIP с использованием встроенной программы набора номера. Если SIP-вызов (или «Интернет-вызовы», как это предусмотрено в пользовательском интерфейсе) включен и соединение Wi-Fi установлено, вызов будет маршрутизироваться через SIP, если нет, он будет маршрутизироваться через GSM обычным способом. На самом деле есть также параметр реестра, позволяющий маршрутизировать вызовы по SIP, если также доступно подключение 3G / HSDPA.
Большинство производителей не поставляют ту часть операционной системы WM6, которая включает эту функцию, в ПЗУ своих устройств (предположительно, учитывая их доходы от вызовов), однако ее можно легко установить на большинство устройств WM6.
Во-вторых, если это не то, что вам нужно (если вы не хотите использовать SIP, но используете телефонную карточку или вам нужно сделать выбор после того, как вы совершите звонок), я могу сказать вам, что должна быть возможность сделать то, что Вы хотите сделать, потому что это приложение делает это - magicall . Один из способов сделать это - получить уведомление о вызове, немедленно завершить его, стереть его из журнала, открыть диалоговое окно УАТС или ячейки, а затем снова выполнить вызов в соответствии с запросом пользователя. Это имеет тот недостаток, что если исходный вызов был запущен программно, приложение, которое сделало это, будет считать, что вызов был преждевременно завершен. Это также возможно при использовании другой техники, но на этом мои знания заканчиваются ...