zoukankan      html  css  js  c++  java
  • HowTo:两个FreeSWITCH如何互联

    note: 以下FreeSWITCH简称FS,FreeSWITCH BoxA简称FSA,FreeSWITCH BoxB简称FSB。

    简介

    如何你需要将两个FreeSWITCH系统互联,那你要如何做呢?

    讨论

    有两种实现方法:ip地址认证摘要认证简短的说,使用ip地址认证方法的话,就可以使用ACL来实现两个FS互联。所有的呼叫都是从公共拨号方案走(public context)。每个FS都允许对方通过ACL拨打过来。只要修改部分xml配置文件即可实现

    基于IP认证互联

    假设FSA(10.0.0.1)拥有的号码范围是1000-1019.FSB(10.10.0.1)号码范围是1100-1119.

    首先我们要确保两个FS都拥有互访的权限

    这个在ACL文件(autoload_config/acl.conf.xml)中进行配置。对于FSA,在节点添加如下内容:

    对于FSB,在节点中添加如下内容:

    设置呼叫拨号方案

    现在两个FS已经可以互相拨打,但它们仍不知道对方有哪些分机号。因此你需要告诉FS呼叫要送到哪里。这就是传说中的呼叫路由,由拨号方案中的bridge方法实现。该方法使用internal sofia profile(sip_profiles/internal.xml)来实现。尽管名字叫做内部(internal),并不仅仅处理FS内部的呼叫。

    在FSA的拨号方案(dialplan/default.xml)中添加如下内容:

    在FSB的拨号方案(dialplan/default.xml)中添加如何内容:

    设置public拨号方案

    经过上面设置,现在呼叫已经可以送到对方的平台上了。但是对方平台仍然不知道该怎么处理这个呼入的请求,因为对于它来说这是一个公共呼叫(public call)。因此还需要最后一步修改让系统跑起来。我们要告诉FS把这个公共呼叫(public call)给路由到默认的拨号方案上去(default dialplan)。

    在FSA的公共拨号方案(public dialplan,dialplan/public.xml)中添加如下内容:

    在FSB的公共拨号方案(public dialplan,dialplan/public.xml)中添加如下内容:

    在FSA和FSB中执行下述命令: >reloadacl >reloadxml

    现在你就可以在FSA上呼叫FSB的11XX了,反之亦然。

    基于摘要认证互联

    待补全

    小结

    两个方法没有优劣之分,使用哪种由你选择。

    原文链接:http://wiki.freeswitch.org/wiki/Connect_Two_FreeSWITCH_Boxes

  • 相关阅读:
    Thymeleaf学习记录(1)--启动模板及建立Demo
    Redis教程基本命令
    错误:Attempted to load applicationConfig: [classpath:/application.yml] but snakeyaml was not found on the classpath
    备注
    MYSQL建表问题(转)
    Class.forName("com.mysql.jdbc.Driver")找不到类
    mySql连接报错
    电脑启动过程
    C++输入输出流--<iostream>详解
    类内部实例化自身可行吗?
  • 原文地址:https://www.cnblogs.com/jizha/p/2231125.html
Copyright © 2011-2022 走看看