Sip服务器搭建全过程


环境:ubuntu14.04

虚拟机网络适配器改为桥接模式(自动)

桥黑板,重点提醒:

*****安装过程中及时使用虚拟机快照功能*****

快照使用:https://jingyan.baidu.com/article/1709ad806e1ebb4635c4f048.html

极度郁闷:安装过程中提示错误,网上查找都说在目录/var/log目录下有对应的日志文件,但我实际安装过程中虽然有生成这些文件,但是不会更新记录错误信息,很是郁闷。下面所说的问题解决方法,都是自己查找资料,实验得出来的,按照这个操作步骤,及时使用虚拟快照功能(防止误操作从头来过),将sip服务器搭建起来是没有问题的。

有知道日志是什么回事的请告知!!!


1. 关于mysql数据库

a)  安装mysql

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

这里输入的密码是root数据库的密码

b)  卸载mysql

删除mysql的数据文件

sudo rm /var/lib/mysql/ -R

删除mysql的配置文件

sudo rm /etc/mysql/ -R

自动卸载mysql(包括server和client)

sudo apt-get autoremove mysql* --purge

sudo apt-get remove apparmor

检查是否卸载干净

dpkg -l | grep mysql # 若没有返回,说明已完成卸载

 

2. 关于opensips安装

过程中可能涉及到权限问题,为了方便在root操作

a)  下载opensips

官网下载地址:http://www.opensips.org/Resources/Downloads

我这里使用的是在虚拟机下git直接下载

git clone https://github.com/OpenSIPS/opensips.git -b2.2 opensips-2.2

b)  编译opensips

最最重要的就是把db_mysql模块编译进去

make menuconfig 执行此命令直接退出,会在源码根目录下生成Makefile.conf文件(使用左右键进入/返回菜单;opensis中默认是不支持mysql的,需要手动修改Makefile.conf文件)

sip服务开发 java sip服务器搭建 视频_服务器

修改Makefile.conf文件:

在exclude_modules中删掉db_mysql,

在include_modules中添加db_mysql,

修改安装目录为PREFIX=/usr/local/opensips/

sip服务开发 java sip服务器搭建 视频_mysql_02

make all

make install

c)  配置opensips

cd /usr/local/opensips/

目录结构如下

sip服务开发 java sip服务器搭建 视频_IP_03

这里有两个文件需要修改,opensipsctlrc和oepnsips.cfg

修改opensipsctlrc文件

sip服务开发 java sip服务器搭建 视频_服务器_04

将对应字段的注释打开,部分需要手动修改

ip为自己主机ip

 

修改opensips.cfg文件(这个地方是个天坑)

使用make menuconfig菜单工具生成一个opensips.cfg文件

sip服务开发 java sip服务器搭建 视频_sip服务开发 java_05

sip服务开发 java sip服务器搭建 视频_mysql_06

sip服务开发 java sip服务器搭建 视频_mysql_07

sip服务开发 java sip服务器搭建 视频_IP_08

sip服务开发 java sip服务器搭建 视频_mysql_09

这一步记住自己菜单中生成的 .cfg文件名

退出菜单后

cd etc/

mv opensips_residential_2018-2-7_3\:59\:1.cfgopensips.cfg

cp opensips.cfg /usr/local/opensips/etc/opensips/opensips.cfg


这里之后开始真正地修改opensips.cfg文件

sip服务开发 java sip服务器搭建 视频_sip服务开发 java_10

d)  创建opensips数据库

cd /usr/local/opensips/sbin

检测配置文件语法

./opensips -C

创建数据库

./opensipsdbctl create

sip服务开发 java sip服务器搭建 视频_服务器_11

MySQL password for root:输入安装mysql时的(root)密码

报错1:

sip服务开发 java sip服务器搭建 视频_服务器_12

解决方法:

修改my.cnf文件

vi /etc/mysql/my.cnf

sip服务开发 java sip服务器搭建 视频_IP_13

重新启动mysql

sip服务开发 java sip服务器搭建 视频_服务器_14

报错2:

sip服务开发 java sip服务器搭建 视频_sip服务开发 java_15

解决方法:

sip服务开发 java sip服务器搭建 视频_服务器_16

mysql安装的root数据库密码为1

%使所有外部ip地址都能访问使用mysql

 

e)  开启opensips服务

./opensipsctl start      #开启opensips服务

./opensipsctl stop       #关闭opensips服务

./opensipsctl restart    #重启opensips服务 

sip服务开发 java sip服务器搭建 视频_sip服务开发 java_17

报错1:

sip服务开发 java sip服务器搭建 视频_mysql_18

解决方法:

vi/usr/local/opensips/etc/opensips/opensips.cfg

sip服务开发 java sip服务器搭建 视频_服务器_19

修改为modules实际路径

f)  添加sip用户

./opensipsctl add username password       #添加用户

./opensipsctl rm username                 #删除用户

sip服务开发 java sip服务器搭建 视频_IP_20

g)  查看sip用户

可以使用mysql -u opensips -p而后输入你的密码,就能够通过show databases;查看数据库,再使用use opensips;并且show tables;就可以查看opensips数据库里的表格,最后使用select * from subscriber;便能够查看添加的sip用户情况

默认的opensips的数据库密码为opensipsrw

sip服务开发 java sip服务器搭建 视频_IP_21

h)  查看在线用户

./opensipsctl ul show

./opensipsctl online

这个时候查询还没有效果,先进行下一步使用Linphone注册sip账户,注册之后再查看就会显示在线

3. 关于Linphone安装

a)  PC机安装Linphone

百度软件中心(普通下载):http://rj.baidu.com/soft/detail/35293.html?ald

b)  手机安装Linphone

绿色资源网(其他下载地址):http://www.downcc.com/soft/342710.html

c)  设置PC机Linphone

Options->SIP账户管理

sip服务开发 java sip服务器搭建 视频_mysql_22

1. 填写自己的显示名称,随便填,不重要;

2. 填写自己sip服务器上已经注册的账户;

3. 添加sip代理账户;

4. 按格式填写,IP为PC机IP地址,5060默认端口;

5. 按格式填写,IP为SIP服务器地址,5060默认端口;

添加联系人

sip服务开发 java sip服务器搭建 视频_服务器_23

1. 点击添加Linphone联系人;

2. 填写联系人名称;

3. 按格式填写,IP为SIP服务器地址,5060默认端口;

4. 自动识别,不用改;

d)  设置手机端Linphone

注册sip用户

sip服务开发 java sip服务器搭建 视频_mysql_24

 

sip服务开发 java sip服务器搭建 视频_sip服务开发 java_25

    

sip服务开发 java sip服务器搭建 视频_mysql_26

 

sip服务开发 java sip服务器搭建 视频_sip服务开发 java_27

      4.sip服务器注册用户的usrname;

      5.sip服务器注册用户的password;

      6.sip服务器的IP地址;

      7.选择UDP;

      9.直接选择Maybe later,其他不用管;

 

sip服务开发 java sip服务器搭建 视频_mysql_28

      10.圆点变绿表示自己在线,才能和其他客户端通信;

      11.自动填充的格式,IP为sip服务器地址;

添加联系人

     

sip服务开发 java sip服务器搭建 视频_IP_29

      2.拨打用户的名称,不重要;

      3.按格式填写,联系人的sip地址,ip为sip服务器地址,5060为默认端口;

      4.sip服务器注册好的sip用户名称;

按手机添加联系人理解

4. 互相拨打电话测试