您当前的位置是:  首页 > 新闻 > 国内 >
 首页 > 新闻 > 国内 >

kamailio/OpenSIPS学习笔记-多租户支持和别名设置

2018-03-26 15:50:43   作者:james.zhu    来源:Asterisk开源派   评论:0  点击:


  企业通信运营解决方案其中的一个重要功能就是支持多租户的功能。多租户功能实现的方式很多,涉及了很多应用层面的问题,我们这里不做进一步的讨论。今天的笔记中,我们重点介绍如何通过不同的域名来设置多租户用户帐户,另外,我们将介绍使用别名来管理DID分机号码的设置。
  1、多租户的企业通信运营解决方案中,不同的企业都通过不同的域名来加以区分,软交换通过不同的域名对其分机用户进行不同的业务路由。这样,分机用户在进行呼叫时,就可以轻松实现多租户的呼叫路由。当然,这仅是多租户设置的最基础的设置,多租户的解决方案远远不是一个分机多租户就可以实现的。
  2、在开源软交换平台中,实现多租户的分机配置需要经过方面的设置。首先,需要创建一个企业域名,然后配置多租户方式路由的脚本文件,最后,用户添加多租户账号。具体的设置步骤如下:
  首先,通过CTL命令添加多租户域名:opensipsctl domain add your-ip-addres。此IP地址就是企业多租户的IP地址,用户注册时使用此域名。
  然后,加载domain.so 模块,注册域名注册方式:
  • loadmodule "domain.so"
  • loadmodule "domain.so"
  • modparam("uri|auth_db|usrloc", "use_domain", 1)
  最后,使用多域名方式配置,修改cfg配置文件为:
  • if (!(method=="REGISTER") {
  • if(is_from_local()) /*multidomain version*/
  • if (!is_uri_host_local())
  配置完成后,重新加载cfg文件,就可以实现多租户配置方式。注意,这里的domain是保存在数据库的domain表单中,所以必须先创建一个域名。
  启动系统以后,用户可以使用不同的域名对软交换进行注册,例如,你可以使用同一分机号码,但是两个domain 值进行注册测试,例如1000@hiastar.com, 和1000@freepbx.cn 两个域名进行注册测试。
  3、Aliases(别名) 是一个非常常见的使用方式,有时,我们需要对呼入的DID进行管理,可以使用一个DID号码对应一个别名对其呼叫进行管理。最简单的使用方式相当于一个DID匹配。顾名思义,就是呼入的DID号码可以直接匹配一个公司的内部分机号码,这样外部客户呼入到系统以后,可以直接呼叫到公司内部某一个分机号码。为了实现这个功能,我们可以使用别名的方式来进行匹配管理。实现此功能大概需要以下几个步骤:
  • 首先,在cfg配置文件中需要添加别名管理的模块,alias.so。
  • loadmodule "alias_db.so"
  • # ----- alias_db 相应的参数设置
  • modparam("alias_db", "db_url",
  • "mysql://opensips:opensipsrw@localhost/opensips") // 注意,数据库用户名称和密码设置。
  • alias_db_lookup("dbaliases"); // 开启数据库支持。
  然后,通过CTL命令添加alias 账号:
  • opensipsctl alias_db add 18665301040@youripordomain 1000@youripordomain
  • 这里,要注意,DID是18665301040。如果用户拨打此DID号码,就会转接到分机1000。
  最后,重新加载cfg配置文件,其他用户就可以通过呼叫以上DID号码实现分机别名测试。当然,外部用户如果拨打了以上DID号码,系统也可以直接路由到分机1000。
  4、在本章节中,我们介绍了两种kamailio/opensips 使用域名注册和别名设置主要方法,同时笔者也介绍了在配置文件中需要加载的模块和其相应的cfg配置设置。通过软交换的多租户设置和别名设置可以轻松实现多租户管理和DID路由功能,以上两种功能也是一个完整的企业通信运营平台解决方案必须支持的功能。
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题