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.
crcmac address's CRC code, only valid with Gigaset provider.
A JSON object with the url field:
urlURL 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 fieldmessageis 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 fieldmessageis 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:
userUsername for access to providerpasswordPassword for access to providerrpc_urlThe URL for XML-RPC requestsdisableEnable/Disable the provider, defaultfalse
Gigaset specific:
disable_crcIf set totrueFalconieri 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_USERUsername for access to Snom provider -
SNOM_PASSWORDPassword for access to Snom provider -
SNOM_RPC_URLThe URL for XML-RPC requests of Snom provider -
SNOM_DISABLEEnable/Disable the provider, defaultfalse -
GIGASET_USERUsername for access to Gigaset provider -
GIGASET_PASSWORDPassword for access to Gigaset provider -
GIGASET_RPC_URLThe URL for XML-RPC requests of Gigaset provider -
GIGASET_DISABLE_CRCIf set totrueFalconieri don't send the mac address's CRC code, defaultfalse -
GIGASET_DISABLEEnable/Disable the provider, defaultfalse -
FANVIL_USERUsername for access to Fanvil provider -
FANVIL_PASSWORDPassword for access to Fanvil provider -
FANVIL_RPC_URLThe URL for XML-RPC requests of Fanvil provider -
FANVIL_DISABLEEnable/Disable the provider, defaultfalse -
YEALINK_USERUsername for access to Yealink provider -
YEALINK_PASSWORDPassword for access to Yealink provider -
YEALINK_RPC_URLThe URL for XML-RPC requests of Yealink provider -
YEALINK_DISABLEEnable/Disable the provider, defaultfalse
Tancredi is a phone provisioning engine ideal for internet deployments.