freeswitch实战一

手写结构图

 

一.分组

1.在freeswitch中group在conf/directory/default.xml 中配置 ,首先定位到groups节点。如果想把 1000 1001 1019编在一个分组,假设组的名字为xiaobai。那么可以在groups中加入以下内容:
    <group name="test_group">
        <users>
        <user id="1001" type="pointer"/>
        <user id="1002" type="pointer"/>
        <user id="1003" type="pointer"/>
        <user id="1004" type="pointer"/>
        </users>
    </group>

2.在conf/dialplan/default.xml 中配置拨号计划。首先打开default.xml配置文件,然后定位到group_dial_billing 在</extension>之后加入
    <extension name="group_dial_test_group">
        <condition field="destination_number" expression="^1314$">
             <action application="bridge" data="group/test_group@${domain_name}"/>
        </condition>
</extension>
这两步完成之后 用户组就配置成功了

3.拨打1314 用户组中的所有的电话就会ring ,当一个被叫摘机后其它的用户就自动挂机。

二、配置网关(未有账号,暂未实现)

在VOIP通信系统中,经常要用到网关。那么网关怎么和FreeSwitch在一起配合使用?

有如下需求:

有一虚拟运营商(即:SIP PROVIDER ),提供拨打外线的功能。从该处购买一 SIP 账号,具体配置信息如下:

用户名:user

密码: pass

服务器IP:100. 100.100.100

想通过和该SIP PROVIDER 对接实现拨打外线功能。即:0+要拨打的号码,就送到该SIP PROVIER (说明:此时的 SIP PROVIDER 相当于一网关)。

解决方法:

(1)添加一个网关

在 \conf\sip_profiles\external 中添加一个名为GW_TEST.xml 的文件,内容如下:

<gateway name="GW_TEST">
    <param name="realm" value="100. 100.100.100"/>
    <param name="username" value="user"/>
    <param name="password" value="pass"/>
</gateway>

(2) 新建一个拨码计划

在 \conf\dialplan\default 中新建一个名为 call_gw_test.xml 的文件 ,内容如下:
<include>
    <extension name="call out">
       <condition field="destination_number" expression="^0(\d+)$">
       <action application="bridge" data="sofia/gateway/GW_TEST/$1"/>
       </condition>
    </extension>
 </include>

(3) 通过 FS_CLI.exe 运行 reloadxml ,即可生效。

三、坐席配置与管理

静态坐席的配置

1. mod_callcenter默认配置文件在conf\autoload_configs\callcenter.conf.xml中。
默认系统配置了support@default队列
 <queue name="support@default">
  <param name="strategy" value="longest-idle-agent"/>
    ...
 </queue>
strategy是设置队列的分配方式,longest-idle-agent是优先选择等待时间最长的座席分配.
2. 分配座席
    <agents>
    <agent name="1002@default" type="callback" contact="[call_timeout=10]user/1002" status="Available" max-no-answer="3" wrap-up-time="10" reject-delay-time="10" busy-delay-time="60" /> 
        ...
    </agents>
    type指定座席的类型
    contact为座席的呼叫字符串
    status为座席初始状态,Available表示可用状态
    max-no-answer定义座席呼叫失败的次数
    wrap-up-time在队列中等待其他任务的时间
    reject-delay-time座席拒接后再次选到该座席的最短时长
    busy-delay-time座席如果忙,则再次尝试选到该座席的最短时间
3. 座席与队列关联
    <tiers>
     <tier agent="1002@default" queue="support@default" level="1" position="1"/>
        ...
    </tiers>
4. 在Diaplan中设置电话拨打5000转到callcenter队列
    <extension name="Callcenter Example">
        <condition field="destination_number" expression="^5000$">
            <action application="answer"/>
            <action application="callcenter" data="support@default"/>
        </condition>
    </extension>

四、转接与代接

1. 盲转(A-->B,转接到C,AC通话,B挂断;拨号为“*1”+c号码)
    1. 默认在Diaplan中的Local_Extension中设置
        <action application="bind_meta_app" data="1 b s execute_extension::dx XML features"/>
        盲转功能,按“*1”激活b腿上转接功能,s表示在哪条腿上接受按键就在哪条腿上执行 
    2. 在features.xml文件中会有一个“dx”的extension,B按下“*1”会执行到“dx”
        <extension name="dx">
            <condition field="destination_number" expression="^dx$">
                <action application="answer"/>
                <action application="read" data="11 11 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
                <action application="execute_extension" data="is_transfer XML features"/>
            </condition>
        </extension>
    "answer"保持电话应答状态,“read”表示等待用户按键,参数“11 11”表示最少11位,最多11位,tone_stream为拨号音,拨号音出现后,可以直接拨号,然后执行下列的"is_transfer",转到features.xml中的is_transfer中的extension
    is_transfer的extension
       <extension name="is_transfer">
            <condition field="destination_number" expression="^is_transfer$"/>
            <condition field="${digits}" expression="^(\d+)$">
                <action application="transfer" data="-bleg ${digits} XML default"/>
                <anti-action application="eval"     data="cancel transfer"/>
            </condition>
        </extension>
    表达式“^(\d+)$”判断输入数字是否合法,如果 不合法执行anti-action取消操作。AB继续通话
    如果合法,转接到digits变量代表的值,即B输入的C的号码,-bleg表示把a-leg上的通话转接到C,AC通话,B挂断

2. 协商转(A-->B,转接到C,BC通话,A等待,C挂断,AB继续通话;拨号为“*4”+C号码)
    1. 默认在Diaplan中的Local_Extension中设置
     <action application="bind_meta_app" data="4 b s execute_extension::att_xfer XML features"/>
    按“*4”执行到features.xml中的att_xfer的extension
    <extension name="att_xfer">
        <condition field="destination_number" expression="^att_xfer$">
            <action application="read" data="3 4 'tone_stream://%(10000,0,350,440)' digits 30000 #"/>
            <action application="set" data="origination_cancel_key=#"/>
            <action application="att_xfer" data="user/${digits}@$${domain}"/>
        </condition>
    </extension>
    输入3-4位按键,输入正确,处理呼叫转移,B呼叫C,A播放等待音乐,B和C通话,询问C是否愿意通话,如果不愿意,C挂机,AB通话;如果C愿意,B挂机,AC通话,如果B不挂机,按0形成三方会议,在会议中,B可以按“#”取消与C的通话,AB通话

代接

1.  全局代接
    拨打886
2.  组内代接
3.  指定分机代接
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《FreeSWITCH: VOIP实战》是一本非常好的技术书籍,它详细介绍了如何使用FreeSWITCH构建高可用性、高性能的VoIP解决方案。该书的作者是Anthony Minessale、Darren Schreiber和Michael S. Collins。 本书的目的是教读者学会使用FreeSWITCH构建功能丰富、灵活可扩展的电话系统。该书从基础概念开始,包括了FreeSWITCH的架构、模块、配置和调优等方面的内容。接着,书中介绍了如何使用FreeSWITCH来实现常见的电话功能,例如IVR、语音信箱、音频会议、呼叫中心、呼叫转移和呼叫路由等。 此外,本书还涵盖了FreeSWITCH的高级功能,例如多租户支持、安全性、彩铃、录音和统计数据收集等。书中还提供了大量的示例代码和配置文件,读者可以参考并直接应用到实际项目中。 总的来说,《FreeSWITCH: VOIP实战》是一本非常有用的技术书籍,它涵盖了FreeSWITCH的方方面面,非常适合VOIP开发人员、系统管理员和网络工程师阅读。在阅读完本书后,读者将能够熟练地使用FreeSWITCH构建高性能、高可用性的VOIP系统,从而为企业提供更好的通讯服务。 ### 回答2: 《FreeSWITCH: VoIP实战》PDF是一本介绍FreeSWITCH开源软件的VoIP技术书籍。它由Anthony Minessale、Darren Schreiber和Michael S. Collins所著。本书的读者目标是想要深入了解FreeSWITCH工作原理和使用方法的VoIP从业人员。 本书首先介绍了VoIP的基础知识和一些常用的协议和标准。接着,书中详细讲解了FreeSWITCH架构和件,如何安装、配置和管理FreeSWITCH,以及如何使用FreeSWITCH实现呼叫控制、音频处理、录音等功能。此外,该书还介绍了FreeSWITCH的高级应用,如群呼叫、多方会议、IVR等。 《FreeSWITCH: VoIP实战》PDF的亮点在于其深入浅出的讲解方式和丰富的案例分析。书中许多实例都是作者亲身经历的,能够帮助读者更好地理解FreeSWITCH的工作原理和解决实际问题的方法。此外,该书还在最后一章中介绍了一些FreeSWITCH的扩展和集成,如何与Asterisk、Kamailio等软交换平台交互,以及如何使用WebRTC实现浏览器间的实时音频通话等。 总之,如果您是一名VoIP从业人员,希望深入了解FreeSWITCH技术并应用于实际项目中,那么《FreeSWITCH: VoIP实战》PDF无疑是一本值得阅读的书籍。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值