<?php
+/*
+# Copyright (c) 2012, Gjøvik University College
+# All rights reserved.
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of the Gjøvik University College nor the
+# names of its contributors may be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY Gjøvik University College ''AS IS'' AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL Gjøvik University College BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
require_once('config.php');
require_once('lib/auth_base.php');
require_once('lib/user_functions.php');
// Now, do funky stuff.
/*
- Test if user exists in both 'kamailio.subscribers' and 'provision.users'
+ Test if user exists in both 'kamailio.subscribers' and 'hermes.users'
* Return 'response' => 'ok', 'type' => 'local', 'user' => complete user object.
- Test if user exists in 'provision.user' only
+ Test if user exists in 'hermes.user' only
* Return 'response' => 'ok', 'type' => 'remote', 'user' => complete user object.
If user does is neither local nor remote
* Return 'response' => 'failed' with 'cause' => 'nonexistant'
email
Verify that domain is local (lookup in the 'kamailio.domain' table.
- Verify that the username is available (nonexistant for domain in kamilio.subscribers (and provision.users?))
+ Verify that the username is available (nonexistant for domain in kamilio.subscribers (and hermes.users?))
* Autocreate password
* Add username, domain, email and created password to the 'kamailio.subscriber' table
- * Get the registrar+port, proxy+port from the 'provision.servers' table.
+ * Get the registrar+port, proxy+port from the 'hermes.servers' table.
* standard dialplan from configuration.
- * Add to the 'provision.users' table:
+ * Add to the 'hermes.users' table:
username -> username
password -> generated password
displayname -> displayname
domain -> domain
- registrar -> provision.servers.registrar
- r_port -> provision.servers.r_port
- proxy -> provision.servers.proxy
- p_port -> provision.servers.p_port
+ registrar -> hermes.servers.registrar
+ r_port -> hermes.servers.r_port
+ proxy -> hermes.servers.proxy
+ p_port -> hermes.servers.p_port
authid -> username
dialplan -> standard dialplan
linetext -> username
delete_provision_user( $username, $domain );
// Give errormessage, and quit.
print json_encode( array( 'response' => 'failed', 'cause' => 'dbfail', 'detail' => 'Failed to read recently added data. Operations rolled back' ) );
-
+ break;
}
print json_encode( array( 'response' => 'ok', 'user' => $userdata ));
+ break;
}
else
print json_encode( array( 'response' => 'invalid', 'cause' => 'parameters' ) );
linetext
Verify that the domain is not a local kamailio domain (REMOTE user..)
- Verify that the username+domain is not already registered in 'provision.users'.
+ Verify that the username+domain is not already registered in 'hermes.users'.
* If r_port is empty, set to 5060
* If proxy/port is empty, set to registrar/port
* If authid is empty, set to username
* If dialplan is empty, set to standard dialplan
* If linetext is empty, set to username@domain
- * Add to the 'provision.users' table:
+ * Add to the 'hermes.users' table:
username -> username
password -> supplied password
displayname -> displayname
delete_provision_user( $username, $domain );
// Give errormessage, and quit.
print json_encode( array( 'response' => 'failed', 'cause' => 'dbfail', 'detail' => 'Failed to read recently added data. Operations rolled back' ) );
-
+ break;
}
print json_encode( array( 'response' => 'ok', 'user' => $userdata ));
+ break;
}
else
print json_encode( array( 'response' => 'invalid', 'cause' => 'parameters' ) );
Required parameters should be...
( username & domain ) | user
- * Verify that no associations/relations exist in 'provision.phones'
- * Verify that the user exists in 'provision.users'
- * Remove from 'provision.users'
+ * Verify that no associations/relations exist in 'hermes.phones'
+ * Verify that the user exists in 'hermes.users'
+ * Remove from 'hermes.users'
* Test to see of user exists in 'kamailio.subscriber'.
* Remove from 'kamailio.subscribers'
* Return response' => 'ok', 'type' => 'local'
( username & domain ) | user
password
- * Verify that no associations/relations exist in 'provision.phones'
+ * Verify that no associations/relations exist in 'hermes.phones'
* Verify that the user exists ...
- * Test to see of user exists in 'provision.users'
+ * Test to see of user exists in 'hermes.users'
* Test to see of user exists in 'kamailio.subscriber'.
* If no such user exists, return 'response' => 'failed' with 'cause' => 'nonexistant'
- * Update user passwords in 'provision' and 'kamailio' as appropriate
+ * Update user passwords in 'hermes' and 'kamailio' as appropriate
* On other failures, return 'response' => 'failed' with 'cause' => 'error' (may set 'detail' => 'message')
*/
if ( array_key_exists('password', $_POST) &&
Required parameters should be...
( username & domain ) | user
- * Verify that no associations/relations exist in 'provision.phones'
+ * Verify that no associations/relations exist in 'hermes.phones'
* Verify that the user exists ...
- * Test to see of user exists in 'provision.users'
+ * Test to see of user exists in 'hermes.users'
* Test to see of user exists in 'kamailio.subscriber'.
* If no such user exists, return 'response' => 'failed' with 'cause' => 'nonexistant'
* Get update parameters, and change as appropriate ;)