FreeSwitch 终端命令详细介绍

FreeSwitch版本:1.6.9

以下为部分终端命令

alias

语法:

alias [add|stickyadd] <alias> <command> | del [<alias>|*]

作用:为一个命令创建别名

示例:

alias add yxjay originate user/1011 &echo

上述命令对originate user/1011 &echo起了个别名yxjay,在控制台输入yxjay就等效于该命令了。

删除别名的方式有两种,删除单个

alias del yxjay

删除全部

alias del *

bg_system

语法:

bg_system <command>

作用:在后台执行linux系统命令

示例:

bg_system ls -ls

bgapi

语法:

bgapi <command>[ <arg>]

作用:在一个线程中执行API命令

示例:

bgapi originate user/1000 &echo

break

break <uuid> [all]

作用:根据uuid挂断电话,等效于uuid_break

cond

cond <expr> ? <true val> :<false val>

作用:条件运算符
示例:

<condition field="${cond(${my_var} > 12 ? YES : NO)}" expression="^YES$">
<action application="log" data="INFO ${my_var} is indeed greater than 12"/>
<anti-action application="log" data="INFO ${my_var} is not greater than 12"/>
</condition>

eval

语法:

eval <data>

作用:求值

示例:

eval $${base_dir}

db

语法:

db [insert|delete|select|exists|count|list]/<realm>/<key>/<value>

作用:对数据库进行插入、删除、查询、判断是否存在,计数,列举操作。对比与常见数据库,realm<==>表名,key<==>键名,value<==>键值,比数据库少一层关系即数据库名

示例(test为realm,yxjay.com为key):

向数据库中插入值(只有插入值时才需要参数<value>)

db insert/test/yxjay.com/1234

查询

db select/test/yxjay.com

判断是否存在

db exists/test/yxjay.com

计算所有的real个数

db count

计算单个realm中的key个数

db count/test

列举所有的realm

db list

domain_exists

语法:

domain_exists <domain>

作用:判断domain是否存在于本地

global_getvar

语法:

global_getval <var>

作用:获取一个全局变量的值

global_setvar

语法:

global_setvar <var>=<value> [=<value2>]

作用:设置一个全局变量

hash

语法:

hash insert|insert_ifempty|select|delete|delete_ifmatch/realm/key[/value]

作用:往内存中插入、删除、查询数据,重启即失

hash_dump

语法:

hash_dump all|limit|db [<realm>]

作用:输出hash表中的内容

示例:

hash_dump all

hupall

语法:

hupall <cause> [<var> <value>]

作用:挂断所有通话,挂断原因为cause

list_users

语法:

list_users [group <group>] [domain <domain>] [user <user>] [context <context>]

作用:显示用户

示例:

list_users domain localhost

load

语法:

load <mod_name>

作用:加载一个模块

lua

语法:

lua <script>

作用:当作为一个API功能函数运行lua脚本,前端运行,lua脚本需存储在scripts目录下

luarun

语法:

luarun <script>

作用:作为一个脚本运行lua脚本,后台运行

md5

语法:

md5 <data>

作用:根据data的内容计算出其对应的md5值

module_exists

语法:

module_exists <module>

作用:判断一个模块是否存在

originate

originate,<call url> <exten>|&<application_name>(<app_args>) [<dialplan>] [<context>] [<cid_name>] [<cid_num>] [<timeout_sec>]

作用:发起一个呼叫

示例:

originate user/1000 &echo

pause

语法:

pause,<uuid> <on|off>

作用:在一个信道上暂停媒体传输

reload

语法:

reload [-f] <mod_name>

作用:重新加载模块

reloadxml

作用:重新载入XML文件

regex

语法:

regex <data>|<pattern>[|<subst string>][n|b]

作用:判断字符串是否匹配正则表达式

示例:

regex 1011 | d+

replace

语法:

replace <data>|<string1>|<string2>

作用:替换字符串

show

语法:

show codec|endpoint|application|api|dialplan|file|timer|calls [count]|channels [count|like <match string>]|calls|detailed_calls|bridged_calls|detailed_bridged_calls|aliases|complete|chat|management|modules|nat_map|say|interfaces|interface_types|tasks|limits|status,Show various reports,mod_commands

作用:显示对应的信息

shutdown

作用:关闭freeswitch

sofia

语法:

sofia global siptrace <on|off>

sofia        capture  <on|off>

             watchdog <on|off>

sofia profile <name> [start | stop | restart | rescan] [wait]

                     flush_inbound_reg [<call_id> | <[user]@domain>] [reboot]

                     check_sync [<call_id> | <[user]@domain>]

                     [register | unregister] [<gateway name> | all]

                     killgw <gateway name>

                     [stun-auto-disable | stun-enabled] [true | false]]

                     siptrace <on|off>

                     capture  <on|off>

                     watchdog <on|off>

sofia <status|xmlstatus> profile <name> [reg [<contact str>]] | [pres <pres str>] | [user <user@domain>]

sofia <status|xmlstatus> gateway <name>

sofia loglevel <all|default|tport|iptsec|nea|nta|nth_client|nth_server|nua|soa|sresolv|stun> [0-9]

sofia tracelevel <console|alert|crit|err|warning|notice|info|debug>

sofia help


作用:Sofia命令

sofia_username_of

语法:

sofia_username_of [profile/]<user>@<domain>

作用:用户名查找,拼写错误或者对应账号不存在则不显示

示例:

sofia_username_of 1001@yxjay.com

结果将显示1001

system

语法:

system <command>

作用:执行Linux命令

status

作用:查看当前freeswitch的状态

unload

语法:

unload [-f] <mod_name>

作用:卸载一个模块

uuid_answer

语法:

uuid_answer <uuid>

作用:应答一个uuid

uuid_bridge

语法:

uuid_bridge <uuid> <uuid>

作用:桥接两个uuid

uuid_exists

语法:

uuid_exists <uuid>

作用:判断uuid是否存在

uuid_getvar

语法:

uuid_getvar <uuid> <var>

作用:从信道中获取变量

uuid_hold

语法:

uuid_hold [off|toggle] <uuid> [<display>]

作用:将一个呼叫置于等待状态

uuid_kill

语法:

uuid_kill <uuid> [cause]

作用:杀死一个uuid


uuid_limit

语法:

uuid_limit,<uuid> <backend> <realm> <resource> [<max>[/interval]] [number [dialplan [context]]]

作用:对uuid进行限制

uuid_setvar

语法

uuid_setvar <uuid> <var> [value]

作用:设置信道变量

uuid_setvar_multi

语法:

uuid_setvar_multi <uuid> <var>=<value>;<var>=<value>...

作用:设置多个信道变量

uuid_transfer

语法:

uuid_transfer,<uuid> [-bleg|-both] <dest-exten> [<dialplan>] [<context>]

作用:对uuid进行transfer

示例:

originate user/1000 &echo

假设返回的uuid为ef918153-ce52-48bb-b25d-beaa2c8255ff,输入以下命令

uuid_transfer ef918153-ce52-48bb-b25d-beaa2c8255ff 1003

在FreeSwitch终端输入help后显示的所有终端命令(默认):

acl,<ip> <list_name>,Compare anip to an acl list,mod_commands

alias,[add|stickyadd] <alias><command> | del [<alias>|*],Alias,mod_commands

banner,,Return the system banner,mod_commands

bg_system,<command>,Execute a systemcommand in the background,mod_commands

bgapi,<command>[ <arg>],Executean api command in a thread,mod_commands

break,<uuid>[all],uuid_break,mod_commands

cdr_csv,parameters,cdr_csvcontrols,mod_cdr_csv

chat,<proto>|<from>|<to>|<message>|[<content-type>],chat,mod_dptools

coalesce,[^^<delim>]<value1>,<value2>,...,Returnfirst nonempty parameter,mod_commands

complete,add <word>|del[<word>|*],Complete,mod_commands

cond,<expr> ? <true val> :<false val>,Evaluate a conditional,mod_commands

conference,,Conference modulecommands,mod_conference

console,loglevel [level]|colorize[on|toggle|off],Console,mod_console

console_complete,<line>,,mod_commands

console_complete_xml,<line>,,mod_commands

create_uuid,<uuid> <other_uuid>,Createa uuid,mod_commands

db,[insert|delete|select|exists|count|list]/<realm>/<key>/<value>,dbget/set,mod_db

db_cache,status,Manage dbcache,mod_commands

domain_exists,<domain>,Check if adomain exists,mod_commands

echo,<data>,Echo,mod_commands

enum,,ENUM,mod_enum

enum_auto,,ENUM,mod_enum

escape,<data>,Escape astring,mod_commands

eval,[uuid:<uuid>]<expression>,eval (noop),mod_commands

event_sink,<webdata>,event_sink,mod_event_socket

expand,[uuid:<uuid> ]<cmd><args>,Execute an api with variable expansion,mod_commands

expr,<expr>,Eval anexpression,mod_expr

fifo,list|list_verbose|count|debug|status|has_outbound|importance[<fifo name>]|reparse [del_all],Return data about a fifo,mod_fifo

fifo_add_outbound,<node> <url>[<priority>],Add outbound members to a fifo,mod_fifo

fifo_check_bridge,<uuid>|<outbound_id>,checkif uuid is in a bridge,mod_fifo

fifo_member,[add <fifo_name><originate_string> [<simo_count>] [<timeout>] [<lag>][<expires>] [<taking_calls>] | del <fifo_name><originate_string>],Add members to a fifo,mod_fifo

file_exists,<file>,Check if a fileexists on server,mod_commands

find_user_xml,<key> <user><domain>,Find a user,mod_commands

fsctl,[recover|send_sighup|hupall|pause [inbound|outbound]|resume[inbound|outbound]|shutdown[cancel|elegant|asap|now|restart]|sps|sps_peak_reset|sync_clock|sync_clock_when_idle|reclaim_mem|max_sessions|min_dtmf_duration[num]|max_dtmf_duration [num]|default_dtmf_duration [num]|min_idle_cpu|loglevel[level]|debug_level [level]],FS control mes sages,mod_commands

getcputime,[reset],Gets CPU time inmilliseconds (user,kernel),mod_commands

getenv,<name>,getenv,mod_commands

gethost,,gethostbyname,mod_commands

global_getvar,<var>,Get globalvar,mod_commands

global_setvar,<var>=<value>[=<value2>],Set global var,mod_commands

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

group_call,<group>[@<domain>],Generatea dial string to call a group,mod_commands

hash,[insert|delete|select]/<realm>/<key>/<value>,hashget/set,mod_hash

hash_dump,all|limit|db [<realm>],dumphash/limit_hash data (used for synchronization),mod_hash

hash_remote,list|kill [name]|rescan,hashremote,mod_hash

help,,Show help for all the apicommands,mod_commands

host_lookup,<hostname>,Lookuphost,mod_commands

hostname,,Return the systemhostname,mod_commands

httapi,[debug_on|debug_off],HT-TAPIHypertext Telephony API,mod_httapi

hupall,<cause> [<var><value>],hupall,mod_commands

in_group,<user>[@<domain>]<group_name>,Determine if a user is in a group,mod_commands

interface_ip,[auto|ipv4|ipv6]<ifname>,Return the primary IP of an interface,mod_commands

is_lan_addr,<ip>,See if an ip is alan addr,mod_commands

json,JSON,JSON API,mod_commands

limit_hash_usage,<realm><id>,Deprecated: gets the usage count of a limited resource,mod_commands

limit_interval_reset,<backend><realm> <resource>,Reset the interval counter for a limitedresource,mod_commands

limit_reset,<backend>,Reset thecounters of a limit backend,mod_commands

limit_status,<backend>,Get the statusof a limit backend,mod_commands

limit_usage,<backend> <realm><id>,Get the usage count of a limited resource,mod_commands

list_users,[group <group>] [domain<domain>] [user <user>] [context <context>],List Usersconfigured in Directory,mod_commands

load,<mod_name>,LoadModule,mod_commands

local_stream,<show|start|reload|stop|hup><local_stream_name>,manage local streams,mod_local_stream

log,<level><message>,Log,mod_commands

lua,<script>,run a script as an apifunction,mod_lua

luarun,<script>,run a script,mod_lua

md5,<data>,Return md5hash,mod_commands

module_exists,<module>,Check ifmodule exists,mod_commands

msleep,<milliseconds>,Sleep Nmilliseconds,mod_commands

nat_map,[status|republish|reinit] |[add|del] <port> [tcp|udp] [static],Manage NAT,mod_commands

opus_debug,<on|off>,Set OPUSDebug,mod_opus

originate,<call url><exten>|&<application_name>(<app_args>)[<dialplan>] [<context>] [<cid_name>] [<cid_num>][<timeout_sec>],Originate a call,mod_commands

page,(var1=val1,var2=val2)<var1=val1,var2=val2><chan1>[:_:<chanN>],Senda file as a page,mod_dptools

pause,<uuid> <on|off>,Pausemedia on a channel,mod_commands

presence,[in|out] <user> <rpid><message>,presence,mod_dptools

quote_shell_arg,<data>,Quote/escape astring for use on shell command line,mod_commands

reg_url,<user>@<realm>,,mod_commands

regex,<data>|<pattern>[|<subststring>][n|b],Evaluate a regex,mod_commands

reload,[-f] <mod_name>,Reloadmodule,mod_commands

reloadacl,,Reload XML,mod_commands

reloadxml,,Reload XML,mod_commands

replace,<data>|<string1>|<string2>,Replacea string,mod_commands

say_string,<module_name>[.<ext>]<lang>[.<ext>] <say_type> <say_method>[<say_gender>] <text>,,mod_commands

sched_api,[+@]<time><group_name> <command_string>[&],Schedule an apicommand,mod_commands

sched_broadcast,[[+]<time>|@time]<uuid> <path> [aleg|bleg|both],Schedule a broadcast event to arunning call,mod_commands

sched_del,<task_id>|<group_id>,Deletea scheduled task,mod_commands

sched_hangup,[+]<time> <uuid>[<cause>],Schedule a running call to hangup,mod_commands

sched_transfer,[+]<time> <uuid><extension> [<dialplan>] [<context>],Schedule a transfer fora running call,mod_commands

show,codec|endpoint|application|api|dialplan|file|timer|calls[count]|channels [count|like <matchstring>]|calls|detailed_calls|bridged_calls|detailed_bridged_calls|aliases|complete|chat|management|modules|nat_map|say|interfaces|interface_types|tasks|limits|status,Showvarious reports,mod_commands

shutdown,,Shutdown,mod_commands

sofia,<cmd> <args>,SofiaControls,mod_sofia

sofia_contact,[profile/]<user>@<domain>,SofiaContacts,mod_sofia

sofia_count_reg,[profile/]<user>@<domain>,CountSofia registration,mod_sofia

sofia_dig,<url>,SIP DIG,mod_sofia

sofia_gateway_data,<gateway_name>[ivar|ovar|var] <name>,Get data from a sofia gateway,mod_sofia

sofia_presence_data,[list|status|rpid|user_agent][profile/]<user>@domain,Sofia Presence Data,mod_sofia

sofia_username_of,[profile/]<user>@<domain>,SofiaUsername Lookup,mod_sofia

spandsp_start_tone_detect,<uuid><name>,Start background tone detection with cadence,mod_spandsp

spandsp_stop_tone_detect,<uuid>,Stopbackground tone detection with cadence,mod_spandsp

sql_escape,<string>,Escape a stringto prevent sql injection,mod_commands

start_tdd_detect,<uuid>,Startbackground tdd detection,mod_spandsp

status,,Show current status,mod_commands

stop_tdd_detect,<uuid>,Stopbackground tdd detection,mod_spandsp

strepoch,<string>,Convert a datestring into epoch time,mod_dptools

strftime,<format_string>,strftime,mod_dptools

strftime_tz,<timezone_name>[<epoch>|][format string],Display formatted time of timezone,mod_commands

strmicroepoch,<string>,Convert a datestring into micoepoch time,mod_dptools

stun,<stun_server>[:port] [<source_ip>[:<source_port]],ExecuteSTUN lookup,mod_commands

switchname,,Return the switchname,mod_commands

system,<command>,Execute a systemcommand,mod_commands

time_test,<mss> [count],Show timejitter,mod_commands

timer_test,<10|20|40|60|120>[<1..200>] [<timer_name>],Exercise FS timer,mod_commands

tone_detect,<uuid> <key><tone_spec> [<flags> <timeout> <app> <args><hits>],Start tone detection on a channel,mod_commands

unload,[-f] <mod_name>,Unloadmodule,mod_commands

unsched_api,<task_id>,Unschedule anapi command,mod_commands

uptime,[us|ms|s|m|h|d|microseconds|milliseconds|seconds|minutes|hours|days],Showuptime,mod_commands

url_decode,<string>,Url decode astring,mod_commands

url_encode,<string>,Url encode astring,mod_commands

user_data,<user>@<domain>[var|param|attr] <name>,Find user data,mod_commands

user_exists,<key> <user><domain>,Find a user,mod_commands

uuid_answer,<uuid>,answer,mod_commands

uuid_audio,<uuid> [start [read|write][mute|level <level>]|stop],uuid_audio,mod_commands

uuid_break,<uuid> [all],Break out ofmedia sent to channel,mod_commands

uuid_bridge,,Bridge call legs,mod_commands

uuid_broadcast,<uuid> <path>[aleg|bleg|holdb|both],Execute dialplan application,mod_commands

uuid_buglist,<uuid>,List media bugson a session,mod_commands

uuid_chat,<uuid> <text>,Send achat message,mod_commands

uuid_codec_debug,<uuid> audio|video<level>,Send codec a debug message,mod_commands

uuid_codec_param,<uuid> audio|videoread|write <param> <val>,Send codec a param,mod_commands

uuid_debug_media,<uuid><read|write|both|vread|vwrite|vboth|all> <on|off>,Debugmedia,mod_commands

uuid_deflect,<uuid> <uri>,Senda deflect,mod_commands

uuid_displace,<uuid> [start|stop]<path> [<limit>] [mux],Displace audio,mod_commands

uuid_display,<uuid><display>,Update phone display,mod_commands

uuid_drop_dtmf,<uuid> [on | off ] [mask_digits <digits> | mask_file <file>],Drop all DTMF or replaceit with a mask,mod_commands

uuid_dual_transfer,<uuid><A-dest-exten>[/<A-dialplan>][/<A-context>]<B-dest-exten>[/<B-dialplan>][/<B-context>],Transfer asession and its partner,mod_commands

uuid_dump,<uuid> [format],Dumpsession vars,mod_commands

uuid_early_ok,<uuid>,stop ignoringearly media,mod_commands

uuid_exists,<uuid>,Check if a uuidexists,mod_commands

uuid_fileman,<uuid><cmd>:<val>,Manage session audio,mod_commands

uuid_flush_dtmf,<uuid>,Flush dtmf ona given uuid,mod_commands

uuid_getvar,<uuid> <var>,Get avariable from a channel,mod_commands

uuid_hold,[off|toggle] <uuid>[<display>],Place call on hold,mod_commands

uuid_jitterbuffer,<uuid>[0|<min_msec>[:<max_msec>]],uuid_jitterbuffer,mod_commands

uuid_kill,<uuid> [cause],Killchannel,mod_commands

uuid_limit,<uuid> <backend><realm> <resource> [<max>[/interval]] [number [dialplan[context]]],Increase limit resource,mod_commands

uuid_limit_release,<uuid><backend> [realm] [resource],Release limit resource,mod_commands

uuid_limit_release,<uuid> <backend>[realm] [resource],Release limit resource,mod_commands

uuid_loglevel,<uuid><level>,Set loglevel on session,mod_commands

uuid_media,[off] <uuid>,Reinvite FSin or out of media path,mod_commands

uuid_media_3p,[off] <uuid>,ReinviteFS in or out of media path using 3pcc,mod_commands

uuid_media_reneg,<uuid>[<codec_string>],Media negotiation,mod_commands

uuid_outgoing_answer,<uuid>,Answeroutgoing channel,mod_commands

uuid_park,<uuid>,Parkchannel,mod_commands

uuid_pause,<uuid><on|off>,Pause media on a channel,mod_commands

uuid_phone_event,<uuid>,Send an eventto the phone,mod_commands

uuid_pre_answer,<uuid>,pre_answer,mod_commands

uuid_preprocess,<>,Pre-processChannel,mod_commands

uuid_record,<uuid>[start|stop|mask|unmask] <path> [<limit>],Record sessionaudio,mod_commands

uuid_recovery_refresh,<uuid><uri>,Send a recovery_refresh,mod_commands

uuid_recv_dtmf,<uuid><dtmf_data>,Receive dtmf digits,mod_commands

uuid_redirect,<uuid> <uri>,Senda redirect,mod_commands

uuid_ring_ready,<uuid>[queued],Sending ringing to a channel,mod_commands

uuid_send_dtmf,<uuid><dtmf_data>,Send dtmf digits,mod_commands

uuid_send_info,<uuid>[<mime_type> <mime_subtype>] <message>,Send info to theendpoint,mod_commands

uuid_send_message,<uuid><message>,Send MESSAGE to the endpoint,mod_commands

uuid_send_tdd,<uuid><text>,send tdd data to a uuid,mod_spandsp

uuid_session_heartbeat,<uuid> [sched][0|<seconds>],uuid_session_heartbeat,mod_commands

uuid_set_media_stats,<uuid>,Set mediastats,mod_commands

uuid_setvar,<uuid> <var> [value],Seta variable,mod_commands

uuid_setvar_multi,<uuid><var>=<value>;<var>=<value>...,Set multiplevariables,mod_commands

uuid_simplify,<uuid>,Try to cut outof a call path / attended xfer,mod_commands

uuid_transfer,<uuid> [-bleg|-both]<dest-exten> [<dialplan>] [<context>],Transfer asession,mod_commands

uuid_video_bitrate,<uuid><bitrate>,Send video bitrate req.,mod_commands

uuid_video_refresh,<uuid>,Send videorefresh.,mod_commands

uuid_zombie_exec,<uuid>,Setzombie_exec flag on the specified uuid,mod_commands

valet_info,[<lot name>],Valet ParkingInfo,mod_valet_parking

version,[short],Version,mod_commands

vm_boxcount,[profile/]<user>@<domain>[|[new|saved|new-urgent|saved-urgent|all]],vm_boxcount,mod_voicemail

vm_delete,<id>@<domain>[/profile][<uuid>],vm_delete,mod_voicemail

vm_fsdb_auth_login,<profile><domain> <user> <password>,vm_fsdb_auth_login,mod_voicemail

vm_fsdb_msg_count,<format><profile> <domain> <user><folder>,vm_fsdb_msg_count,mod_voicemail

vm_fsdb_msg_delete,<profile><domain> <user> <uuid>,vm_fsdb_msg_delete,mod_voicemail

vm_fsdb_msg_email,<profile><domain> <user> <uuid><email>,vm_fsdb_msg_email,mod_voicemail

vm_fsdb_msg_forward,<profile><domain> <user> <uuid> <dst_domain> <dst_user> [prepend_file_location],vm_fsdb_msg_forward,mod_voicemail

vm_fsdb_msg_get,<format><profile> <domain> <user><uuid>,vm_fsdb_msg_get,mod_voicemail

vm_fsdb_msg_list,<format><profile> <domain> <user> <folder> <filter>[msg-order = ASC | DESC],vm_fsdb_msg_list,mod_voicemail

vm_fsdb_msg_purge,<profile><domain> <user>,vm_fsdb_msg_purge,mod_voicemail

vm_fsdb_msg_save,<profile><domain> <user> <uuid>,vm_fsdb_msg_save,mod_voicemail

vm_fsdb_msg_undelete,<profile><domain> <user> <uuid>,vm_fsdb_msg_undelete,mod_voicemail

vm_fsdb_pref_greeting_get,<format><profile> <domain> <user>[slot],vm_fsdb_pref_greeting_get,mod_voicemail

vm_fsdb_pref_greeting_set,<profile><domain> <user> <slot>[file-path],vm_fsdb_pref_greeting_set,mod_voicemail

vm_fsdb_pref_password_set,<profile><domain> <user><password>,vm_fsdb_pref_password_set,mod_voicemail

vm_fsdb_pref_recname_set,<profile><domain> <user><file-path>,vm_fsdb_pref_recname_set,mod_voicemail

vm_inject,[group=<group>[@domain]|domain=<domain>|<box>[@<domain>]]<sound_file> [<cid_num>] [<cid_name>],vm_inject,mod_voicemail

vm_list,<id>@<domain>[/profile][xml],vm_list,mod_voicemail

vm_prefs,[profile/]<user>@<domain>[|[name_path|greeting_path|password]],vm_prefs,mod_voicemail

vm_read,<id>@<domain>[/profile]<read|unread> [<uuid>],vm_read,mod_voicemail

voicemail,rss [<host> <port><uri> <user> <domain>] | [load|unload|reload] <profile>[reloadxml],voicemail,mod_voicemail

voicemail_inject,[group=<group>[@domain]|domain=<domain>|<box>[@<domain>]]<sound_file> [<cid_num>] [<cid_name>],voicemail_inject,mod_voicemail

xml_flush_cache,<id> <key><val>,Clear xml cache,mod_commands

xml_locate,[root | <section><tag> <tag_attr_name> <tag_attr_val>],Find somexml,mod_commands

xml_wrap,<command> <args>,Wrapanother api command in xml,mod_commands
---------------------
作者:oba没有马
来源:CSDN
原文:https://blog.csdn.net/u010317005/article/details/52212043/
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/keystone/p/10779809.html