.. _envoy_v3_api_file_contrib/envoy/extensions/filters/network/sip_proxy/v3alpha/sip_proxy.proto: Sip Proxy ========= .. _extension_envoy.filters.network.sip_proxy: This extension may be referenced by the qualified name ``envoy.filters.network.sip_proxy`` .. note:: This extension is only available in :ref:`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: - :ref:`envoy.filters.network ` .. _envoy_v3_api_msg_extensions.filters.network.sip_proxy.v3alpha.SipProxy: extensions.filters.network.sip_proxy.v3alpha.SipProxy ----------------------------------------------------- :repo:`[extensions.filters.network.sip_proxy.v3alpha.SipProxy proto] ` .. code-block:: json { "stat_prefix": "...", "route_config": "{...}", "sip_filters": [], "settings": "{...}" } .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProxy.stat_prefix: stat_prefix (`string `_, *REQUIRED*) The human readable prefix to use when emitting statistics. .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProxy.route_config: route_config (:ref:`extensions.filters.network.sip_proxy.v3alpha.RouteConfiguration `) The route table for the connection manager is static and is specified in this property. .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProxy.sip_filters: sip_filters (**repeated** :ref:`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. .. _extension_category_envoy.sip_proxy.filters: .. tip:: The following extensions are available in :ref:`contrib ` images only: - :ref:`envoy.filters.sip.router ` .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProxy.settings: settings (:ref:`extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings `) .. _envoy_v3_api_msg_extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings: extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings ----------------------------------------------------------------- :repo:`[extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings proto] ` .. code-block:: json { "transaction_timeout": "{...}", "own_domain": "...", "domain_match_parameter_name": "..." } .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings.transaction_timeout: 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 | 17.1.1.2 | Wait time for response re-transmissions | | | 0 sec. for TCP and SCTP | | | +---------+-------------------------+----------+------------------------------------------------------------------------------+ | 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 | 17.2.1 | Wait time for ACK re-transmissions | | | 0 sec. for TCP and SCTP | | | +---------+-------------------------+----------+------------------------------------------------------------------------------+ | Timer J | 64*T1 for UDP | 17.2.2 | Wait time for re-transmissions of non-INVITE requests | | | 0 sec. for TCP and SCTP | | | +---------+-------------------------+----------+------------------------------------------------------------------------------+ | Timer K | T4 for UDP | 17.1.2.2 | Wait time for response re-transmissions | | | 0 sec. for TCP and SCTP | | | +---------+-------------------------+----------+------------------------------------------------------------------------------+ .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings.own_domain: own_domain (`string `_) own domain name .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings.domain_match_parameter_name: domain_match_parameter_name (`string `_) points to domain match with own_domain .. _envoy_v3_api_msg_extensions.filters.network.sip_proxy.v3alpha.SipFilter: extensions.filters.network.sip_proxy.v3alpha.SipFilter ------------------------------------------------------ :repo:`[extensions.filters.network.sip_proxy.v3alpha.SipFilter proto] ` SipFilter configures a Sip filter. .. code-block:: json { "name": "...", "typed_config": "{...}" } .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipFilter.name: name (`string `_, *REQUIRED*) The name of the filter to instantiate. The name must match a supported filter. The built-in filters are: .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipFilter.typed_config: typed_config (`Any `_) Filter specific configuration which depends on the filter being instantiated. See the supported filters for further documentation. .. _envoy_v3_api_msg_extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions: extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions --------------------------------------------------------------- :repo:`[extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions proto] ` SipProtocolOptions specifies Sip upstream protocol options. This object is used in :ref:`typed_extension_protocol_options`, keyed by the name `envoy.filters.network.sip_proxy`. .. code-block:: json { "session_affinity": "...", "registration_affinity": "..." } .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions.session_affinity: session_affinity (`bool `_) All sip messages in one dialog should go to the same endpoint. .. _envoy_v3_api_field_extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions.registration_affinity: registration_affinity (`bool `_) The Register with Authorization header should go to the same endpoint which send out the 401 Unauthorized.