Modern IP phones can contact a redirect service provider at boot time and discover their PBX address with it.
The Falconieri project is a RPS (Redirect and Provisioning Service) gateway that helps to store the phone provisioning URL in the phone vendor redirect service.
Supported providers:
Register device on remote provisioning service, if the device is already configured, the new configuration override the old.
Content-Type: application/json
provider
: Name of the remote provider.mac
: Mac address of the device, represented in the EUI-48 IEEE RA hexadecimal format with the octets separated by hyphens. E.g.AC-DE-48-23-45-67
.
crc
mac address's CRC code, only valid with Gigaset provider.
A JSON object with the url
field:
url
URL of configuration server, must be formatted as URI standard https://tools.ietf.org/html/rfc3986.
Example:
{"url":"https://example.com/"}
The API return a HTTP status code 200
with an empty body in case of success
or a json object in case of error.
Json object field:
error
: specific error code.message
: additional informations (optional).
The device was configured successfully
Errors codes:
missing_mac_address
: the mac address of the device is missing.malformed_mac_address
: the mac address of the device is malformed.missing_url
: the url to associate to device is missing.unable_to_parse_url
: the url is not correctly formatted.unsupported_url_scheme
: the scheme of the url is not supported (valid schemes:ftp
,tftp
,http
,https
)missing_mac-id_crc
: the crc code of the provided mac address is missing, error returned only in case of Gigaset provider.invalid_mac-id_crc_format
: the crc code provided is in invalid format, error returned only in case of Gigaset provider.
Errors codes:
provider_not_supported
: the selected providers is not supported or disabled.
Errors codes:
connection_to_remote_provider_failed
: the connection to remote provider failed, the addition fieldmessage
is provided.provider_remote_call_failed
: the remote provider responded with a HTTP status code that is not200
.read_remote_response_failed
: error on read remote response.unknown_response_from_provider
: unknown response from remote provider.malformed_url
: the provided url was not accepted by the remote provider.not_valid_mac_address
: the provided mac address was not accepted by the remote provider.device_owned_by_other_user
: the provided mac address was already configured by another provider user.unknown_provider_error
: the error returned by provider is unknown, the addition fieldmessage
is provided.
Usage of ./falconieri:
-c string
Path to configuration file (default "/opt/falconieri/conf.json")
Falconieri can configured via json file or environment variables, if present the values in the environment variable take the precedence over the ones declared in files.
The provider
section define the remote providers configuration, common configurations fields to each provider:
user
Username for access to providerpassword
Password for access to providerrpc_url
The URL for XML-RPC requestsdisable
Enable/Disable the provider, defaultfalse
Gigaset specific:
disable_crc
If set totrue
Falconieri don't send the mac address's CRC code, defaultfalse
Example:
{
"providers": {
"snom": {
"user":"user",
"password": "password",
"rpc_url": "https://secure-provisioning.snom.com:8083/xmlrpc/",
"disable": false
}
}
-
SNOM_USER
Username for access to Snom provider -
SNOM_PASSWORD
Password for access to Snom provider -
SNOM_RPC_URL
The URL for XML-RPC requests of Snom provider -
SNOM_DISABLE
Enable/Disable the provider, defaultfalse
-
GIGASET_USER
Username for access to Gigaset provider -
GIGASET_PASSWORD
Password for access to Gigaset provider -
GIGASET_RPC_URL
The URL for XML-RPC requests of Gigaset provider -
GIGASET_DISABLE_CRC
If set totrue
Falconieri don't send the mac address's CRC code, defaultfalse
-
GIGASET_DISABLE
Enable/Disable the provider, defaultfalse
-
FANVIL_USER
Username for access to Fanvil provider -
FANVIL_PASSWORD
Password for access to Fanvil provider -
FANVIL_RPC_URL
The URL for XML-RPC requests of Fanvil provider -
FANVIL_DISABLE
Enable/Disable the provider, defaultfalse
-
YEALINK_USER
Username for access to Yealink provider -
YEALINK_PASSWORD
Password for access to Yealink provider -
YEALINK_RPC_URL
The URL for XML-RPC requests of Yealink provider -
YEALINK_DISABLE
Enable/Disable the provider, defaultfalse
Tancredi is a phone provisioning engine ideal for internet deployments.