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/
版权声明:本文为博主原创文章,转载请附上博文链接!