В этой статье будет описано, как в Windows 10 настроить приложение для открытия ссылок URL (tel, mailto, callto и т.д.) в браузере.
Например, сделать так, чтобы при нажатии на телефонный номер на сайте открывался софтфон phonerlite.
Также будет показан общий принцип добавления и изменения приложения по умолчанию через реестр в Windows 10.
Содержание
- Введение
- Описание тестового стенда
- План работ. Краткое описание действий
- Регистрация в реестре программы для обработчика протокола URL
- Листинг reg файла для софтфона PhonerLite
- Проверка того, что приложение PhonerLite появилось в списке "приложения по умолчанию" для протокола tel
Данная статья возникла из-за банальной задачи, которая до Windows 10 решалась достаточно просто, через графический интерфейс "Панель управления - Все элементы панели управления - Программы по умолчанию - Задать сопоставления"
Задача следующая:
Существует отдел продаж, который использует в своей работе ip-телефонию. В качестве телефонов используют софтфоны (Softphone) phonerlite и microsip. Также нужно, чтобы у менеджера при нажатии на телефонный номер на сайте клиента открывалось окно с выбором софтфона, а после выбора выполнялся вызов на этот номер.
Казалось бы, что тут сложного. Выбираем приложение для протокола tel и всё. Но в Windows 10 при выборе приложения отсутствуют установленные софтфоны.

При изучении вопроса оказалось, что не все приложения (не только софтфоны) корректно заносят данные в реестр.
В этой статье приведем пример, как добавить софтфон PhonerPhone в список приложений для выбора протокола tel для браузера Chrome.
- Для тестирования будем использовать виртуальную машину с установленной Windows 10 Pro Версия:1909
- Устанавливать будем софтфон PhonerLite версия: 2.89
- Открывать будем в браузере Chrome 89.0.
План работ. Краткое описание действий
- Установим софтфон PhonerLite
- Внесем изменения в реестр (изменения реестра и описание ниже в статье)
- Откроем браузер Chrome перейдем по ссылке tel:+788888888888 (номер для примера). Также можно зайти на какой-нибудь сайт, где есть номера телефонов (открытие через протокол tel:) и нажать на него.
- Проверяем, что приложение PhonerLite появилось в списке для выбора.
- Выбираем софтфон PhonerLite и проверяем, что в нем будет выполняться вызов номера +788888888888
Установка и настройка софтфона PhonerLite
Подробно описывать установку softphone PhonerLite в данной статье не будем, там все очень тривиально. Если с этим возникнут проблемы, можете обратиться к нашей статье Обзор и основные возможности софтфона PhonerLite.
Отметим один важный момент. В настройках софтфона PhonerLite есть выбор "Обработчика протокола URL", можно выбрать: tel:, sip:, callto:, hungup:. При выборе вносятся изменения в реестр. Как выяснилось, изменения не совсем корректные. Работать будет, но только с одним софтфоном. Этим способом не получится добавить в меню "Как вы хотите это открыть?" несколько приложений, например: phonerlite, microsip и blink.
Поэтому рекомендуем внести изменения в реестр самим.
Регистрация в реестре программы для обработчика протокола URL
Добавление ProgID
Для начала добавим так называемый ProgID. Программный идентификатор (ProgID) - это запись реестра, которая может быть связана с CLSID. Как и CLSID, ProgID идентифицирует класс, но с меньшей точностью, поскольку не гарантируется его глобальная уникальность.
Данные в ProgID указывают, как будет обрабатываться ввод, данный ему (ProgID - программному идентификатору).
[HKEY_CURRENT_USER\Software\Classes\PhonerLite]
@="Internet Call Protocol"
[HKEY_CURRENT_USER\Software\Classes\PhonerLite\DefaultIcon]
@="\"C:\\Program Files (x86)\\PhonerLite\\PhonerLite.exe\",0"
[HKEY_CURRENT_USER\Software\Classes\PhonerLite\shell\open\command]
@="\"C:\\Program Files (x86)\\PhonerLite\\PhonerLite.exe\" \"%1\""
В нашем примере мы добавили:
- ProgID - PhonerLite
- DefaultIcon - иконка для отображения в меню. Она берется из файла C:\Program Files (x86)\PhonerLite\PhonerLite.exe . Параметр "0" указывает, что берем иконку указанного файла.
- command - программа, которая запускается при обращении к ProgID - PhonerLite. Обратите внимание на параметр %1. В нашем случае это как раз номер телефона, который будет передаеться для набора. Если у вас передаются два параметра и вам нужен второй, то укажите %2.
Добавление Capabilities (возможностей приложения)
Следующим шагом добавляем описание для нашего приложения PhonerLite и ассоциацию протокола tel и созданного выше ProgID - PhonerLite
[HKEY_CURRENT_USER\Software\PhonerLite\Capabilities]
"ApplicationDescription"="PhonerLite VoIP Softphone"
"ApplicationIcon"="C:\\Program Files (x86)\\PhonerLite\\PhonerLite.exe,0"
"ApplicationName"="PhonerLite"
[HKEY_CURRENT_USER\Software\PhonerLite\Capabilities\URLAssociations]
"tel"="PhonerLite"
- ApplicationDescription - описание приложения
- ApplicationIcon - путь к ярлыку приложения
- ApplicationName - имя приложения
- URLAssociations - раздел, в котором содержатся протоколы, которые могут использовать приложение. Формат Protocol=ProgID
Регистрация возможностей приложения [HKEY_CURRENT_USER\Software\RegisteredApplications]
В заключении нужно добавить наше приложение PhonerLite в список программ по умолчанию.
[HKEY_CURRENT_USER\Software\RegisteredApplications]
"PhonerLite"="Software\\PhonerLite\\Capabilities"
Полный текст reg файла для добавления приложения PhonerLite в список приложений по умолчанию.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\PhonerLite]
@="Internet Call Protocol"
[HKEY_CURRENT_USER\Software\Classes\PhonerLite\DefaultIcon]
@="\"C:\\Program Files (x86)\\PhonerLite\\PhonerLite.exe\",0"
[HKEY_CURRENT_USER\Software\Classes\PhonerLite\shell\open\command]
@="\"C:\\Program Files (x86)\\PhonerLite\\PhonerLite.exe\" \"%1\""
[HKEY_CURRENT_USER\Software\PhonerLite\Capabilities]
"ApplicationDescription"="PhonerLite VoIP Softphone"
"ApplicationIcon"="C:\\Program Files (x86)\\PhonerLite\\PhonerLite.exe,0"
"ApplicationName"="PhonerLite"
[HKEY_CURRENT_USER\Software\PhonerLite\Capabilities\URLAssociations]
"tel"="PhonerLite"
[HKEY_CURRENT_USER\Software\RegisteredApplications]
"PhonerLite"="Software\\PhonerLite\\Capabilities"
Для удобства предлагаем создать файл phonerUrlTel.reg и записать туда данный текст.
После этого запустить данный файл (понадобятся права администратора) и данные будут записаны в реестр.
Проверка того, что приложение PhonerLite появилось в списке приложения по умолчанию для протокола tel
Для проверки откроем браузер Chrome и в адресной строке введем tel:+788888888888 (номер для примера).

Нажимаем "Выбор приложения" и в открывшемся окне, после наших настроек, появилось приложение PhonerLite.

Выбираем его и видим, что открылся софтфон и в нем выполняется исходящий вызов по номеру +788888888888

Задачу выполнили. Теперь по нажатию на телефонный номер в браузере (где протокол tel:) выполняется вызов через приложение PhonerLite.