夜雨聆风学习资料网

ARTICLE · 1047868

kamailio学习之源码安装

kamailio学习之源码安装
简介
Kamailio®(前 OpenSER 和 SER 的继承者)是在 GPLv2+ 下发布的开源 SIP 服务器,每秒能够处理数千个呼叫设置。 Kamailio 可用于为 VoIP 和实时通信构建大型平台——在线状态、WebRTC、即时消息传递和其他应用程序。此外,它还可以轻松用于扩展 SIP 到 PSTN 网关、PBX 系统或媒体服务器,如 Asterisk™、FreeSWITCH™ 或 SEMS。强大的功能包括:异步 TCP、UDP 和 SCTP,通过 TLS 进行安全通信,用于 VoIP(语音、视频、文本); WebRTC 的 WebSocket 支持; IPv4 和 IPv6;通过嵌入式 XCAP 服务器和 MSRP 中继实现简单的即时消息传递和在线状态;异步操作; VoLTE 的 IMS 扩展;枚举; DID和最低成本路由;负载均衡;路由故障转移;会计、认证和授权;支持许多后端系统,例如 MySQL、Postgres、Oracle、Radius、LDAP、Redis、Cassandra、MongoDB、Memcached; Json和XMLRPC控制接口,SNMP监控。
安装
kamailio可选择是否使用数据库,数据库支持mysql、oracle等,目前采用mysql。
安装mysql
1. 查看linux版本,根据linux版本选择合适的mysql安装文件
lsb_release -a
2. 官网下载mysql安装包
3. 下载完毕后上传至linux服务器,本次上传目录:/home/app
4. 查看当前linux是否安装了mariadb以及mysql,若已安装则先删除
###### 查看命令rpm -qa|grep mariadbrpm -qa|grep mysql###### 删除命令rpm -e -nodeps mariadb-libs
5. 解压安装包
tar -xvf mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar
6. 解压后依次在解压目录执行安装
###### 安装顺序:common>libs>client>devel>server###### 安装common,输入命令:rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm###### 安装libs,输入命令:rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm###### 安装client,输入命令:rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm###### 安装devel,输入命令:rpm -ivh mysql-community-devel-5.7.22-1.el7.x86_64.rpm###### 安装server,输入命令:rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm###### 如果直接安装不了,则在后面加上 –nodeps --force 
7. 安装完毕后执行命令,查看是否安装成功
###### 查看是否全部安装完成rpm -qa |grep mysql
8. 初始化mysql
mysqld --initialize###### 输入权限设置命令###### 这个很关键,涉及mysql的权限,不设置会启动不了mysql服务chown mysql:mysql -R /var/lib/mysql ###### 启动Mysqlsystemctl start mysqld###### 设置开机自启动systemctl enable mysqld###### 查看 MySQL 运行状态systemctl status mysqld###### 查看默认的随机密码cat /var/log/mysqld.log |grep password###### 登录MySQL命令mysql -uroot -p ###### 输入密码,上一步复制即可###### 修改默认密码ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root@1234';###### 使操作生效flush privileges
安装Kamailio
1. 下载源码包:https://www.kamailio.org/pub/kamailio/5.6.1/bin/
2. 上传源码包到linux服务器,本次上传目录:/home/app
3. 解压安装包
tar -zxvf kamailio-5.6.1_src.tar.gz
4. 编译安装
make PREFIX="/usr/local/kamailio-5.6.1" include_modules="db_mysql" cfgmake allmake install###### 安装完毕后可执行文件在以下目录/user/local/kamailio-5.6.1/sbin###### 安装完毕后配置文件在以下目录/user/local/kamailio-5.6.1/etc/kamailio
5. 编辑配置文件
######编辑配置文件 /user/local/kamailio-5.6.1/etc/kamailio/kamctlrc主要内容如下######## your SIP domain SIP_DOMAIN=x.x.x.x(数据库主机IP)# If you want to setup a database with kamdbctl, you must at least specify# this parameter.DBENGINE=MYSQL## database hostDBHOST=x.x.x.x(数据库主机IP)## database name (for ORACLE this is TNS name)DBNAME=kamailio(数据库实例名,默认值即可)# database path used by dbtext or db_berkeley# DB_PATH="/usr/local/etc/kamailio/dbtext"## database read/write userDBRWUSER=kamailio(数据库拥有读写权限的用户)## password for database read/write userDBRWPW="kamailiorw"(数据库拥有读写权限的用户)## database read onlyuser# DBROUSER=kamailioroDBROUSER=kamailioro(数据库拥有只读权限的用户)## password for database read onlyuserDBROPW=kamailioro(数据库拥有只读权限的用户密码)## database super user (for ORACLE this is'scheme-creator'user)DBROOTUSER="root"user name columnUSERCOL="username"###### 编辑配置文件 /user/local/kamailio-5.6.1/etc/kamailio/kamailio.cfg主要内容如下 ############ 顶端添加以下参数#!define WITH_MYSQL#!define WITH_DEBUG###### 调整数据库配置,配置读写用户#!trydef DBURL "mysql://kamailio:kamailiorw@11.111.17.49/kamailio"
6. 初始化数据库
/usr/local/kamailio-5.6.1/sbin/kamdbctl create
7. 启动kamailio服务
/usr/local/kamailio-5.6.1/sbin/kamctl start
8. 其他常用命令
###### 重启服务/usr/local/kamailio-5.6.1/sbin/kamctl restart###### 配置检查/usr/local/kamailio-5.6.1/sbin/kamailio -c###### 若启动失败可使用以下命令启动,将异常输出到控制台方便排查/usr/local/kamailio-5.6.1/sbin/kamailio -M8-E--dd
9. 日志配置
vi /etc/rsyslog.conf###### 插入下面这行local0.*-/var/log/kamailio.log(可以注释修改人员和日期)###### 重启rsyslog 服务systemctl restart rsyslog.service 重启日志服务;###### 重启 kamailio/usr/local/kamailio-5.6.1/sbin/kamctl restart
通过以上步骤即可完成kamailio的源码安装,下一章将会介绍kamailio的另一种安装方法:docker镜像。
好了,如果您觉得文章对您有帮助,别忘了点赞跟关注~~~

相关学习资料