Parcourir la source

support for "who hang up" in accounting introduced

Jiri Kuthan il y a 22 ans
Parent
commit
fd2c51cfb3
1 fichiers modifiés avec 52 ajouts et 35 suppressions
  1. 52 35
      scripts/ser_mysql.sh

+ 52 - 35
scripts/ser_mysql.sh

@@ -33,6 +33,8 @@ CMD="mysql -h $DBHOST -p -u "
 BACKUP_CMD="mysqldump -h $DBHOST -p -c -t -u "
 TABLE_TYPE="TYPE=MyISAM"
 SQL_USER="root"
+# user name column
+USERCOL="username"
 
 #################################################################
 
@@ -85,14 +87,29 @@ drop database $1;
 EOF
 } #ser_drop
 
-ser_create () # pars: <database name> <sql_user>
+ser_create () # pars: <database name> <sql_user> [<no_init_user>]
 {
 
 #test
 #cat > /tmp/sss <<EOF
 
-if [ $# -ne 2 ] ; then
-	echo "ser_create function takes two params"
+if [ $# -eq 2 ] ; then
+	# by default we create initial user
+	INITIAL_USER="INSERT INTO subscriber 
+		($USERCOL, password, first_name, last_name, phone, 
+		email_address, datetime_created, datetime_modified, confirmation, 
+		flag, sendnotification, greeting, ha1, domain, ha1b, phplib_id, perms ) 
+		VALUES ( 'admin', 'heslo', 'Initial', 'Admin', '123', 
+		'root@localhost', '2002-09-04 19:37:45', '0000-00-00 00:00:00', 
+		'57DaSIPuCm52UNe54LF545750cfdL48OMZfroM53', 'o', '', '', 
+		'0239482f19d262f3953186a725a6f53b', 'iptel.org', 
+		'a84e8abaa7e83d1b45c75ab15b90c320', 
+		'65e397cda0aa8e3202ea22cbd350e4e9', 'admin' );"
+elif [ $# -eq 3 ] ; then
+	# if 3rd param set, don't create any initial user
+	INITIAL_USER=""
+else
+	echo "ser_create function takes two or three params"
 	exit 1
 fi
 
@@ -157,7 +174,9 @@ CREATE TABLE acc (
   from_uri varchar(128) NOT NULL default '',
   to_uri varchar(128) NOT NULL default '',
   sip_callid varchar(128) NOT NULL default '',
-  username varchar(64) NOT NULL default '',
+  $USERCOL varchar(64) NOT NULL default '',
+  fromtag varchar(128) NOT NULL default '',
+  totag varchar(128) NOT NULL default '',
   time datetime NOT NULL default '0000-00-00 00:00:00',
   timestamp timestamp(14) NOT NULL
 ) $TABLE_TYPE;
@@ -181,13 +200,12 @@ CREATE TABLE active_sessions (
 
 
 
-
 #
 # Table structure for table 'aliases' -- location-like table
 #
 
 CREATE TABLE aliases (
-  username varchar(50) NOT NULL default '',
+  $USERCOL varchar(50) NOT NULL default '',
   domain varchar(100) NOT NULL default '',
   contact varchar(255) NOT NULL default '',
   expires datetime default NULL,
@@ -197,7 +215,7 @@ CREATE TABLE aliases (
   last_modified timestamp(14) NOT NULL,
   replicate int(10) unsigned default NULL,
   state tinyint(1) unsigned default NULL,
-  PRIMARY KEY(username, domain, contact)
+  PRIMARY KEY($USERCOL, domain, contact)
 ) $TABLE_TYPE;
 
 
@@ -209,7 +227,7 @@ CREATE TABLE aliases (
 
 CREATE TABLE event (
   id int(10) unsigned NOT NULL auto_increment,
-  username varchar(50) NOT NULL default '',
+  $USERCOL varchar(50) NOT NULL default '',
   uri varchar(255) NOT NULL default '',
   description varchar(255) NOT NULL default '',
   PRIMARY KEY (id)
@@ -225,11 +243,11 @@ CREATE TABLE event (
 
 
 CREATE TABLE grp (
-  username varchar(50) NOT NULL default '',
+  $USERCOL varchar(50) NOT NULL default '',
   domain varchar(100) NOT NULL default '',
   grp varchar(50) NOT NULL default '',
   last_modified datetime NOT NULL default '0000-00-00 00:00:00',
-  PRIMARY KEY(username, domain, grp)
+  PRIMARY KEY($USERCOL, domain, grp)
 ) $TABLE_TYPE;
 
 
@@ -241,7 +259,7 @@ CREATE TABLE grp (
 
 
 CREATE TABLE location (
-  username varchar(50) NOT NULL default '',
+  $USERCOL varchar(50) NOT NULL default '',
   domain varchar(100) NOT NULL default '',
   contact varchar(255) NOT NULL default '',
   expires datetime default NULL,
@@ -251,7 +269,7 @@ CREATE TABLE location (
   last_modified timestamp(14) NOT NULL,
   replicate int(10) unsigned default NULL,
   state tinyint(1) unsigned default NULL,
-  PRIMARY KEY(username, domain, contact)
+  PRIMARY KEY($USERCOL, domain, contact)
 ) $TABLE_TYPE;
 
 
@@ -273,7 +291,9 @@ CREATE TABLE missed_calls (
   from_uri varchar(128) NOT NULL default '',
   to_uri varchar(128) NOT NULL default '',
   sip_callid varchar(128) NOT NULL default '',
-  username varchar(64) NOT NULL default '',
+  $USERCOL varchar(64) NOT NULL default '',
+  fromtag varchar(128) NOT NULL default '',
+  totag varchar(128) NOT NULL default '',
   time datetime NOT NULL default '0000-00-00 00:00:00',
   timestamp timestamp(14) NOT NULL
 ) $TABLE_TYPE;
@@ -289,7 +309,7 @@ CREATE TABLE missed_calls (
 
 CREATE TABLE pending (
   phplib_id varchar(32) NOT NULL default '',
-  username varchar(100) NOT NULL default '',
+  $USERCOL varchar(100) NOT NULL default '',
   password varchar(25) NOT NULL default '',
   first_name varchar(25) NOT NULL default '',
   last_name varchar(45) NOT NULL default '',
@@ -307,8 +327,8 @@ CREATE TABLE pending (
   perms varchar(32) default NULL,
   allow_find char(1) NOT NULL default '0',
   timezone varchar(128) default NULL,
-  PRIMARY KEY (username, domain),
-  KEY user_2 (username),
+  PRIMARY KEY ($USERCOL, domain),
+  KEY user_2 ($USERCOL),
   UNIQUE KEY phplib_id (phplib_id)
 ) $TABLE_TYPE;
 
@@ -322,7 +342,7 @@ CREATE TABLE pending (
 
 CREATE TABLE phonebook (
   id int(10) unsigned NOT NULL auto_increment,
-  username varchar(50) NOT NULL default '',
+  $USERCOL varchar(50) NOT NULL default '',
   fname varchar(32) NOT NULL default '',
   lname varchar(32) NOT NULL default '',
   sip_uri varchar(128) NOT NULL default '',
@@ -339,7 +359,7 @@ CREATE TABLE phonebook (
 
 
 CREATE TABLE reserved (
-  username char(100) NOT NULL default '',
+  $USERCOL char(100) NOT NULL default '',
   UNIQUE KEY user2(username)
 ) $TABLE_TYPE;
 
@@ -353,7 +373,7 @@ CREATE TABLE reserved (
 
 CREATE TABLE subscriber (
   phplib_id varchar(32) NOT NULL default '',
-  username varchar(100) NOT NULL default '',
+  $USERCOL varchar(100) NOT NULL default '',
   password varchar(25) NOT NULL default '',
   first_name varchar(25) NOT NULL default '',
   last_name varchar(45) NOT NULL default '',
@@ -372,8 +392,8 @@ CREATE TABLE subscriber (
   allow_find char(1) NOT NULL default '0',
   timezone varchar(128) default NULL,
   UNIQUE KEY phplib_id (phplib_id),
-  PRIMARY KEY (username, domain),
-  KEY user_2 (username)
+  PRIMARY KEY ($USERCOL, domain),
+  KEY user_2 ($USERCOL)
 ) $TABLE_TYPE;
 
 # hook-table for all posssible future config values
@@ -382,7 +402,7 @@ CREATE TABLE subscriber (
 CREATE TABLE config (
    attribute varchar(32) NOT NULL,
    value varchar(128) NOT NULL,
-   username varchar(100) NOT NULL default '',
+   $USERCOL varchar(100) NOT NULL default '',
    modified timestamp(14)
 ) $TABLE_TYPE;
 
@@ -415,11 +435,11 @@ CREATE TABLE domain (
 # Table structure for table 'uri' -- uri user parts users are allowed to use
 #
 CREATE TABLE uri (
-  username varchar(50) NOT NULL default '',
+  $USERCOL varchar(50) NOT NULL default '',
   domain varchar(50) NOT NULL default '',
   uri_user varchar(50) NOT NULL default '',
   last_modified datetime NOT NULL default '0000-00-00 00:00:00',
-  PRIMARY KEY (username, domain, uri_user)
+  PRIMARY KEY ($USERCOL, domain, uri_user)
 ) $TABLE_TYPE;
 
 #
@@ -482,14 +502,8 @@ CREATE TABLE server_monitoring_ul (
 # add an admin user "admin" with password==heslo, 
 # so that one can try it out on quick start
 
-INSERT INTO subscriber (username, password, first_name, last_name, phone, 
-	email_address, datetime_created, datetime_modified, confirmation, 
-	flag, sendnotification, greeting, ha1, domain, ha1b, phplib_id, perms ) 
-	VALUES ( 'admin', 'heslo', 'Initial', 'Admin', '123', 
-	'root@localhost', '2002-09-04 19:37:45', '0000-00-00 00:00:00', 
-	'57DaSIPuCm52UNe54LF545750cfdL48OMZfroM53', 'o', '', '', 
-	'0239482f19d262f3953186a725a6f53b', 'iptel.org', 
-	'a84e8abaa7e83d1b45c75ab15b90c320', '65e397cda0aa8e3202ea22cbd350e4e9', 'admin' );
+$INITIAL_USER
+
 
 
 EOF
@@ -499,7 +513,10 @@ EOF
 
 case $1 in
 	renew)
-		# backup, drop, restore (experimental)
+		# backup, drop, restore -- experimental; thought to
+		# deal with upgrade to new structures which include
+		# new tables or columns (troubles can appear if columns
+		# renamed); not tested too much yet
 		tmp_file=/tmp/ser_mysql.$$
 		ser_backup $DBNAME $SQL_USER > $tmp_file
 		ret=$?
@@ -512,7 +529,7 @@ case $1 in
 		if [ "$ret" -ne 0 ]; then
 			exit $ret
 		fi
-		ser_create $DBNAME $SQL_USER
+		ser_create $DBNAME $SQL_USER no_init_user
 		ret=$?
 		if [ "$ret" -ne 0 ]; then
 			exit $ret
@@ -536,7 +553,7 @@ case $1 in
 			rm $tmp_file
 			exit $ret
 		fi
-		ser_create $1 $SQL_USER
+		ser_create $1 $SQL_USER no_init_user
 		ret=$?
 		if [ "$ret" -ne 0 ]; then
 			rm $tmp_file