FreeSWITCH命令大全
FreeSWITCH启动、查看、及关闭
FreeSWITCH一般安装在路径 /usr/local/freeswitch ,可执行程序位于/usr/local/freeswitch/bin 下,配置文件位于/usr/local/freeswitch/conf(当然这写不是绝对的,具体还要看你自己安装时候的配置)
FreeSWITCH帮助命令
freeswitch -help
'''
Usage: freeswitch [OPTIONS] These are the optional arguments you can pass to freeswitch:
-nf -- no forking
-reincarnate -- restart the switch on an uncontrolled exit
-reincarnate-reexec -- run execv on a restart (helpful for upgrades)
-u [user] -- specify user to switch to
-g [group] -- specify group to switch to
-core -- dump cores
-help -- this message
-version -- print the version and exit
-rp -- enable high(realtime) priority settings
-lp -- enable low priority settings
-np -- enable normal priority settings
-vg -- run under valgrind
-nosql -- disable internal sql scoreboard
-heavy-timer -- Heavy Timer, possibly more accurate but at a cost
-nonat -- disable auto nat detection
-nonatmap -- disable auto nat port mapping
-nocal -- disable clock calibration
-nort -- disable clock clock_realtime
-stop -- stop freeswitch
-nc -- do not output to a console and background
-ncwait -- do not output to a console and background but wait until the system is ready before exiting (implies -nc)
-c -- output to a console and stay in the foreground Options to control locations of files:
-base [basedir] -- alternate prefix directory
-cfgname [filename] -- alternate filename for FreeSWITCH main configuration file
-conf [confdir] -- alternate directory for FreeSWITCH configuration files
-log [logdir] -- alternate directory for logfiles
-run [rundir] -- alternate directory for runtime files
-db [dbdir] -- alternate directory for the internal database
-mod [moddir] -- alternate directory for modules
-htdocs [htdocsdir] -- alternate directory for htdocs
-scripts [scriptsdir] -- alternate directory for scripts
-temp [directory] -- alternate directory for temporary files
-grammar [directory] -- alternate directory for grammar files
-certs [directory] -- alternate directory for certificates
-recordings [directory] -- alternate directory for recordings
-storage [directory] -- alternate directory for voicemail storage
-cache [directory] -- alternate directory for cache files
-sounds [directory] -- alternate directory for sound files
'''
启动、关闭
如果不带参数的话,直接在命令行中输入 freeswitch 就能启动,当你看到下面所示内容时基本就是启动正常了
# 启动freeswitch
freeswitch # 关闭freeswitch
shutdown
freeswitch@d0a5f22d2bb3> 2019-06-06 09:48:51.667336 [CONSOLE] switch_core.c:2438
.=============================================================.
| _____ ______ _____ _____ ____ _ _ |
| | ___| __ ___ ___/ ___\ \ / /_ _|_ _/ ___| | | | |
| | |_ | '__/ _ \/ _ \___ \\ \ /\ / / | | | || | | |_| | |
| | _|| | | __/ __/___) |\ V V / | | | || |___| _ | |
| |_| |_| \___|\___|____/ \_/\_/ |___| |_| \____|_| |_| |
| |
.=============================================================.
| Anthony Minessale II, Michael Jerris, Brian West, Others |
| FreeSWITCH (http://www.freeswitch.org) |
| Paypal Donations Appreciated: paypal@freeswitch.org |
| Brought to you by ClueCon http://www.cluecon.com/ |
.=============================================================. .=======================================================================================================.
| _ _ ____ _ ____ |
| / \ _ __ _ __ _ _ __ _| | / ___| |_ _ ___ / ___|___ _ __ |
| / _ \ | '_ \| '_ \| | | |/ _` | | | | | | | | |/ _ \ | / _ \| '_ \ |
| / ___ \| | | | | | | |_| | (_| | | | |___| | |_| | __/ |__| (_) | | | | |
| /_/ \_\_| |_|_| |_|\__,_|\__,_|_| \____|_|\__,_|\___|\____\___/|_| |_| |
| |
| ____ _____ ____ ____ __ |
| | _ \_ _/ ___| / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ |
| | |_) || || | | | / _ \| '_ \| |_ / _ \ '__/ _ \ '_ \ / __/ _ \ |
| | _ < | || |___ | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ |
| |_| \_\|_| \____| \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| |
| |
| ____ _ ____ |
| / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ |
| | | | | | | |/ _ \ | / _ \| '_ \ / __/ _ \| '_ ` _ \ |
| | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | |
| \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| |
| |
.=======================================================================================================. 2019-06-06 09:48:51.667349 [INFO] switch_core.c:2447
FreeSWITCH Version 1.8.5~64bit ( 64bit) FreeSWITCH Started
Max Sessions [1000]
Session Rate [30]
SQL [Enabled]
如果有错误信息,会以红色字体的形式提现出来,这时需要自己去排查错误
后台启动、关闭
当然我们一般运行 FreeSWITCH 都是以后台的形式
# 后台启动
freeswitch -nc # 关闭后台freeswitch
freeswitch -stop
查看相关日志
我们可以首先查看一下FreeSWITCH是否正常启动
netstat -anp | grep freeswitch
'''
tcp 0 0 172.17.0.7:8081 0.0.0.0:* LISTEN 14252/freeswitch
tcp 0 0 172.17.0.7:8082 0.0.0.0:* LISTEN 14252/freeswitch
tcp 0 0 172.17.0.7:7443 0.0.0.0:* LISTEN 14252/freeswitch
tcp 0 0 172.17.0.7:5080 0.0.0.0:* LISTEN 14252/freeswitch
tcp 0 0 172.17.0.7:5060 0.0.0.0:* LISTEN 14252/freeswitch
tcp 0 0 172.17.0.7:2855 0.0.0.0:* LISTEN 14252/freeswitch
tcp 0 0 172.17.0.7:2856 0.0.0.0:* LISTEN 14252/freeswitch
tcp 0 0 172.17.0.7:5066 0.0.0.0:* LISTEN 14252/freeswitch
udp 0 0 0.0.0.0:1337 0.0.0.0:* 14252/freeswitch
udp 0 0 172.17.0.7:52133 172.17.0.1:5351 ESTABLISHED 14252/freeswitch
udp 0 0 172.17.0.7:5060 0.0.0.0:* 14252/freeswitch
udp 0 0 172.17.0.7:5080 0.0.0.0:* 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2109650 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2105745 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2107133 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2105746 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2108033 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2107132 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2108032 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2109651 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2107134 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2107131 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2102897 14252/freeswitch
unix 3 [ ] STREAM CONNECTED 2102898 14252/freeswitch
'''
后台启动了FreeSWITCH后我们需要查看相关日志需要用 fs_cli 命令,如果出现下图内容就说明连上了
fs_cli
'''
.=======================================================.
| _____ ____ ____ _ ___ |
| | ___/ ___| / ___| | |_ _| |
| | |_ \___ \ | | | | | | |
| | _| ___) | | |___| |___ | | |
| |_| |____/ \____|_____|___| |
| |
.=======================================================.
| Anthony Minessale II, Ken Rice, |
| Michael Jerris, Travis Cross |
| FreeSWITCH (http://www.freeswitch.org) |
| Paypal Donations Appreciated: paypal@freeswitch.org |
| Brought to you by ClueCon http://www.cluecon.com/ |
.=======================================================. .=======================================================================================================.
| _ _ ____ _ ____ |
| / \ _ __ _ __ _ _ __ _| | / ___| |_ _ ___ / ___|___ _ __ |
| / _ \ | '_ \| '_ \| | | |/ _` | | | | | | | | |/ _ \ | / _ \| '_ \ |
| / ___ \| | | | | | | |_| | (_| | | | |___| | |_| | __/ |__| (_) | | | | |
| /_/ \_\_| |_|_| |_|\__,_|\__,_|_| \____|_|\__,_|\___|\____\___/|_| |_| |
| |
| ____ _____ ____ ____ __ |
| | _ \_ _/ ___| / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ |
| | |_) || || | | | / _ \| '_ \| |_ / _ \ '__/ _ \ '_ \ / __/ _ \ |
| | _ < | || |___ | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ |
| |_| \_\|_| \____| \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| |
| |
| ____ _ ____ |
| / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ |
| | | | | | | |/ _ \ | / _ \| '_ \ / __/ _ \| '_ ` _ \ |
| | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | |
| \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| |
| |
.=======================================================================================================. Type /help <enter> to see a list of commands [This app Best viewed at 160x60 or more..]
+OK log level [7]
freeswitch@d0a5f22d2bb3>
'''
问题解决
如果 fs_cli 命令连不上,报错信息如下:
[ERROR] fs_cli.c:1679 main() Error Connecting []
Usage: fs_cli [-H <host>] [-P <port>] [-p <secret>] [-d <level>] [-x command] [-t <timeout_ms>] [profile] -?,-h --help Usage Information
-H, --host=hostname Host to connect
-P, --port=port Port to connect (1 - 65535)
-u, --user=user@domain user@domain
-p, --password=password Password
-i, --interrupt Allow Control-c to interrupt
-x, --execute=command Execute Command and Exit
-l, --loglevel=command Log Level
-U, --log-uuid Include UUID in log output
-S, --log-uuid-short Include shortened UUID in log output
-q, --quiet Disable logging
-r, --retry Retry connection on failure
-R, --reconnect Reconnect if disconnected
-d, --debug=level Debug Level (0 - 7)
-b, --batchmode Batch mode
-t, --timeout Timeout for API commands (in miliseconds)
-T, --connect-timeout Timeout for socket connection (in miliseconds)
-n, --no-color Disable color
这时需要修改一下连接IP,首先我们需要启动 enable the mod_event_socket 模块,文件 位于 /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml ,然后修改默认的启动IP,修改文件位于 /usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml ,然后重启 FreeSWITCH 即可
nano /usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml '''
<configuration name="event_socket.conf" description="Socket Client">
<settings>
<param name="nat-map" value="false"/>
<param name="listen-ip" value="::"/>
<param name="listen-port" value="8021"/>
<param name="password" value="ClueCon"/>
<!--<param name="apply-inbound-acl" value="loopback.auto"/>-->
<!--<param name="stop-on-bind-error" value="true"/>-->
</settings>
</configuration>
''' # 将上面的<param name="listen-ip" value="::"/>改为<param name="listen-ip" value="0.0.0.0"/>
查看状态
在 fs_cli 中输入 status
freeswitch@d0a5f22d2bb3> status
'''
UP 0 years, 0 days, 0 hours, 0 minutes, 17 seconds, 869 milliseconds, 212 microseconds
FreeSWITCH (Version 1.8.5 64bit) is ready
0 session(s) since startup
0 session(s) - peak 0, last 5min 0
0 session(s) per Sec out of max 30, peak 0, last 5min 0
1000 session(s) max
min idle cpu 0.00/99.50
Current Stack Size/Max 240K/8192K
'''
在 fs_cli 中输入 sofia status
freeswitch@d0a5f22d2bb3> sofia status
'''
Name Type Data State
=================================================================================================
172.17.0.7 alias internal ALIASED
external profile sip:mod_sofia@172.17.0.7:5080 RUNNING (0)
external::example.com gateway sip:joeuser@example.com NOREG
internal profile sip:mod_sofia@172.17.0.7:5060 RUNNING (0)
=================================================================================================
2 profiles 1 alias
'''
添加一个用户
在 /usr/local/freeswitch/comf/directory/default 下有默认的1000-1019共20个账号,可以通过 copy 并修改其中的 user_id 来实现增加新的账号
路由配置
- 默认路由文件:/usr/local/freeswitch/comf/dialplan/default.xml ,可以修改他
- 添加新的路有也可以修改文件:/usr/local/freeswitch/comf/dialplan/default
- 外线来电路有配置文件:/usr/local/freeswitch/comf/dialplan/public.xml
待续....
配置文件
FreeSwitch的配置文件默认是放在 FreeSwitch\Conf\ 下,最顶层是的 FreeSwitch.xml,也就是说最先加载的就是这个 XML, FreeSwitch 根据这个 XML 依次加载 Conf 目录下的其它配置文件。
- freeswitch.xml:主配置文件,它会使用include语句装入其它文件。
- vars.xml:一些常用变量,都在这个配置文件中定义。
- autoload_configs:存放自动加载的配置文件。
- 此文件夹下的modules.conf.xml:配置当freeswitch启动时自动装载哪些模块。
- 此文件夹下其它xml:一般来说都是对应每个模块的配置文件。
- chatplan文件夹:存放的是聊天计划配置文件。
- dialplan文件夹:存放的是拨号计划配置文件。
- directory文件夹:用户目录,存储跟用户相关的信息。
- 此文件夹下的的defalut目录是默认的用户目录配置,default下的xml文件是对应每个sip用户的,每个sip用户都有一个配置文件。
- ivr_menus文件夹:IVR菜单配置文件。
- jingle_profiles文件夹:连接Google Talk的相关配置文件。
- lang文件夹:多语言支持配置文件。
- 此文件夹下的en为英语,fr文件夹是法语。
- mrcp_profiles文件夹:MRCP的相关配置,用于跟第三方语音合成和语音识别系统对接。
- sip_profiles文件夹:sip配置文件
- 此文件夹下的internal.xml:一个SIP profile,或称作一个SIP-UA,监听在本地IP及端口5060。
- 此文件夹下的externa.xml:另一个SIP-UA,用作外部连接,端口5080。
- skinny_profiles文件夹:思科SCCP协议话机的配置文件。
待续...
FreeSWITCH命令大全的更多相关文章
- .NET Core dotnet 命令大全
dotnet 命令大全,让你理解dotnet 命令. 本文将以一个实例串起 dotnet 所有命令,让你玩转dotnet 命令. 本篇文章编写环境为windows 10 ,dotnet 命令同样适用于 ...
- 【转】Hadoop命令大全
Hadoop命令大全 本节比较全面的向大家介绍一下Hadoop命令,欢迎大家一起来学习,希望通过本节的介绍大家能够掌握一些常见Hadoop命令的使用方法.下面是Hadoop命令的详细介绍. 1.列出所 ...
- CMD命令大全
有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. AT 计划在计算机上运行的命令和程序. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CT ...
- DOS命令大全!
一)MD——建立子目录 1.功能:创建新的子目录 2.类型:内部命令 3.格式:MD[盘符:][路径名]〈子目录名〉 4.使用说明: (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前 ...
- 黑客攻击常用CMD命令大全
黑客常用命令大全net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai ...
- centos 命令大全
文件操作: ls ####查看目录中的文件#### ls -F ####查看目录中的文件#### ls -l ####显示文件和目录的详细资料#### ls -a ...
- db2常用命令大全
#显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...
- redis shell命令大全
redis shell命令大全(转自http://blog.mkfree.com/posts/5105432f975ad0eb7d135964) 作者:oyhk 2013-1-28 3:11:35 ...
- linux 常用命令大全
linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...
随机推荐
- webapi之owin的oauth2.0密码模式_01概述
一般在webapi接口中,为了防止接口被随意调用,都会验证用户身份. 然而不能每次调用接口都需要用户输入用户名密码来验证,这时就需要授权颁发令牌了,持有令牌就可以访问接口,接口也能验证令牌身份. 简单 ...
- CVE-2019-0708:RDP终极EXP复现
0x00 前言 每次复现都会遇到各种各样的问题,这次也不例外,经过多次尝试才复现成功,因此把可能的解决方法也和大家分享一下,有想要一起复现学习/投稿的可以联系我哈 0x01 影响版本 Windows ...
- OpenGL学习(2)—— 创建第一个窗口
创建 GLFW GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口.它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入,这正是我们需要的. #inclu ...
- TPA测试项目管理系统-测试用例管理
Test Project Administrator(简称TPA)是经纬恒润自主研发的一款专业的测试项目管理工具,目前已广泛的应用于国内二十余个整车厂和零部件供应商.它可以管理测试过程 ...
- python测试开发django-rest-framework-62.基于类的视图(APIView和View)
前言 django中编辑视图views.py有两种方式,一种是基于类的实现,另外一种是函数式的实现方式,两种方法都可以用. REST框架提供了一个APIView类,它是Django View类的子类. ...
- 与你一起学习MS Project——理论篇:项目管理与Project
Hi,你好!我是大黄蜂,非常高兴借此机会与你一起学习微软Project的相关知识和技能.这一次的分享主要是结合本人在实际使用Project 2013过程中的一些方法技巧,其中有一些材料则来源于互联网, ...
- 【Selenium-WebDriver实战篇】ScreenRecorder的实际输出路径设置(转)
参考:https://www.cnblogs.com/yongfeiuall/p/4134139.html 我们可以用以下方式在Selenium Webdriver中capture video. 基本 ...
- vue提示插件[vscode]
在VSCode Marketplace 搜素Vue 出现关于语法高亮的插件有 vue,vue-beautify,vue-color,VueHelper,vertur等等.比较了下载数量可以了解到,ve ...
- jupyter Notebook 设置密码
由于服务器关闭了图形界面 所以在服务器上安装Jupyter Notebook 随后本机web访问,利用本机的显卡可以执行plt相关图形命令 本次介绍如何设置Jupyter Notebook的密码设定 ...
- 2019.12.11 java程序中几种常见的异常以及出现此异常的原因
1.java.lang.NullpointerException(空指针异常) 原因:这个异常经常遇到,异常的原因是程序中有空指针,即程序中调用了未经初始化的对象或者是不存在的对象. 经常出现在创建对 ...