Sip Proxy
This extension may be referenced by the qualified name envoy.filters.network.sip_proxy
Note
This extension is only available in contrib images.
Note
This extension is functional but has not had substantial production burn time, use only with this caveat.
This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.
Tip
This extension extends and can be used with the following extension category:
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) The human readable prefix to use when emitting statistics.
route_config
(extensions.filters.network.sip_proxy.v3alpha.RouteConfiguration) The route table for the connection manager is static and is specified in this property.
sip_filters
(repeated extensions.filters.network.sip_proxy.v3alpha.SipFilter) A list of individual Sip filters that make up the filter chain for requests made to the Sip proxy. Order matters as the filters are processed sequentially. For backwards compatibility, if no sip_filters are specified, a default Sip router filter (envoy.filters.sip.router) is used.
Tip
The following extensions are available in contrib images only:
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": "{...}",
"own_domain": "...",
"domain_match_parameter_name": "..."
}
transaction_timeout
(Duration) transaction timeout timer [Timer B] unit is milliseconds, default value 64*T1.
Session Initiation Protocol (SIP) timer summary
Timer | Default value | Section | Meaning |
---|---|---|---|
T1 | 500 ms | 17.1.1.1 | Round-trip time (RTT) estimate |
T2 | 4 sec | 17.1.2.2 | Maximum re-transmission interval for non-INVITE requests and INVITE responses |
T4 | 5 sec | 17.1.2.2 | Maximum duration that a message can remain in the network |
Timer A | initially T1 | 17.1.1.2 | INVITE request re-transmission interval, for UDP only |
Timer B | 64T1 | 17.1.1.2 | INVITE transaction timeout timer |
Timer D | > 32 sec. for UDP 0 sec. for TCP and SCTP | 17.1.1.2 | Wait time for response re-transmissions |
Timer E | initially T1 | 17.1.2.2 | Non-INVITE request re-transmission interval, UDP only |
Timer F | 64T1 | 17.1.2.2 | Non-INVITE transaction timeout timer |
Timer G | initially T1 | 17.2.1 | INVITE response re-transmission interval |
Timer H | 64T1 | 17.2.1 | Wait time for ACK receipt |
Timer I | T4 for UDP 0 sec. for TCP and SCTP | 17.2.1 | Wait time for ACK re-transmissions |
Timer J | 64T1 for UDP 0 sec. for TCP and SCTP | 17.2.2 | Wait time for re-transmissions of non-INVITE requests |
Timer K | T4 for UDP 0 sec. for TCP and SCTP | 17.1.2.2 | Wait time for response re-transmissions |
own_domain
(string) own domain name
domain_match_parameter_name
(string) points to domain match with own_domain
extensions.filters.network.sip_proxy.v3alpha.SipFilter
[extensions.filters.network.sip_proxy.v3alpha.SipFilter proto]
SipFilter configures a Sip filter.
{
"name": "...",
"typed_config": "{...}"
}
name
(string, REQUIRED) The name of the filter to instantiate. The name must match a supported filter. The built-in filters are:
typed_config
(Any) Filter specific configuration which depends on the filter being instantiated. See the supported filters for further documentation.
extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions
[extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions proto]
SipProtocolOptions specifies Sip upstream protocol options. This object is used in typed_extension_protocol_options, keyed by the name envoy.filters.network.sip_proxy.
{
"session_affinity": "...",
"registration_affinity": "..."
}
session_affinity
(bool) All sip messages in one dialog should go to the same endpoint.
registration_affinity
(bool) The Register with Authorization header should go to the same endpoint which send out the 401 Unauthorized.