SIP 堆栈的配置

Name Type Default Description

acceptNonUtf8Bytes

布尔型

false

接受未采用 UTF-8 编码的字节序列。

auto100OnInvite

布尔型

true

SIP 容器在接收 INVITE 请求时会自动发送响应代码 100。

auto482OnMergedRequests

布尔型

false

SIP 容器在接收合并请求时会自动发送响应代码 482。在 SIP RFC 3261 的 8.2.2.2 一节中定义了此行为。

cloneAckOn2xxRetransmission

布尔型

false

指示在进行 2xx 重新传输时是否克隆 ACK 请求。缺省情况下,每次重新传输时都发送相同 ACK 实例,当上游的下一个元素修改了 ACK 请求时,就会导致问题。当该属性设置为 true 时,会克隆原始 ACK 请求,并且每次重新传输时都会发送原始请求的副本。

commaSeparatedHeaders

string

应当以逗号分隔的头字段的列表。如果同一个头有多个值,这些头不会重复,值将在同一个头中用逗号分隔。

compactHeaders

  • API

  • Always

  • MtuExceeds

  • Never

MtuExceeds

定义在 SIP 堆栈对消息编码时何时使用压缩头。
API
根据 JSR289 javax.servlet.sip.SipServletMessage.setHeaderForm(javax.servlet.sip.SipServletMessage.HeaderForm) 发送头
Always
始终以压缩形式发送头
MtuExceeds
仅当超过 MTU 时,才以压缩形式发送头
Never
从不以压缩形式发送头

forceConnectionReuse

布尔型

true

即使 via 头中存在别名参数,也会在后续请求中复用连接。

hideMessageBody

布尔型

false

在 SIP 容器日志中隐藏消息内容。

hideMessageHeaders

string

Authorization

未输出到 SIP 容器日志的头的逗号分隔列表。

hideMessageReqUri

布尔型

false

在 SIP 容器日志中隐藏消息请求 URI。

networkAddressCacheTtl

string

SIP 容器保留已高速缓存的 InetAddress 项的时间,并且不会再次解析它。

pathMtu

整形

1500

出站 UDP 请求的最大传输单元 (MTU),如 RFC 3261-18.1.1 中所定义那样。

sipQuotedParameters

string

其值用引号引起来的头参数的列表。

strictOutboundLocalPort

布尔型

false

应将该定制属性设置为 true,以要求 SIP 容器从应用程序所选择的 SipProvider 实例使用 SipProvider.sendRequest() 发送请求。缺省情况下,使用任意提供程序来发送请求。

useLPFromOutbound

布尔型

false

应将该定制属性设置为 true,以要求 SIP 容器从应用程序所选择的 SipProvider 实例使用 SipProvider.sendRequest() 发送请求。缺省情况下,使用任意提供程序来发送请求。

SIP 计时器

timerA

具有毫秒精度的时间段

500ms

初始 INVITE 请求重新传输时间间隔(仅适用于 UDP)(毫秒),在 RFC 3261 中进行了定义。缺省值等于 T1。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerB

具有毫秒精度的时间段

32000ms

INVITE 客户机事务超时计时器(毫秒),在 RFC 3261 中进行了定义。缺省值等于 64*T1。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerD

具有毫秒精度的时间段

32000ms

INVITE 响应重新传输的等待时间(毫秒),在 RFC 3261 中进行了定义。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerE

具有毫秒精度的时间段

500ms

初始非 INVITE 请求重新传输时间间隔(仅适用于 UDP)(毫秒),在 RFC 3261 中进行了定义。缺省值等于 T1。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerF

具有毫秒精度的时间段

32000ms

非 INVITE 事务超时计时器(毫秒),在 RFC 3261 中进行了定义。缺省值等于 64*T1。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerG

具有毫秒精度的时间段

500ms

初始 INVITE 响应重新传输时间间隔(毫秒),在 RFC 3261 中进行了定义。缺省值等于 T1。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerH

具有毫秒精度的时间段

32000ms

ACK 回执的等待时间(毫秒),在 RFC 3261 中进行了定义。缺省值等于 64*T1。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerI

具有毫秒精度的时间段

5000ms

ACK 重新传输的等待时间(毫秒),在 RFC 3261 中进行了定义。缺省值等于 T4。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerJ

具有毫秒精度的时间段

32000ms

非 INVITE 请求重新传输的等待时间(毫秒),在 RFC 3261 中进行了定义。缺省值等于 64*T1。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerK

具有毫秒精度的时间段

5000ms

非 INVITE 响应重新传输的等待时间(毫秒),在 RFC 3261 中进行了定义。缺省值等于 T4。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerT1

具有毫秒精度的时间段

500ms

估算的双向传递时间 (RTT)(毫秒),在 RFC 3261 中进行了定义。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerT2

具有毫秒精度的时间段

4000ms

非 INVITE 请求和 INVITE 响应的最长重新传输时间间隔(毫秒),在 RFC 3261 中进行了定义。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。

timerT4

具有毫秒精度的时间段

5000ms

消息保留在网络中的最长持续时间(毫秒),在 RFC 3261 中进行了定义。. 指定后跟时间单位的正整数,时间单位可以是小时 (h)、分钟 (m)、秒 (s) 或毫秒 (ms)。例如,以 500ms 的形式指定 500 毫秒。可将多个值包括在单个条目中。例如,1s500ms 相当于 1.5 秒。