user/remove?username=foo&domain=bar
user/remove?user=foo@bar.bz
Removes user account from Kamailio, if present, and removes user from
- provisioning. Will fail if user has associated hardphones, remove
- phones before removing user.
+ provisioning.
+
+ Will fail if user has associated hardphones, remove phones before
+ removing user.
+
+ TODO: Should fail if user has associated aliases. Remove aliases before
+ removing user.
Returns 'ok' on success.
Returns 'failed' with 'cause' = 'exists' if the address is in use.
user/gen_pw
- Test-node, generates a random password on the same form as that used by
- user/add_local. May be used with the to-be-implemented change_pw node.
+ Generates a random password on the same form as that used by
+ user/add_local.
+
+ Return is always a password in plain text, with no formatting.
phone/get?mac=f00ba2ba5c00
phone/get?user=foo@bar.bz
Returns 'invalid' with 'cause' = 'address' if the given alias is not a
valid SIP adress.
+domain/list
+ Returns a list of configured and valid domains. May return an empty
+ list if no domains are configured for kamailio. No node is provided
+ to add domains, this is not a task for Hermes, but a kamailio
+ configuration task.
+
+ Returns 'failed' on database errors.
+
+domain/get_servers?domain=bar.bz
+ Provides the default registrar/proxy/provisioning server information
+ for the given domain.
+
+ Returns 'ok' with 'servers' set to a kvp-set on success, containing:
+ 'registrar', 'r_port', 'proxy', 'p_port', 'prov_url'.
+
+ Returns 'failed' with 'cause' = 'nonexistant' if lookup of data for
+ given domain results in an empty set (not configured).
+
+domain/set_servers?domain=bar.bz®istrar=server.bar.bz&r_port=5060&proxy=proxy.bar.bz&p_port=5060&prov_url=http://server.bar.bz/hermes/prov
+ Sets the server data for the given domain. All of these parameters
+ are required: 'domain', 'registrar', 'r_port', 'proxy', 'p_port', 'prov_url'.
+ If no defaul server data is defined, the configuration is added.
+ If server configuration existed, the default data is updated.
+
+ Returns 'ok' with 'servers' set as domain/get_servers on success.
+
+ Returns 'failed' with 'cause' set to 'cause' set to 'parameters'
+ if one of these is true:
+ * Missing parameters
+ * One or more NULL/empty parameters
+ * Non-numeric values for port-numbers.
+ If you need to determine which of these triggered, the
+ 'description' contains a text describing the actual fail.
+
+ Return 'failed' with 'cause' = 'error' on database failure.
+
+BUGS:
+---------------------
+
+api/alias/list?destination=foo@bar.bz&e164=true
+ should return an empty array, returns false
TODO list:
---------------------
+Add a node to test a destination (pre-flight testing of user/add and alias/add)
+
+Read list of kamailio domains (domains/list ?) RW?
+Default server-settings for domains (domains/server ? ) (registrar, proxy, ports...) RW.
+Permissions! (user/permissions?user=...)
+
authentication-mechanism :)
Change all GET to POST