Sip 代理 (proto)

此扩展的限定名称为 envoy.filters.network.sip_proxy

注意

此扩展仅在 contrib 映像中可用。

注意

此扩展是功能性的,但没有经过大量的生产时间检验,使用时请注意此问题。

此扩展未经过硬化,应仅在上下游都可信的部署中使用。

提示

此扩展扩展了以下扩展类别,并可与之一起使用

extensions.filters.network.sip_proxy.v3alpha.SipProxy

[extensions.filters.network.sip_proxy.v3alpha.SipProxy proto]

{
  "stat_prefix": ...,
  "route_config": {...},
  "sip_filters": [],
  "settings": {...}
}
stat_prefix

(string, REQUIRED) 发射统计信息时使用的可读前缀。

route_config

(extensions.filters.network.sip_proxy.v3alpha.RouteConfiguration) 连接管理器路由表是静态的,在此属性中指定。

sip_filters

(repeated extensions.filters.network.sip_proxy.v3alpha.SipFilter) 构成对 SIP 代理发出的请求的过滤器链的各个 SIP 过滤器的列表。顺序很重要,因为过滤器按顺序处理。为了向后兼容,如果未指定任何 sip_filters,则使用默认的 SIP 路由过滤器 (envoy.filters.sip.router)。

提示

以下扩展仅在 contrib 映像中可用

settings

(extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings)

extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings

[extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings proto]

{
  "transaction_timeout": {...},
  "local_services": [],
  "tra_service_config": {...},
  "operate_via": ...
}
transaction_timeout

(Duration) 事务超时计时器 [计时器 B] 单位为毫秒,默认值为 64*T1。

会话启动协议 (SIP) 计时器摘要

计时器

默认值

部分

意义

T1

500 毫秒

17.1.1.1

往返时间 (RTT) 估计

T2

4 秒

17.1.2.2

非 INVITE 请求和 INVITE 响应的最大重传间隔

T4

5 秒

17.1.2.2

消息在网络中停留的最大持续时间

计时器 A

最初为 T1

17.1.1.2

INVITE 请求重传间隔,仅限 UDP

计时器 B

64*T1

17.1.1.2

INVITE 事务超时计时器

计时器 D

> 32 秒,对于 UDP 0 秒,对于 TCP 和 SCTP

17.1.1.2

等待响应重传的时间

计时器 E

最初为 T1

17.1.2.2

非 INVITE 请求重传间隔,仅限 UDP

计时器 F

64*T1

17.1.2.2

非 INVITE 事务超时计时器

计时器 G

最初为 T1

17.2.1

INVITE 响应重传间隔

计时器 H

64*T1

17.2.1

等待 ACK 收据的时间

计时器 I

T4,对于 UDP 0 秒,对于 TCP 和 SCTP

17.2.1

等待 ACK 重传的时间

计时器 J

64*T1,对于 UDP 0 秒,对于 TCP 和 SCTP

17.2.2

等待非 INVITE 请求重传的时间

计时器 K

T4,对于 UDP 0 秒,对于 TCP 和 SCTP

17.1.2.2

等待响应重传的时间

local_services

(repeated extensions.filters.network.sip_proxy.v3alpha.LocalService) 需要匹配的服务,用于 ep 插入

tra_service_config

(extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceConfig)

operate_via

(bool) 是否操作 via 标头,包括为请求添加 via 和为响应弹出 via False: sip 服务代理 True: sip 负载均衡器

extensions.filters.network.sip_proxy.v3alpha.SipFilter

[extensions.filters.network.sip_proxy.v3alpha.SipFilter proto]

SipFilter 配置 SIP 过滤器。

{
  "name": ...,
  "typed_config": {...}
}
name

(string, REQUIRED) 要实例化的过滤器的名称。该名称必须与支持的过滤器匹配。内置过滤器是

typed_config

(Any) 过滤器特定配置,取决于要实例化的过滤器。有关进一步的文档,请参阅支持的过滤器。

extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions

[extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions proto]

SipProtocolOptions 指定 SIP 上游协议选项。此对象用于 typed_extension_protocol_options,按名称 envoy.filters.network.sip_proxy 键入。

{
  "session_affinity": ...,
  "registration_affinity": ...,
  "customized_affinity": {...}
}
session_affinity

(bool) 一个对话中的所有 sip 消息都应发送到同一个端点。

registration_affinity

(bool) 具有 Authorization 标头的 Register 应发送到同一个端点,该端点发送出 401 Unauthorized。

customized_affinity

(extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity) 自定义亲和力

extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity

[extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity proto]

用于亲和力

{
  "entries": [],
  "stop_load_balance": ...
}
entries

(repeated extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry) 用于确定上游端点的亲和力规则

stop_load_balance

(bool) 配置在亲和力处理之后是否应停止或继续负载均衡。

extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry

[extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry proto]

{
  "header": ...,
  "key_name": ...,
  "subscribe": ...,
  "query": ...,
  "cache": {...}
}
header

(string) 要匹配的标头名称,例如“From”,如果未指定,则默认为“Route”

key_name

(string) TRA 查询/订阅的亲和力键,例如“lskpmc”,如果 key_name 为“text”,则表示使用标头内容作为键。

subscribe

(bool) 是否需要订阅 TRA

query

(bool) 是否需要查询 TRA

cache

(extensions.filters.network.sip_proxy.v3alpha.Cache) 本地缓存

extensions.filters.network.sip_proxy.v3alpha.Cache

[extensions.filters.network.sip_proxy.v3alpha.Cache proto]

{
  "max_cache_item": ...,
  "add_query_to_cache": ...
}
max_cache_item

(int32) 亲和力本地缓存项最大数量

add_query_to_cache

(bool) 是否可以将查询结果添加到本地缓存

extensions.filters.network.sip_proxy.v3alpha.LocalService

[extensions.filters.network.sip_proxy.v3alpha.LocalService proto]

本地服务

{
  "domain": ...,
  "parameter": ...
}
domain

(string) 需要匹配的域

parameter

(string) 用于获取域的参数