Table of Contents
List of Examples
mask_key
parametermask_ip
parametermask_callid
parameteruparam_name
parameteruparam_prefix
parametervparam_name
parametervparam_prefix
parametercallid_prefix
parametersanity_checks
parameteruri_prefix_checks
parameterTable of Contents
This module hides the SIP routing headers that show topology details. It it is not affected by the server being transaction stateless or stateful. The script interpreter gets the SIP messages decoded, so all existing functionality is preserved.
The module is transparent for the configuration writer. It only needs to be loaded (tune the parameters if needed). The SIP server can be restarted whitout affecting ongoing calls - once it is up, can encode/decode topology details, thus no call will be lost.
By using same mask_key, many SIP servers can decode the message, for example, applicable for servers behind load balancers.
The following modules must be loaded before this module:
rr module - server must perform record routing to ensure in-dialog requests are encoded/decoded.
Keyword to mask the headers.
Default value is "_static_value_".
IP address to be used in masked headers to build valid SIP URIs. Can be any IP address, even a private-space or non-existing IP address (e.g., 192.168.1.1, 127.0.0.2), including the SIP server address, but must not be an address potentially used by clients. It is not used at all for SIP routing.
Default value is "127.0.0.8".
Whether to encode the Call-id: header. Some SIP extensions include the Call-id in the SIP message payload or header, so it is safe to not encode Call-id in such cases. Well-known extensions such as call transfer or conference join will be added to work with encoded Call-id.
NOTE: if you are using dialog module to terminate calls and this parameter is enabled, you must set the dialog module parameter 'lreq_callee_headers' to include the header: 'TH: dlh\r\n'.
Default value is 0 (do not mask).
Name of URI parameter where to store encoded value.
Default value is "line".
Prefix to be added in encoded URI parameters.
Default value is "sr-".
Name of Via: parameter used to store encoded value.
Default value is "branch".
Prefix to be added in encoded Via: parameters.
Default value is "z9hG4bKsr-".
Prefix to be added in encoded Call-ID: headers.
Default value is "!!:".
If set to 1, topoh module will bind to sanity module in order to perform sanity checks over received SIP request. Default sanity checks are done. It is useful to check if received request is well formated before proceeding to encoding/decoding.
Default value is 0 (do not bind to sanity module).
If set to 1, topoh module will check if URIs to be decoded match the expected prefix composed from mask IP and parameter name prefix. It can make the topoh processing safer by avoiding to try decoding URIs which were not encoded previously by topoh.
Note: do not enable this option if you have SIP devices that can alter the URI values it takes from Contact or Record-Route headers (like adding port 5060 when no port is in received URIs, or thet introduce new parameters at unknown position).
Default value is 0.