Opensips部署sip server,实现内外网的语音,视频,聊天功能
https://mp.weixin.qq.com/s/I1SytppCTCdsIAyVhW2QVA
如何实现使用opensips搭建内外网的语音,视频,聊天平台。此类应用场景有公司内网通信,内外网通信,opensips可提供进行sip信令处理,搭配如mysql,postgreSQL等数据库,rtp服务软件,进行用户认证,呼叫建立等。组网结构图:
本文是一例实操过程,完成几大模块搭建:Opensipsmysql-server
Opensips-cliOpensips-cp实现内网两台终端呼叫以下介绍各模块的搭建过程:
准备过程:本次搭建是基于ubuntu24.0操作系统
第一部分:操作系统及各组件安装操作系统安装这里就不再详细描述,直接从组件安装开始。操作系统建议使用root用户直接进行操作,避免权限问题影响程序执行如组件安装失败,建议拆分安装。
sudo apt-get install -y bison flex libconfuse-dev libcurl4-gnutls-dev libdb-dev libexpat1-dev libgeoip-dev libhiredis-dev libjson-c-dev libldap2-dev liblua5.1-0-dev libmaxminddb-dev libmemcached-dev libmicrohttpd libmicrohttpd-dev libmnl-dev libmysqlclient-dev libncurses5-dev libpcre3 libpcre3-dev libperl-dev libpq-dev librabbitmq-dev libradcli-dev libsctp-dev libsnmp-dev libsqlite3-dev libxml2-dev make odbcinst patch python-dev unixodbc unixodbc-dev uuid-dev zlib1g zlib1g-dev development mysql-serever netstat net-tools build-essential libssl-devsudo apt-get update #如不确定组件版本是否为新,可使用updata或upgrade自动检测升级相关组件。以上组件包含有部分ubuntu 管理类工具,如net-tools,netstat等。# 安装nginx1.17.0wget http://nginx.org/download/nginx-1.17.10.tar.gztar -zxvf nginx-1.17.10.tar.gzcd nginx-1.17.10/./configure --with-http_v2_modulemakesudo make installcd /usr/local/src/opensips-3.5.0/ #下载opensips3.5版本并上传到服务器并解压后进入解压目录。make menuconfig #配置安装条件======================
进入菜单选择信息[Configure Complie Options]--[Configure Excluded Modules]--[db_mysql]--[Configure Install Prefix]--[Save Changes]--【Complie And Install OpenSIPS]开始编译;
如果编译过程中有报错信息需要进行排查,可根据报错内容进行分析处理。=====================这里有提示缺失组件不用管。
sudo apt-get install opensips-clivi /etc/opensips/opensips-cli.cfg #创建opensips-cli.cfg这个文件,具体内容如下======================================================[default]#log_level: DEBUGlog_level: INFOprompt_name: opensips-cliprompt_intro: Welcome to OpenSIPS Command Line Interface!prompt_emptyline_repeat_cmd: Falsehistory_file: ~/.opensips-cli.historyhistory_file_size: 1000output_type: pretty-printcommunication_type: httpfifo_file: /tmp/opensips_fifo#database_schema_path:/opt/payne/share/opensips/mysqldatabase_schema_pat:/usr/local/src/opensips/scripts/mysqldatabase_admin_url: mysql://root:opensipsdb@localhostdatabase_url: mysql://opensips:opensipsrw@localhostdatabase_name: opensipsdatabase_modules: ALLdatabase_force_drop: true========================================================opensips-cli -x database create #使用cli创建opensips数据库# 安装opensips-cp控制界面# 安装组件sudo apt-get install httpd apache2 php php-curl php-gd php-pear php-cli php-mysql php-apcu libapache2-mod-php unzipcd /var/www/htmlunzip opensips-cp-9.3.4.zip #注意opensips-cp和Opensips版本有对应关系需要在官网上查询mv opensips-cp-9.3.4 opensips-cpchown -R www-data:www-data /var/www/html/opensips-cp/ #修改归属组cd /var/www/html/opensips-cp/config/tools/admin/db_config/vi db.inc.php//database host//$config->db_host_db_config = "localhost";//database port - leave empty for default//$config->db_port_db_config = "";//database connection user//$config->db_user_db_config = "root";//database connection password//$config->db_pass_db_config = "123456"; #mysql root用户密码//database name//$config->db_name_db_config = "opensips"; #数据库名称mysql -Dopensips < /var/www/html/opensips-cp/config/db_schema.mysql #创建cp数据库至此opensips,opensips-cli,opensips-cp全部安装完成,可通过创建用户来测试是否创建成功,并测试呼叫。(1) opensips-cli -x user add 1001 1234 #创建1001测试账号(2)opensips-cp管理界面登录
默认用户名密码admin/opensips(3) opensips-cp查看到的用户信息(4)测试呼叫
本次使用的是eyebeam测试
(5)呼叫测试;
至此该环境搭建完成;
补充信息:
(1)相关链接信息:
https://www.opensips.org/ —opensips官网,可下载opensips软件,官方指导文档,在线安装指导等。https://ftp.gnu.org/gnu/libmicrohttpd/ —libmicrohttpd 下载源https://github.com/nghttp2/nghttp2/releases —nghttp2 下载源https://pypi.org/simple/mysqlclient/ —mysqlclient 下载源https://sourceforge.net/software/business-voip/windows/ —比较全面的voip资源链接(2)相关的一些命令
重启opensipssystemctl restart opensipssystemctl stop opensipssystemctl status opensips重启apache2service apache2 restart重启Mysql service mysql restart(3)opensips-cli的命令详细说明还待补充完整