SER基本使用
说明,当前2.0.x已经发布,但以下内容还是基于SER 0.9.x。
一、 SER的结构
SER由一个core和大量module组成,core接收sip消息并进行基本处理,module输出函数供core调用,modules实现了SER的绝大部分功能;配置文件ser.cfg定义了core对modules的调用,也包括了modules的参数配置。ser.cfg是SER业务功能定义的核心。
各module的详细文档参考modules目录中各module对应目录下的README文件,该文档说明了该module的可配置参数、输出函数、对其他module的依赖等信息。
二、 SER基本安装配置
Ser提供了二进制方式的安装包,我只用过从源码编译安装,环境Red Hat Linux AS4。按以下步骤安装后可以进行无认证的SIP注册,可以作为基本的proxy server使用。
make
make install
这将安装到/usr/local下,配置文件是/usr/local/etc/ser/ser.cfg,使用man ser查看目录信息;
如果需要安装到指定目录,命令为
make prefix=/your_path all
make prefix=/ your_path install
安装完后使用serctl start命令启动服务器就可以了。
三、 增加Mysql支持
建库:
脚本/usr/sbin/ser_mysql.sh是SER mysql操作工具,提供了数个命令参数用于数据库处理,其中参数create用于新建数据库和tables,并会增加一个uri为root@localhost的用户,其realm是脚本执行时要求用户输入的参数。
建立的数据库,SER会使用用户ser登录,相应登录密码为heslo;
相关配置参考下文ser.cfg的说明;
上文可参考SER的INSTALL文档;
编译:
以下步骤与INSTALL文档的说明不同;
进入modules/acc,提供提示信息更改Makefile,即增加“DEFS+=-DSQL_ACC”即可;然后进入主目录,只需make/make install等;
需要手动编译mysql.so库:进入modules/mysql目录,执行make,将生成的mysql.so copy到ser安装目录的modules目录,默认为/usr/local/lib/ser/modules。
附录,Mysql的简单使用:
1, 将root设置为mysql的用户,并设置密码:# mysqladmin -u root password yourpwd
2, 登录mysql: