热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Ubuntu12.04下编译Kamailio4.1.0

Kamailio项目诞生于2005年7月,它是从德国FhGFOKUS研究所主导的SIPExpressRouter(SER)项目组分裂出来的。新项目建立的目标是创建一个开放的开发环境,以建立一个强大的可扩展的开源SIP服务器。最初,新项目命名为OpenSer,后来因为商标侵权问题,在2008年7月28号,重命名为Kamailio(另外一个分枝是OpenSips)。Kamailio的官方主

Kamailio项目诞生于2005年7月,它是从德国FhG FOKUS研究所主导的SIP Express Router(SER)项目组分裂出来的。新项目建立的目标是创建一个开放的开发环境,以建立一个强大的可扩展的开源SIP服务器。最初,新项目命名为OpenSer,后来因为商标侵权问题,在2008年7月28号,重命名为Kamailio(另外一个分枝是OpenSips)。

Kamailio的官方主页是http://www.kamailio.org 。1.5.x前的版本,其源码托管在sourceforge.net的SVN库上。从3.0.0版开始,源码托管在sip-router.org的GIT库上。

2008年11月,Kamailio和SER的开发团队再度携手合作,整合两个SIP服务应用项目。整合结束后发布的V3.0.0版,在同一源码树包含了这两个应用。换句话说,从源码角度,Kamailio和SER已经合并为一个应用。不同的地方仅是编译时选择的名字和缺省配置的加载模块而已。

不同于PBX,KAMAILIO是个纯粹的SIP服务器,它可以作为PROXY、注册服务器、重定向服务器,也可作为简单的PRESENCE服务器,其本身并不处理RTP,可能通过RTPPROXY来处理RTP的NAT问题。

Kamailio History

1 编译前准备

sudo apt-get install gcc

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install libmysqlclient15-dev

sudo apt-get install make

sudo apt-get install libcurl4-openssl-dev

sudo apt-get install libxml2-dev

sudo apt-get install libpcre3-dev

2 编译过程

2.1 下载源码 wget http://www.kamailio.org/pub/kamailio/latest/src/kamailio-4.1.1_src.tar.gz

2.2 解压缩 tar -zxvf kamailio-4.1.0_src.tar.gz

2.3 vi modules.lst, 将db_mysql这个变量从exclude_modules里面移除掉,然后保存并退出。

2.4 设置cfg。 make include_modules="db_mysql dialplan" cfg

2.5 make all

3 安装与配置

3.1 make install

3.2 配置/usr/local/etc/kamailio/kamailio.cfg

#!define WITH_AUTH
#!define WITH_USRLOCDB
#!define WITH_NAT
#!define WITH_MYSQL

3.3 配置 /usr/local/etc/kamailio/kamctlrc

SIP_DOMAIN= x.x.x.x

DBENGINE=MYSQL

## database host
DBHOST=localhost

## database name (for Oracle this is TNS name)
DBNAME=kamailio

# database path used by dbtext, db_berkeley or sqlite
# DB_PATH="/usr/local/etc/kamailio/dbtext"

## database read/write user
DBRWUSER="kamailio"

## password for database read/write user
DBRWPW="kamailiorw"

## database read only user
DBROUSER="kamailioro"

3.4 安装 mysql server:

3.5 建立数据库: /usr/local/sbin/kamdbctl create

3.6 增加用户: kamctl add 1 1

3.7 安装rtpproxy: apt-get install rtpproxy

3.8 配置rtpproxy: vim /etc/default/rtpproxy, 内容改成如下:

# Defaults for rtpproxy

# The control socket.
#CONTROL_SOCK="unix:/var/run/rtpproxy/rtpproxy.sock"
# To listen on an UDP socket, uncomment this line:
CONTROL_SOCK=udp:127.0.0.1:7722

# Additional options that are passed to the daemon.
EXTRA_OPTS=""
LISTEN_ADDR=x.x.x.x #公网IP
EXTRA_OPTS="-l ${LISTEN_ADDR}"

3.9 重启rtpproxy: /etc/init.d/rtpproxy restart

4.0 启动服务:./kamctl start

RedHat 5系统上SIP服务器Kamailio-3.2.2安装  http://www.linuxidc.com/Linux/2012-02/54055.htm

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2


推荐阅读
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • PHP函数实现分页含文本分页和数字分页【PHP】
    后端开发|php教程PHP,分页后端开发-php教程最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。影视网源码带充值系统,vscode配置根 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • PHP连接MySQL的2种方法小结以及防止乱码【PHP】
    后端开发|php教程PHP,MySQL,乱码后端开发-php教程PHP的MySQL配置报错信息:ClassmysqlinotfoundinAnswer:1.在confphp.ini ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • python3.7 安装pip3_python3的pip3安装
    ---恢复内容开始---pip3的安装需要对应一整套python的编译工具库,所以安装好的pip3是这个样子:inearAi:~$pip3-Vpi ... [详细]
author-avatar
爱得书签_902
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有