DevOps研发效能
媒体矩阵
开源中国APP
授权协议 GPLv2
开发语言 C/C++
操作系统 Linux
软件类型 开源软件
所属分类 企业应用开源SIP项目
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2009-06-01

软件简介

Kamailio是一个开源的SIP服务器,原名OpenSER 

Kamailio is an Open Source, GPL2, SIP Server Routing Platform. It is written in C for Linux/Unix plaforms and focuses on performance, flexibility and security.

On Nov 04, 2008, Kamailio and SIP Express Router have started the SIP Router Project.

Kamailio 诞生于 2005 年 7 月,它是从德国 FhG FOKUS 研究所主导的 SIP Express Router(SER) 项目组分裂出来的。新项目建立的目标是创建一个开放的开发环境,以建立一个强大的可扩展的开源 SIP 服务器。Kamailio 是个纯粹的 SIP 服务器,它可以作为 PROXY、注册服务器、重定向服务器,也可作为简单的 PRESENCE 服务器。

Web links

  • Home page with new project name: http://www.kamailio.org

  • Home page with old project name: http://www.openser-project.org

  • SourceForge.net Project page: http://sourceforge.net/projects/openser/

Features

  • SIP proxy/registrar/redirect server (RFC3261, RFC3263)

  • UDP/TCP/TLS/SCTP support

  • Transactional stateful proxy

  • Modular architecture

  • Programmable configuration file

  • ENUM support

  • Call Processing Language (CPL)

  • Gateway to sms or xmpp

  • Authentication, authorization and accounting via Radius or database

  • NAT traversal system

  • Least cost routing

  • Load balancing

  • Carrier routing

  • Multiple database backends: MySQL, Postgres, Oracle, BDB or flat files

  • SIMPLE Presence Server (IETF SIMPLE extensions - rich presence)

  • Dialog Info Presence - SLA/BLA

  • XCAP and RLS

  • Presence User Agent

  • Dialog Stateful Proxy

  • Instant Messaging

    • Offline message storage

    • Instant messaging conferencing

  • SNMP support

  • Perl Programming Interface

  • Java SIP Servlet Application server

  • Over 80 modules (extensions)

Documentation

  • Main Documentation Page - http://www.kamailio.org/docs/

  • Dokuwiki Page - http://www.kamailio.org/dokuwiki/

我们使用Kamailio主要用在SIP dispatcher server,即SIP redirect server
安装及配置手册如下

一.安装
1.依赖包:
libmysqlclient & libz (zlib) :mysql DB support (the db_mysql module) Shared libraries

                        MySQL-shared-5.1.32-0.glibc23.i386.rpm

                        MySQL-devel-community-5.1.32-0.rhel5.i386.rpm


libxml2:cpl-c (Call Processing Language) or the presence modules (presence and pua*)
libperl:perl scripting from you config file (perl module)
2.源代码安装
make,make modules,make install
或者make all,make install
参考:
3.启动:kamctl start
4.重启:kamctl restart
5.监控服务状态:kamctl moni
6.MySQL配置:
1)安装:
edit Makefile.var files to include the MySQL module
vim Makefile.vars
Uncomment the next line in the file:
MODS_MYSQL=on
cp /usr/local/lib/mysql/libmysqlclient.so.16 /usr/lib

Edit now /usr/local/etc/kamailio/kamctlrc and add:
DBENGINE=MYSQL
SIP_DOMAIN=pryko.com
6.1 创建数据库:kamdbctl create
6.2管理员登录:user 'admin' with password ' openserrw '
6.3 添加用户:kamctl add
6.4 默认值:database url, users and passwords
  - DEFAULT_DB_URL="mysql://opensips:opensipsrw@localhost/opensips"
  - r/w user: openser; passwd: openserrw
  - r/o user: openserro; passwd: openserro

二.配置
1.配置文件 kamailio.cfg
/usr/local/etc/kamailio/kamailio.cfg
2.配置文件 kamctlrc
/usr/local/etc/kamailio/kamctlrc

三.脚本
参考文档:
Kamailio Wiki
http://www.kamailio.com/dokuwiki
Cookbooks and Reference
http://www.kamailio.com/dokuwiki/doku.php/core-cookbook:1.5.x
Kamalio 1.5.x Module Functions Index
http://www.kamailio.com/dokuwiki/doku.php/modules:1.5.x:index-functions


四.负载均衡Load Balancing
参考:http://www.kamailio.org/dokuwiki/doku.php/asterisk:load-balancing-and-ha
4.1配置文件 kamailio.cfg
loadmodule("dispatcher.so")
modparam("dispatcher", "list_file", "/usr/local/etc/kamailio/dispatcher.list")
modparam("dispatcher", "force_dst", 1)
4.2 ---dispatcher.list----文件
# group sip addresses of your * units
1 sip:221.5.152.171:5060
1 sip:221.5.152.170:5060
4.3 kamctl命令:kamctl dispatcher show
-- command 'dispatcher' - manage dispatcher
  * Examples:  dispatcher addgw 1 sip:1.2.3.1:5050 1 'outbound gateway'
  *            dispatcher addgw 2 sip:1.2.3.4:5050 3 ''
  *            dispatcher rmgw 4
dispatcher show ..................... show dispatcher gateways
dispatcher reload ................... reload dispatcher gateways
dispatcher dump ..................... show in memory dispatcher gateways
dispatcher addgw
            .......................... add gateway
dispatcher rmgw................ delete gateway

查看载入的配置:kamctl dispatcher dump
修改后重新载入配置:kamctl dispatcher reload

 

如需使用,需安装MySQL-client-community-5.1.32-0.rhel5.i386.rpm
否则报错:ERROR: This command requires a database engine - none was loaded



五.与Asterisk对接负载均衡
注意事项:sip.conf
注释如下行
;canreinvite=no ; Asterisk by default tries to redirect

Asterisk#1  10.10.10.56
配置sip.conf
[5000]
type=friend
;username=5000
secret=5000_phone2
callerid=5000
qualify=yes ; Qualify peer is no more than 2000 ms away
nat=no ; This phone is natted
host=dynamic ; This device registers with us
;canreinvite=no ; Asterisk by default tries to redirect
配置extension.conf
[default]
exten => 6000,1,Dial(SIP/6000@10.10.10.57,60)
exten => 5000,1,Dial(SIP/5000,60)

Asterisk#2  10.10.10.57
配置sip.conf
[6000]
type=friend
;username=6000
secret=6000_phone2
callerid=6000
qualify=yes ; Qualify peer is no more than 2000 ms away
nat=no ; This phone is natted
host=dynamic ; This device registers with us
;canreinvite=no ; Asterisk by default tries to redirect
配置extension.conf
[default]
exten => 6000,1,Dial(SIP/6000,60)
exten => 5000,1,Dial(SIP/5000@10.10.10.136,60)

Kamailio 10.10.10.136
配置kamailio.cfg

loadmodule "dispatcher.so"
modparam("dispatcher", "list_file", "/usr/local/etc/kamailio/dispatcher.list")

route{
if ( !mf_process_maxfwd_header("10") )
{
  sl_send_reply("483","To Many Hops");
  drop();
};
ds_select_dst("1", "0");
forward();
}
配置dispatcher.list
# line format
# setit(integer) destination(sip uri) flags (integer, optional)
1 sip:10.10.10.56:5060

测试
登录10.10.10.57上的6000,登录10.10.10.56上的5000
从6000呼叫5000,会呼叫10.10.10.136上的5000,10.136重定向到10.56

六.按号码段重定向网关
配置kamailio.cfg
使用正则表达式
route{
        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483","Too Many Hops");
                exit;
        }
if (uri=~"^sip:5[0-9]+@10.10.10.136$") {
  if (is_method("INVITE")) {
  ds_select_dst("1", "0");
  forward();
  exit;
  }
}
if (uri=~"^sip:8[0-9]+@10.10.10.136$") {
  if (is_method("INVITE")) {
  ds_select_dst("2", "0");
  forward();
  exit;
  }
}
sl_send_reply("404","Not here");
exit;
}
配置dispatcher.list
# line format
# setit(integer) destination(sip uri) flags (integer, optional)
1 sip:10.10.10.56:5060 #1
2 sip:10.10.10.54:5060

测试
登录10.10.10.57上的6000,登录10.10.10.56上的5000
从6000呼叫5000,会呼叫10.10.10.136上的5000,10.136重定向到10.56
从6000呼叫8002,会呼叫10.10.10.136上的8002,10.136重定向到10.54

展开阅读全文

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
2020/02/27 07:58

Siremis 5.3.0 发布,SIP 服务器 Kamailio 的 Web 管理界面

Siremis 5.3.0 发布了。Siremis 是 Kamailio 的 Web 管理员界面,Kamailio 是一个纯粹的 SIP 服务器,它可以作为 PROXY、注册服务器、重定向服务器,也可作为简单的 PRESENCE 服务器,其目标是创建一个开放的开发环境,以建立一个强大的可扩展的开源 SIP 服务器。 这是 5.x 系列的第一个完整版本。此版本进行了重大更改,并带来许多新功能,其中包括删除了旧的 Flash 图表,现在使用纯 JS;使代码与 PHP 7.x 和 Web view 兼容,...

0
5
发表了资讯
2020/02/11 07:26

Kamailio 5.1.10 发布,可扩展的开源 SIP 服务器

Kamailio 5.1.10 稳定版发布了。Kamailio 的目标是创建一个开放的开发环境,以建立一个强大的可扩展的开源 SIP 服务器。Kamailio 是个纯粹的 SIP 服务器,它可以作为 PROXY、注册服务器、重定向服务器,也可作为简单的 PRESENCE 服务器。 这是一个次要版本,包含自 v5.1.9 以来的代码和文档修复,保留了配置文件和数据库架构的兼容性,这意味着用户无需更改任何内容即可进行更新。 同时,v5.1.10 是 5.1 系列的最后一个版本,这...

0
5
发表了资讯
2019/01/17 07:32

Kamailio 5.2.1 发布,开源 SIP 服务器

Kamailio v5.2.1 已发布,更新内容主要是代码和文档的修复,是最新的稳定版本。新版保留了配置文件和数据库模式的兼容,你不需要改动任何内容就可以更新。 Kamailio v5.2.1 基于最新版本的 Git 5.2 分支,建议运行 5.2.x 或更旧版的用户进行升级。与先前版本的 V5.2 分支对比,配置文件或数据库模式无需改动。 Kamailio 诞生于 2005 年 7 月,它是从德国 FhG FOKUS 研究所主导的 SIP Express Router(SER) 项目组分裂出来的。新项...

0
6
发表了资讯
2018/11/29 07:11

Kamailio 5.2.0 发布,开源 SIP 服务器

Kamailio v5.2.0 已发布,这是 5.xy 系列中的第三个主要版本,历经九个月的开发和大约两个月的测试,包含大量新功能和改进。 总的来说,新版本为 70 多个现有模块带来了 6 个新模块及功能改进,以及核心和内部库的组件以及嵌入式解释器的优化( KEMI 框架),更新亮点: Kamailio Embedded Interface (KEMI) framework has been developed further to offer more functions exported by Kamailio. A tutorial is available: htt...

1
7
发表了资讯
2018/10/07 07:28

Kamailio 5.1.6 发布,开源 SIP 服务器

Kamailio SIP Server v5.1.6 稳定版已发布,该版本是一个小版本更新,包括自 v5.1.5 以来的代码和文档修复。保留了配置文件和数据库模式的兼容性,这意味着您不需要更改任何内容以进行更新。 Kamailio v5.1.6 基于最新版本的 GIT 5.1 分支,因此建议使用 5.1.x 旧版本的用户进行升级。与老版本的 v5.1.x 相比,配置文件或数据库模式没有任何改变。 Kamailio 诞生于 2005 年 7 月,它是从德国 FhG FOKUS 研究所主导的 SIP Expres...

0
4
发表了资讯
2018/06/06 07:20

开源 SIP 服务器 Kamailio v5.1.4 ,常规维护版本

Kamailio SIP Server v5.1.4 稳定版已发布,该版本是一个小版本更新,包括自 v5.1.3 以来的代码和文档修复。保留了配置文件和数据库模式的兼容性,这意味着您不需要更改任何内容以进行更新。 Kamailio v5.1.4 基于最新版本的 GIT 5.1 分支,因此建议使用 5.1.x 旧版本的用户进行升级。与老版本的 v5.1.x 相比,配置文件或数据库模式没有任何改变。 源码地址:https://www.kamailio.org/pub/kamailio/5.1.4/src/ 详细的更新日志:...

2
5
发表了资讯
2018/03/02 07:35

Kamailio 5.1.2 发布,开源 SIP 服务器

Kamailio SIP Server v5.1.2 stable 已发布,这是一个小的更新版本,包括自 v5.1.1 以来的代码和文档修复。 配置文件和数据库模式的兼容性被保留,这意味着你不需要改变任何东西来更新。 Kamailio v5.1.2 基于最新的 GIT 5.1 分支,建议运行 5.1.x 以及更早版本的用户升级。 详细的更新日志: https://www.kamailio.org/pub/kamailio/5.1.2/ChangeLog 源码下载: https://www.kamailio.org/pub/kamailio/5.1.2/src/ 通过 GIT 下...

0
1
发表了资讯
2018/02/28 07:54

Kamailio 5.0.6 发布,开源 SIP 服务器

Kamailio SIP Server v5.0.6 stable 已发布,这是一个小的更新版本,包括自 v5.0.5 以来的代码和文档修复。 配置文件和数据库模式的兼容性被保留,这意味着你不需要改变任何东西来更新。 Kamailio v5.0.6 基于最新的 GIT 5.0 分支,建议运行 5.0.x 以及更早版本的用户升级。 详细的更新日志: https://www.kamailio.org/pub/kamailio/5.0.6/ChangeLog 源码下载: https://www.kamailio.org/pub/kamailio/5.0.6/src/ 通过 GIT 下...

0
3
发表了资讯
2018/02/27 07:30

Kamailio v4.4.7 发布,开源 SIP 服务器

Kamailio SIP Server v4.4.7 stable 已发布,这是一个小的更新版本,包括自 v4.4.6 以来的代码和文档修复。 配置文件和数据库模式的兼容性被保留,这意味着你不需要改变任何东西来更新。 Kamailio v4.4.7 基于最新的 GIT 4.4 分支,建议运行 4.4.x 版本的用户升级到 v4.4.7 ,或直接升级到 5.0.x 或 5.1.x 系列。 需注意的是,Kamailio v4.4.7 是 4.4.x 系列中的最后一个版本。之后,开发团队维护的稳定版本会是 5.0.x 和 5.1....

1
4
发表了资讯
2018/01/23 07:20

Kamailio v5.1.1 发布,开源 SIP 服务器

Kamailio 诞生于 2005 年 7 月,它是从德国 FhG FOKUS 研究所主导的 SIP Express Router(SER) 项目组分裂出来的。新项目建立的目标是创建一个开放的开发环境,以建立一个强大的可扩展的开源 SIP 服务器。Kamailio 是个纯粹的 SIP 服务器,它可以作为 PROXY、注册服务器、重定向服务器,也可作为简单的 PRESENCE 服务器。 Kamailio v5.1.1 已发布,这是针对 5.1.0 的小更新版本,包含代码和文档的修复。配置文件和数据库模式的兼...

0
3
发表了资讯
2017/12/20 07:45

开源 SIP 服务器 Kamailio v5.0.5 发布,常规维护版本

Kamailio SIP Server v5.0.5 稳定版已发布,该版本是一个小版本更新,包括自 v5.0.4 以来的代码和文档修复。保留了配置文件和数据库模式的兼容性,这意味着您不需要更改任何内容以进行更新。 Kamailio v5.0.5 基于最新版本的 GIT 5.0 分支,因此建议使用 5.0.x 旧版本的用户进行升级。与老版本的 v5.0.x 相比,配置文件或数据库模式没有任何改变。 源码地址:https://www.kamailio.org/pub/kamailio/5.0.5/src/ 详细的更新日志:...

2
9
发表了资讯
2017/12/12 07:37

Kamailio v5.1.0 发布,开源 SIP 服务器

Kamailio v5.1.0 发布。主要更新内容如下: Kamailio Embedded Interface (KEMI) framework offers now most of the functions available in the native configuration file. A tutorial is available: https://kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/ SIP Routing Logic can be now written in: The Kamailio native configuration language Lua scripting (with support to reload without restart) Pyt...

2
13
发表了资讯
2017/10/26 07:46

Kamailio v5.0.4 稳定版发布,开源 SIP 服务器

Kamailio v5.0.4 稳定版已发布,这是一个小版本更新,包括自 v5.0.3 以来的代码和文档修复。保留了配置文件和数据库模式的兼容性,这意味着您不需要更改任何内容以进行更新。 Kamailio v5.0.4 是基于最新的 GIT 5.0 分支,因此建议使用 5.0.x 旧版本的用户进行升级。与老版本的 v5.0.x 相比,配置文件或数据库模式没有任何改变。 源码地址: https://www.kamailio.org/pub/kamailio/5.0.4/src/ 更新日志: https://www.kamailio...

1
6
发表了资讯
2017/09/03 07:31

Kamailio v5.0.3 稳定版发布,开源 SIP 服务器

Kamailio v5.0.3 稳定版已发布,Kamailio SIP Server v5.0.3 稳定版是一个小版本更新,包括自 v5.0.2 以来的代码和文档修复。保留了配置文件和数据库模式的兼容性,这意味着您不需要更改任何内容以进行更新。 Kamailio v5.0.3 基于最新版本的 GIT 5.0 分支,因此建议使用 5.0.x 旧版本的用户进行升级。与老版本的 v5.0.x 相比,配置文件或数据库模式没有任何改变。 源码地址: https://www.kamailio.org/pub/kamailio/5.0.3/src...

0
11
发表了资讯
2017/06/24 07:30

Kamailio v4.3.7 发布,开源 SIP 服务器

Kamailio v4.3.7 发布了。Kamailio SIP Server v4.3.7 stable 是一个次要版本,包括自 v4.3.6 以来的代码和文档修复。保留了配置文件和数据库模式的兼容性。 Kamailio v4.3.7 基于最新版本的 GIT 4.3 分支,因此建议使用 4.3.x 旧版本的用户进行升级。与老版本的 v4.3.x 相比,配置文件或数据库模式没有任何改变。 源码地址: https://www.kamailio.org/pub/kamailio/4.3.7/src/ 详细的更新日志: https://www.kamailio.org/pub/...

0
10
发表了资讯
2017/06/17 07:59

Kamailio v4.4.6 发布,开源 SIP 服务器

开源 SIP 服务器 Kamailio v4.4.6 发布了。 Kamailio SIP Server v4.4.6 stable是一个小的版本,包括自v4.4.5以来的代码和文档修复。 配置文件和数据库架构的兼容性将被保留,这意味着您不必更改任何更新内容。 Kamailio v4.4.6是基于最新版本的GIT分支4.4。 我们推荐那些运行以前的4.4.x版本进行升级。 与以前版本的v4.4分支相比,配置文件或数据库结构没有任何改变。 源码包可在以下地址找到: https://www.kamailio.org/pub...

0
8
发表了资讯
2017/06/15 07:36

Kamailio 5.0.2 发布,开源 SIP 服务器

Kamailio SIP Server v5.0.2 stable 是一个小版本,包括自 v5.0.1 以来的代码和文档修复。 配置文件和数据库架构的兼容性将被保留,基于最新版本的 GIT branch 5.0。 该版本推荐那些运行 5.0.x 以前的版本进行升级。 源码地址: https://www.kamailio.org/pub/kamailio/5.0.2/src/ 详细的更新日志: https://www.kamailio.org/pub/kamailio/5.0.2/ChangeLog 通过 GIT 下载:  # git clone https://github.com/kamailio/kamaili...

0
10
发表了资讯
2017/04/06 07:28

Kamailio 5.0.1 发布,开源 SIP 服务器

Kamailio SIP Server 5.0.1 stable 是一个小版本,包括自 v5.0.0 以来的代码和文档修复。配置文件和数据库架构的兼容性将被保留,基于最新版本的 GIT branch 5.0。 源码下载: https://www.kamailio.org/pub/kamailio/5.0.1/src/ 详细的更新日志: https://www.kamailio.org/pub/kamailio/5.0.1/ChangeLog Kamailio 诞生于2005年7月,它是从德国 FhG FOKUS 研究所主导的 SIP Express Router(SER) 项目组分裂出来的。新项目建立的...

1
8
发表了资讯
2017/02/28 07:38

Kamailio 5.0.0 全新版本发布,开源 SIP 服务器

Kamailio 5.0.0 是一个全新的主要版本,带来了在大约七个月的开发和一个半月的测试期间内添加的新功能和改进。 简而言之,这个主要版本为超过50个现有模块带来了6个新模块和功能改进,以及核心和内部库的组件。 详细的发行说明可在: https://www.kamailio.org/w/kamailio-v5-0-0-release-notes/ 这个版本增加了主要数字,5.0.0 成为 5.x.y 系列中的第一个版本。 在相关更新中有源代码树重构,KEMI 框架允许以其他嵌入式语言(如...

2
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
183 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部