前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Transfer App

Transfer App

作者头像
Seven Du
发布2020-12-21 15:54:24
1.2K0
发布2020-12-21 15:54:24
举报
文章被收录于专栏:FreeSWITCH中文社区

App 简介

代码语言:javascript
复制
transfer [-bleg|-both] <exten> [<dialplan> <context>]

transfer是一个dialplan application,在mod_dptools工具集中定义。

功能是将当前的通话channel重新转入dialplan去匹配新的extension,并可修改目标dialplan的类型(XML/LUA/INLINE)和用户的context。

这种转移是对于FreeSWITCH来说的,另一个比较准确的表达叫做dialplan-jump。

同时对于已经bridge的channel,可以选择transfer的对象是aleg、bleg或both。

使用例子

让我们以安装FreeSWITCH后的默认dialplan来看看transfer App的用法。

transfer到其他用户

代码语言:javascript
复制
<!-- default.xml --><extension name="redial">
 <condition field="destination_number" expression="^(redial|870)$">
   <action application="transfer" 
       data="${hash(select/${domain_name}-last_dial/${caller_id_number})}"/>
 </condition></extension>

这是实现重拨的extension,当用户摘机拨打redial或者870的时候会hunt这条extension

这里查询出上次话机正常呼叫时呼出的号码,然后使用transfer以新的destination number再次转入dialplan去Hunt被叫来实现Redial功能。

当然在这之前你需要先呼出过电话并插入记录到hash里面。

transfer到其他dialplan或context

代码语言:javascript
复制
<!-- default.xml --><extension name="operator">
 <condition field="destination_number" expression="^(operator|0)$">
   <action application="set" data="transfer_ringback=$${hold_music}"/>
   <action application="transfer" data="1000 XML features"/>
 </condition></extension>

这里实现了context的跳转,当话机呼叫operator或0的时候,将它转移到features.xml中去hunt 1000的destination number,即将话务转给1000话务员。

当然在features.xml匹配的extension中还做了sleep playback操作后又再次回到了default.xml后才实际的去呼叫1000话务员。

bridge中做transfer

由于默认路由中没有aleg和bleg bridge后做transfer的例子,让我们来自己简单的写一个。

代码语言:javascript
复制
<extension name="test-transfer-on-bridge">
 <condition field="destination_number" expression="^(10[01][0-9])$">
   <action application="bind_meta_app" data="1 a s transfer::-both 9196"/>
   <action application="bridge" data="user/$1"/>
 </condition></extension>

这个例子中我们给aleg绑定了按键功能,当A话机在通话过程中按*1两个按键时将会触发绑定的transfer app。

在这个extension中我们先绑定app,然后bridge到要呼叫的用户B,在通话过程中当A触发按键后两条腿都会transfer到9196这个nubmer,也就是echo。

结束语

当然transfer App还有更多灵活的用法,这需要根据具体的业务场景去使用。要想灵活掌握好App的使用还需要多写多用,才能让你了解到它的能力范围和限制的地方。

点击阅读原文,报名我们最新一期的沙龙!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeSWITCH中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • App 简介
  • 使用例子
    • transfer到其他用户
      • transfer到其他dialplan或context
        • bridge中做transfer
        • 结束语
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档