精华内容
下载资源
问答
  • COAP协议官方文档 全英文 The Constrained Application Protocol (CoAP)
  • Application Type

    2017-04-27 13:19:00
    . application/x- .* application/octet-stream ...application/pdf ...PDF(Portable Document Format的简称,意为“便携式文件格式”) .ai application/postscript PostScr...
    .application/x- 
    .*application/octet-stream二进制流,不知道下载文件类型
    .pdfapplication/pdfPDF(Portable Document Format的简称,意为“便携式文件格式”)
    .aiapplication/postscriptPostScript(PS)是主要用于电子产业和桌面出版领域的一种页面描述语言和编程语言。
    .xmlapplication/atom+xmlAtom feeds
    .jsapplication/ecmascript相当于application/javascript但是严格的处理规则
    .ediapplication/EDI-X12EDI ANSI ASC X12数据
    .ediapplication/EDIFACTEDI EDIFACT数据
    .jsonapplication/jsonJSON(JavaScript Object Notation)
    .jsapplication/javascriptECMAScript/JavaScript(相当于application/ecmascript但是宽松的处理规则)
    .oggapplication/oggOgg, 视频文件格式
    .rdfapplication/rdf+xml资源描述框架(Resource Description Framework,缩写 RDF),是万维网联盟(W3C)提出的一组标记语言的技术标准,以便更为丰富地描述和表达网络资源的内容与结构。
    .xmlapplication/rss+xmlRSS(Really Simple Syndication,简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘
    .xmlapplication/soap+xml简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是交换数据的一种协议规范,使用在计算机网络Web服务(web service)中,交换带结构信息。
    .woffapplication/font-woffWeb开放字体格式(Web Open Font Format,简称WOFF)是一种网页所采用的字体格式标准。(推荐使用;使用application/x-font-woff直到它变为官方标准)
    .xhtmlapplication/xhtml+xml可扩展超文本标记语言(eXtensible HyperText Markup Language,XHTML),是一种标记语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。
    .xmlapplication/xml可扩展标记语言(英语:eXtensible Markup Language,简称: XML),是一种标记语言。
    .dtdapplication/xml-dtdXML文件的文件型别定义(Document Type Definition)可以看成一个或者多个XML文件的模板,在这里可以定义XML文件中的元素、元素的属性、元素的排列方式、元素包含的内容等等。
    .xmlapplication/xop+xml二进制优化封装协议(Xmlbinary Optimized Packaging)
    .zipapplication/zipZIP压缩文件
    .gzipapplication/gzipGzip是若干种文件压缩程序的简称,通常指GNU计划的实现,此处的gzip代表GNU zip。
    .xlsapplication/x-xlsXLS 就是 Microsoft Excel 工作表,是一种非常常用的电子表格格式。
    .001application/x-001 
    .301application/x-301 
    .906application/x-906 
    .a11application/x-a11 
    .awfapplication/vnd.adobe.workflow 
    .bmpapplication/x-bmp 
    .c4tapplication/x-c4t 
    .calapplication/x-cals 
    .cdfapplication/x-netcdf 
    .celapplication/x-cel 
    .cg4application/x-g4 
    .citapplication/x-cit 
    .botapplication/x-bot 
    .c90application/x-c90 
    .catapplication/vnd.ms-pki.seccat 
    .cdrapplication/x-cdr 
    .cerapplication/x-x509-ca-cert 
    .cgmapplication/x-cgm 
    .cmxapplication/x-cmx 
    .crlapplication/pkix-crl 
    .csiapplication/x-csi 
    .cutapplication/x-cut 
    .dbmapplication/x-dbm 
    .cmpapplication/x-cmp 
    .cotapplication/x-cot 
    .crtapplication/x-x509-ca-cert 
    .dbfapplication/x-dbf 
    .dbxapplication/x-dbx 
    .dcxapplication/x-dcx 
    .dgnapplication/x-dgn 
    .dllapplication/x-msdownload 
    .dotapplication/msword 
    .derapplication/x-x509-ca-cert 
    .dibapplication/x-dib 
    .docapplication/msword 
    .drwapplication/x-drw 
    .dwfapplication/x-dwf 
    .dxbapplication/x-dxb 
    .ednapplication/vnd.adobe.edn 
    .dwgapplication/x-dwg 
    .dxfapplication/x-dxf 
    .emfapplication/x-emf 
    .epiapplication/x-epi 
    .epsapplication/postscript 
    .exeapplication/x-msdownload 
    .fdfapplication/vnd.fdf 
    .epsapplication/x-ps 
    .etdapplication/x-ebx 
    .fifapplication/fractals 
    .frmapplication/x-frm 
    .gbrapplication/x-gbr 
    .g4application/x-g4 
    .gl2application/x-gl2 
    .hglapplication/x-hgl 
    .hpgapplication/x-hpgl 
    .hqxapplication/mac-binhex40 
    .htaapplication/hta 
    .gp4application/x-gp4 
    .hmrapplication/x-hmr 
    .hplapplication/x-hpl 
    .hrfapplication/x-hrf 
    .icbapplication/x-icb 
    .icoapplication/x-ico 
    .ig4application/x-g4 
    .iiiapplication/x-iphone 
    .insapplication/x-internet-signup 
    .iffapplication/x-iff 
    .igsapplication/x-igs 
    .imgapplication/x-img 
    .ispapplication/x-internet-signup 
    .jpeapplication/x-jpe 
    .jsapplication/x-javascript 
    .jpgapplication/x-jpg 
    .larapplication/x-laplayer-reg 
    .latexapplication/x-latex 
    .lbmapplication/x-lbm 
    .lsapplication/x-javascript 
    .ltrapplication/x-ltr 
    .manapplication/x-troff-man 
    .mdbapplication/msaccess 
    .macapplication/x-mac 
    .mdbapplication/x-mdb 
    .mfpapplication/x-shockwave-flash 
    .miapplication/x-mi 
    .milapplication/x-mil 
    .mochaapplication/x-javascript 
    .mpdapplication/vnd.ms-project 
    .mppapplication/vnd.ms-project 
    .mptapplication/vnd.ms-project 
    .mpwapplication/vnd.ms-project 
    .mpxapplication/vnd.ms-project 
    .mxpapplication/x-mmxp 
    .nrfapplication/x-nrf 
    .outapplication/x-out 
    .p12application/x-pkcs12 
    .p7capplication/pkcs7-mime 
    .p7rapplication/x-pkcs7-certreqresp 
    .pc5application/x-pc5 
    .pclapplication/x-pcl 
    .pdxapplication/vnd.adobe.pdx 
    .pglapplication/x-pgl 
    .pkoapplication/vnd.ms-pki.pko 
    .p10application/pkcs10 
    .p7bapplication/x-pkcs7-certificates 
    .p7mapplication/pkcs7-mime 
    .p7sapplication/pkcs7-signature 
    .pciapplication/x-pci 
    .pcxapplication/x-pcx 
    .pdfapplication/pdf 
    .pfxapplication/x-pkcs12 
    .picapplication/x-pic 
    .plapplication/x-perl 
    .pltapplication/x-plt 
    .pngapplication/x-png 
    .ppaapplication/vnd.ms-powerpoint 
    .ppsapplication/vnd.ms-powerpoint 
    .pptapplication/x-ppt 
    .prfapplication/pics-rules 
    .prtapplication/x-prt 
    .psapplication/postscript 
    .pwzapplication/vnd.ms-powerpoint 
    .raaudio/vnd.rn-realaudioRealAudio是一种由RealNetworks发展的RealMedia多媒体音频文件格式,仅指RealPlayer中能够识别的音频文件,也可以理解为real格式的音频文件。
    .rasapplication/x-ras 
    .potapplication/vnd.ms-powerpoint 
    .ppmapplication/x-ppm 
    .pptapplication/vnd.ms-powerpoint 
    .prapplication/x-pr 
    .prnapplication/x-prn 
    .psapplication/x-ps 
    .ptnapplication/x-ptn 
    .redapplication/x-red 
    .rjsapplication/vnd.rn-realsystem-rjs 
    .rlcapplication/x-rlc 
    .rmapplication/vnd.rn-realmedia 
    .ratapplication/rat-file 
    .recapplication/vnd.rn-recording 
    .rgbapplication/x-rgb 
    .rjtapplication/vnd.rn-realsystem-rjt 
    .rleapplication/x-rle 
    .rmfapplication/vnd.adobe.rmf 
    .rmjapplication/vnd.rn-realsystem-rmj 
    .rmpapplication/vnd.rn-rn_music_package 
    .rmvbapplication/vnd.rn-realmedia-vbr 
    .rnxapplication/vnd.rn-realplayer 
    .rpmaudio/x-pn-realaudio-plugin 
    .rmsapplication/vnd.rn-realmedia-secure 
    .rmxapplication/vnd.rn-realsystem-rmx 
    .rsmlapplication/vnd.rn-rsml 
    .rtfapplication/msword 
    .rvvideo/vnd.rn-realvideo 
    .satapplication/x-sat 
    .sdwapplication/x-sdw 
    .slbapplication/x-slb 
    .rtfapplication/x-rtf 
    .samapplication/x-sam 
    .sdpapplication/sdp 
    .sitapplication/x-stuffit 
    .sldapplication/x-sld 
    .smiapplication/smil 
    .smkapplication/x-smk 
    .smilapplication/smil 
    .spcapplication/x-pkcs7-certificates 
    .splapplication/futuresplash 
    .ssmapplication/streamingmedia 
    .stlapplication/vnd.ms-pki.stl 
    .sstapplication/vnd.ms-pki.certstore 
    .tdfapplication/x-tdf 
    .tgaapplication/x-tga 
    .styapplication/x-sty 
    .swfapplication/x-shockwave-flash 
    .tg4application/x-tg4 
    .tifapplication/x-tif 
    .vdxapplication/vnd.visio 
    .vpgapplication/x-vpeg005 
    .vsdapplication/x-vsd 
    .vstapplication/vnd.visio 
    .vswapplication/vnd.visio 
    .vtxapplication/vnd.visio 
    .torrentapplication/x-bittorrent 
    .vdaapplication/x-vda 
    .vsdapplication/vnd.visio 
    .vssapplication/vnd.visio 
    .vstapplication/x-vst 
    .vsxapplication/vnd.visio 
    .wb1application/x-wb1 
    .wb3application/x-wb3 
    .wizapplication/msword 
    .wk4application/x-wk4 
    .wksapplication/x-wks 
    .wb2application/x-wb2 
    .wk3application/x-wk3 
    .wkqapplication/x-wkq 
    .wmfapplication/x-wmf 
    .wmdapplication/x-ms-wmd 
    .wp6application/x-wp6 
    .wpgapplication/x-wpg 
    .wq1application/x-wq1 
    .wriapplication/x-wri 
    .wsapplication/x-ws 
    .wmzapplication/x-ms-wmz 
    .wpdapplication/x-wpd 
    .wplapplication/vnd.ms-wpl 
    .wr1application/x-wr1 
    .wrkapplication/x-wrk 
    .ws2application/x-ws 
    .xdpapplication/vnd.adobe.xdp 
    .xfdapplication/vnd.adobe.xfd 
    .xfdfapplication/vnd.adobe.xfdf 
    .xlsapplication/vnd.ms-excel 
    .xwdapplication/x-xwd 
    .sisapplication/vnd.symbian.install 
    .x_tapplication/x-x_t 
    .apkapplication/vnd.android.package-archive 
    .x_bapplication/x-x_b 
    .sisxapplication/vnd.symbian.install 
    .ipaapplication/vnd.iphone 
    .xapapplication/x-silverlight-app 
    .xlwapplication/x-xlw 
    .xplaudio/scpls 
    .anvapplication/x-anv 
    .uinapplication/x-icq 

    转载于:https://www.cnblogs.com/ddzzhh/p/6773749.html

    展开全文
  • Windows Sockets 2 Application Program Interface hlp格式 英文
  • 书名:CoffeeScript Application Development 语言:英语 格式:PDF 出版年月:2013年8月
  • 电脑文件格式大全(国外英文资料)电脑文件格式大全(国外英文资料)386 Windows virtual device driver CDX composite index fileThe ABC ASCII encoding format CFG configuration file contains system, device, and ...

    电脑文件格式大全(国外英文资料)

    电脑文件格式大全(国外英文资料)

    386 Windows virtual device driver CDX composite index file

    The ABC ASCII encoding format CFG configuration file contains system, device, and environment information

    ACM audio compression management driver, CGM, Paint, Shop, Pro image file

    The ACT document wizard, CHK, is composed of missing clusters that are restored by the CHKDSK/F command

    ADF system management configuration CLP clipboard file

    AIF sound format file CMD command file

    AIO is converted from a APL file into a format file CNF configuration file that contains information about device configuration

    ANI animation mouse cursor CNT help content

    APL APL workspace format file COB COBOL language source file

    APP application file COM DOS command file

    ARC zip file, CPI code, character set, information file

    ARJ compressed file CPL control panel application

    ART image file CPP C/C++ program source file

    ASC ASC text file CPT Macintosh Compact Pro File Library

    ASM MASM assembly language source file CRD WINDOWS card

    AU sound file CRF cross assembler file, a list of programs produced by the MASM compiler

    AVI Windows video file CRT INTERNET security certificate

    AWD fax browse file CSV command to split data

    AWP fax key browser CTL control file

    AWS fax signature browser CUR mouse cursor resource file

    BAD error file CUT, Paint, Shop, Pro image file

    BAK backup files, DAT data files that contain the batch of data that need to be processed or generated in the program

    The BAS BASIC language source file, DB, dBASE, or FoxBASE configuration file, contains the parameters of the running environment

    BAT DOS batch file DBC database

    BCM WORKS communication file DBF, FoxBASE, or FoxPro database index

    BDB WORKS database file DBS database

    BFC briefcase DBT memo file

    BIN binary file DCT dictionary file

    BMP WINDOWS bitmap file DCX, fax browsing document or database index

    C C language source file, DDI compressed files

    CAB WINDOWS installer DEF schema definition file

    CAL WINDOWS calendar file DER Internet security certificate

    展开全文
  • step application handbook

    2009-09-26 15:04:55
    3D file format 用于开发CAE CAD时的参考,国际标准格式
  • FreeSWITCH dialplan APPlication

    万次阅读 2016-07-17 23:52:32
    freeswitch dialplan application

    以下为所有应用(Application)的一览表,点击对应的超链接进入源网站查看英文版本,若要看中文版本可往下拉按序查找。翻译不妥处请多多指教。

    A

    • answer – 应答一个信道的呼叫
    • att_xfer – 可用于呼叫转移

    B

    • bind_digit_action – 绑定一个关键字队列或者一个正则表达式到一个action上
    • bind_meta_app – 在桥接或者执行另一个dialplan APP期间,对特定的呼叫leg上应答输入的DTMF按键序列
    • block_dtmf - Block DTMFs from being sent or received on the channel
    • break – 终断信道中正在运行的应用
    • bridge – 将信道桥接到另一个已存在的信道上(即产生通话)
    • bridge_export – 通过桥接(bridge)导出信道变量

    C

    D

    • db – 插入数据到数据库中
    • deflect -挂断当前通话并向通话发起者(是一个网关或者代)发送一个REFER消息和一个新的INVITE消息
    • delay_echo – 延迟一定事件后ECHO一个音频文件.
    • detect_speech – 实现语音识别
    • digit_action_set_realm – 更改绑定域
    • displace_session – 替换(部分替换)信道中的文件或流

    E

    • early_hangup – 激活信道中的早期挂断(缺少相应资料)
    • mod_dptools: eavesdrop –监控一个信道
    • echo – 向发起方回应音频或者视频
    • enable_heartbeat – 激活媒体的心跳机制(维持与媒体的连接)
    • endless_playback –向呼叫方无限播放一个文件
    • enum – 执行 E.164查找
    • erlang – 用Erlang处理一个呼叫
    • eval – 执行一个内部的API
    • event – 产生(file)一个事件
    • execute_extension -在一个表达式中执行另一个表达式并得到其返回值,就像执行宏一样执行完后返回
    • export – 通过桥接导出信号变量

    F

    • fax_detect – 检查传真的CNG – 可能已被废弃
    • fifo – 向FIFO队列发送一个呼叫
    • fifo_track_call – 像FIFO呼叫队列一样手工计数队列
    • flush_dtmf – 输出所有在队列中等待的DTMF按键输入

    G

    • gentones – 生成一个TGML音调
    • group – 在组插入或者删除成员

    H

    • hangup – 挂断当前信道
    • hash – 向数据库(db)中添加一个哈希值(hash)
    • hold – 发送一个等待消息
    • httapi – 用HTTAPI向Web服务器发送一个呼叫控制

    I

    • info – 显示呼叫信息
    • intercept – 如果知道一个信道的uuid,则可用于掌管这个通话并接听这个通话
    • ivr – 运行一个IVR菜单

    J

    • javascript – 在diaplan中运行一个JavaScript脚本
    • jitterbuffer – 向一个会话(Session)发送一个抖动缓冲(jitter buffer)消息

    L

    • limit限制某段号码对某个资源的访问权限
    • limit_execute – 有限制的执行某个应用
    • limit_hash - Set a limit on number of calls to/from a resource
    • limit_hash_execute – 对某个应用设置限制
    • log – 向终端打印一个日志文本
    • lua – 在dialplan中执行LUA脚本

    M

    • media_reset – 重设所有的分支或者代理的媒体标记位
    • mkdir – 创建一个目录
    • multiset – 在一个动作(Action)中设置多个信道变量
    • mutex – 互斥锁,仅允许在同一个事件内允许一个呼叫,阻塞其他所有的呼叫

    P

    • page –在被应答的等待时间中,向信道列表播放录音文件。
    • park – 悬空一个呼叫
    • park_state – 悬空状态
    • phrase – 说出一个句子(phrase)
    • pickup –允许接听方为一个或者多个分组,反之即可以同时向一个分组发起呼叫
    • play_and_detect_speech – 在语音识别处理时播放文件
    • play_and_get_digits – 播放一个音频并捕获数字
    • play_fsv – 播放一个FSV文件. FSV - (FS视频文件格式)
    • playback – 向发起者播放一个声音文件
    • pre_answer – 在早起媒体状状态下的预应答
    • preprocess暂缺描述
    • presence – 发送一个Presence
    • privacy – 在呼叫中设置呼叫方策略

    Q

    R

    • read – 读取DTMF按键数字
    • record – 在信道输入中录音
    • record_fsv – 记录一个FSV 文件. FSV - (FS 视频文件格式)
    • record_session – 会话录音
    • recovery_refresh – 发送一个复原更新
    • redirect – 重定向消息
    • regex – 执行一个正则表达式
    • remove_bugs – 移除media bugs.
    • rename – 重命名文件
    • respond – 向会话发送一个应答消息
    • ring_ready – 在信道中执行Ring_Ready
    • rxfax – 将接收到的传真保存为tif文件

    S

    T

    U

    V

    • verbose_events - Make ALL Events verbose (Make all variables appear in every single event for this channel).

    W

     



    answer

    作用:应答一个信道中的呼叫

    示例:

    <action application="answer"/>

     

    att_xfer

    参数表:

    <channel_url>

    参数说明:

    <channel_url>信道URL地址

    作用:在呼叫中加入第三方channel_url,然后将源呼叫着转移到channel_url

    示例:

    <extension name="att_xfer">

      <condition field="destination_number" expression="^86$">

        <action application="read" data="3 4 sounds/getdigits.wav attxfer_callthis 30000 #"/>

        <action application="att_xfer" data="sofia/default/${attxfer_callthis}"/>

      </condition>

    </extension>

     

    bind_digit_action

    参数:

    <realm>,<digits|~regex>,<string>[,<value>][,<dtmf target leg>][,<eventtarget leg>]

    参数说明:

    realm:数字域,一定程度上类似于dialplan的content

    digits:要匹配的数字

    ~regex:正则表达式

    string:dialplan或者API命令,例如exec:<dialplan app>

    可选项:

    value:包含命令的参数

    dtmf target leg:值可以为aleg,bleg,peer,both;默认为aleg

    event target leg: 值可以为aleg,bleg,peer,both;默认为aleg

    作用:绑定对应DTMF输入的操作

    示例1:

    <action application="bind_digit_action" data="my_digits,11,exec:execute_extension,att_xfer XML default,both,self"/>

    <action application="bind_digit_action" data="my_digits,11,api:hupall"/>

    示例2:

    <action application="bind_digit_action" data="cool,500,exec:playback,ivr/ivr-welcome_to_freeswitch.wav"/>

    <action application="bind_digit_action" data="cool,~7\d{3},exec:playback,ivr/ivr-welcome_to_freeswitch.wav"/>

    <action application="bind_digit_action" data="cool,~1\d+,exec:digit_action_set_realm,rad"/>

    <action application="bind_digit_action" data="rad,~1\d+,exec:digit_action_set_realm,cool"/>

    <action application="digit_action_set_realm" data="cool"/>

     

    bind_meta_app

    参数:

    KEY LISTEN_TO FLAGS APPLICATION[::PARAMETERS]

    参数说明:

    • KEY:当*号键按下希望按下的按键。如果希望应答是*1,则可以用1替代KEY。仅仅只可以输入0-9之间的数字,*和#将被解释成0
    • LISTEN_TO:监听数字的leg对象,接受的参数有:a,b,或者ab
    • FLAGS:更改行为。以下值为有效值:
      • a – 在A leg上应答
      • b – 在B leg上应答
      • o – 在对方leg上应答
      • s – 在相同leg上应答
      • i – (内联执行)Execute inline (see below)
      • 1 – 使用一次后解除绑定
    • APPLICATION:要执行的应用(application)
    • PARAMETERS:应用的参数,需在应用后面加上::后才能跟参数,否则无法被执行。

    作用:在桥接及执行另一个dialplan APP期间,对特定的呼叫leg上应答输入的DTMF按键序列。

    示例:

    <action application="bind_meta_app" data="2 a s record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>

     

    break

    参数:

    <all>

    作用:终断信道中正在运行的应用

    示例:

    <action application="break" data="${bridge_to}">

    注意:目前还不能打断一个endless_playback

     

     

    bridge

    参数:

    <endpoint/gateway/gateway_name/address>

    作用:将信道桥接到另一已存在的信道上,用于产生通话

    示例:

    简单的终端:

    bridge <target_endpoint>

    多终端同时呼叫,没有并发性的限制,第一个应答的有应答权,第二个就没有

    bridge <target_endpoint>[,<target_endpoint>]

    热备份,一个呼叫失败后拨打另外一个

    bridge <target_endpoint>[|<target_endpoint>]

     

    bridge_export

    作用:通过桥接导出参数

    示例:

    <action application="bridge_export" data="foo=bar"/>

     

    capture

    作用:将捕获到的数字添加到信道变量数组中

    示例:

    <extension name="arrays">

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

         <action application="set" data="barfoo=testing"/>

         <action application="log" data="ERR barfoo=[${barfoo}]"/>

         <action application="log" data="ERR barfoo[100]=[${barfoo[100]}]"/>

         <action application="set" data="barfoo[100]=yipee"/>

         <action application="log" data="ERR barfoo=[${barfoo}]"/>

         <action application="push" data="foobar,test A"/>

         <action application="push" data="foobar,test B"/>

         <action application="push" data="foobar,test C"/>

         <action application="unshift" data="foobar,test M"/>

         <action application="set" data="foobar[1]=w00t"/>

         <action application="set" data="foobar[100]=doh"/>

     

         <action application="log" data="ERR foobar[1]=[${foobar[1]}]"/>

         <action application="log" data="ERR foobar[100]=[${foobar[100]}]"/>

         <action application="log" data="ERR foobar=[${foobar}]"/>

     

         <action application="set" data="foobar=plain"/>

         <action application="log" data="ERR foobar=[${foobar}]"/>

     

         <action application="set" data="foobar=ARRAY::hip|:hip|:hooray"/>

         <action application="log" data="ERR foobar= [${foobar[0]}] [${foobar[1]}] [${foobar[2]}]"/>

     

     

         <action application="log" data="ERR DP_MATCH=[${DP_MATCH}]"/>

         <action application="log" data="ERR DP_MATCH[1]=[${DP_MATCH[1]}]"/>

     

         <action application="set" data="parseme=2121231234"/>

         <action application="capture" data="woot|${parseme}|(\d{3})(\d{3})(\d{4})"/>

         <action application="log" data="ERR woot=[${woot}] parts=[${woot[1]}] [${woot[2]}] [${woot[3]}]"/>

     

         <action application="set" data="parseme="/>

         <action application="log" data="ERR test=[${parseme}]"/>

     

       </condition>

     </extension>

     

    chat

    参数:

    protocol | from_jid | to_jid | message | [<content-type>]

    参数说明:

    protocol — 其值为sip, verto, jingle等等

    from_jid — 呼叫方或者发送者的uri

    to_jid — 接收消息的uri

    message — 发送的消息体

    content-type — 默认类型为text

    作用:给一个IM客户端发送文本消息

    注:参数间以“|”隔开,允许其中有空格

    示例(命令行的中):

    freeswitch@default>chat sip|Server@FS.local|1000@domain.local|Hello chat via SIP!

    freeswitch@default>chat verto|Server@FS.local|1000@domain.local|Hello chat via Verto!

    Perl中:

    $api = new freeswitch::API();

    $foo = $api->execute("chat", "jingle|from_jid|to_jid|test Jingle message");

     

    check_acl

    参数:

    <ip> <acl | cidr> [<hangup_cause>]

    参数说明:

    ip:IP地址

    acl:访问控制列表规则

    cidr:一个网络段

    hangup_cause:挂断原因

    作用:根据访问控制列表中的呼叫发起方地址是否符合规则,然后执行允许或者拒绝的操作

    示例1:

    <action application="check_acl" data="${network_addr} foo normal_clearing"/>

    如果从IP地址发出的呼叫没有在名叫acl的访问控制列表中,将会被中止,错误代码为normal_clearing

    示例2:

    <action application="check_acl" data="${network_addr} 1.2.3.0/8 normal_clearing" inline="true"/>

    从IP地址为1.2.3.4发起的呼叫将与CIDR(1.2.3.0/8)匹配,并在dialplan中继续传递(呼叫)。

    从IP地址为4.3.2.1发起的呼叫将不会匹配并会被中止,因为内部的标记位(inline)的值为true。这个应用执行完毕后不再执行dialplan后续的代码。

     

    clear_digit_action

    参数:

    <realm>|all[,target]

    参数说明:

    1.如果没有指明参数,将默认提供参数all

    2.参数target的值为peer(对方)或者both(两者)

    作用:清除所有的数字绑定

    示例:

    <action application="clear_digit_action" data="<realm>"/>

     

    clear_speech_cache

    作用:清除所有的语音(speech)句柄的缓存

    示例:

    <action application="clear_speech_cache"/>

     

    cng_plc

    作用:舒适噪音生成的配置

    示例:

    <action application="cng_plc"/>

    作 用:舒适噪音生成(Comfort noise generation)用来确保呼叫过程中未失去连接(因为通话过程中可能有双方没有讲话的情况,舒适噪声的产生让通话双方知道该通话还在持续中)。 cng_plc的全称为comform noise gerenarionandpackage loss concealment

     

    deflect

    作用:挂断当前通话并向通话发起者(是一个网关或者代理)发送一个REFER消息和一个新的INVITE消息

    示例:

    <action application="deflect" data="sip:someone@somewhere.com" />

    其中sip:可带可不带

     

    delay_echo

    作用:该应用会让呼叫信道延迟(delay)音频循环播放。当延迟若干毫秒后,将返回voice,DTMF等等的送音状态。这在RTP音频在双方工作的情况下的检查十分有帮助,因为当在测试说话者电话时echo应用经常失效。简单点说就是暂停若干毫秒后执行echo

    示例:

    <action application="delay_echo" data="1000"/>

     

    detect_speech

    作用:实现语音识别

    使用方法:

    detect_speech <mod_name> <gram_name> <gram_path> [<addr>]

    detect_speech grammar <gram_name> [<path>]

    detect_speech grammaron <gram_name>

    detect_speech grammaroff <gram_name>

    detect_speech grammarsalloff

    detect_speech nogrammar <gram_name>

    detect_speech param <name> <value>

    detect_speech pause

    detect_speech resume

    detect_speech start_input_timers

    detect_speech stop

    示例:

    待补充

     

    digit_action_set_realm

    作 用:与bind_digit_action配合使用。数字绑定后选择数字将产生对应的应用(Usedwith to bind_digit_action select the realm for which digitswillbe applied whendigits are bound)。

    示例:

    <action application="bind_digit_action" data="cool,500,exec:playback,ivr/ivr-welcome_to_freeswitch.wav"/>

    <action application="bind_digit_action" data="cool,~7\d{3},exec:playback,ivr/ivr-welcome_to_freeswitch.wav"/>

    <action application="bind_digit_action" data="cool,~1\d+,exec:digit_action_set_realm,rad"/>

    <action application="bind_digit_action" data="rad,~1\d+,exec:digit_action_set_realm,cool"/>

    <action application="digit_action_set_realm" data="cool"/>

     

    displace_session

    参数:

    <path> [<flags>] [+time_limit_ms]

    参数说明:

    path:任何FreeSWITCH支持的声音格式,例如wav,local_steam,shout等

    flags:mlr

    mrl的详细说明:

    m/mux = mux, 两个终端仍能听到对方

    l = loop, -1为无限循环

    r = 应用于读方,默认为写方(在b-leg上写入而不是a-leg)

    作用:替换(部分替换)信道中的文件或流。

    示例:

    <extension name="record_call">

      <condition field="destination_number" expression="^record_call$">

        <action application="set" data="rec_session=$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>

        <action application="record_session" data="${rec_session}" />

        <action application="playback" data="tone_stream://L=3;%(100,100,350,440)" />

        <action application="displace_session" data="tone_stream://%(100,15000,800);loops=-1 mux" />

      </condition>

    </extension>

    这个是diaplan中的一部分,用来调用一个bind_mete_app或者execute_extension中的语句。然后将会开始记录会话,并且没15秒插入一个beep。标记位mux确保音频将被混音。

     

    eavesdrop

    参数:

    [<uuid>|all]

    参数说明:

    <action application="set" data="eavesdrop_require_group=<groupID>"/>

    <action application="set" data="eavesdrop_indicate_failed=/sounds/failed.wav"/>

    <action application="set" data="eavesdrop_indicate_new=/sounds/new_chan_announce.wav"/>

    <action application="set" data="eavesdrop_indicate_idle=/sounds/idle.wav"/>

    <action application="set" data="eavesdrop_enable_dtmf=true"/> <!-- false means no commands during eavesdrop -->

    <action application="set" data="eavesdrop_whisper_aleg=true"/> <!-- enables whisper mode in aleg -->

    <action application="set" data="eavesdrop_whisper_bleg=true"/> <!-- enables whisper mode in bleg -->

    作用:用来监视信道。通常用来会话交驳,若要长期监视需使用mod_spy

    示例:待补充

     

    echo

    作用:将呼叫信道置于一个环路中。它将简单的返回所有发送的东西,包括语音,DTMF按键灯。

    示例:

    <action application="echo" data=""/>

     

    endless_playback

    作用:这个应用用于无限播放一个文件。并且播放不能别外部打断

    示例:

    <action application="endless_playback" data="filename"/>

     

    eval

    参数:

    <string to eval>

    作用:用于执行一个内部API,或者简单的向终端输出一些日志文件

    示例:

    <action application="eval" data="${sched_api(+5 none originate {ignore_early_media=true}sofia/your_GeteWay/${caller_id_number} your_ext XML your_context your_Caller_ID_Name your_Caller_ID_Number)}"/>

    <action application="hangup"/>

     

    event

    参数:

    Event Event-Name=$event_name[,Event-Subclass=$event_subclass][,header=value,header=value]

    作用:可用于产生(fire)任意事件。

    示例:

    <extension name="ACDIntro">

      <condition field="destination_number" expression="^queue_beta$">

        <action application="set" data="acd_line_ext=150"/>

        <action application="answer" />

        <action application="playback" data="intro.wav" />

        <action application="event" data="Event-Subclass=VoiceWorks.pl::ACDnotify,Event-Name=CUSTOM,state=Intro,condition=IntroPlayed"/>

        <action application="playback" data="local_stream://moh" />

      </condition>

    </extension>

     

    export

    语法:

    <action application="export" data="name_of_var_to_export=value"/>

    作用:将变量从a-leg导出到b-leg上

    示例1(不仅导出到B-leg上,同样也在A-leg上设置):

    <action application="export" data="foo=bar"/>

    示例2(加上前缀nolocal:仅仅只导出到B-LEG上):

    <action application="export" data="nolocal:foo=bar"/>

     

    execute_extension

    语法:

    <action application="execute_extension" data="extension [dialplan] [context]"/>

    作用:在一个表达式中执行另一个表达式并得到其返回值,就像执行宏一样执行完后返回,而transfer没有返回。

    示例:

    <extension name="hold_music">

     <condition field="destination_number" expression="^9999$"/>

     <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$">

       <action application="answer"/>

       <action application="execute_extension" data="is_secure XML features"/>

       <action application="playback" data="$${moh_uri}"/>

       <anti-action application="answer"/>

       <anti-action application="playback" data="$${moh_uri}"/>

     </condition>

    </extension>

     

    fax_detect

    作用:传真检查工具

    使用示例:

    <action application="tone_detect" data="fax 1100 r +5000 transfer fax XML default" /> 

    示例:

    当检测到传真的时候,呼叫将被路由到dialplan中的content=default,表达式为name=fax去

    <context name="default">

      <extension name="fax">

        <condition field="destination_number" expression="^fax$">

          <action application="answer"/>

          <action application="sleep" data="1000"/>

          <action application="set" data="fax_file_name=/tmp/fax/${caller_id_number}-${strftime(%Y-%m-%d-%H-%M-%S)}.tiff"/>

          <action application="set" data="fax_mode=recv"/>

          <action application="socket" data="127.0.0.1:8084 async"/>

          <action application="hangup"/>

        </condition>

      </extension>

    </context>

     

    file_string

    作用:file_string是一种十分有用的多路音频文件的播放器、写入序列号的应用。

    使用方法:

    ·       高级别(high level), 使用了大部分switch_ivr_playback()的功能

    ·       低级别(low level), 直接用文件句柄

    示例(高级别):

    <!-- Delimiter is set by a var which also enables the parser -->

    <action application="set" data="playback_delimiter=!"/>

    <action application="set" data="playback_sleep_val=500"/>

    <action application="playback" data="/ram/sr8k.wav!/ram/swimp.wav"/>

    示例(低级别):

    <!-- Delimiter is always ! char -->

    <action application="playback" data="file_string:///ram/sr8k.wav!/ram/swimp.wav"/>

    示例(播放等待音乐):

    <action application="set" data="hold_music=file_string://sounds/holdmusic1.wav!sounds/yourcallisimportant.wav" />

     

    flush_dtmf

    作用:输出一个信道中接收的DTMF。在呼叫方需要输入额外的数字的情况或者想在发送到另一个对话前清空所有DTMF数字时十分有用。

    使用方法:

    <action application="flush_dtmf"/>

     

    gentones

    语法:

    gentones <TGML>[|loops]

    作用:生成TGML声调

    示例:

    <pre>

    <!-- Generate a 500ms beep at 800Hz -->

    <action application="gentones" data="%(500,0,800)"/>

    <!-- Generate a DTMF string -->

    <action application="gentones" data="0800500005"/>

    <!-- Generate French ringing tones continuously (loop: -1) -->

    <action application="gentones" data="%(1500,3500,350,425)|-1"/>

    </pre>

     

    group

    语法:

    group,[insert|delete|call]:<group name>:<url>,group [insert|delete|call]

    作用:从数据库(内部数据库或者ODBC)中添加或者删除组,允许在bridge应用中直接呼叫组。

    示例1(命令行下):

    group insert:01@example.com:sofia/gateway/provider/0123456789

    示例2:

    group insert:01@example.com:[sip_cid_type=none]sofia/gateway/provider/0123456789

     

    hangup

    作用:挂断一个通话,可选择挂断原因

    示例:

    <action application="hangup" data="USER_BUSY"/>

    如果是在桥接(bridge)后挂断,那么FreeSWITCH会将从bridge收到的挂断原因覆盖该值,可通过设置参数sip_ignore_remote_cause=true来避免这样的情况。

     

    info

    作用:向控制台打印信道的相关信息

    示例:

    <action application="info"/> 

    在LUA脚本中设置输出级别:

    session1:execute("info","notice");

     

    Inline Dialplan

    参数:

    'app1:arg1,app2:arg2,app3:arg3' inline

    作用:允许在dialplan中插入一段代码表达式

    示例:

    uuid_transfer <uuid> playback:/foo.wav inline

    示例2:

    originate sofia/gateway/my_gw/user@domain.com 'set:myvar=myvalue,info:,playback:foo.wav' inline

     

    intercept

    语法:

    intercept [-bleg] <uuid>

    作用:允许一个信道将它自己桥接到另一个呼叫的a-leg或者b-leg。而该呼叫的另一条腿将被自动挂断

    示例:

    <action application="intercept" data="-bleg myUUID"/> 

    示例2(带参数的),仅在呼叫未桥接的情况下生效:

    <action application="set" data="intercept_unanswered_only=true"/>

    <action application="intercept" data="myUUID"/>

     

    IVR Menu

    作用:允许在XML中以简单的描述来便捷的创建IVR

    示例:

    <menu name="main"

        greet-long="phrase:mainmenu_phrase_macro"

        greet-short="phrase:short_mainmenu_phrase_macro"

        invalid-sound="phrase:invalid_entry_macro"

        exit-sound="phrase:goodbye_macro"

        timeout ="10000"

        max-failures="3"

        tts-engine="cepstral"

        tts-voice="david"

        phrase_lang="en">

            <entry action="menu-exit" digits="*"/>

            <entry action="menu-sub" digits="2" param="menu2"/>

                <entry action="menu-say-phrase" digits="4" param="enteraccount"/>

            <entry action="menu-back" digits="5"/>

            <entry action="menu-exec-app" digits="7" param="transfer 888 XML default"/>

            <entry action="menu-sub" digits="8" param="menu8"/>

    </menu>

    使用:

    <action application="ivr" data="main"/>

    参数说明:

    • name – IVR菜单的名称
    • greet-long – 当菜单运行时将在第一时间播放提示音乐。可能是一个文件名(以\或者/开头)、TTS(格式为say:要说的语音)、或者是phrase:宏名播放语句宏
      • 当使用 "phrase:my_phrase"时,可以指定参数选项如"phrase:my_phrase:options|option2"
    • greet-short – 当IVR功能激活时较短的提示音乐。可能是 filename, say, 或者是phrase
    • invalid-sound – 当无入口(entry)或者无效入口时将播放的提示音乐。可能是filename, say, 或者是phrase
    • exit-sound – 退出音乐
    • inter-digit-timeout – 等待选项的超时毫秒数
    • timeout – 当输入确认数字播放完确认音乐后的等待毫秒数
    • confirm-macro –确认宏
    • confirm-key – 当输完数字后的确认符号,默认是#,也可为空(even if blank)
      • 如果要更改掉默认的#号,可以通过在dialplan中修改配置改掉,相关的配置代码如下

    <action application="set" data="ivr_menu_terminator=*"/>

    • confirm-attempts
    • max-failures – 菜单结束前允许的输入数字错误的最大次数 (默认为3次,小于1为禁止失败).
    • max-timeouts – 菜单结束前允许的最大超时重试次数 (默认为max_failures的值或者是3。小于0则禁止重试).
    • tts-engine – TTS引擎的名字(例如cepstral) (可选项)
    • tts-voice –声音源的名字 (例如 david). (如果tts-voice已配置,则该项也必须配置).
    • digit-len – 搜索匹配功能入口前允许的最大数字输入个数.

    每个菜单都支持绑定多个按键操作如:

    • menu-exit – 退出IVR菜单
    • menu-sub – 加载一个子菜单(sub-menu)
    • menu-exec-app – 执行一个dialplan的应用(application)
    • menu-play-sound – 播放一个声音文件或者播放文本

    <entry action="menu-play-sound" digits="3" param="say: You pressed 3"/>

    <entry action="menu-play-sound" digits="6" param="voicemail/vm-goodbye.wav"/>

    • menu-back – 返回上一级菜单
    • menu-top – 返回顶级菜单
    • menu-exec-api 已停止使用

    示例2(一个数字执行多个应用):

    <include>

        <menu name="ivr-test"

              greet-long="ivr/ivr-menu.wav"

              confirm-macro=""

              confirm-key=""

              confirm-attempts="3"

              timeout="5000"

              inter-digit-timeout="2000"

              max-failures="3"

              max-timeouts="2"

              digit-len="1">

            <entry action="menu-exec-app"

                   digits="1"

                   param="execute_extension limit:'hash ivr in',

    set:call_timeout=15,export:absolute_codec_string=G729,set:sip_cid_type=none,

    bridge:sofia/internal/1001%10.10.10.10,playback:ivr/ivr-busy.wav,hangup inline"/>

            <entry action="menu-exec-app"

                   digits="2"

                   param="execute_extension limit:'hash ivr in',

    set:call_timeout=15,export:absolute_codec_string=G729,set:sip_cid_type=none,

    bridge:sofia/internal/1002%10.10.10.10,playback:ivr/ivr-busy.wav,hangup inline"/>

        </menu>

    </include>

     

    Limit

    语法:

    limit_execute <backend> <realm> <resource> <max[/interval]> <application> [application arguments]

    参数说明:

    backend:后端,详见后续提供的表

    realm:任意名字,域名

    resource:被限制的资源

    max:运行并发的呼叫数量

    transfer_destination_number:在拨号计划中转移到这个表达式中,该项为可选项,如果不想使用,填入limit_excceeded即可

    作用:限制某段号码对某个资源的访问权限。

    示例:

    <extension name="limit_exceeded">

      <condition field="destination_number" expression="^limit_exceeded$">

        <action application="playback" data="/sounds/overthelimit.wav"/>

        <action application="hangup"/>

      </condition>

    </extension>

     

    <extension name="limit" continue="true">

      <condition>

        <!-- You can set ${max_calls} per user in directory.conf and remove the line below -->

        <action application="set" data="max_calls=1" inline="true"/>

        <action application="limit" data="db $${domain} ${sip_auth_username} ${max_calls}"/>

      </condition>

    </extension>

     

    limit_execute

    语法:

    limit_execute <backend> <realm> <resource> <max[/interval]> <application> [application arguments]

    参数说明:

    backend:后端,详见后续提供的表

    realm:任意名字,域名

    resource:被限制的资源

    max:运行并发的呼叫数量

    application:要执行的应用

    application arguments:应用的参数

    作用:如果资源没有被限制则执行请求的应用

    示例:

    <extension name="outbound">

      <condition field="destination_number" expression="^1?[2-9]\d{2}[2-9]\d{6}$">

        <action application="limit_execute" data="hash outbound carrier1 5 bridge sofia/gateway/carrier1/${destination_number}" />

        <action application="limit_execute" data="hash outbound carrier2 5 bridge sofia/gateway/carrier2/${destination_number}" />

      </condition>

    </extension>

     

    log

    语法:

    log [loglevel] <log message>

    作用:向终端打印一个日志文本

    示例:

    <action application="log" data="DIALING Extension DialURI [${sip_uri_to_dial}]"/>

    <action application="log" data="INFO DIALING Extension DialURI [${sip_uri_to_dial}]"/>

    <action application="log" data="DEBUG DIALING Extension DialURI [${sip_uri_to_dial}]"/>

     

    media_reset

    作用:重置所有支路(bypass)/代理(proxy)的媒体标志位

    示例:

    <action application="set" data="continue_on_fail=true"/>

    <action application="set" data="bypass_media=true"/>

    <action application="set" data="inherit_codec=true"/>

     

    mkdir

    语法:

    mkdir <path>

    作用:创建一个目录

    示例:

    <action application="mkdir" data="/path/to/new/directory"/>

    <action application="mkdir" data="${recordings_dir}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}/"/>

    <action application="mkdir" data="/usr/local/freeswitch/sounds/custom/blabla"/>

     

    multiset

    语法:

    multiset [^^<delim>]<varname>=<value> <var2>=<val2>"

    作用:设置多个信道变量

    备注:默认的分隔符为空格,如果要修改可在最前面加“^^”,然后就可以用任意的分隔符了。这个应用可以运行在XML的 [[Dialplan_XML#Inline_Actions|inline]] 

    示例:

    <action application="multiset" data="effective_caller_id_name=FreeSwitch effective_caller_id_number=12345678"/>

    <action application="multiset" data="^^:effective_caller_id_name=FreeSwitch:effective_caller_id_number=12345678"/>

     

    mutex

    语法:

    mutex <keyname> [on|off]

    作用:互斥锁,即同一时间内仅允许一个呼叫,抑制其他的呼叫流

     

    page

    使用方法:

    page (page_path=/path/to/page_announcement.wav)<var1=value1,var2=value2...>sofia/internal/foo@bar.com:_:sofia/internal/foo2@bar.com:_:sofia...

    作用:在被应答的等待时间中,向信道列表播放录音文件。

    示例:

    page (page_path=/path/to/tornado_warning.wav)<nolocal:sip_auto_answer=true>sofia/internal/1000@bar.com:_:sofia/internal/1001@bar.com

    上述这个示例将分别在不同的线程中呼叫1000和1001,谁先接听,取决于sip_auto_answer的值,并且文件tornado_warning.wav将会播放。

    示例:

    page (page_path=/path/to/tornado_warning.wav)<nolocal:sip_auto_answer=true>sofia/internal/1000@bar.com:_:sofia/internal/1001@bar.com

     

    park

    作用:将一个呼叫悬空(park)。如果一个呼叫被悬空,必须要桥接(bridge)或者转移(transfer)到一个有效的位置。要注意的是,悬空(park)一个呼叫后不会播放等待音乐或者其他任何音乐!

    示例:

    <action application="park"/>

     

    phrase

    语法:

    phrase <macro_name>,<data>

     

    作用:播放一个预定义宏里目的文本。

    示例:

    extension name="556">

      <condition field="destination_number" expression="^556$">

        <action application="answer"/>

        <action application="sleep" data="1000"/>

        <action application="phrase" data="spell,${caller_id_name}"/>

        <action application="phrase" data="spell-phonetic,${caller_id_name}"/>

        <action application="phrase" data="timespec,12:45:15"/>

        <action application="phrase" data="saydate,0"/>

        <action application="phrase" data="msgcount,130"/>

      </condition>

    </extension>

     

    pickup

    用法:

    pickup/keyname

    pickup+keyname

    作用:允许接听方为一个或者多个分组,反之即可以同时向一个分组发起呼叫

    示例:

    <action application="bridge" data="${sofia_contact(100@test.com)},pickup/mygroup,pickup/mygroup2"/>

    分组的设置:

    <extension name="group_pickup">

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

        <action application="pickup" data="$1"/>

      </condition>

    </extension>

     

    play_and_detect_speech

    语法:

    <file> detect:<engine> {param1=val1,param2=val2}<grammar>

    参数说明:

    • file:要播放的文件。详情可看mod_dptools: playback
    • engine :语音识别模块,如unimrcp
    • {param1=val1}:可选的语言识别参数。这些参数由语音识别模块指定
    • grammar:语言可以为:inline:, builtin:, session:, a URL, a filename, etc.

    作用:在语音识别处理的时候播放文件,结果将保存在信道变量[[Variable_detect_speech_result|detect_speech_result]]中

    示例:

    <extension name="play_and_detect_speech example">

      <condition field="destination_number" expression="^(1888)$">

        <action application="set" data="tts_engine=unimrcp"/>

        <action application="set" data="tts_voice=donna"/>

        <action application="play_and_detect_speech" data="say:please say yes or no. please say no or yes. please say something! detect:unimrcp {start-input-timers=false,no-input-timeout=5000,recognition-timeout=5000}builtin:grammar/boolean?language=en-US;y=1;n=2"/>

        <action application="log" data="CRIT ${detect_speech_result}"/>

      </condition>

    </extension>

     

    play_and_get_digits

    语法:

    <min> <max> <tries> <timeout> <terminators> <file> <invalid_file> [<var_name> [<regexp> [<digit_timeout> [<transfer_on_failure>]]]]

    参数说明:

    • min:捕获的最小数字个数(最小值为0)
    • max:捕获的最大数字个数(最大值为128)
    • tries:提示音乐播放次数
    • timeout:在PAGD重试之前及在提示音乐播放完之后等待应答的毫秒数
    • terminators:当输入小于max时可按该符号进行终结。如果是以#开头的,那么终结符代表输入结束 (从 FS 1.2版本起). (默认为'#', 可以为空).
    • file:提示音乐文件。当输入数字时自动被打断播放 (可以设置为空,或者输入字符串“silence”略过提示音乐)
    • invalid_file:如果输入数字跟正则表达不匹配,播放的提示音乐
    • var_name:保存输入数字的信道变量(Channel variable into which valid digits should be placed )(可选项,没有默认值. 可参考下列中的'var_name_invalid').
    • regexp:数字串要匹配的正则表达式 (可选项, 值为空则允许所有输入,默认为空).
    • digit_timeout:Inter-digit timeout; 数字间的输入间隔时间(毫秒);一旦到了这个时间, PAGD将认为已经输入完毕,并开始拨号(dial)(可选项,默认值为<timeout>).
    • transfer_on_failure:当达到了最大重试次数,要呼叫转移(transfer)的地方,例如: "1 XML hangup" (可选项, 默认为空, 允许呼叫方处理信道变量)

    作用:播放一个提示音乐然后等待数字的输入。提示音乐可以被数字的输入打断

    示例:

    <extension name="play_and_get_digits example">

      <condition field="destination_number" expression="^(1888)$">

        <action application="play_and_get_digits" data="2 5 3 7000 # $${base_dir}/sounds/en/us/callie/conference/8000/conf-pin.wav /invalid.wav foobar \d+"/>

        <action application="log" data="CRIT ${foobar}"/>

      </condition>

    </extension>

     

    playback

    作用:在当前信道播放一个声音文件

    示例1:

    <!--default terminator is *. Keyword 'none' disables on-key termination /-->

    <action application="set" data="playback_terminators=none"/>

    <action application="playback" data="sounds/soundfile.wav"/>

    示例2(从第N个采样点开始播放):

    <action application="playback" data="/tmp/test.wav@@8000"/>

     

    pre_answer

    作用:类似于SDP中的SIP发送状态码183

    示例:

    <action application="pre_answer"/>

     

    presence

    语法:

    presence <user> <rpid> <message> 

    作用:发送一个PRESENCE_IN或者PRESENCE_OUT类型的事件。目前来说在sofia中使用的不是很频繁。当用户处于忙线状态时并不会对其钩子状态产生影响,但是将发送一个带用户钩子状态的事件。

    示例1:

    presence in|1000@xxx.xxx.xxx.xxx|dnd|'Do not disturb.'

    示例2:

    presence out|1000@xxx.xxx.xxx.xxx|unavailable|'Currently out for a pot of hot coffee.'

     

    privacy

    语法:

    privacy no|yes|name|full|number

    作用:在呼叫中设置呼叫方策略

    示例:

    <action application="privacy" data="yes"/>

     

    queue_dtmf

    语法:

    queue_dtmf <dtmf digits>[@<tone_duration>]

    作用:在终端上的会话中使用配置的方法桥接成功后发送DTMF按键数字

    示例:

    <action application="queue_dtmf" data="0123456789ABCD*#@100"/>

    <action application="bridge" data="sofia/internal/101"/>

    以上的例子中,当连接到分机号101后的每隔100毫秒发送‘0123456789ABCD*#’中的一个数字,如果没有配置时间,默认时间为2000毫秒(位间隔还是整体待考究)

     

    read

    语法:

    read <min> <max> <sound file> <variable name> <timeout> <terminators>

    参数说明:

    • min:最小的输入数字长度
    • max = 最大的输入数字长度
    • sound file:输入数字前播放的音乐
    • variable name:该信道变量存储用于的输入按键
    • timeout:等待每一位的输入超时毫秒数
    • terminators:当未达到最小位数时可以按该键结束,通常为‘#’

    作用:播放一段声音文件后等待用户输入按键。

    示例1:

    <extension name="Read Example">

      <condition field="destination_number" expression="^400$">

        <action application="answer"/>

        <action application="sleep" data="1"/>

        <action application="read" data="0 10 $${base_dir}/sounds/en/us/callie/conference/8000/conf-pin.wav res 10000 #"/>

        <action application="phrase" data="spell,${res}"/>

        <action application="hangup"/>

      </condition>

    </extension>

    示例2:

    <extension name="Read Example">

      <condition field="destination_number" expression="^400$">

        <action application="answer"/>

        <action application="sleep" data="1"/>

        <action application="read" data="0 10 $${base_dir}/sounds/en/us/callie/conference/8000/conf-pin.wav res 10000 #,*"/>

        <action application="phrase" data="spell,${res}"/>

        <action application="hangup"/>

      </condition>

    </extension>

     

    record

    语法:

    record,Record File,<path> [<time_limit_secs>] [<silence_thresh>] [<silence_hits>]

    参数说明:

    • time_limit_secs - (可选项)播放的最长秒数
    • silence_thresh - (可选项) 收音阈值
    • silence_hits - (可选项)收音事件的秒数。默认时间为3秒

    作用:录音

    示例:

    <action application="playback" data="/var/sounds/beep.gsm"/>

    <!--default terminator is *. Keyword 'none' disables on-key termination /-->

     

    <!--following line will set # as recording session terminator /-->

    <action application="set" data="playback_terminators=#"/>

    <action application="record" data="/tmp/data.wav 20 200"/>

     

    record_session

    作用:对整个会话或者呼叫进行录音

    示例:

    <extension name="ext-666">

      <condition field="destination_number" expression="^666$">

        <action application="set" data="RECORD_TITLE=Recording ${destination_number} ${caller_id_number} ${strftime(%Y-%m-%d %H:%M)}"/>

        <action application="set" data="RECORD_COPYRIGHT=(c) 1980 Factory Records, Inc."/>

        <action application="set" data="RECORD_SOFTWARE=FreeSWITCH"/>

        <action application="set" data="RECORD_ARTIST=Ian Curtis"/>

        <action application="set" data="RECORD_COMMENT=Love will tear us apart"/>

        <action application="set" data="RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}"/>

        <action application="set" data="RECORD_STEREO=true"/>

        <action application="record_session" data="$${base_dir}/recordings/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.wav"/>

        <action application="set" data="ringback=${us-ring}"/>

        <action application="bridge" data="sofia/external/18007842433@sip.voip-provider.com"/>

      </condition>

    </extension>

    文件格式:

    1.record_session /tmp/test.gsm : 将生成一个由GSM编码的原始声音文件,而不是wav,ogg等格式的文件。注意,采样率不受文件名的影响

    2.record_session /tmp/test.mp3 :如果已加载mod_shout模块,将生成一个MP3格式的文件

     

    redirect

    作用:将信道重定向到另一个终端上。一定要注意不要重定向到一个不兼容的信道上,否则将不会得要你想要的效果。

    示例1:

    <action application="redirect" data="sip:foo@bar.com "/> 

    示例2:

    action application="redirect" data="sip:foo@bar.com,sip:foo@end.com"/> 

     

    regex

    语法:

    regex value expression results*

    参数说明:

    • value:待匹配的值
    • expression:正则表达式
    • results:处理结果的字符串 ( 可选项,未指定则返回匹配结果,true或者false)

    作用:执行一个正则表达式

    示例1,控制台下(返回结果为05555555555):

    regex 61555555555|^61([0-9]{9})$|0%1

    示例2,控制台下(返回结果true):

    regex 61555555555|^61([0-9]{9})$

    示例3:

    <action application="set" data="effective_caller_id_number=${regex(${caller_id_number}|^61([0-9]{9})$|0%1)}"/>

     

    remove_bugs

    作用:移除信道中所有的三通(media bugs,在通话的双方中加入第三方进行监听),包括设置在record_session,tone_detect,或者其他有用三通的应用。

    示例:

    <action application="remove_bugs"/>

     

    rename

    语法:

    rename <from_path> <to_path>

    作用:重命名文件

    示例:

    <action application="rename" data="/path/to/file /path/to/renamed_file"/>

     

    respond

    用法:

    <action application="respond" data="response_info"/>

    作用:向SIP设置发送SIP会话应答码

    示例:

    <extension name="hold_music">

        <condition field="destination_number" expression="^9999$">

            <action application="answer"/>

            <action application="playback" data="$${hold_music}"/>

        </condition>

    </extension>

     

    <extension name="check_auth" continue="true">

        <condition field="${sip_authorized}" expression="^true$" break="never">

            <anti-action application="respond" data="407"/>

        </condition>

    </extension>

     

    <extension name="echo">

        <condition field="destination_number" expression="^9996$">

            <action application="answer"/>

            <action application="echo"/>

        </condition>

    </extension>

     

    ring_ready

    作用:向发起方(originator)发送代码为180的响铃

    示例:

    <action application="ring_ready" />

     

    <!-- Request a certain tone/file to be played while you wait for the call to be answered-->

    <action application="set" data="ringback=%(2000, 4000, 440.0, 480.0)"/>

    <!--<action application="set" data="ringback=/home/ring.wav"/>-->

     

    say

    语法:

    say <module_name>[:<lang>] <say_type> <say_method> [gender] <text>

    作用:使用预先录制好的声音文件读出来,或者读数据,事件,数字等不同的东西。

    参数说明:

    1.模块的名字通常为一个信道语言,如en,或者es

    2.say_tpye有

    NUMBER

    ITEMS

    PERSONS

    MESSAGES

    CURRENCY

    TIME_MEASUREMENT

    CURRENT_DATE

    CURRENT_TIME

    CURRENT_DATE_TIME

    TELEPHONE_NUMBER

    TELEPHONE_EXTENSION

    URL

    IP_ADDRESS

    EMAIL_ADDRESS

    POSTAL_ADDRESS

    ACCOUNT_NUMBER

    NAME_SPELLED

    NAME_PHONETIC

    SHORT_DATE_TIME

    3.say_method参数,如果要读的数字为42

    • pronounced – 常规读法,如 "forty two"
    • iterated – 按位读法, 如 "four two"
    • counted – 次序读法, 如 "forty second"

    4.gender参数

    FEMININE

    MASCULINE

    NEUTER

    示例:

    <!-- use in a phrase macro, different from using in the dialplan-->

    <action function="say" data="733#" method="iterated" type="name_spelled"/>

     

    <!-- spelled out alpha-numeric + ascii code, like "a-b-seven-three-three-pound", ASCII code 32-47 and, 58-62, 92-122 -->

    <action application="say" data="en name_spelled iterated ab733#"/>

     

    <!-- spell out called number, like "one-two-three-four-five" -->

    <action application="say" data="en name_spelled iterated ${destination_number}"/>

     

    <!-- read number, like "twelve thousand, three hundred forty-five" -->

    <action application="say" data="en number pronounced 12345"/>

     

    <!-- read IP address, like "one two dot three four dot five six dot seven eight" -->

    <action application="say" data="en ip_address iterated 12.34.56.78"/>

     

    <!-- read IP address, like "twelve dot thirty-four dot fifty-six dot seventy-eight" -->

    <action application="say" data="en ip_address pronounced 12.34.56.78"/>

     

    <!-- pronounce a dollar value, even works for negatives, like "negative one dollar and ninety-six cents."-->

    <action application="say" data="en CURRENCY PRONOUNCED -1.96"/>

     

    <!-- pronounce a short date/time (like "Wednesday, 2:23PM") -- substitute [timestamp]

    with a UTC timestamp -->

    <action application="say" data="en short_date_time pronounced [timestamp]"/>

     

    sched_broadcast

    语法1:

    application="sched_broadcast" data="[+]<time> <path> [aleg|bleg|both]"

    语法2:

    application="sched_broadcast" data="[[+]<time>|@time] <uuid> <path> [aleg|bleg|both]"

    作用:计划中的广播

    示例:

    <action application="sched_broadcast" data="+3600 playback::/tmp/howdy.wav both"/> 

     

    sched_cancel

    语法:

    application="sched_cancel" data="[groupid|taskid]" 

    作用:取消一个计划中的广播或者呼叫转移

    示例1:

    <action application="sched_cancel" data="123"/> 

    示例2:

    <action application="sched_cancel" data="${last_sched_id}"/> 

     

    sched_hangup

    作用:计划挂断一个通话,是基础的电话限制。

    使用方法:

    <action application="sched_hangup" data="+<seconds>[ <cause>]"/> 

    示例1:

    <action application="sched_hangup" data="+60 allotted_timeout"/> 

     

    sched_transfer

    用法1:

    application="sched_transfer" data="[+]<time> <extension> [<dialplan> <context>]"

    或者作为一个API:

    sched_transfer [+]<time> <uuid> <extension> [<dialplan> <context>]"

    作用:计划一个呼叫转移

    示例:

    <action application="sched_transfer" data="+600 9999 XML default"/>

     

    send_info

    备注:暂缺

     

    send_display

    语法:

    send_display <message>

    作用:发送一个带sipfrag的info包。如果电话支持它在将显示器上显示消息。

    示例:

    <action application="send_display" data="Hello world"/>

     

    send_dtmf

    语法:

    send_dtmf <dtmf digits>[@<tone_duration>]

    作用:向配置该方法的终端发送DTMF数字。使用字符w将有5秒的延迟,大写字母W将有1秒的延迟。

    示例:

    <action application="send_dtmf" data="0123456789ABCD*#@100"/>

    字符串中的每个字符之间有100毫秒的延迟时间,如果没有指定默认为2000毫秒。

     

    session_loglevel

    作用:重设日志级别,仅对当前信道有效,配置于switch_conf.xml中

    示例1:

    <action application="session_loglevel" data="debug"/>

    示例2(在switch.conf.xml中配置方法):

    <param name="loglevel" value="info"/>

    示例3(配置完整的debug追踪,在dialplan中添加以下代码):

    <extension name="custom debug" continue="true">

      <condition field="${should_this_call_be_debugged}" expression="^true$">

        <action application="session_loglevel" data="debug"/>

      </condition>

    </extension>

     

    set

    语法:

    set <channel_variable>=<value>

    作用:在调用它的信道中设置信道变量

    示例:

    <action application="set" data="effective_caller_id_name=FreeSwitch"/>

    <action application="set" data="effective_caller_id_number=12345678"/>

    <action application="set" data="sip_uri_to_dial=${sip_to_user}@${sip_to_host}"/>

    <action application="log" data="DIALING Extension DialURI [${sip_uri_to_dial}]\n"/>

    <action application="bridge" data="sofia/sip/${sip_uri_to_dial}"/>

    注意:在执行前这些变量将不会被设置。如果向在一个条件中马上设置,需在内联(inline)模式下使用,如

    [[Dialplan_XML#Inline_Actions|inline]]

     

    set_name

    语法:

    set_name STRING

    作用:重命名一个信道名称(即设置通道变量${channel_name}的值)

    示例:

    <action application="set_name" data="My_new_channel">

     

    set_audio_level

    语法:

    set_audio_level <direction> <level>

    参数说明:

    direction:方向,取值有read和write

    level:等级,取值有-4到4

    作用:增减信道中输入音频流或者输出音频流的级别

    示例:

    <action application="set_audio_level" data="read 1"/>

    <action application="set_audio_level" data="write -1"/>

     

    set_global

    语法:

    set_global <channel_variable>=<value>

    作用:为所有信道设置全局变量。即使创建它的信道已挂断该变量仍然存在。

    示例:

    <action application="set_global" data="global_var1=FreeSwitch"/>

    <action application="set_global" data="global_var2=12345678"/>

     

    set_profile_var

    语法:

    set_profile_var <profile_variable>=<value>

    作用:在信道事件中添加头域

    示例:

    <action application="set_profile_var" data="accountcode=${accountcode}"/> 

     

    set_user

    语法:

    set_user <user@domain> [prefix]

    作用:如果用户已授权过,为用户定义定义所有的信道变量。

    示例:

    <action application="set_user" data="5551212@${domain}"/> 

    示例2(为所有的变量添加前缀):

    <action application="set_user" data="5551212@${domain} dest_"/>

     

    set_zombie_exec

    作用:为当前信道设置僵尸执行标记位。即当信道挂断后,会话将继续执行命令。可用于执行额外的操作。

    示例:

    <action application="set_zombie_exec"/> 

    示例2(LUA中的操作):

    session:execute("set_zombie_exec")

     

    sleep

    作用:将信道暂停若干毫秒时间,然后复原至之前的暂停点。

    示例:

    <action application="sleep" data=<milliseconds>/>

    如果想在DTMF中使用,需进行以下的设置

    <action application="set" data="sleep_eat_digits=true"/>

    <action application="set" data="sleep_eat_digits=true"/>

    以上的配置可以防止在IVR中直接退出。

     

    soft_hold

    使用方法:

    <action application="soft_hold" data="<unhold_key> [moh_a] [moh_b]"/>

    参数说明:

    • unhold_key : 用于释放的DTMF按键
    • moh_a : 在a-leg播放的等待音乐(moh)
    • moh_b : 在b-leg播放的等待音乐(moh)

    注:如果moh未设置,将使用默认的MOH.

    作用:将桥接后的通道至于等待状态,当且仅当两个信道已桥接的情况下才能使用。

     

    sound_test

    作用:向终端输出信道相关包的信息(非LOG文件)

    用法:

    <action application="sound_test"/>

    输出示例:

    2013-02-01 18:31:01.278139 [CONSOLE] switch_ivr.c:109

    packet_avg=6281 packet_peak=32510 period_avg=32493 global_avg=32290

    2013-02-01 18:31:01.298140 [CONSOLE] switch_ivr.c:109

    packet_avg=5737 packet_peak=32507 period_avg=32497 global_avg=32290

    2013-02-01 18:31:01.318142 [CONSOLE] switch_ivr.c:109

    packet_avg=7194 packet_peak=32468 period_avg=32490 global_avg=32290

    2013-02-01 18:31:01.338141 [CONSOLE] switch_ivr.c:109

    packet_avg=5132 packet_peak=32508 period_avg=32493 global_avg=32290

    2013-02-01 18:31:01.358143 [CONSOLE] switch_ivr.c:109

    packet_avg=6233 packet_peak=32475 period_avg=32490 global_avg=32290

    2013-02-01 18:31:01.378143 [CONSOLE] switch_ivr.c:109

    packet_avg=6118 packet_peak=32502 period_avg=32492 global_avg=32290

    2013-02-01 18:31:01.398141 [CONSOLE] switch_ivr.c:109

    packet_avg=5597 packet_peak=31998 period_avg=32430 global_avg=32290

    2013-02-01 18:31:01.418143 [CONSOLE] switch_ivr.c:109

    packet_avg=6666 packet_peak=32500 period_avg=32438 global_avg=32290

    2013-02-01 18:31:01.438143 [CONSOLE] switch_ivr.c:109

    packet_avg=4821 packet_peak=31928 period_avg=32387 global_avg=32290

    2013-02-01 18:31:01.458140 [CONSOLE] switch_ivr.c:109

    packet_avg=4672 packet_peak=31163 period_avg=32275 global_avg=32290

    2013-02-01 18:31:01.478142 [CONSOLE] switch_ivr.c:109

    packet_avg=5634 packet_peak=32503 period_avg=32294 global_avg=32290

    2013-02-01 18:31:01.498140 [CONSOLE] switch_ivr.c:109

    packet_avg=6543 packet_peak=32441 period_avg=32306 global_avg=32290

    2013-02-01 18:31:01.518140 [CONSOLE] switch_ivr.c:109

    packet_avg=5549 packet_peak=32502 period_avg=32320 global_avg=32290

     

    speak

    语法:

    <action application="speak" data="<engine>|<voice>|<text>|[timer_name]"/>

    注:引擎flite四个voice选项,分别为awb,kal,rms,slt

    用法:用定义的语音引擎说出一个字符串或者文件

    示例:

    <action application="speak" data="flite|kal|FreeSWITCH is awesome"/>

     

    start_dtmf

    作用:可通过在dialplan中使用该参数激活带内DTMF监听(例如监听信道中的DTMF)。如果想在信道中能识别DTMF音键(tones),除此之外别无他法

    示例:

    <!-- a sample IVR -->

    <extension name="ivr_demo">

      <condition field="destination_number" expression="5000">

        <action application="answer"/>

        <action application="start_dtmf" />

        <action application="ivr" data="demo_ivr"/>

      </condition>

    </extension>

    警告:千万不要将start_dtmf与start_dtmf_generate混合使用,否则会产生严重的后果。还有,如果跟ring_ready一起使用,请确保先调用ring_ready,否则将不起作用。

    注:该应用使用了三通(Media bug,在通话的双方加入第三方监听)

     

    start_dtmf_generate

    作用:为当前信道生成一个DTMF

    用法:

    <action application="start_dtmf_generate"/>

    注意(当于bridge_early_media一起使用时将不起作用):

    <action application="export" data="nolocal:execute_on_media=start_dtmf_generate"/>

    <action application="set" data="bridge_early_media=true"/>

    <action application="bridge" data="sofia/..."/>

     

    stop_displace_session

    作用:停止替换文件

    示例:

    action application="stop_displace_session" data="/tmp/sound_file.wav"/>

     

    stop_dtmf

    作用:停止带内DTMF监听

    用法:

    <action application="stop_dtmf"/>

     

    stop_dtmf_generate

    作用:停止当前信道中的DTMF生成

    用法:

    <action application="stop_dtmf_generate"/>

     

    stop_record_session

    作用:停止会话录音

    示例:

    <action application="stop_record_session" data="${record_file_name}"/>

     

    stop_tone_detect

    作用:停止信道中的音调(tone)监测

    用法:

    <extension name="stop_tone">

      <condition field="destination_number" expression=".*">

        <application="stop_tone_detect"/>

      </condition>

    </extension>

     

    strepoch

    作用:返回从新纪元(epoch,1970年1月1日0时0分0秒)至今的秒数。

    示例:

    <extension name="moh">

      <condition field="destination_number" expression="^1234$"/>

      <condition field="${cond(${strepoch()} < 1273755900 ? true : false)}" expression="^true$">

        <action application="answer"/>

        <action application="playback" data="$${hold_music}"/>

        <anti-action application="log" data="NOTICE The string quartet has gone home."/>

      </condition>

    </extension>

     

    strftime

    语法:

    strftime [format_string] 

    参数说明:如果时间格式未指定,默认为%Y-%m-%d %T,打印如2010-04-28 17:47:29
    作用;格式话显示当前时间。
    示例1:

    <action application="strftime" data="%Y-%m-%d"/>

    <action function="speak-text" data="You have $1 minutes, $2 seconds remaining ${strftime(%Y-%m-%d)}"/>

    示例2:

    <extension name="Time_Routing">

      <condition field="${strftime(%H%M)}" expression="^((09|1[0-7])[0-5][0-9]|1800)$">

        <action application="bridge" data="sofia/$${domain}/1000"/>

        <anti-action application="voicemail" data="$${profile} $${domain} 1000"/>

      </condition>

    </extension>

    示例3:

    <extension name="tod_example" break="never">

        <!-- First, match M-F; if not M-F then we're definitely closed -->

        <condition field="${strftime(%w)}" expression="^([1-5])$">

          <anti-action application="set" data="business=Sat"/>

          <anti-action application="transfer" data="IVR_Sat"/>

        </condition>

     

     <!-- Next, check time of day. First regex is to match 7:30am to 11:59am -->

        <condition field="${strftime(%H%M)}" expression="^((07[3-5][0-9])|((08|09|1[0-1])[0-5][0-9]))$">

            <action application="set" data="business=morning"/>

             <action application="transfer" data="IVR_Open"/>

         <anti-action application="set" data="business=lunch"/>

             <anti-action application="transfer" data="IVR_Lunch"/>

        </condition>

     

      </extension>

     

    <extension name="Play Lunch IVR" break="never">

         <condition field="destination_number" expression="^IVR_Lunch$"/>

         <!-- This regex matches lunchtime 12:00 to 12:59 -->

        <condition field="${strftime(%H%M)}" expression="^(12[0-5][0-9])$">

          <action application="set" data="business=lunch"/>

          <action application="transfer" data="IVR_Closed"/>

      <anti-action application="set" data="business=afternoon"/>

          <anti-action application="transfer" data="IVR_Afternoon"/>

        </condition>

         

     </extension>

     

    <extension name="Play Afternoon IVR" break="never">

        <condition field="destination_number" expression="^IVR_Afternoon$"/>

        <!-- This regex matches 1pm to 5:30pm -->

        <condition field="${strftime(%H%M)}" expression="^((1[3-6])[0-5][0-9]|17[0-2][0-9])$">

          <action application="set" data="business=afternoon"/>

          <action application="transfer" data="IVR_Open"/>

      <action application="set" data="business=closed"/>

          <action application="transfer" data="IVR_Closed"/>

        </condition>

     

      </extension>

     

     <extension name="Play Sat IVR" break="never">

       <condition field="destination_number" expression="^IVR_Sat$"/>

        <!-- First, match Sat; if not Sat then we're definitely closed -->

        <condition field="${strftime(%w)}" expression="^([6])$">

          <anti-action application="set" data="business=closed"/>

          <anti-action application="transfer" data="IVR_Closed"/>

        </condition>

         

    <!-- Next, check time of day. First regex is to match 8:00am to 11:59am -->

        <condition field="${strftime(%H%M)}" expression="^(((08|09|1[0-1])[0-5][0-9]))$">

          <action application="set" data="business=morning"/>

          <action application="transfer" data="IVR_Open"/>

      <action application="set" data="business=closed"/>

          <action application="transfer" data="IVR_Closed"/>

        </condition>

         

      </extension>

     

      <extension name="Play open IVR">

        <condition field="destination_number" expression="^IVR_Open$">

          <action application="lua" data="ivr-business-open.lua"/> <!-- your "open" Lua script here -->

        </condition>

      </extension>

     

      <extension name="Play closed IVR">

        <condition field="destination_number" expression="^IVR_Closed$">

          <action application="lua" data="ivr-business-closed.lua"/> <!-- your "closed" Lua script here -->

        </condition>

      </extension>

     

    strftime_tz

    语法:

    strftime_tz [timezone [format_string]]

    作用:根据时区格式化的显示当前事件,默认为GMT,%Y-%m-%d %T

    示例:

    <extension name="Los_Angeles_Business_Hours">

     <condition field="${strftime_tz(America/Los_Angeles %u)}" expression="^[1-5]$"/>

     <condition field="${strftime_tz(America/Los_Angeles %H%M)}" expression="^(0[8-9]\d{2}|1[0-7]\d{2}|18[0-2]\d)$">

      <action application="log" data="INFO Business Hours"/>

      <anti-action application="log" data="INFO After Hours"/>

     </condition>

    </extension>

    注:时区列表可在autoload_config/timezone.conf.xml中找到

     

    strmicroepoch

    作用:返回从新纪元(epoch,1970年1月1日0时0分0秒)至今的毫秒数。

    示例:

    <action application="set" data="rec_full=/var/spool/freeswitch/audio_rec/${strmicroepoch()}_${uuid}.wav"/>

    <action application="set" data="record_post_process_exec_app=system:/opt/scripts/proc_record ${rec_full}"/>

    <action application="record_session" data="${rec_full}"/>

     

    system

    语法:

    system <command>

    作用:执行一个系统命令并等待其结果(阻塞状态)

    示例1:

    <action application="system" data="myapp.sh"/>

    示例2(存储为信道变量):

    <action application="set" data="OUT=${system foo.sh}"/>

    示例3(移除换行符):

    <action application="set" data="OUT=${regex(${system foo.sh}|(.+)|%1)}"/>

     

    three_way

    语法:

    <action application="three_way" data="<any uuid of a bridged call>"/>

    作用:强行加入一个给定的呼叫,即未收到邀请加入某个活跃呼叫中的信道

     

    tone_detect

    语法:

    <action application="tone_detect" data="<key> <freqs> <flags> <timeout> <app> <data> <hits>">

    参数说明:

     

    描述

    示例

    key

    tone的名字 (用户定义)

    busy, fax, mytone

    freqs

    监听频率

    425 - 480,620

    flags

    嗅探tones的方向(r = read (default), w = write)

    r

    timeout

    等待来音的空窗期 (0为永久, +<milliseconds> 为相对时间,或者用 epoch时间(从1970年1月1日至今的事件))

    +2000 (2 seconds) or 1227132612 (absolute example)

    app

    可选项,当tone检测条件符合时要调用的应用

    transfer, hangup

    appdata

    可选项,上述应用的参数

    '1000 XML default' , 'normal_clearing'

    hits

    调用APP前需要的命中数(避免相似误差)

     

    作用:音调(tone)检测

    示例:

    <action application="set" data="execute_on_tone_detect=set my_tone=true"/>

    <action application="set" data="tone_detect_hits=2"/>

    <action application="set" data="execute_on_media=tone_detect mytone 820 w +30000"/>

    <action application="bridge" data="sofia/gateway/foo/123456789"/>

    示例2:

    <action application="set" data="execute_on_tone_detect=found_my_tone=true"/>

    <action application="set" data="tone_detect_hits=2"/>

    <action application="set" data="execute_on_media=tone_detect mytone 820 w +30000"/>

     

    transfer

    语法:

    transfer <destination_number> [<dialplan> [<context>]]

    作用:立即将呼叫信道转移到一个新的地方(content)。

    示例1:

    <action application="transfer" data="1047 XML cntxt_a"/>

    示例2:

    <extension name="public_extensions">

      <condition field="destination_number" expression="^(10[01][0-9])$">

        <action application="transfer" data="$1 XML default"/>

      </condition>

    </extension>

    示例3:

    <action application="transfer" data="-bleg 2103"/>

    示例4:

    <action application="transfer" data="-both 2103"/>

     

    unbind_meta_app

    作用:取消之前用bind_meta_app的按键绑定。如果未带参数,将取消所有的按键绑定

    示例:

    <action application="unbind_meta_app" data="7"/>

     

    <!-- Unbind ALL keys bound on this channel. -->

    <action application="unbind_meta_app" data=""/>

     

    unset

    作用:清除一个信道变量

    示例:

    <action application="unset" data="variable_name"/>

     

    verbose_events

    作用:显示所有事件,可在XML DIALPLAN中内联执行。

    示例:

    <condition field="destination_number" expression="^Monroy$">

      <action application="verbose_events" data="true"/>

      <action application="answer"/>

    </condition>

     

     

    wait_for_answer

    作用:继续前等待会话被应答

    示例:

    <action application="wait_for_answer"/>

     

    wait_for_silence

    语法:

    wait_for_silence <silence_thresh> <silence_hits> <listen_hits> <timeout_ms> [<file>]

    参数说明:

    silence_thresh:静阈值

    silence_hits: 低于阈值的帧数

    listen_hits:无声的帧数

    timeout_ms:超时毫秒数

    file:可选项,可被读取的声音文件,用于沉默监听的分析

    作用:暂停dialplan的执行,经过一定长度的静音后继续执行。

    示例:

    <action application="wait_for_silence" data="200 15 15 5000"/>

    <action application="sleep" data="1000"/>

    <action application="wait_for_silence" data="200 15 15 5000"/>

    <action application="sleep" data="1000"/>

    <action application="wait_for_silence" data="200 15 15 5000"/>

    <action application="sleep" data="1000"/>

     

     

    翻译出处:https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools

     

     

    展开全文
  • 国际化格式标签库包括国际化,消息和数字日期格式化: (1) 国际化: 如: @ page language="java" contentType="text/html; charset=gb2312" import="java.util.*"%> @ taglib prefix="c" uri=...

    国际化格式标签库包括国际化,消息和数字日期格式化:

    (1) 国际化:<fmt:setLocale> <fmt::requestEncoding>

    如:

    <% @ page language = " java "  contentType = " text/html; charset=gb2312 "   import = " java.util.* " %>
    <% @ taglib prefix = " c "  uri = " http://java.sun.com/jsp/jstl/core "   %>
    <% @ taglib prefix = " fmt "  uri = " http://java.sun.com/jsp/jstl/fmt "   %>
    <! DOCTYPE html PUBLIC  " -//W3C//DTD HTML 4.01 Transitional//EN "   " http://www.w3.org/TR/html4/loose.dtd " >
    < html >
    < head >
    < meta http - equiv = " Content-Type "  content = " text/html; charset=ISO-8859-1 " >
    < title > Insert title here </ title >
    </ head >
    < body >
    < c:set var = " todayValue "  value = " <%=new Date() %> " />

    中文-大陆:
    < fmt:setLocale value = " zh " />
    < fmt:formatDate value = " ${todayValue} " />< br >
    中文
    - 台湾 < fmt:setLocale value = " zh_tw " />
    < fmt:formatDate value = " ${todayValue} " />< br >
    中文
    - 新加坡 < fmt:setLocale value = " zh_sg " />
    < fmt:formatDate value = " ${todayValue} " />< br >
    英文:
    < fmt:setLocale value = " en " />
    < fmt:formatDate value = " ${todayValue} " />
    </ body >
    </ html >

     

    页面输出:

     

    中文-大陆: 2007-12-25
    中文-台湾 2007/12/25
    中文-新加坡 25-十二月-07
    英文: Dec 25, 2007 

     

     (2)消息标签:<fmt:bundle> <fmt:message> <fmt:setBundle> <fmt:param>

    如:

    <% @ page language = " java "  contentType = " text/html; charset=gb2312 "   import = " java.util.* " %>
    <% @ taglib prefix = " fmt "  uri = " http://java.sun.com/jsp/jstl/fmt "   %>
    <% @ taglib prefix = " c "  uri = " http://java.sun.com/jsp/jstl/core "   %>
    <! DOCTYPE html PUBLIC  " -//W3C//DTD HTML 4.01 Transitional//EN "   " http://www.w3.org/TR/html4/loose.dtd " >
    < html >
    < head >
    < title > bundle test </ title >
    </ head >
    < body >
    < fmt:bundle basename = " dbconn " >
    数据库驱动程序名:
    < fmt:message key = " driverName " />< br >
    连接字符串:
    < fmt:message key = " connString " />< br >
    用户名:
    < fmt:message key = " userName " />< br >
    密码:
    < fmt:message key = " password "  var = " password " />
         
    < c:out value = " ${password} " />< br >
    名字:
    < fmt:message key = " name " />< br >
    动态提示信息:
    < fmt:message key = " messageTemp " />< br >
    </ fmt:bundle >

    <!--  修改.properties文件中某个键的动态值  -->
    < c:set var = " todayTemp "  value = " <%=new Date() %> " />
    < fmt:setBundle basename = " dbconn " />
    动态提示信息:
    < fmt:message key = " messageTemp " >
      
    < fmt:param >王四 </ fmt:param >
      
    < fmt:param value = " ${todayTemp} " ></ fmt:param >
    </ fmt:message >

    </ body >
    </ html >

     

    其对应的读取文件为dbconn.properties(当然是放在web-inf/classes下了),内容为:

     

    #SQL Server
    driverName=com.microsoft.jdbc.sqlserver.SQLServerDriver
    connString=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDatabase
    userName=sa
    password=123456
    name=陈三
    messageTemp=myname is {0},today is {1,date}

    其页面输出为:

     

    数据库驱动程序名:com.microsoft.jdbc.sqlserver.SQLServerDriver
    连接字符串:jdbc:microsoft:sqlserver:
    // localhost:1433;DatabaseName=testDatabase
    用户名:sa
    密码: 
    123456
    名字:陈三
    动态提示信息:myname is 
    {0} ,today is  {1,date}
    动态提示信息: myname is 王四,today is 
    2007 - 12 - 25  

    解释一下其中的几个标签:

     <fmt:bundle>标签用于绑定数据源.properties文件;

    <fmt:bundle basename="源文件名,且不能带后缀哦,如上例就可以了" prefix=""> 语句,代码等 </fmt:bundle>

    <fmt::message>标签用于从指定的资源文件中把指定的键值取出来;

    <fmt:message key="" [var="varname"] [bundle=""] [scope="page|..."]/>  如果用到var的话就不会在页面直接输出,而需要用到<c:out>标签来进行页面的输出,如上例;

    <fmt:message>标签可以配合<fmt:param>标签来进行设定<fmt:message>标签指向键的动态值,如上例;

    <fmt:setBundle>标签用于设置默认的数据来源;

    <fmt:setBundle>标签用来设置默认的数据来源; <fmt:setBundle basename="" [ var=""]  [scope="" ]  />

     (3)

          <fmt:formatNumber>标签用于根据设定的区域将数据格式化输出;

          <fmt:formatDate>标签用于格式化输出日期和时间;

          <fmt:parseDate>标签用于把字符串类型的日期和时间转换成日期型数据类型;

          <fmt:setTimeZone>标签用于设定默认的时区;

          <fmt:timeZone>标签用于设定在本签体内有效的时区;

    展开全文
  • [Packt Publishing] Oracle Application Express 4.0 (Ext JS 实现) (英文版) [Packt Publishing] Oracle Application Express 4.0 with Ext JS (E-Book) ☆ 出版信息:☆ [作者信息] Mark Lancaster [出版机构]...
  • 原文网址: bootstrap与application ...bootstrap与application都有两种配置格式:yml格式与properties格式。 项 bootstrap application 加载顺序 先于 applicatio
  • 因为用zip压缩会损坏文件,所以用tar .xz格式。本人辛苦从 reilly官网获取的html原版英文电子文档,原文档大小为236mb,可用7zzip等压缩软件解压,支持一下!!
  • application.yaml配置文件

    千次阅读 2020-06-22 19:46:09
    application.yaml配置文件的工作原理和application.properties是一样的,只不过yaml格式配置文件看起来更简洁一些。 YAML文件的扩展名可以使用.yml或者.yaml。 application.yml文件使用 “key:(空格
  • <Hands-On GUI Application Development in Go> 英文书籍。epub格式
  • Job application letters(英文求职信)

    千次阅读 2007-05-20 06:54:00
    May 20 st 2007P .O .Box 51QingDao Agriculture UniversityQingDao China 266109Dear Sir:Your advertisement for a network maintenance engineer in the January 10 student Daily interested m
  • ARTag Application 讲义

    2008-10-27 18:16:55
    ARTag Application 讲义,ppt格式的。英文的。 需要的下了。 有实例程序,太大,需要的联系我。我给挂到别的地方。 在hi.52cnk.com留言即可以联系到我。
  • 默认情况,这个编码格式application/x-www-form-urlencoded  (不能用于文件上传); 只有使用了multipart/form-data,才能完整的传递文件数据。 enctype="multipart/form-data"是上
  • 1.5.1 application.properties配置文件 使用Spring Initializr方式构建Spring Boot项目时,会在resource目录下自动生成一个空的application.properties文件,Spring Boot项目启动时会自动加载application.properties...
  •  请求头部分结束的后面就是请求主体(body),发送的body内容是key-value对应的url source,如果带有中文或其他非英文语种,类似这样: type=1&message=%E5%8A%A9%E6%89%8B&plat=1&jsonp=jsonp  需按url...
  • 计算机,专业英语翻译Database Application Testing1.IntroductionDatabases play a pivotal role in almost every organization in today’sinformation-based society. Commercial Database managementsystems...
  • android2高级编程 英文版 pdf格式 Professional.Android.2.Application.Development
  • 英文原版,已转成pdf格式。 Enterprise Application Architecture with .NET Core by Ganesan Senthilvel English | 25 Apr. 2017 | ASIN: B01M18CQNP | 564 Pages | AZW3 | 9.94 MB Architect and design highly ...
  • Wiring Your Web Application with Open Source Java 这个资源是转载。 文件中有 原版格式pdf,doc; 翻译格式doc。 花费了一下午的时间。 这个做毕业设计文献正好。呵呵 我就是拿这个做的毕业课题。
  • Patterns of Enterprise Application Architecture,构架师必备,epub格式英文原版,排版非常好。
  • AFN总结,content-typ为application/json

    千次阅读 2018-12-06 15:01:19
    但是为了安全考虑,有一些企业还是会选择json的解析格式。看了网上很多解决方案。都饶了很多弯路。上代码 AFHTTPSessionManager *instance; [instance.requestSerializer setValue:@"application/json" ...
  • application.properties有个配置项,值含中文,就不行了。 网上绝大多数给出的方案,在idea里面,都是说调整设置,setting-&gt;editor-&gt;File Encodings之类,其实没有什么卵用,对于我这个个案来说。任凭...
  • 70-536 pdf格式英文

    2009-12-30 18:13:39
    MCTS - 70-536 - Microsoft .NET Framework 2.0 Application Development Foundation英文版,pdf格式的!
  • 本资源为英文原版书籍,2002年出版,为djvu格式,内有本格式绿色阅读器

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,574
精华内容 24,629
关键字:

英文application格式