Sip Proxy (proto)
This extension has 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.
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) 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
64*T1
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
64*T1
17.1.2.2
Non-INVITE transaction timeout timer
Timer G
initially T1
17.2.1
INVITE response re-transmission interval
Timer H
64*T1
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
64*T1 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
- local_services
(repeated extensions.filters.network.sip_proxy.v3alpha.LocalService) The service to match for ep insert
- tra_service_config
(extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceConfig)
- operate_via
(bool) Whether via header is operated, including add via for request and pop via for response False: sip service proxy True: sip load balancer
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": ...,
"customized_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.
- customized_affinity
(extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity) Customized affinity
extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity
[extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity proto]
For affinity
{
"entries": [],
"stop_load_balance": ...
}
- entries
(repeated extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry) Affinity rules to conclude the upstream endpoint
- stop_load_balance
(bool) Configures whether load balance should be stopped or continued after affinity handling.
extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry
[extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry proto]
{
"header": ...,
"key_name": ...,
"subscribe": ...,
"query": ...,
"cache": {...}
}
- header
(string) The header name to match, e.g. “From”, if not specified, default is “Route”
- key_name
(string) Affinity key for TRA query/subscribe, e.g. “lskpmc”, if key_name is “text” means use the header content as key.
- subscribe
(bool) Whether subscribe to TRA is required
- query
(bool) Whether query to TRA is required
- cache
(extensions.filters.network.sip_proxy.v3alpha.Cache) Local 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) Affinity local cache item max number
- add_query_to_cache
(bool) Whether query result can be added to local cache
extensions.filters.network.sip_proxy.v3alpha.LocalService
[extensions.filters.network.sip_proxy.v3alpha.LocalService proto]
Local Service
{
"domain": ...,
"parameter": ...
}
- domain
(string) The domain need to matched
- parameter
(string) The parameter to get domain