peoplefone / provisioning-rpc
管理Auerswald、Gigaset、Panasonic、Snom、Yealink XML-RPC服务器MAC地址,以便将它们重定向到您的配置服务器。
1.1.0
2024-01-24 14:39 UTC
Requires
- php: ^8.2
- ext-xmlrpc: *
- ext-xmlwriter: *
- guzzlehttp/guzzle: ^6.5||^7.0
This package is auto-updated.
Last update: 2024-09-24 15:59:21 UTC
README
此软件包允许您检查/添加/删除以下XML-RPC服务器MAC地址:
- Auerswald
- Gigaset
- Panasonic
- Snom
- Yealink
需要有效的制造商RPC服务器登录信息。
安装
composer require peoplefone/provisioning-rpc
示例
向下滚动,您将找到每个制造商的示例。
require("vendor/autoload.php"); use \Peoplefone\ProvisioningRPC; use \Peoplefone\ProvisioningRPCResult; $rpc = ProvisioningRPC::connect('manufacturer', ['username','password']); $result = $rpc->checkPhone("123456ABCDEF"); $result = $rpc->addPhone("123456ABCDEF", "https://provisioningserver.domain.com", true); $result = $rpc->removePhone("123456ABCDEF");
功能和结果
有三个功能可用。
- checkPhone
- addPhone
- removePhone
每个函数都返回一个类型为ProvisioningRPCResult的对象。
Peoplefone\ProvisioningRPCResult Object
(
[mac] => string
[result] => bool
[code] => int
[message] => string
)
checkPhone
checkPhone(string $mac) : ProvisioningRPCResult
MAC地址是小写格式,并移除了所有标点符号。
addPhone
addPhone(string $mac, string $url, bool $overwrite) : ProvisioningRPCResult
MAC地址是小写格式,并移除了所有标点符号。
在添加电话之前,将调用checkPhone函数。
请注意:不属于您账户的MAC地址不能被覆盖!
removePhone
removePhone(string $mac) : ProvisioningRPCResult
MAC地址是小写格式,并移除了所有标点符号。
在删除电话之前,将调用checkPhone函数。
请注意:不属于您账户的MAC地址不能被删除!
按制造商的示例
Auerswald
$login_data = ['username','password']; $rpc = ProvisioningRPC::connect('auerswald', $login_data); $result = $rpc->checkPhone("123456ABCDEF"); $result = $rpc->addPhone("123456ABCDEF", "https://provisioningserver.domain.com/<MACADR>/", true); $result = $rpc->removePhone("123456ABCDEF");
Gigaset
$login_data = ['username','password']; $rpc = ProvisioningRPC::connect('gigaset', $login_data); $rpc->setProfileName('profile_name'); // default = peoplefone $result = $rpc->checkPhone("123456ABCDEF-1234"); $result = $rpc->addPhone("123456ABCDEF-1234", "https://provisioningserver.domain.com/%MACD/%DVID/", true); $result = $rpc->removePhone("123456ABCDEF-1234");
Panasonic
$login_data = ['username','password']; $rpc = ProvisioningRPC::connect('panasonic', $login_data); $result = $rpc->checkPhone("123456ABCDEF"); $result = $rpc->addPhone("123456ABCDEF", "https://provisioningserver.domain.com/{MAC}/", true); $result = $rpc->removePhone("123456ABCDEF");
Snom
$login_data = ['username','password']; $rpc = ProvisioningRPC::connect('snom', $login_data); $result = $rpc->checkPhone("123456ABCDEF"); $result = $rpc->addPhone("123456ABCDEF", "https://provisioningserver.domain.com/{mac}/", true); $result = $rpc->removePhone("123456ABCDEF");
Yealink
$login_data = ['username','password']; $rpc = ProvisioningRPC::connect('yealink', $login_data); $result = $rpc->checkPhone("123456ABCDEF"); $result = $rpc->addPhone("123456ABCDEF", "configured_server_name", true); $result = $rpc->removePhone("123456ABCDEF");