15.其他技巧与实例

Freeswitch功能非常多, 还有一些常用功能

企业常用的电话转接, 代接等

压力测试, 安全等

1.转接和代接

来电转接分

    盲转(Blind Transfer)

    协商转(Attended Transfer)

盲转:

    将来电直接转到某一分机, 用于电话已经接听的情况

        A呼叫B, B接听 A与B通话, A要求转C,

        B转接到C C开始振铃, B挂断 C接听, A与C通话

    默认Dialplan的Local_extensions

        <action application="bind_meta_app" data="1 b s execute_extension::dx XML features" />



        有电话打入后,如果是最终路由到一个内部分机, 就执行这一行,来话是a-leg, 还没有b-leg

        bind_meta_app,会在本次通话上绑定参数中的"1",后续由"*1"激活,

        b表示绑定到b-leg,s表示same,在哪条腿收到按键就在哪条腿上执行

        execute_extension表示在Dialplan找extension去执行,最终执行bridge(user/B),A与B桥接并开始通话

        answer保证电话时应答状态, read表示等待用户按键,等待用户输入分机号,输入后, B开始拨号

        is_transfer判断B输入的号是不是合法,如果是执行transfer 进行转移

        C开始振铃, 如果C接听, A就与C通话, A被转走, B就自己挂断

协商转:

    如果C长时间不应答, 则转接失败, A需要重新呼叫B转接

        A与B通话中, B转接C , A播放等待音乐, 如果C呼叫失败, B仍可与A通话, C长时间不应答, B可以取消呼叫

        如果C接通后, B与C通话, B询问C是否愿意接听, 如果C不愿意则C挂机, B与A继续通话, 如果C接受则B挂机

        如果B不挂机, 按3则形成3方通话,

        B还可以随时与A, 与C通话

代接

    A电话响铃, A不在座位, B代替A接听电话

    当分机有振铃, 另外的话机直接按866就能接听, 同时响铃结束

    拨**1001, 接听正在振铃的1001分机上电话

2.共享线路呈现

在自己话机上监视其他话机的状态, 知道另一个电话是否处于忙或闲的状态

有人想打秘书电话找老板, 秘书转播老板电话, 恰好老板正在占线, 就导致转接失败, 如果秘书事前知道老板电话在忙, 就可以判断是否要转接, 或告诉用户先等等

3.使用组播功能做网络广播

拿起电话拨打一个号码, 就可以对一大群人喊话, 广播功能可以大大提高工作效率

广播也可以用会议实现, 简单发起N路通话加入一个会议也能起到广播的效果

    但建立N路通话消耗太多网络资源, 也无法保证对方即使接听, 影响信息送达

最经济的实现方式:

    组播(Multicast),只向组播地址发送一个RTP流, 监听该组播地址的所有主机都能收到

    esf_page_group有三个参数:

        组播地址, 默认为224.168.168.168

        端口号, 默认为35467

        控制端口号,默认为6001

在Freeswitch默认配置中, 拨打号码7243就直接向该地址发送组播

    <extension name="rtp_multicast_page">

        <condition field="destination_number" expression="^pagegroups$|^7243$">

            <action application="answer"/>

            <action application="esf_page_group"/>

        </condition>

    <extension>

如果你想发送到其他地址, 可以配置相关参数,如下配置可以将RTP包发送到组播地址224.0.0.100

    <action application="esf_page_group" data="esf_page_group 224.0.0.100 34567 6001"/>

    与普通的IP地址不同, 组播需要配置组播地址, 组播地址从224.0.0.0到239.255.255.255,

    实际用到组播的业务很少, 在有些系统需要配置组播路由,

    在Linux的eth0配置组播路由:

        ip route add 224.0.0.0/4 dev etho src 192.168.5.2

来源张永光的博客

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MFC(Microsoft Foundation Class)是微软开发的一套用于Windows操作系统的编程框架。在MFC编程中,有一些技巧实例可以帮助开发人员更好地使用和理解MFC。 首先,MFC编程中的一个重要技巧是使用消息映射和消息处理函数。消息映射是将窗口消息与处理函数相关联的一种机制。通过消息映射,开发人员可以指定某个窗口消息由哪个函数来处理。这样一来,窗口消息到来时,系统会自动调用相应的处理函数进行处理。例如,可以使用消息映射实现对按钮的点击响应,对菜单项的选择响应等。 另一个重要的技巧是使用资源编辑器创建界面。MFC中的资源编辑器可以帮助开发人员以可视化的方式创建用户界面,包括窗口、按钮、菜单等。使用资源编辑器可以轻松地布局界面,并为控件设置属性和事件处理函数,省去了手动编写代码的工作量。 此外,MFC编程中的一个常见实例是创建对话框应用程序。对话框是一种常见的用户界面,可以用于显示和收集用户输入信息。通过MFC提供的对话框类,开发人员可以方便地创建、显示和处理对话框应用程序。可以通过资源编辑器创建对话框界面,然后通过消息映射和消息处理函数来实现对用户输入的响应。 总之,MFC编程技巧包括使用消息映射和消息处理函数,利用资源编辑器创建界面等。一个常见的实例是创建对话框应用程序。掌握了这些技巧实例,开发人员可以更快速、高效地开发Windows应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值