Iptel.org SER Free SIP Server 安装手册

时间:2021-03-09 00:35:51

1.下载 source code from website

http://www.iptel.org/,进入Downloads页面(http://www.iptel.org/download), Download一个release版本的SER source,这里  Downloadser-0.9.6_src.tar.gz (most recent released version)

2.解开这个压缩包

cp /root/Download/ser-0.9.6_src.tar.gz /home/

tar -xvzf ser-0.9.6_src.tar.gz, 这会产生出文件夹:ser-0.9.6

3.安装SER Server

cd /home/ser-0.9.6/(本人是将压缩包解到/home/路径下的)

make all

make install

cd /home/ser-0.9.6/modules/mysql/

注意:编译mysql相关文件,需要mysql development package,本人用fedora 9,使用yum install mysql-devel即可安装该开发包.       否则会编译错误(找不到mysql.h,errmsg.h,struct my_con).

make(产生出mysql.so以供后用)

cp mysql.so /usr/local/lib/ser/modules/

make clean(清除安装过程中产生的临时和无用的文件)

4.运行SER

/usr/local/sbin/ser start(此时的SER支持简单的callfeature, 但是对用户不进行任何认证)

你可以通过命令:ps -A|grep ser 来查看SER是否起来了

到这里,就可以在客户端进行注册。

注意:在进行客户端操作之前需要进行Firewall configurations,具体操作如下:

System-->Administration-->Firewall-->Other ports-->Add(user defined,5060/udp)

*****建立资料库对用户进行认证和管理*****

service mysqld start

5.对用户的认证和管理

1)添加domain

vi /etc/hosts

172.21.99.242abc.com

vi ~/.bash_profile

SIP_DOMAIN=abc.com

export SIP_DOMAIN

2)建立资料库:

首先确保你的pc已经安装过了mysql

建立资料库表格:/usr/local/sbin/ser_mysql.sh create

系统提示输入密码,初始密码是空,直接回车即可

[如果是升级旧的资料库用:/usr/local/sbin/ser_mysql.sh reinstall

如果想删除旧的资料库:/usr/local/sbin/ser_mysql.sh drop ]

如果你想查看资料库表格是否产生出来了,使用命令:

mysql -u root -p(登入mysql数据库,此时需要你的mysql数据库密码,初始是空, 直接回车即可)

connect ser

show tables;(注意需要分号)

用户添加在uri表中,可使用相应的sql语句进行操作。

这里需要先指定SIP_DOMAIN,然后才可以添加用户, 否则要在每个用户名中指定domain 很麻烦。

3)添加用户到资料库中:

/usr/local/sbin/serctl add username password email(example,serctl add 62358974 123456 dada@abc.com)

此时系统会提示你输入密码,初始密码是:heslo

删除用户使用命令 serctl rm username

如果你想查看用户是否被添加了出来,使用命令:

serctl rpid show

如果想查看注册用户,使用命令:

serctl showdb

6.修改SER配置文件(/usr/local/etc/ser/ser.cfg)

反注解掉下行,载入mysql以启动资料库

loadmodule "/usr/lib/ser/modules/mysql.so"(将行首的#号去掉即可)

反注解掉以下两行以启动身份验证

loadmodule "/usr/lib/ser/modules/auth.so"

loadmodule "/usr/lib/ser/modules/auth_db.so"

启用写入资料库功能:

注解掉:modparam("usrloc", "db_mode", 0)(此行是关闭写入资料库行为,故需注解掉,在行首加#号即为注解掉)

反注解掉:modparam("usrloc", "db_mode", 2)(此行是周期性的将资料写入资料库)

启用将密码以未加密的形式存储功能,以便于管理,需反注解掉以下两行

modparam ("auth_db", "calculate_ha1", yes)

modparam ("auth_db", "password_column", "password")

最后反注解掉以下几行

if (!www_authorize("iptel.org", "subscriber"))

{

www_challenge("iptel.org", "0");

break;

};

7.restart SER 以使以上设置生效

注意,启动SER之前须先启动mysql:service mysqld start