1. Getting Started
  2. Configuration

配置文件为json格式,必须为合法的json格式文档。所有配置都归属于global属性下,如下图配置分为3个对象。

SipT configuration

http配置

http是系统对外提供API服务的配置项。

config.json
"http": {
  "port": 11111,         // http服务监听的端口
  "listen": "0.0.0.0",   // http服务监听的地址,`0.0.0.0`表示在本机所有网络接口上监听
  "loglevel": 0          // http服务日志,取值0-4分别对应DEBUG,INFO,WARNING,ERROR,CRITICAL
},

sip配置

SIP服务的相关配置, 示例

config.json
"sip": {
  "loglevel": 5,
  "tp": 5,
  "post_tp": 5,
  "connected_url": "http://127.0.0.1:22222/api/events",
  "call_url": "http://127.0.0.1:22222/api/events",
  "reg_url": "http://127.0.0.1:22222/api/events",
  "transport": [
    {
      "type": "udp",
      "listen": "127.0.0.1",
      "port": 15060,
      "tp": 1
    },
    {
      "type": "tcp",
      "listen": "127.0.0.1",
      "port": 15060,
      "tp": 5
    },
    {
      "type": "tls",
      "listen": "127.0.0.1",
      "port": 15061,
      "cert": "config/server.crt",
      "key": "config/server.key",
      "tp": 10
    },
    {
      "type": "ws",
      "listen": "127.0.0.1",
      "port": 18080,
      "tp": 10
    },
    {
      "type": "wss",
      "listen": "127.0.0.1",
      "port": 18081,
      "cert": "config/server.crt",
      "key": "config/server.key",
      "tp": 10
    }
  ]
},
  • loglevel: sip模块的log等级,取值5-0,分别对应trace,debug,info,warning,error,fatal,注意和上面http系统的日志系统相区别。
  • tp: sip模块的sip消息引擎的线程池数量,建议取CPU核心数。
  • connected_url: 无论SipT是做为主叫还是被叫,在每个呼叫接通的时候,post呼叫数据到指定的url
  • call_url: 在每个呼叫结束后,post呼叫数据到指定的url
  • reg_url: 在每个注册结束后,post注册数据到指定的url
  • post_tp: 在每个呼叫结束后,post呼叫数据的时候使用线程池的线程数。
  • transport: 本属性是个数组,数组的每个元素定义各sip transport,通常我们会为每种(udp,tcp,tls,ws,wss)分别定义一个transport,但是不会限制,例如定义 2 个udp transport,那么需要他们定义的端口不一样就行。transport 对象有如下属性:
transport
{
  "type"   : "transport的类型,取值范围:udp,tcp,tls,ws,wss。",
  "listen" : "transport监听的地址,建议指定具体网络地址。",
  "port"   : "transport监听的端口。",
  "cert"   : "加密证书路径,pem 格式,只有tls和wss端口需要设置,其他类型的transport可以不写此属性。",
  "key"    : "加密证书私钥路径,pem格式,只有tls和wss端口需要设置,其他类型的transport可以不写此属性。",
  "tp"     : "transport 的工作线程池配置的线程数。"
}

log配置

log模块的配置文件

"log": {
  "config": "config/log.ini",  // log模块配置文件位置
  "tag": "SipT"                // log模块主tag
}