TECH / Железяки 4 мин чтения

Как сделать набор номера на телефоне Grandstream GXP21xx с компьютера

Antonio Автор NEMCD
Опубликовано 20.02.2022 · Обновлено 13.11.2026 · 4 мин

Возникла необходимость набирать номер на стационарном IP-телефоне Grandstream GXP2140 (и всей линейки GXP21xx) прямо с компьютера – чтобы нажать кнопку на ПК, а телефон сам начал вызов. Это удобно при частых звонках из браузера, таблиц или CRM, когда не хочется каждый раз вбивать длинные номера вручную на клавиатуре аппарата.

IP-телефон Grandstream GXP2140Стационарный IP-телефон Grandstream GXP2140

Сделать это довольно просто через встроенный HTTP API телефона, но стандартные строки вызова сначала не срабатывают – мешает отключенная по умолчанию опция удаленного набора. Ниже – настройка веб-интерфейса Grandstream GXP21xx, точный формат URL, а также готовые способы запуска звонка из браузера, PowerShell, .bat-файла, Excel, 1С и по ссылкам tel:.

1. Включение Click-To-Dial в веб-интерфейсе Grandstream GXP21xx

Перед отправкой HTTP-команд нужно разрешить удаленный набор номера на самом телефоне. Откройте IP-адрес аппарата в браузере и войдите в панель администратора (по умолчанию часто используются admin/admin, но на настроенных офисных телефонах пароль обычно изменен).

В верхнем меню перейдите на вкладку SETTINGS:

Grandstream веб-интерфейс настройки Click-To-DialПанель управления IP-телефоном Grandstream GXP2140: вкладка SETTINGS

В левом меню откройте раздел Call Features:

Включение опции Click-To-DialПереход в раздел Settings – Call Features

Найдите пункт Click-To-Dial Feature и переключите его в положение Enabled:

Grandstream сохранение настроекВключение функции Click-To-Dial Feature (Enabled)

Нажмите Save and Apply внизу страницы – телефон применит конфигурацию (и при необходимости перезагрузится). На некоторых версиях прошивки также требуется зайти в Network → Remote Control, включить Action URI Support (Enabled), указать IP-адрес вашего ПК в Action URI Allowed IP List и отключить Remote Control Pop up Window Support (Disabled), чтобы телефон набирал номер сразу без подтверждения на экране.

2. Формат HTTP-запроса api-make_call

Для запуска исходящего звонка используется CGI-обработчик api-make_call. На прошивках линейки GXP21xx применяется такой URL-адрес:

http://PHONE_IP/cgi-bin/api-make_call?phonenumber=NUMBER&account=0&login=ADMIN_USER&password=ADMIN_PASSWORD

Расшифровка параметров:

  • PHONE_IP: локальный IP-адрес телефона в вашей сети (например, 192.168.1.50).
  • NUMBER: номер вызываемого абонента без лишних пробелов и скобок.
  • account: индекс SIP-аккаунта на аппарате (0 – первый аккаунт, 1 – второй и т.д.).
  • login и password: логин и пароль учетной записи веб-интерфейса.

На более свежих прошивках Grandstream CTI вместо пары login и password может использоваться параметр passcode:

http://PHONE_IP/cgi-bin/api-make_call?passcode=PASSWORD&phonenumber=NUMBER

После вызова этого URL телефон сразу начнет набор указанного номера по громкой связи или через трубку – вам остается только вести разговор.

3. Как сделать удобный набор с компьютера

Закладка в браузере (букмарклет)

Если нужно быстро набрать номер из буфера или вручную без установки программ, создайте на панели закладок браузера новую закладку и в поле URL вставьте JavaScript-код (подставив свой IP, логин и пароль):

javascript:(()=>{var n=prompt('Номер:');if(n)window.open(
'http://192.168.1.50/cgi-bin/api-make_call?phonenumber='
+encodeURIComponent(n)+'&account=0&login=user&password=PASS',
'_blank');})();

При клике по закладке откроется окно ввода номера, после чего телефон сразу начнет вызов.

Скрипт PowerShell и ярлык (или .bat-файл)

Чтобы при каждом звонке не открывалась пустая вкладка браузера, удобно отправлять HTTP-запрос фоново через скрипт PowerShell (например, C:\scripts\dial.ps1):

param([string]$Num = $(Read-Host "Номер"))
$ip = "192.168.1.50"
$u = "user"; $p = "PASS"
$url = "http://$ip/cgi-bin/api-make_call" +
  "?phonenumber=$Num&account=0&login=$u&password=$p"
Invoke-RestMethod -Uri $url | Out-Null

Создайте ярлык на рабочем столе с командой запуска этого скрипта, либо используйте простой .bat-файл на базе встроенного в Windows curl.exe:

@echo off
set /p NUM=Номер: 
set "BASE=http://192.168.1.50/cgi-bin/api-make_call"
set "AUTH=account=0&login=user&password=PASS"
curl.exe -s "%BASE%?phonenumber=%NUM%&%AUTH%" >nul

Интеграция с Excel, 1С, CRM и ссылками tel:

  • Таблицы Excel: если номер клиента хранится в ячейке A2, добавьте рядом формулу =HYPERLINK("http://192.168.1.50/cgi-bin/api-make_call?phonenumber=" & A2 & "&account=0&login=user&password=PASS", "Позвонить").
  • CRM и 1С: в обработчике кнопки карточки клиента достаточно выполнить фоновый HTTP GET-запрос на api-make_call, предварительно очистив номер от пробелов, дефисов и скобок.
  • Протокол tel: чтобы звонить по клику на ссылки вида tel:+380501234567 прямо с сайтов, зарегистрируйте в реестре Windows (HKEY_CLASSES_ROOT\tel\shell\open\command) обработчик, который передает аргумент %1 в скрипт PowerShell, убирает префикс tel: и отправляет запрос на телефон.
Рекомендация по безопасности: не оставляйте стандартные пароли admin/admin и user/123 и по возможности не прописывайте главный пароль администратора в общих таблицах Excel или скриптах – используйте отдельную учетную запись пользователя (user) или passcode, если прошивка это позволяет. Обязательно ограничьте доступ к API в разделе Network → Remote Control → Action URI Allowed IP List конкретными IP-адресами рабочих ПК и держите IP-телефоны в отдельном VLAN от гостевого Wi-Fi.
Ещё похожие заметки:

Оставить комментарий