本文介绍在Ubuntu 18.04/Ubuntu 16.04/CentOS 7系统上安装Kamailio SIP的方法,要说明的是,安装方法有所不同,请注意看说明,配置方法是一样的。
一、安装MariaDB参考文章 可以选择安装MariaDB,参考下面两篇文章: 在Ubuntu 18.04系统上安装MariaDB 10.4的步骤 在CentOS 7服务器中安装MariaDB 10.4的方法
二、添加Kamailio apt存储库及在CentOS 7上安装Kamailio 1、如果运行Ubuntu 16.04系统,则可以添加以下Kamailio存储库以用于安装Kamailio SIP代理服务器。 首先,下载并将我们的GPG密钥添加到你的apt密钥列表: wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | sudo apt-key add - 然后将存储库行添加到/etc/apt/sources.list文件中,具体取决于你选择的Kamailio版本,本文以添加5.1为例: $ sudo vim /etc/apt/sources.list.d/kamailio.list 添加内容: deb http://deb.kamailio.org/kamailio51 xenial main deb-src http://deb.kamailio.org/kamailio51 xenial main 2、对于Ubuntu 18.04系统,不需要添加存储库,因为最新的软件包可以在上游存储库中使用。 3、在CentOS 7系统上先将SELinux设置为允许/禁用模式,可以参考在RHEL 8/CentOS 8系统中禁用SELinux的方法。 然后添加Kamailio RPM存储库: cat >/etc/yum.repos.d/kamailio.repo<<EOF [home_kamailio_v5.1.x-rpms] name=RPM Packages for Kamailio v5.1.x (CentOS_7) type=rpm-md baseurl=http://download.opensuse.org/repositories/home:/kamailio:/v5.1.x-rpms/CentOS_7/ gpgcheck=1 gpgkey=http://download.opensuse.org/repositories/home:/kamailio:/v5.1.x-rpms/CentOS_7/repodata/repomd.xml.key enabled=1 EOF 更新包列表索引: sudo yum makecache fast 下面给出命令直接在CentOS 7上安装Kamailio: sudo yum install -y vim kamailio kamailio-presence kamailio-ldap kamailio-mysql kamailio-postgres kamailio-debuginfo kamailio-xmpp kamailio-unixodbc kamailio-utils kamailio-tls kamailio-outbound kamailio-gzcompress 查看版本号运行$ kamailio -version命令即可,到这里就完成在CentOS 7上安装Kamailio了,配置方法请参考下面的在Ubuntu 18.04/Ubuntu 16.04上安装Kamailio过程。
三、在Ubuntu 18.04/Ubuntu 16.04上安装Kamailio 配置存储库后,更新系统并安装Kamailio,你还将安装Kamailio MySQL模块: $ sudo apt install kamailio kamailio-mysql-modules 例如,要能够加载websocket模块,必须安装包kamailio-websocket-modules: $ sudo apt install kamailio-websocket-modules 完成上述命令后,可以检查kamailio应用程序是否可用,并使用kamailio -V确认已安装的版本 $ which kamailio /usr/sbin/kamailio $ kamailio -V 注:以下为配置Kamailio的过程,Ubuntu 18.04/Ubuntu 16.04/CentOS 7系统通用。 编辑文件/etc/kamailio/kamctlrc并确保将DBENGINE变量设置为MySQL,删除#符号以取消注释: $ sudo vim /etc/kamailio/kamctlrc 将数据库引擎设置为MYSQL: DBENGINE=MYSQL
接下来是为Mysql创建数据库,下面的命令将创建Kamailio(Schema)所需的用户和表:
$ kamdbctl create INFO: creating database kamailio ... INFO: granting privileges to database kamailio ... INFO: creating standard tables into kamailio ... INFO: Core Kamailio tables succesfully created. Install presence related tables? (y/n): y INFO: creating presence tables into kamailio ... INFO: Presence tables succesfully created. Install tables for imc cpl siptrace domainpolicy carrierroute drouting userblacklist htable purple uac pipelimit mtree sca mohqueue rtpproxy rtpengine? (y/n): y INFO: creating extra tables into kamailio ... INFO: Extra tables succesfully created. Install tables for uid_auth_db uid_avp_db uid_domain uid_gflags uid_uri_db? (y/n): y INFO: creating uid tables into kamailio ... INFO: UID tables succesfully created. 系统将提示你提供mysql root密码。 /etc/kamailio/kamailio.cfg是kamailio的配置文件,编辑它以启用随附的一些功能。 你还可以设置SIP域: $ sudo vim /etc/kamailio/kamctlrc ## your SIP domain 比如:SIP_DOMAIN=ywnz.com 如果你的本地网络上没有可用的DNS服务器,也可以使用IP地址代替域名。 在#!KAMAILIO下方添加以下行: #!define WITH_MYSQL #!define WITH_AUTH #!define WITH_USRLOCDB #!define WITH_ACCDB 这些指令将打开必要的模块,例如,当你指定时,WITH_MYSQL它可以加载mysql.so: #!ifdef WITH_MYSQL loadmodule "db_mysql.so" #!endif 然后启动Kamailio服务: $ sudo systemctl restart kamailio 你的Kamailio服务应该正在运行,可以使用以下命令确认: # systemctl status kamailio
如果遇到Kamailio服务的任何问题,可以在/var/log/kamailio.log上找到这些日志。至此,安装及配置Kamailio SIP完成了。
相关主题 |