FreeSWITCH 启用多域(多租户)的配置\绑域名

 

如果将FreeSWITCH用于云端, 支持大规模并发呼叫, 就要用到 多域/多租户 技术了, FreeSWITCH 本身可以直接支持.

每个域可以单独, 拥有相同的分机号也互相打不通, 各自线路, IVR , 路由等不相同.

配置方式如下:

1. conf/vars.xml

<X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}" />
<X-PRE-PROCESS cmd="set" data="domain_name=$${domain}" />  绑定域名的话,在这里填写域名,不带端口

这里配置了 默认 domain(名字), 启用域(多租户)之后就没什么用啦.

2. conf/sip_profile/internal.xml

<!--all inbound reg will look in this domain for the users -->
<param name="force-register-domain" value="$${domain}"/>
<!--force the domain in subscriptions to this value -->
<param name="force-subscription-domain" value="$${domain}"/>
<!--all inbound reg will stored in the db using this domain -->
<param name="force-register-db-domain" value="$${domain}"/>

三个 强制参数, 注释掉, 重启该 profile.

<可以建立多个 profile>

3. conf/directory/default.xml

<include>
    <!--the domain or ip (the right hand side of the @ in the addr-->
    <domain name="$${domain}">

这个 domain 指定了 此用户目录配置适用于哪个 domain(名字) (默认$${domain}是vars.xml中配置的)

可以建立多个 domain 的配置(如 复制多份,每份各自配置domain_name),
这样 就有了多个域了(name 配置成指定的 domain_name)
多个域,最好每个域都有各自的用户目录及用户配置(主要是有各自的用户配置)
相应的,用户配置的加载也要改:

<users>
    <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
</users>

<另,要让各自域中的用户使用(各自)单独的 Dialplan 进行路由,还要改用户配置中的 user_context 参数>

4. conf/directory/default/<user>.xml  这里是创建用户文件,放到对应的文件夹里面

要让各自域中的用户使用(各自)单独的 Dialplan 进行路由,还要改用户配置中的 user_context 参数

<variables>
    <variable name="user_context" value="default"/>

<这时候,就要相应的 增加 路由了, 否则没有路由, 也是打不通的>

5. conf/dialplan/default.xml

<include>
    <context name="default">

复制这个dialplan,并更改 context_name , 与用户配置中设置的相对应

6. reloadxml, 注册,拨打测试

7. 启用域之后, 拨打就不能在使用了 `user/1000` 这样的缩写形式了,

必须使用完整形式: `user/1000@${domain_name}`
在使用 会议, fifo 等应用时,也要写完整形式,
即: 启用域(多租户)之后,拨打用户就要写完整(带域名)的了,不然就找不到用户了

8. 还可以将不同的域(租户)分到不同的 Sofia Profile 中,可以使不同的 profile 使用不同的端口了

使用端口注意:

不同的profile 要额外注意 ws 的端口, 否则可能 造成 profile启动失败, 但是 莫名其妙的不知道 为嘛失败(sip端口没有占用啊.呵呵)

    <!-- for sip over websocket support -->
    <param name="ws-binding"  value=":5066"/>

    <!-- for sip over secure websocket support -->
    <!-- You need wss.pem in $${certs_dir} for wss or one will be created for you -->
    <param name="wss-binding" value=":7443"/>

转载,有修改。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FreeSWITCH配置多域呼入涉及以下步骤: 1. 在FreeSWITCH服务器上,确保已安装并运行了mod_xml_curl模块,该模块使得FreeSWITCH能够从外部URL获取配置信息。 2. 在FreeSWITCH配置文件目录中创建一个xml_curl.conf.xml文件,并编辑该文件。在文件中,配置外部URL和其他相关参数,指向将用于获取多域呼入的配置信息的服务器。例如: <configuration name="xml_curl.conf" description="CURL XML Gateway"> <bindings> < binding name="default" destination-url="http://example.com/freeswitch/inbound_config" inline="true"/> </bindings> </configuration> 3. 在指定的URL上搭建一个Web服务器,并创建一个处理多域呼入配置的脚本(如PHP、Python等)。该脚本需要根据来电的域名,返回相应的呼入配置信息。 4. 通过编辑呼叫路由配置文件(如dialplan/default.xml),将呼叫转发到呼入配置处理脚本的URL。例如: <extension name="multidomain_inbound"> <condition field="destination_number" expression="^(.*)$"> <action application="http://example.com/freeswitch/inbound_router"/> </condition> </extension> 5. 在呼入配置处理脚本中,根据来电的域名,返回相应的呼入配置信息。这些配置信息可以包括路由、分机号、时间规则等。 通过以上步骤,即可实现FreeSWITCH多域呼入配置。当来电到达时,FreeSWITCH将根据来电的域名查询相应的配置,并根据配置进行呼叫路由和转接。这种配置适用于需要为多个域名提供呼入转接服务的场景,例如一个企业为多个子公司或不同业务部门提供统一的呼叫中心功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值