我是靠谱客的博主 危机耳机,最近开发中收集的这篇文章主要介绍freeswitch的distributor模块概述环境APP示例配置&测试总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

概述

freeswitch 是一款简单好用的VOIP开源软交换平台。

当呼叫是同一个入中继,但是有多条出中继时,需要对出中继做负载均衡,mod_distributor模块可以完成对应的配置和路由。

mod_distributor是一个轻量级的线路分发模块,配置简单,支持权重方式分发多条出中继。

环境

centos:CentOS  release 7.0 (Final)或以上版本

freeswitch:v1.10.7

GCC:4.8.5

APP示例

distributor的APP接口使用方法“${distributor(distributor_list)”。

<action application="bridge" data="sofia/gateway/${distributor(distributor_list)}/${destination_number}"/>

<action application="bridge" data="sofia/external/${destination_number}@${distributor(distributor_list)}"/>

配置&测试

distributor模块默认不编译,需要进入目录手动编译安装。

src/mod/applications/mod_distributor

make install

修改conf/autoload_configs/modules.conf.xml,加载distributor模块。

<load module="mod_distributor"/>

配置文件conf/autoload_configs/distributor.conf.xml,设置distributor列表。

<configuration name="distributor.conf" description="Distributor Configuration">

  <lists>

    <list name="test" total-weight="5">

      <node name="10.55.55.138:5080" weight="1"/>

      <node name="10.55.55.138:5090" weight="2"/>

      <node name="10.55.55.138:15090" weight="2"/>

    </list>

  </lists>

</configuration>

配置文件conf/dialplan/test.xml,设置拨号计划。

<extension name="test" continue="false">

    <condition field="destination_number" expression="^(d+)$">

        <action application="bridge" data="{sip_invite_call_id=${sip_call_id}}sofia/external/$1@${distributor(test)}"/>

    </condition>

</extension>

刷新distributor配置数据。

reloadxml

distributor_ctl reload

发起呼叫10011->1002,三次的测试日志如下。

2022-12-13 15:37:37.150797 [INFO] mod_dialplan_xml.c:637 Processing 10011 <10011>->1002 in context public

...

Dialplan: sofia/external/10011@10.55.55.138 Action bridge({sip_invite_call_id=${sip_call_id}}sofia/external/1002@${distributor(test)})

...

EXECUTE sofia/external/10011@10.55.55.138 bridge({sip_invite_call_id=db46fa8f-f55b-123b-7d99-000c29a63969}sofia/external/1002@10.55.55.138:5080)

...

EXECUTE sofia/external/10011@10.55.55.138 bridge({sip_invite_call_id=16ef92f5-f55a-123b-7d99-000c29a63969}sofia/external/1002@10.55.55.138:5090)

...

EXECUTE sofia/external/10011@10.55.55.138 bridge({sip_invite_call_id=1b811933-f55a-123b-7d99-000c29a63969}sofia/external/1002@10.55.55.138:15090)

总结

mod_distributor模块功能简单清晰,配置方便。

在拨号计划的action中使用loop标记配合distributor,可以实现多条出中继的呼叫尝试。

空空如常

求真得真

最后

以上就是危机耳机为你收集整理的freeswitch的distributor模块概述环境APP示例配置&测试总结的全部内容,希望文章能够帮你解决freeswitch的distributor模块概述环境APP示例配置&测试总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部