OpenSIPS / opensips-cli

OpenSIPS CLI tool - an interactive command line tool that can be used to control and monitor OpenSIPS servers.
GNU General Public License v3.0
85 stars 48 forks source link

opensips DB not creating using opensip-cli #59

Closed Avdhesh2828 closed 4 years ago

Avdhesh2828 commented 4 years ago

Hi I am not able to create opensips DB using opensips-cli command. I was manully able to import mysql schema in opensips db. However not able to import all schema.

Installe Opensips in : /usr/src/opensips-3.0.2/ Opensips-cli: /usr/local/bin/opensips-cli

root@ip-xxxxxx:~# python --version Python 2.7.17 root@ip-xxxxxxx:~# MYSQL version : 5.7 OS version: Ubuntu 18.04

root@ip-xxxxxxx:/usr/src/opensips-cli# opensips-cli -i opensips-1 -f /etc/opensips-cli.cfg -d DEBUG: using config file /etc/opensips-cli.cfg Welcome to OpenSIPS at SECUREVOIP DEBUG: Loaded module 'database' DEBUG: Loaded module 'diagnose' DEBUG: Loaded module 'instance' DEBUG: Loaded module 'mi' DEBUG: sent command ':opensips_fifo_reply_2348:{"jsonrpc": "2.0", "id": "25302", "method": "which", "params": []}' database create

I was also consistently getting this error: root@ip-xxxxx:/usr/local/bin# opensips-cli -i opensips-1 -f /etc/opensips-cli.cfg Welcome to OpenSIPS at SECUREVOIP (opensips-cli): database create Password for admin MySQL user (root): ERROR: path '/usr/share/opensips' to OpenSIPS DB scripts does not exist! (opensips-cli): exit root@ip-xxxxxxxxxx:/usr/local/bin#

More info: root@ip-xxxxxxxxxx:/usr/src/opensips-cli# cat /etc/opensips-cli.cfg [opensips-1] log_level: WARNING prompt_name: opensips-cli prompt_intro: Welcome to OpenSIPS at SECUREVOIP prompt_emptyline_repeat_cmd: False history_file: ~/.opensips-cli.history history_file_size: 1000 output_type: pretty-print communication_type: fifo fifo_file: /tmp/opensips_fifo database_path: /usr/src/opensips-3.0.2/scripts/ database_url: mysql://root:password@localhost database_name: opensips root@ip-xxxxxx:/usr/src/opensips-cli#

root@ip-xxxxxxxxxx:~# opensips -V version: opensips 3.0.2 (x86_64/linux) flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll, sigio_rt, select. git revision: 7e8167853 main.c compiled on 05:37:12 Jun 3 2020 with gcc 7 root@ip-xxxxxxxxx:~#

root@ip-xxxxxxxxxx:~# dpkg -L opensips-mysql-module /. /usr /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/opensips /usr/lib/x86_64-linux-gnu/opensips/modules /usr/lib/x86_64-linux-gnu/opensips/modules/db_mysql.so /usr/lib/x86_64-linux-gnu/opensips/opensipsctl /usr/lib/x86_64-linux-gnu/opensips/opensipsctl/opensipsctl.mysql /usr/lib/x86_64-linux-gnu/opensips/opensipsctl/opensipsdbctl.mysql /usr/share /usr/share/doc /usr/share/doc/opensips-mysql-module /usr/share/doc/opensips-mysql-module/README.db_mysql /usr/share/doc/opensips-mysql-module/copyright /usr/share/opensips /usr/share/opensips/mysql /usr/share/opensips/mysql/acc-create.sql /usr/share/opensips/mysql/alias_db-create.sql /usr/share/opensips/mysql/auth_db-create.sql /usr/share/opensips/mysql/avpops-create.sql /usr/share/opensips/mysql/b2b-create.sql /usr/share/opensips/mysql/b2b_sca-create.sql /usr/share/opensips/mysql/cachedb_sql-create.sql /usr/share/opensips/mysql/call_center-create.sql /usr/share/opensips/mysql/carrierroute-create.sql /usr/share/opensips/mysql/closeddial-create.sql /usr/share/opensips/mysql/clusterer-create.sql /usr/share/opensips/mysql/cpl-create.sql /usr/share/opensips/mysql/dialog-create.sql /usr/share/opensips/mysql/dialplan-create.sql /usr/share/opensips/mysql/dispatcher-create.sql /usr/share/opensips/mysql/domain-create.sql /usr/share/opensips/mysql/domainpolicy-create.sql /usr/share/opensips/mysql/drouting-create.sql /usr/share/opensips/mysql/emergency-create.sql /usr/share/opensips/mysql/fraud_detection-create.sql /usr/share/opensips/mysql/group-create.sql /usr/share/opensips/mysql/imc-create.sql /usr/share/opensips/mysql/load_balancer-create.sql /usr/share/opensips/mysql/msilo-create.sql /usr/share/opensips/mysql/permissions-create.sql /usr/share/opensips/mysql/presence-create.sql /usr/share/opensips/mysql/registrant-create.sql /usr/share/opensips/mysql/registrar-create.sql /usr/share/opensips/mysql/rls-create.sql /usr/share/opensips/mysql/rtpproxy-create.sql /usr/share/opensips/mysql/siptrace-create.sql /usr/share/opensips/mysql/speeddial-create.sql /usr/share/opensips/mysql/standard-create.sql /usr/share/opensips/mysql/tls_mgm-create.sql /usr/share/opensips/mysql/uri_db-create.sql /usr/share/opensips/mysql/userblacklist-create.sql /usr/share/opensips/mysql/usrloc-create.sql /usr/share/doc/opensips-mysql-module/changelog.Debian.gz root@ip-xxxxxxxxx:~#

Please suggest Thanks

liviuchircu commented 4 years ago

hey @Avdhesh2828 - this is a very strange error, since the /usr/share/opensips directory seems to exist. Can you provide the output of the following, please:

ls -l /usr/share | grep opensips

Also, I noticed you are using "database_path", which is not valid anymore in the latest CLI version. So please pull the latest CLI code, change that setting to database_schema_path and try again!

Cheers,

Avdhesh2828 commented 4 years ago

Thanks @liviuchircu for responding and thank you for help

As per suggested follow the documentation: https://github.com/OpenSIPS/opensips-cli/blob/master/docs/modules/database.md#setting-up-the-database-module

I have made these entries like, still same issue. Not Able to createDB. Please find below:

[opensips-1]
 log_level: WARNING
 prompt_name: opensips-cli
 prompt_intro: Welcome to OpenSIPS at SECUREVOIP
 prompt_emptyline_repeat_cmd: False
 history_file: ~/.opensips-cli.history
 history_file_size: 1000
 output_type: pretty-print
 communication_type: fifo
 fifo_file: /tmp/opensips_fifo
 database_schema_path: /usr/src/opensips-3.0.2/scripts/
 database_admin_url: mysql://root:@localhost
 database_url: mysql://opensips:opensipsrw@localhost
 database_name: opensips
 database_modules: ALL
root@ip-XXXXXXXXX:~#
root@ip-XXXXXXX:~# cat /etc/opensips-cli.cfg
[opensips-1]
 log_level: WARNING
 prompt_name: opensips-cli
 prompt_intro: Welcome to OpenSIPS at SECUREVOIP
 prompt_emptyline_repeat_cmd: False
 history_file: ~/.opensips-cli.history
 history_file_size: 1000
 output_type: pretty-print
 communication_type: fifo
 fifo_file: /tmp/opensips_fifo
 database_schema_path: /usr/src/opensips-3.0.2/scripts/
 database_admin_url: mysql://root:password@localhost
 database_url: mysql://opensips:opensipsrw@localhost
 database_name: opensips
 database_modules: ALL
root@ip-XXXXXX:~#
root@ipXXXXXXXXXX:~# opensips-cli -i opensips-1 -f /etc/opensips-cli.cfg -d -x database create
DEBUG: using config file /etc/opensips-cli.cfg
DEBUG: Loaded module 'database'
DEBUG: Loaded module 'diagnose'
DEBUG: Loaded module 'instance'
DEBUG: Loaded module 'mi'
DEBUG: sent command ':opensips_fifo_reply_32629:{"jsonrpc": "2.0", "id": "8900", "method": "which", "params": []}'
^CTraceback (most recent call last):
  File "/usr/local/bin/opensips-cli", line 4, in <module>
    __import__('pkg_resources').run_script('opensipscli==0.1.0', 'opensips-cli')
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 658, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1438, in run_script

root@ip-XXXXXX~# ls -l /usr/share | grep opensips
lrwxrwxrwx   1 root root    24 Jun  4 04:07 open -> /usr/local/etc/opensips/
drwxr-xr-x   5 root root  4096 Jun  5 05:44 opensips
root@ip-XXXXXXXX:~#

Thanks

Avdhesh2828 commented 4 years ago

One more update: If I am trying to import .sql file manually, it giving me error:

root@ip-XXXXXXX:/usr/share/opensips/mysql# mysql -u root -p opensips < usrloc-create.sql
Enter password:
ERROR 1146 (42S02) at line 1: Table 'opensips.version' doesn't exist
root@ipXXXXXXX:/usr/share/opensips/mysql# ls -lthr | grep -i version
root@ip-XXXXXXXX:/usr/share/opensips/mysql#
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| opensips           |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql>
Avdhesh2828 commented 4 years ago

@liviuchircu : Did you get any chance to look in to my case?

Appreciate for your help.

Thanks, Avdhesh

liviuchircu commented 4 years ago

@Avdhesh2828 That traceback is really strange, is your opensips-cli stuck?! If yes, I suspect you are running some kind of OpenSIPS 2.4 installed from packages, so the /tmp/opensips_fifo file belongs to it and it gets the CLI stuck, since they are not compatible (you need 3.0+). Here is the exact same output when I do this:

[liviu ◄ Z370 opensips-2.4 (2.4)]$ opensips-cli -d -x database create kkkt
DEBUG: using config file /home/liviu/.opensips-cli.cfg
DEBUG: Loaded module 'database'
DEBUG: Loaded module 'diagnose'
DEBUG: Loaded module 'instance'
DEBUG: Loaded module 'mi'
DEBUG: sent command ':opensips_fifo_reply_3134:{"jsonrpc": "2.0", "id": "4634", "method": "which", "params": []}'

^CTraceback (most recent call last):
  File "/usr/local/bin/opensips-cli", line 4, in <module>
    __import__('pkg_resources').run_script('opensipscli==0.1.0', 'opensips-cli')
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 658, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1438, in run_script
    exec(code, namespace, namespace)
  File "/usr/local/lib/python3.6/dist-packages/opensipscli-0.1.0-py3.6.egg/EGG-INFO/scripts/opensips-cli", line 9, in <module>
    run_console()
  File "/usr/local/lib/python3.6/dist-packages/opensipscli-0.1.0-py3.6.egg/EGG-INFO/scripts/opensips-cli", line 6, in run_console
    main.main()
  File "/usr/local/lib/python3.6/dist-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/main.py", line 77, in main
    shell = cli.OpenSIPSCLIShell(args)
  File "/usr/local/lib/python3.6/dist-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/cli.py", line 84, in __init__
    self.update_instance(cfg.current_instance)
  File "/usr/local/lib/python3.6/dist-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/cli.py", line 159, in update_instance
    self.modules[name] = (imod, mod.__get_methods__(imod))
  File "/usr/local/lib/python3.6/dist-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/modules/mi.py", line 181, in __get_methods__
    return comm.execute('which')
  File "/usr/local/lib/python3.6/dist-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/comm.py", line 40, in execute
    ret = comm_handler.execute(cmd, params)
  File "/usr/local/lib/python3.6/dist-packages/opensipscli-0.1.0-py3.6.egg/opensipscli/communication/fifo.py", line 64, in execute
    with open(reply_fifo_file, 'r') as reply_fifo:
KeyboardInterrupt
Avdhesh2828 commented 4 years ago

I was able to fix it, did a fresh install with these below steps:

apt update && apt upgrade -y && apt -y install m4 git nano sudo curl dbus apache2 lsb-release apt -y install monit apt -y install curl apt-transport-https ca-certificates sudo apt install software-properties-common sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update apt update && apt -y install php7.3 php7.3-gd php7.3-mysql php7.3-xmlrpc php-pear php7.3-cli php-apcu php7.3-curl php7.3-xml libapache2-mod-php7.3 pear install MDB2#mysql

Change in file /etc/php/7.3/apache2/php.ini

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup sudo apt update sudo apt install mysql-server sudo mysql_secure_installation apt -y install dirmngr && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 049AD65B echo "deb https://apt.opensips.org $(lsb_release -sc) 3.0-releases" >/etc/apt/sources.list.d/opensips.list echo "deb https://apt.opensips.org $(lsb_release -sc) cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list apt update && apt -y install opensips opensips-cli opensips-*-modules python3-mysqldb python3-sqlalchemy python3-sqlalchemy-utils apt -y install opensips-mysql-module apt-get install python3-pymysql

root@ip-XXXXXX:~# cat /etc/opensips-cli.cfg [opensips-1] log_level: WARNING prompt_name: opensips-cli prompt_intro: Welcome to OpenSIPS at SECUREVOIP prompt_emptyline_repeat_cmd: False history_file: ~/.opensips-cli.history history_file_size: 1000 output_type: pretty-print communication_type: fifo fifo_file: /tmp/opensips_fifo database_admin_url: mysql://root:XXXXXX@localhost database_url: mysql://opensips:XXXXXXX@localhost database_name: opensips database_modules: ALL root@ip-XXXXXX:~#