当前位置: 首页 > news >正文

vue快速搭建网站免费seo网站的工具

vue快速搭建网站,免费seo网站的工具,百度指数在线查询,企业网站系统的设计与开发教程概述 freeswitch是一款简单好用的VOIP开源软交换平台。 mod_xml_curl模块支持从web服务获取xml配置,本文介绍如何动态获取acl配置。 环境 centos:CentOS release 7.0 (Final)或以上版本 freeswitch:v1.6.20 GCC:4.8.5 web…

 

概述

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

mod_xml_curl模块支持从web服务获取xml配置,本文介绍如何动态获取acl配置。

环境

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

freeswitch:v1.6.20

GCC:4.8.5

web服务

mod_xml_curl模块依赖于web服务,需要自己创建一个web接口并动态的返回xml配置。

下面是python3.10实现的一个简单的web服务接口函数,从基类“BaseHTTPRequestHandler”继承并实现简单的返回逻辑。

    def fsDialplan(self):

        length = int(self.headers['content-length']) 

        datas = self.rfile.read(length)

        logging.info('/fs/dialplan request, data=%s' % urllib.parse.unquote(datas))

        respcode = '''<document type="freeswitch/xml">

<section name="dialplan" description="dialplan-url">

    <include>

        <context name="public">

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

                <condition field="${acl(${network_addr} list_out)}" expression="true"/>

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

                    <action application="answer"/>

                    <action application="playback" data="/usr/local/freeswitch/sounds/dialplan-test-url.wav"/>

                </condition>

            </extension>

        </context>

    </include>

</section>

</document>

'''

        self.send_response(200)

        self.send_header('Content-Type', 'application;charset=utf-8')

        self.end_headers()

        self.wfile.write(respcode.encode('utf-8'))

        return

   

    def fsConfigAcl(self):

        length = int(self.headers['content-length']) 

        datas = self.rfile.read(length)

        # print('fsConfigAcl request, data=', datas.decode())

        logging.info('/fs/config/acl request, data=%s' % urllib.parse.unquote(datas))

        respcode = '''<document type="freeswitch/xml">

<section name="configuration" description="config-acl">

<configuration name="acl.conf" description="Network Lists">

  <network-lists>

    <list name="list_out" default="deny">

      <node type="allow" cidr="10.55.55.138/32"/>

    </list>

  </network-lists>

</configuration>

</section>

</document>

'''

        self.send_response(200)

        self.send_header('Content-Type', 'application;charset=utf-8')

        self.end_headers()

        self.wfile.write(respcode.encode('utf-8'))

        return

web服务响应消息格式注意事项,必须有“section”段,xml格式不能使用压缩格式,否则会解析错误。

fsDialplan函数的响应中增加了acl的条件判断。

fsConfigAcl函数响应添加“list_out”的acl规则。

配置

检查conf/autoload_configs/modules.conf.xml文件,mod_xml_curl模块要放在配置的顶部。

    <load module="mod_console"/>

<load module="mod_logfile"/>

<load module="mod_xml_curl"/>

修改conf/autoload_configs/xml_curl.conf.xml文件。

<configuration name="xml_curl.conf" description="cURL XML Gateway">

  <bindings>

    <binding name="dialplan">

      <param name="gateway-url" value="http://10.55.55.137:8080/fs/dialplan" bindings="dialplan"/>

</binding>

<binding name="configuration">

<param name="gateway-url" value="http://10.9.0.27:8080/fs/config-acl" bindings="configuration"/>

</binding>

  </bindings>

</configuration>

测试

configuration动态配置需要刷新生效。

freeswitch@localhost.localdomain> reloadacl

+OK acl reloaded

2023-08-04 10:37:59.117939 [NOTICE] switch_utils.c:545 Adding 10.55.55.138/32 (allow) [] to list list_out

使用10011发起呼叫,日志如下。

2023-08-04 10:38:05.277908 [INFO] mod_dialplan_xml.c:637 Processing 10011 <10011>->13712345678 in context public

Dialplan: sofia/external/10011@10.55.55.138 parsing [public->test-url] continue=false

Dialplan: sofia/external/10011@10.55.55.138 Regex (PASS) [test-url] ${acl(${network_addr} list_out)}(true) =~ /true/ break=on-false

Dialplan: sofia/external/10011@10.55.55.138 Regex (PASS) [test-url] destination_number(13712345678) =~ /^(\d+)$/ break=on-false

Dialplan: sofia/external/10011@10.55.55.138 Action answer()

Dialplan: sofia/external/10011@10.55.55.138 Action playback(/usr/local/freeswitch/sounds/dialplan-test-url.wav)

呼叫结果符合预期。

总结

mod_xml_curl模块动态获取config数据,方便对批量的fs集中统一管理配置。

未解决问题。

configuration类型的配置数据动态刷新的边界在哪里,我们可以把哪些配置数据放在web服务统一管理。

如何解决web服务不可用的本地xml配置问题,本地xml配置与web动态配置不一致的问题。

空空如常

求真得真

http://www.dt0577.cn/news/35114.html

相关文章:

  • 域名做好了怎么做网站内容seo入门基础知识
  • 网站开发外包方案怎么做百度推广平台
  • 石家庄市网站制作seo网站内容优化有哪些
  • 网站建设 生产play商店
  • 如何建网站卖东西搜狐视频
  • 自己能不能做个网站东莞seo优化团队
  • google网站陕西seo优化
  • 什么网站可以做邮件列表windows优化大师有用吗
  • 手机搜索网站建设宜昌网站seo
  • 做服装团购有哪些网站有哪些输入搜索内容
  • 怎么快速建网站360收录提交
  • 如何用rp做网站步骤最有效的100个营销方法
  • 重庆智慧团建网站登录平台全网关键词搜索
  • 大兴做网站建设制作宁波网络营销推广咨询报价
  • 长沙百度快速排名优化seo 网站排名
  • 郑州网站托管公司哪家好交易链接大全
  • 有做微推客的网站吗百度识图网页版在线使用
  • 淘宝网站建设可靠关键词查询工具包括哪些
  • 医院网站建设滞后广告公司职位
  • python做网站和php百度seo快速提升排名
  • 那个网站可以做双色球号码对比的怎么买域名自己做网站
  • 权威的公司网站制作网站整合营销推广
  • 建网站用什么系统软文自助发稿平台oem
  • 宿州商务网站建设网红推广接单平台
  • 有什么设计网站国际热点新闻
  • 海沧区建设局网站精准营销平台
  • 做网站的费用属于哪个科目seo平台
  • 湖北网站注册设计公司外贸seo优化
  • 做精细化工网站seo营销推广多少钱
  • 外贸网站建设如何做呢大数据精准营销的策略