• 运维常用
  • 客户端(fs_cli)命令
  • profile和网关相关
  • 注册用户相关
  • debug相关
  • originate相关


运维常用
  • 判断fs是否正在运行的两种方式:
    ps aux | grep freeswitch // 列出与fs相关的所有进程netstat -an | grep 5060 // 查看相关端口是否被占用,fs默认使用5060端口
  • fs开启/关闭:
    freeswitch -nc // 后台启动fsfreeswitch -stop // 关闭fs
  • db连接测试
    isql -v freeswitch // odbc配置文件位置 /etc/odbc.ini 和 /etc/odbcinst.ini
  • 查看eventSocket连接情况
    netstat -an|grep 8021 (fs的eventSocket端口默认是8021)
客户端(fs_cli)命令
  • 更改dialplan后刷新并生效:
    reloadxml
profile和网关相关
  • 查看当前profile状态(包括端口、运行中的网关等):
    sofia status
  • 启动一个新增的profile:
    sofia profile <new_profile_name> start
  • 删除网关:
    sofia profile external killgw rs (这里删除的是名称是rs的网关)
  • 刷新网关(新增网关时使用):
    sofia profile external rescan | restart reloadxml (使用rescan时只会对新增的配置生效,如果改变了ip和端口,使用rescan是不会刷新的,可以使用restart,但使用restart时会影响当前正在进行的通话)
  • 强制重启网关(修改已有网关时使用):
    sofia profile external killgw rs ,再sofia profile external rescan
  • 查看某个网关状态:
    sofia status gateway gw1
注册用户相关
  • 列出所有internal上的已注册用户
    sofia status profile internal reg
  • 模糊查询注册用户
    sofia status profile internal reg 1000
  • 精准查询注册用户
    sofia status profile internal user 1000
  • 查看注册用户的联系地址(每个用户其实就是对应一个端口号)
    sofia_contact 1000@192.168.1.123
  • 查看一个用户有多少已注册客户端
    sofia_count_reg 1000@192.168.1.123
debug相关
  • 控制台打开更详细的调试日志(数字越大越详细)
    sofia loglevel all 9
  • 控制台打开更详细的Sofia日志(默认是console级别)
    sofia tracelevel debugsofia tracelevel notice
originate相关
  • 向用户1000发起呼叫,接通后执行echo程序
    originate user/1000 &echo
  • 向用户1000及1001发起共振或顺振,接通后执行echo程序
    originate user/1000,user/1001 &echo 共振
    originate user/1000|user/1001 &echo 顺振
  • 向用户1000发起呼叫,接通后进入public.xml中查找路由“1001”
    originate user/1000 1001 XML public
  • 向用户1000发起呼叫,指定主叫名称和主叫号码
    originate user/1000 &echo XML default 'dustin qi' 181788
    originate {origination_caller_id_name='dustin qi',origination_caller_id_number=181788}user/1000 &echo
  • 先向用户1000发起呼叫,(用户1000接通后)再向用户1001发起呼叫,(用户1001接通后)再将二者接通:
    originate {origination_caller_id_name='dustin qi'}user/1000 &bridge(user/1001)
    originate {origination_caller_id_number=12345}user/1000 &bridge({origination_caller_id_number=181788}user/1001)

一般来说,网关都会放在/external目录下,意味着最终会被装入external这个profile中。一个自定义的网关配置文件gw.xml如下。其中realm是i指定的网关服务器地址,可以是ip或域名,如果后面不写端口则默认5060

freeswitch say 中文 8000 freeswitch常用命令_xml

  • 更改acl访问控制文件后刷新并生效:
    reloadacl
  • 打开sip消息日志(调试排错时):
    sofia profile internal siptrace onsofia profile external siptrace onsofia profile global siptrace on // 如果不知道走的是internal还是external,可以全打开sofia profile global siptrace off // 关闭sip抓包