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]

  1. {
  2. "stat_prefix": "...",
  3. "route_config": "{...}",
  4. "sip_filters": [],
  5. "settings": "{...}"
  6. }

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]

  1. {
  2. "transaction_timeout": "{...}",
  3. "own_domain": "...",
  4. "domain_match_parameter_name": "..."
  5. }

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.

  1. {
  2. "name": "...",
  3. "typed_config": "{...}"
  4. }

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.

  1. {
  2. "session_affinity": "...",
  3. "registration_affinity": "..."
  4. }

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.