<?php
$phone_ip = "IP_ADDRESS_OF_YEALINK_PHONE"; // Vervang dit met het IP-adres van je Yealink-telefoon
$api_url = "http://$phone_ip/YDM/"; // URL van de YDM API op de telefoon
// Maak een verzoek om de configuratiegegevens van de telefoon op te halen
$ch = curl_init($api_url . "config");
// Voer eventuele andere vereiste aanvullende headers of verificatie uit indien nodig
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
if ($response) {
// Verkrijg de configuratiegegevens van de telefoon
$config_data = json_decode($response, true);
// Definieer de regex-patronen voor het identificeren van BLF-toetsen
$pattern = '/^key\d+\.(type)=(blf)$/';
foreach ($config_data as $key => $value) {
if (preg_match($pattern, $key, $matches) && $matches[2] === 'blf') {
// Vervang het toetstype "blf" door "speeddial"
$new_key = preg_replace($pattern, '$1=speeddial', $key);
$config_data[$new_key] = $value;
unset($config_data[$key]);
}
}
// Stuur de bijgewerkte configuratiegegevens terug naar de telefoon
$ch = curl_init($api_url . "config");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($config_data));
// Voer eventuele andere vereiste aanvullende headers of verificatie uit indien nodig
curl_exec($ch);
curl_close($ch);
echo "Toetsen bijgewerkt.";
} else {
echo "Fout bij het ophalen van de configuratiegegevens.";
}
?>