Documentation

Documentation.Script-CoreParameters-3-4 History

Hide minor edits - Show changes to output

April 04, 2024, at 03:36 PM by liviu -
Changed lines 1352-1353 from:
Default value: -1 (L_ERR)
to:
Default value: 2 (L_NOTICE)
Changed line 1356 from:
Default level for printing the logs generated by [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc57 | xlog]] core function, when the log_level parameter is omitted.
to:
Default level for printing the logs generated by [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#xlog | xlog]] core function, when the log_level parameter is omitted.
February 21, 2024, at 09:14 AM by 109.99.227.30 -
Changed line 1125 from:
t_relay("0x02"); # no auto error reply
to:
t_relay("no-auto-477 ");
February 21, 2024, at 09:13 AM by 109.99.227.30 -
Added lines 1138-1161:


[[#tcp_no_new_conn_rplflag]]
!!!!tcp_no_new_conn_rplflag [[#tcp_no_new_conn_rplflag|🔗]]

A message flag, similar to [[#tcp_no_new_conn_bflag|tcp_no_new_conn_bflag]], for preventing OpenSIPS to try to open a new TCP connection (if none available) when sending back a reply for the current request.

Example of usage:
[@
tcp_no_new_conn_msgflag = TCP_NO_RPL_CONNECT
...
route {
...
# if source is detected as NAT'ed, prevent opening back
# TCP conns for replying
if (isflagset(SRC_NATED) && $socket_in(proto) == "TCP")
setbflag(TCP_NO_RPL_CONNECT);
...
# this may fail at transport layer if no
# TCP conn exists
t_reply(302,"Redirected");
}
@]
June 21, 2023, at 08:24 PM by rvlad_patrascu -
Changed lines 466-467 from:
!!!!log_event_enabled %red%(Unstable)%% [[#log_event_enabled %red%|🔗]]
to:
!!!!log_event_enabled [[#log_event_enabled|🔗]]
Deleted lines 468-469:

%red%'''WARNING!'''%% Subscribing to the E_CORE_LOG event might lead to unstable behavior for some event backends. When using the '''event_route''' module for example, having any '''xlog''' functions in the ''event_route'' will lead to an infinite spiral of triggering events that will block OpenSIPS. Also, other modules might not be fully tested for this feature.
May 19, 2023, at 04:50 PM by rvlad_patrascu -
Added lines 476-490:
@]

[[#log_event_level_filter]]
!!!!log_event_level_filter [[#log_event_level_filter|🔗]]

Extra log level filtering for the E_CORE_LOG event. This parameter may be useful when different levels of verbosity are desired between syslog/standard error logs and the logs delivered through the E_CORE_LOG event.

The ''log_event_level_filter'' should be used in concordance with the [[Documentation.Script-CoreParameters-3-4#log_level|log_level]] parameter, i.e. a level lower than ''log_level''.

Default value is ''0'' (no filtering).

Example of usage:

[@
log_event_level_filter = 3
May 17, 2023, at 03:30 PM by rvlad_patrascu -
May 17, 2023, at 03:08 PM by rvlad_patrascu -
Changed lines 465-478 from:
to:
[[#log_event_enabled]]
!!!!log_event_enabled %red%(Unstable)%% [[#log_event_enabled %red%|🔗]]

Enables the triggering of the E_CORE_LOG event for every log message generated by opensips. By default this is disabled.

%red%'''WARNING!'''%% Subscribing to the E_CORE_LOG event might lead to unstable behavior for some event backends. When using the '''event_route''' module for example, having any '''xlog''' functions in the ''event_route'' will lead to an infinite spiral of triggering events that will block OpenSIPS. Also, other modules might not be fully tested for this feature.

Example of usage:

[@
log_event_enabled = yes
@]

Changed lines 484-485 from:
Size of the buffer used for printing the JSON document when the ''json'' or ''json_cee'' log formats are used. If the buffer is too small, the log message will be truncated.
to:
Size of the buffer used for printing the JSON document corresponding to a log message. This parameter makes sense when the ''json'' or ''json_cee'' log formats are used. If the buffer is too small, the log message will be truncated.
Changed line 523 from:
Size of the buffer used for printing the log's actual message field from a JSON document, when the ''json'' or ''json_cee'' log formats are used. If the buffer is too small, the log message will be truncated.
to:
Size of the buffer used for printing the log message's payload. This is used for printing the "message" field from a JSON document, when the ''json'' or ''json_cee'' log formats are used or when the ''E_CORE_LOG'' event is raised, if enabled. If the buffer is too small, the log message will be truncated.
May 16, 2023, at 11:58 PM by rvlad_patrascu -
Added lines 465-478:

[[#log_json_buf_size]]
!!!!log_json_buf_size [[#log_json_buf_size|🔗]]

Default value: 6144

Size of the buffer used for printing the JSON document when the ''json'' or ''json_cee'' log formats are used. If the buffer is too small, the log message will be truncated.

Usage example:
[@
log_json_buf_size = 8192 #given in bytes
@]

Deleted lines 501-502:
The ''log_level'' parameter is usually used in concordance with the [[Documentation.Script-CoreParameters-3-4#log_stderror|log_stderror]] parameter.
Added lines 504-517:

[[#log_msg_buf_size]]
!!!!log_msg_buf_size [[#log_msg_buf_size|🔗]]

Default value: 4096

Size of the buffer used for printing the log's actual message field from a JSON document, when the ''json'' or ''json_cee'' log formats are used. If the buffer is too small, the log message will be truncated.

Usage example:
[@
log_msg_buf_size = 8192 #given in bytes
@]

Added lines 912-913:
The ''stderror_level_filter'' should be used in concordance with the [[Documentation.Script-CoreParameters-3-4#log_level|log_level]] parameter, i.e. a level lower than ''log_level''.
Changed lines 969-970 from:
!!!!ssyslog_level_filter [[#syslog_level_filter|🔗]]
to:
!!!!syslog_level_filter [[#syslog_level_filter|🔗]]
Added lines 972-973:

The ''stderror_level_filter'' should be used in concordance with the [[Documentation.Script-CoreParameters-3-4#log_level|log_level]] parameter, i.e. a level lower than ''log_level''.
May 16, 2023, at 11:42 PM by rvlad_patrascu -
Changed lines 456-457 from:
!!!!listen %red%(Replaced in OpenSIPS 3.4)%% [[#listen %red%|🔗]]
to:
!!!!listen %red%(Replaced in OpenSIPS 3.1)%% [[#listen %red%|🔗]]
Changed lines 493-495 from:
!!!!log_name %red%(Replaced in OpenSIPS 3.1)%% [[#log_name %red%|🔗]]

to:
!!!!log_name %red%(Replaced in OpenSIPS 3.4)%% [[#log_name %red%|🔗]]

Changed lines 881-886 from:

[[#syslog_enabled]]
!!!!syslog_enabled [[#syslog_enabled|🔗]]

Enables writing log messages to syslog. Default value is ''no''/''disabled''.
to:
[[#stderror_level_filter]]
!!!!stderror_level_filter [[#stderror_level_filter|🔗]]

Extra log level filtering for the messages written to the standard error. This parameter may be useful when different levels of verbosity are desired for syslog and standard error logging.

Default value is ''0'' (no filtering).
Changed line 891 from:
syslog_enabled = yes
to:
stderror_level_filter = 2
Changed lines 895-903 from:
[[#syslog_facility]]
!!!!syslog_facility [[#syslog_facility|🔗]]

If '''OpenSIPS''' logs to syslog, you can control the facility for logging. Very
useful when you want to divert all '''OpenSIPS''' logs to a different log file.
See the man page syslog(3) for more details.

Default value is LOG_DAEMON.
to:
[[#syslog_enabled]]
!!!!syslog_enabled [[#syslog_enabled|🔗]]

Enables writing log messages to syslog. Default value is ''no''/''disabled''.
Changed lines 902-911 from:
syslog_facility=LOG_LOCAL0


[[#syslog_name]]
!!!!syslog_name [[#syslog_name|🔗]]

Set the id to be printed in syslog. The value must be a string and has
effect only when '''OpenSIPS''' runs in daemon mode (fork=yes), after daemonize.
Default value is argv[0].
to:
[@
syslog_enabled = yes
@]


[[#stderror_log_format]]
!!!!stderror_log_format [[#stderror_log_format|🔗]]

Format of the log messages printed to standard error. Possible values are:

* ''plain_text'' (default) - standard, plain text log message;

* ''json'' - basic JSON document

* ''json_cee'' - JSON document following the [[https://cee.mitre.org/language/1.0-beta1/core-profile.html|CEE(Common Event Expression)]] schema.

Default value is ''plain_text''.

Example of usage:

[@
stderror_log_format = "json"
@]


[[#syslog_facility]]
!!!!syslog_facility [[#syslog_facility|🔗]]

If '''OpenSIPS''' logs to syslog, you can control the facility for logging. Very
useful when you want to divert all '''OpenSIPS''' logs to a different log file.
See the man page syslog(3) for more details.

Default value is LOG_DAEMON.

Example of usage:

syslog_facility=LOG_LOCAL0

[[#syslog_level_filter]]
!!!!ssyslog_level_filter [[#syslog_level_filter|🔗]]

Extra log level filtering for the messages sent to syslog. This parameter may be useful when different levels of verbosity are desired for syslog and standard error logging.

Default value is ''0'' (no filtering).

Example of usage:

[@
syslog_level_filter = 1
@]

[[#syslog_log_format]]
!!!!syslog_log_format [[#syslog_log_format|🔗]]

Format of the log messages sent to syslog. Possible values are:

* ''plain_text'' (default) - standard, plain text log message;

* ''json'' - basic JSON document

* ''json_cee'' - JSON document following the [[https://cee.mitre.org/language/1.0-beta1/core-profile.html|CEE(Common Event Expression)]] schema.

Default value is ''plain_text''.

Example of usage:

[@
syslog_log_format = "json"
@]
May 16, 2023, at 10:28 PM by rvlad_patrascu -
Changed lines 456-457 from:
!!!!listen %red%(Replaced in OpenSIPS 3.1)%% [[#listen %red%|🔗]]
to:
!!!!listen %red%(Replaced in OpenSIPS 3.4)%% [[#listen %red%|🔗]]
Changed lines 461-472 from:
!!!!log_facility [[#log_facility|🔗]]

If '''OpenSIPS''' logs to syslog, you can control the facility for logging. Very
useful when you want to divert all '''OpenSIPS''' logs to a different log file.
See the man page syslog(3) for more details.

Default value is LOG_DAEMON.

Example of usage:

log_facility=LOG_LOCAL0
to:
!!!!log_facility %red%(Replaced in OpenSIPS 3.4)%% [[#log_facility %red%|🔗]]

This parameter was replaced by the [[Documentation.Script-CoreParameters-3-4#syslog_facility|syslog_facility]] parameter, preserving exactly the same format and behavior.
Changed lines 493-502 from:
!!!!log_name [[#log_name|🔗]]

Set the id to be printed in syslog. The value must be a string and has
effect only when '''OpenSIPS''' runs in daemon mode (fork=yes), after daemonize.
Default value is argv[0].

Example of usage:

log_name="osips-5070"
to:
!!!!log_name %red%(Replaced in OpenSIPS 3.1)%% [[#log_name %red%|🔗]]


This parameter was replaced by the [[Documentation.Script-CoreParameters-3-4#syslog_name|syslog_name]] parameter, preserving exactly the same format and behavior.
Changed lines 515-522 from:
!!!!log_stderror [[#log_stderror|🔗]]

With this parameter you can make OpenSIPS write log messages to standard error. Possible values are:

- "no" (default) - write the messages to syslog

- "yes" - write the messages to standard error
to:
!!!!log_stderror %red%(Deprecated in OpenSIPS 3.4)%% [[#log_stderror %red%|🔗]]

This parameter is deprecated and it's behavior starting with OpenSIPS 3.4 is equivalent to setting the [[Documentation.Script-CoreParameters-3-4#stderror_enabled|stderror_enabled]] and [[Documentation.Script-CoreParameters-3-4#syslog_enabled|syslog_enabled]] parameters, as following:

- "no" - '''stderror_enabled=no''', '''syslog_enabled=yes'''

- "yes" (default) - '''stderror_enabled=yes''', '''syslog_enabled=no'''
Added lines 869-917:

[[#stderror_enabled]]
!!!!stderror_enabled [[#stderror_enabled|🔗]]

Enables writing log messages to standard error. Default value is ''yes''/''1''.

Example of usage:

[@
stderror_enabled = no
@]


[[#syslog_enabled]]
!!!!syslog_enabled [[#syslog_enabled|🔗]]

Enables writing log messages to syslog. Default value is ''no''/''disabled''.

Example of usage:

[@
syslog_enabled = yes
@]


[[#syslog_facility]]
!!!!syslog_facility [[#syslog_facility|🔗]]

If '''OpenSIPS''' logs to syslog, you can control the facility for logging. Very
useful when you want to divert all '''OpenSIPS''' logs to a different log file.
See the man page syslog(3) for more details.

Default value is LOG_DAEMON.

Example of usage:

syslog_facility=LOG_LOCAL0


[[#syslog_name]]
!!!!syslog_name [[#syslog_name|🔗]]

Set the id to be printed in syslog. The value must be a string and has
effect only when '''OpenSIPS''' runs in daemon mode (fork=yes), after daemonize.
Default value is argv[0].

Example of usage:

syslog_name="osips-5070"
April 27, 2023, at 07:49 PM by rvlad_patrascu -
Changed line 829 from:
Configures the maximum number of shm operations to keep in the in-memory history. A separate memory block, dedicated for this shm debug info will be allocated. As such, OpenSIPS will actually take up more system memory than the configured shm pool (''-m'' command line option). For example, for a shm_memlog_size=1000000, approximately 750 MB more will be used. By default, this memory logging is disabled, i.e. shm_memlog_size=0.
to:
Configures the maximum number of shm operations to keep in the in-memory history. A separate memory block, dedicated for this shm debug info will be allocated. As such, OpenSIPS will actually take up more system memory than the configured shm pool (''-m'' command line option). For example, for a shm_memlog_size=1000000, approximately 750 MB more will be used. This option is intended for debugging purposes and is disabled by default, i.e. shm_memlog_size=0.
April 27, 2023, at 07:43 PM by rvlad_patrascu -
Added lines 825-829:

[[#shm_memlog_size]]
!!!!shm_memlog_size [[#shm_memlog_size|🔗]]

Configures the maximum number of shm operations to keep in the in-memory history. A separate memory block, dedicated for this shm debug info will be allocated. As such, OpenSIPS will actually take up more system memory than the configured shm pool (''-m'' command line option). For example, for a shm_memlog_size=1000000, approximately 750 MB more will be used. By default, this memory logging is disabled, i.e. shm_memlog_size=0.
April 11, 2023, at 09:18 AM by 109.99.227.30 -
Added line 857:
* "REUSE_PORT" - for TCP-based sockets only ; it allows outgoing TCP connections to reuse the listening port (of the socket) as the source port (rather than getting an emphemerous port).
October 28, 2022, at 03:11 PM by razvancrainea -
Changed lines 320-325 from:
Definition of a static (read-only) IP/destination blacklist. These lists can be selected from script (at runtime) to filter the outgoing requests, based on IP, protocol, port, etc.

Its primary purposes will be to prevent sending requests to critical IPs (like GWs) due DNS or to avoid sending to destinations that are known to be unavailable (temporary or permanent).

Example of usage:
to:
Definition of a IP/destination blacklist. These lists can be selected from script (at runtime) to filter the outgoing requests, based on IP, protocol, port, etc.

Its primary purposes is be to prevent sending requests to critical IPs (like GWs), due bad DNS entries or to avoid sending to destinations that are known to be unavailable (temporary or permanent).

The grammar to specify a list is as it follows:
Changed lines 327-334 from:
# filter out requests going to ips of my gws
dst_blacklist = gw:{( tcp , 192.168.3.400 , 5060 , "" ),( any , 192.168.3.401 , 0 , "" )}
# block requests going to "evil" networks
dst_blacklist = net_filter:{ ( any , 192.168.1.120/255.255.255.0 , 0 , "" )}
# block message requests with nasty words
dst_blacklist = msg_filter:{ ( any , 192.168.20.0/255.255.255.0 , 0 , "MESSAGE*ugly_word" )}
# block requests not going to a specific subnet
dst_blacklist = net_filter2:{ !( any , 193.468.30.0/255.255.255.0 , 0 , "" )}
to:
"dst_blacklist" = id [/bl_flags] [: bl_rules]
Changed lines 330-344 from:

Each rule is defined by:
*protocol : TCP, UDP, TLS or "any" for anything
*port : number or 0 for any
*ip/mask
*test patter - is a filename like matching (see "man 3 fnmatch") applied on the outgoing request buffer (first_line+hdrs+body)

[[#enable_asserts]]
!!!!enable_asserts [[#enable_asserts|🔗]]
Default value: false

\\

Set to ''true'' in order to enable the [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc2 | assert ]] script statement.
to:
* '''id''' is a unique identifier of the blacklist
* '''bl_flags''' contains a set of optional modifiers:
[@
bl_flags = bl_flag [, bl_flag]*
bl_flag = "expire" | "default" | "readonly"
@]

* '''bl_rules''' contains one or more blacklists rules
[@
bl_rules = [!] ipnet | { bl_rule [, bl_rule]* }
bl_rule = [!] ( [bl_proto, ] ipnet [, port [, bl_pattern]] )
@]

The blacklist modifiers meanings are as follows:
* "expire": the blacklist may contain entries that expire
* "default": the blacklist is used by default when sending requests, without having to explicitly set it (using the '''use_blacklist''' function)
* "readonly": the blacklist is statically defined in script and cannot change at runtime

When '''dst_flags''' are missing, the "readonly" flag is explicitly set.

A rule is defined of the following properties:
* if "!" is at the beginning of the rule, it negates the entire rule
* bl_proto : any supported protocol, or "any" for any protocol; if missing, default is "any"
* ipnet: IP or IP/MASK that should match the rule
* port : number or 0 for any
* bl_pattern - is a filename like matching (see "man 3 fnmatch") applied on the outgoing request buffer (first_line+hdrs+body)


Example of usage:

[@
# filter out requests going to ips of my gws
dst_blacklist = gw:{( tcp , 192.168.3.400 , 5060 , "" ),( any , 192.168.3.401 , 0 , "" )}
# block requests going to "evil" networks
dst_blacklist = net_filter:{ ( any , 192.168.1.120/255.255.255.0 , 0 , "" )}
# block message requests with nasty words
dst_blacklist = msg_filter:{ ( any , 192.168.20.0/255.255.255.0 , 0 , "MESSAGE*ugly_word" )}
# block requests not going to a specific subnet
dst_blacklist = net_filter2:{ !( any , 193.468.30.0/255.255.255.0 , 0 , "" )}
# define a dynamic list that is built at runtime and has expire entries
dst_blacklist = net_dynamic/expire
@]
September 22, 2022, at 03:20 PM by liviu -
Changed line 87 from:
Far backward compatibility reasons, the default value is "off"/1.
to:
Far backward compatibility reasons, the default value is "off"/0.
May 18, 2022, at 10:11 AM by razvancrainea -
Added line 826:
* "FRAG" - indicates that the socket should not use PMTU (Path MTU) discovery to determine whether fragmentation should be done, but always allow fragmentation (i.e. do not force DF bit to 1 in UDP packets).
May 17, 2022, at 05:09 PM by 109.99.227.30 -
Added lines 944-949:

[[#tcp_parallel_read_on_workers]]
!!!!tcp_parallel_read_on_workers [[#tcp_parallel_read_on_workers|🔗]]

This option will allow a TCP conn to perform read operations from different processes, not only from one. So far, upon creation, a TCP conn was assigned to a TCP workers which was doing all the reading for that TCP conn. This may become a bootleneck. With "tcp_parallel_read_on_workers", after a read is completed, the TCP conn is passed back to the TCP Main processes, which will perform a re-balancing for the next read operations, passing the TCP conn potentially to another worker.
NOTE: at TCP conn level, the read ops are still performed in serial way, one at a time (even if from different processes)
March 04, 2022, at 09:34 PM by liviu -
Added lines 510-520:
@]

[[#log_prefix]]
!!!!log_prefix [[#log_prefix|🔗]]

A string prefix which will be prepended to all logs produced by OpenSIPS (from both C code and script xlog() statements). Default: ''""''

Example of usage:

[@
log_prefix = "opensips-backup"
December 17, 2021, at 07:43 PM by 109.99.227.30 -
Changed line 21 from:
!!!!abort_on_assert
to:
!!!!abort_on_assert [[#abort_on_assert|🔗]]
Changed lines 34-35 from:
!!!!advertised_address
to:
!!!!advertised_address [[#advertised_address|🔗]]
Changed lines 53-54 from:
!!!!advertised_port
to:
!!!!advertised_port [[#advertised_port|🔗]]
Changed lines 66-67 from:
!!!!alias
to:
!!!!alias [[#alias|🔗]]
Changed lines 83-84 from:
!!!!auto_aliases
to:
!!!!auto_aliases [[#auto_aliases|🔗]]
Changed line 98 from:
!!!!auto_scaling_cycle
to:
!!!!auto_scaling_cycle [[#auto_scaling_cycle|🔗]]
Changed line 108 from:
!!!!auto_scaling_profile
to:
!!!!auto_scaling_profile [[#auto_scaling_profile|🔗]]
Changed lines 123-124 from:
!!!!check_via
to:
!!!!check_via [[#check_via|🔗]]
Changed lines 133-134 from:
!!!!chroot
to:
!!!!chroot [[#chroot|🔗]]
Changed line 142 from:
!!!!debug_mode
to:
!!!!debug_mode [[#debug_mode|🔗]]
Changed lines 156-157 from:
!!!!db_version_table
to:
!!!!db_version_table [[#db_version_table|🔗]]
Changed lines 167-168 from:
!!!!db_default_url
to:
!!!!db_default_url [[#db_default_url|🔗]]
Changed lines 177-178 from:
!!!!db_max_async_connections
to:
!!!!db_max_async_connections [[#db_max_async_connections|🔗]]
Changed lines 191-192 from:
!!!!disable_503_translation
to:
!!!!disable_503_translation [[#disable_503_translation|🔗]]
Changed lines 198-199 from:
!!!!disable_core_dump
to:
!!!!disable_core_dump [[#disable_core_dump|🔗]]
Changed lines 211-212 from:
!!!!disable_dns_blacklist
to:
!!!!disable_dns_blacklist [[#disable_dns_blacklist|🔗]]
Changed lines 225-226 from:
!!!!disable_dns_failover
to:
!!!!disable_dns_failover [[#disable_dns_failover|🔗]]
Changed lines 236-237 from:
!!!!disable_stateless_fwd
to:
!!!!disable_stateless_fwd [[#disable_stateless_fwd|🔗]]
Changed lines 246-247 from:
!!!!dns
to:
!!!!dns [[#dns|🔗]]
Changed lines 253-254 from:
!!!!dns_retr_time
to:
!!!!dns_retr_time [[#dns_retr_time|🔗]]
Changed lines 263-264 from:
!!!!dns_retr_no
to:
!!!!dns_retr_no [[#dns_retr_no|🔗]]
Changed lines 273-274 from:
!!!!dns_servers_no
to:
!!!!dns_servers_no [[#dns_servers_no|🔗]]
Changed lines 283-284 from:
!!!!dns_try_ipv6
to:
!!!!dns_try_ipv6 [[#dns_try_ipv6|🔗]]
Changed lines 293-294 from:
!!!!dns_try_naptr
to:
!!!!dns_try_naptr [[#dns_try_naptr|🔗]]
Changed lines 303-304 from:
!!!!dns_use_search_list
to:
!!!!dns_use_search_list [[#dns_use_search_list|🔗]]
Changed lines 318-319 from:
!!!!dst_blacklist
to:
!!!!dst_blacklist [[#dst_blacklist|🔗]]
Changed line 345 from:
!!!!enable_asserts
to:
!!!!enable_asserts [[#enable_asserts|🔗]]
Changed lines 359-360 from:
!!!!event_pkg_threshold
to:
!!!!event_pkg_threshold [[#event_pkg_threshold|🔗]]
Changed lines 370-371 from:
!!!!event_shm_threshold
to:
!!!!event_shm_threshold [[#event_shm_threshold|🔗]]
Changed lines 381-382 from:
!!!!exec_dns_threshold
to:
!!!!exec_dns_threshold [[#exec_dns_threshold|🔗]]
Changed lines 392-393 from:
!!!!exec_msg_threshold
to:
!!!!exec_msg_threshold [[#exec_msg_threshold|🔗]]
Changed lines 404-405 from:
!!!!include_file
to:
!!!!include_file [[#include_file|🔗]]
Changed lines 415-416 from:
!!!!import_file
to:
!!!!import_file [[#import_file|🔗]]
Changed lines 426-427 from:
!!!!listen %red%(Replaced in OpenSIPS 3.1)%%
to:
!!!!listen %red%(Replaced in OpenSIPS 3.1)%% [[#listen %red%|🔗]]
Changed lines 431-432 from:
!!!!log_facility
to:
!!!!log_facility [[#log_facility|🔗]]
Changed lines 444-445 from:
!!!!log_level
to:
!!!!log_level [[#log_level|🔗]]
Changed lines 471-472 from:
!!!!log_name
to:
!!!!log_name [[#log_name|🔗]]
Changed lines 482-483 from:
!!!!log_stdout
to:
!!!!log_stdout [[#log_stdout|🔗]]
Changed lines 498-499 from:
!!!!log_stderror
to:
!!!!log_stderror [[#log_stderror|🔗]]
Changed lines 513-514 from:
!!!!max_while_loops
to:
!!!!max_while_loops [[#max_while_loops|🔗]]
Changed lines 523-524 from:
!!!!maxbuffer
to:
!!!!maxbuffer [[#maxbuffer|🔗]]
Changed lines 533-534 from:
!!!!mem-group
to:
!!!!mem-group [[#mem-group|🔗]]
Changed lines 554-555 from:
!!!!mem_warming
to:
!!!!mem_warming [[#mem_warming|🔗]]
Changed lines 572-573 from:
!!!!mem_warming_percentage
to:
!!!!mem_warming_percentage [[#mem_warming_percentage|🔗]]
Changed lines 586-587 from:
!!!!mem_warming_pattern_file
to:
!!!!mem_warming_pattern_file [[#mem_warming_pattern_file|🔗]]
Changed lines 600-601 from:
!!!!memdump | mem_dump
to:
!!!!memdump | mem_dump [[#memdump | mem_dump|🔗]]
Changed lines 612-613 from:
!!!!memlog | mem_log
to:
!!!!memlog | mem_log [[#memlog | mem_log|🔗]]
Changed lines 623-624 from:
!!!!mcast_loopback
to:
!!!!mcast_loopback [[#mcast_loopback|🔗]]
Changed lines 632-633 from:
!!!!mcast_ttl
to:
!!!!mcast_ttl [[#mcast_ttl|🔗]]
Changed lines 641-642 from:
!!!!mhomed
to:
!!!!mhomed [[#mhomed|🔗]]
Changed lines 650-651 from:
!!!!mpath
to:
!!!!mpath [[#mpath|🔗]]
Changed lines 668-669 from:
!!!!open_files_limit
to:
!!!!open_files_limit [[#open_files_limit|🔗]]
Changed lines 680-681 from:
!!!!poll_method
to:
!!!!poll_method [[#poll_method|🔗]]
Changed lines 690-691 from:
!!!!port
to:
!!!!port [[#port|🔗]]
Changed lines 699-700 from:
!!!!pv_print_buf_size
to:
!!!!pv_print_buf_size [[#pv_print_buf_size|🔗]]
Changed lines 708-709 from:
!!!!query_buffer_size
to:
!!!!query_buffer_size [[#query_buffer_size|🔗]]
Changed lines 717-718 from:
!!!!query_flush_time
to:
!!!!query_flush_time [[#query_flush_time|🔗]]
Changed lines 727-728 from:
!!!!restart_persistency_cache_file
to:
!!!!restart_persistency_cache_file [[#restart_persistency_cache_file|🔗]]
Changed lines 734-735 from:
!!!!restart_persistency_size
to:
!!!!restart_persistency_size [[#restart_persistency_size|🔗]]
Changed lines 741-742 from:
!!!!rev_dns
to:
!!!!rev_dns [[#rev_dns|🔗]]
Changed lines 749-750 from:
!!!!server_header
to:
!!!!server_header [[#server_header|🔗]]
Changed lines 768-769 from:
!!!!server_signature
to:
!!!!server_signature [[#server_signature|🔗]]
Changed lines 781-782 from:
!!!!shm_hash_split_percentage
to:
!!!!shm_hash_split_percentage [[#shm_hash_split_percentage|🔗]]
Changed lines 786-787 from:
!!!!shm_secondary_hash_size
to:
!!!!shm_secondary_hash_size [[#shm_secondary_hash_size|🔗]]
Changed lines 791-792 from:
!!!!sip_warning
to:
!!!!sip_warning [[#sip_warning|🔗]]
Changed lines 801-802 from:
!!!!socket
to:
!!!!socket [[#socket|🔗]]
Changed line 837 from:
!!!!tcp_workers
to:
!!!!tcp_workers [[#tcp_workers|🔗]]
Changed lines 849-850 from:
!!!!tcp_accept_aliases
to:
!!!!tcp_accept_aliases [[#tcp_accept_aliases|🔗]]
Changed lines 864-865 from:
!!!!tcp_connect_timeout
to:
!!!!tcp_connect_timeout [[#tcp_connect_timeout|🔗]]
Changed lines 875-876 from:
!!!!tcp_connection_lifetime
to:
!!!!tcp_connection_lifetime [[#tcp_connection_lifetime|🔗]]
Changed lines 885-886 from:
!!!!tcp_max_connections
to:
!!!!tcp_max_connections [[#tcp_max_connections|🔗]]
Changed lines 895-896 from:
!!!!tcp_max_msg_time
to:
!!!!tcp_max_msg_time [[#tcp_max_msg_time|🔗]]
Changed lines 905-906 from:
!!!!tcp_no_new_conn_bflag
to:
!!!!tcp_no_new_conn_bflag [[#tcp_no_new_conn_bflag|🔗]]
Changed lines 936-937 from:
!!!!tcp_socket_backlog
to:
!!!!tcp_socket_backlog [[#tcp_socket_backlog|🔗]]
Changed line 943 from:
!!!!tcp_threshold
to:
!!!!tcp_threshold [[#tcp_threshold|🔗]]
Changed lines 953-954 from:
!!!!tcp_keepalive
to:
!!!!tcp_keepalive [[#tcp_keepalive|🔗]]
Changed lines 966-967 from:
!!!!tcp_keepcount
to:
!!!!tcp_keepcount [[#tcp_keepcount|🔗]]
Changed lines 978-979 from:
!!!!tcp_keepidle
to:
!!!!tcp_keepidle [[#tcp_keepidle|🔗]]
Changed lines 990-991 from:
!!!!tcp_keepinterval
to:
!!!!tcp_keepinterval [[#tcp_keepinterval|🔗]]
Changed line 1003 from:
!!!!timer_workers
to:
!!!!timer_workers [[#timer_workers|🔗]]
Changed lines 1015-1016 from:
!!!!tos
to:
!!!!tos [[#tos|🔗]]
Changed lines 1028-1029 from:
!!!!udp_workers
to:
!!!!udp_workers [[#udp_workers|🔗]]
Changed lines 1044-1045 from:
!!!!user_agent_header
to:
!!!!user_agent_header [[#user_agent_header|🔗]]
Changed lines 1061-1062 from:
!!!!wdir
to:
!!!!wdir [[#wdir|🔗]]
Changed lines 1073-1074 from:
!!!!xlog_buf_size
to:
!!!!xlog_buf_size [[#xlog_buf_size|🔗]]
Changed lines 1087-1088 from:
!!!!xlog_force_color
to:
!!!!xlog_force_color [[#xlog_force_color|🔗]]
Changed lines 1102-1103 from:
!!!!xlog_level
to:
!!!!xlog_level [[#xlog_level|🔗]]
Changed lines 1115-1116 from:
!!!!xlog_print_level
to:
!!!!xlog_print_level [[#xlog_print_level |🔗]]
Changed line 1128 from:
(:toc-back:)
to:
(:toc-back:)
June 14, 2021, at 01:18 PM by razvancrainea -
Deleted lines 860-865:


[[#tcp_listen_backlog]]
!!!!tcp_listen_backlog %red%(Replaced in OpenSIPS 3.1)%%

This parameter was replaced by the [[#tcp_socket_backlog|tcp_socket_backlog]] parameter, preserving exactly the same format and behavior.
May 27, 2021, at 06:40 PM by razvancrainea -
Changed lines 426-427 from:
!!!!listen %red%(Replaced in OpenSIPS 3.4)%%
to:
!!!!listen %red%(Replaced in OpenSIPS 3.1)%%
Changed line 864 from:
!!!!tcp_listen_backlog %red%(Replaced in OpenSIPS 3.4)%%
to:
!!!!tcp_listen_backlog %red%(Replaced in OpenSIPS 3.1)%%
May 27, 2021, at 04:51 PM by liviu -
Changed lines 481-496 from:
to:
[[#log_stdout]]
!!!!log_stdout

Although all OpenSIPS logs are done via standard error, enabling this parameter may be still be useful when trying to extract logs from 3rd party libraries.

- "no" (default) - drop all standard output logs

- "yes" - let all standard output logs pass through

Example of usage:

[@
log_stdout = yes
@]

Changed lines 508-510 from:
log_stderror=yes
to:
[@
log_stderror = yes
@]
March 19, 2021, at 11:39 AM by liviu -
Changed lines 446-447 from:
Set the logging level (how verbose OpenSIPS should be). Higher values make '''OpenSIPS''' to print more messages.
to:
Set the logging level (how verbose OpenSIPS should be). Higher values make '''OpenSIPS''' print more messages.
Changed line 462 from:
* 2 - Notice level
to:
* 2 (default) - Notice level
Changed lines 466-473 from:


The 'log_level' parameter is usually used in concordance with 'log_stderror' parameter.

Value of 'log_level' parameter can also be get and set dynamically using [[Documentation.Interface-CoreMI-3-4#log_level|log_level]] Core MI function or [[Documentation.Script-CoreVar-3-4#log_level|$log_level]] script variable.


to:
The ''log_level'' parameter is usually used in concordance with the [[Documentation.Script-CoreParameters-3-4#log_stderror|log_stderror]] parameter.

The value of the ''log_level'' parameter can also be get and set dynamically using the [[Documentation.Interface-CoreMI-3-4#log_level|log_level]] Core MI function or [[Documentation.Script-CoreVar-3-4#log_level|$log_level]] script variable.
Changed lines 485-486 from:
With this parameter you can make '''OpenSIPS''' to write log messages to standard error. Possible values are:
to:
With this parameter you can make OpenSIPS write log messages to standard error. Possible values are:

- "no" (default) - write the messages to syslog
Deleted lines 489-492:

- "no" - write the messages to syslog

Default value is "no".
April 23, 2020, at 12:20 PM by 109.98.32.84 -
Changed line 912 from:
if (isflagset(DST_NATED) && $proto == "TCP")
to:
if (isflagset(DST_NATED) && $socket_in(proto) == "TCP")
April 23, 2020, at 12:18 PM by 109.98.32.84 -
Changed line 907 from:
to:
[@
Added lines 927-928:
@]
April 23, 2020, at 12:17 PM by 109.98.32.84 -
Changed line 855 from:
This parameter was replaced by the [#tcp_socket_backlog|tcp_socket_backlog]] parameter, preserving exactly the same format and behavior.
to:
This parameter was replaced by the [[#tcp_socket_backlog|tcp_socket_backlog]] parameter, preserving exactly the same format and behavior.
April 23, 2020, at 12:16 PM by 109.98.32.84 -
Changed line 795 from:
* port: optional, the port used by the listener - if absent, the default port exported by the transport module is used.
to:
* port: optional, the port used by the listening socket - if absent, the default port exported by the transport module is used.
Changed lines 853-858 from:
!!!!tcp_listen_backlog

The backlog argument defines the maximum length to which the queue of pending connections for the TCP listeners may grow. If a connection request arrives when the queue is full, the client may receive an error with an indication of ECONNREFUSED or, if the underlying protocol supports retransmission, the request may be ignored so that a later reattempt at connection succeeds.

Default configured value is 10.
to:
!!!!tcp_listen_backlog %red%(Replaced in OpenSIPS 3.4)%%

This parameter was replaced by the [#tcp_socket_backlog|tcp_socket_backlog]] parameter, preserving exactly the same format and behavior.

Added lines 927-933:

[[#tcp_socket_backlog]]
!!!!tcp_socket_backlog

The backlog argument defines the maximum length to which the queue of pending connections for the TCP listening sockets may grow. If a connection request arrives when the queue is full, the client may receive an error with an indication of ECONNREFUSED or, if the underlying protocol supports retransmission, the request may be ignored so that a later reattempt at connection succeeds.

Default configured value is 10.
April 23, 2020, at 11:46 AM by 109.98.32.84 -
Changed lines 50-51 from:
%blue%NOTE%%: Aside this global approach, you can also define an advertise IP and port in a per-interface manner (see the [[#listen|listen]] parameter). When advertise values are defined per interface, they will be used only for traffic leaving that interface only.
to:
%blue%NOTE%%: Aside this global approach, you can also define an advertise IP and port in a per-interface manner (see the [[#socket|socket]] parameter). When advertise values are defined per interface, they will be used only for traffic leaving that interface only.
Changed lines 62-64 from:
%blue%NOTE%%: Aside this global approach, you can also define an advertise IP and port in a per-interface manner (see the [[#listen|listen]] parameter). When advertise values are defined per interface, they will be used only for traffic leaving that interface only.

to:
%blue%NOTE%%: Aside this global approach, you can also define an advertise IP and port in a per-interface manner (see the [[#socket|socket]] parameter). When advertise values are defined per interface, they will be used only for traffic leaving that interface only.

Changed lines 72-73 from:
%red%It is necessary to include the port (the port value used in the "listen=" definitions) in the alias definition otherwise the loose_route() function will not work as expected for local forwards!%%
to:
%red%It is necessary to include the port (the port value used in the "socket=" definitions) in the alias definition otherwise the loose_route() function will not work as expected for local forwards!%%
Changed lines 85-86 from:
This parameter controls if aliases should be automatically discovered and added during fixing listening sockets. The auto discovered aliases are result of the DNS lookup (if listen is a name and not IP) or of a reverse DNS lookup on the listen IP.
to:
This parameter controls if aliases should be automatically discovered and added during fixing listening sockets. The auto discovered aliases are result of the DNS lookup (if the 'socket' definition has a name and not IP) or of a reverse DNS lookup on the socket IP.
Changed line 109 from:
Defines the behavior of the auto-scaling support, in terms of how many processes should be allowed and when to terminate or create new processes. These profiles may be used for the UDP processes (see [[#udp_workers|udp_workers]] or [[#listen|listen]] options) , TCP processes (see [[#tcp_workers|tcp_workers]] option) or TIMER processes (see [[#timer_workers|timer_workers]] option).\\
to:
Defines the behavior of the auto-scaling support, in terms of how many processes should be allowed and when to terminate or create new processes. These profiles may be used for the UDP processes (see [[#udp_workers|udp_workers]] or [[#socket|socket]] options) , TCP processes (see [[#tcp_workers|tcp_workers]] option) or TIMER processes (see [[#timer_workers|timer_workers]] option).\\
Changed lines 426-459 from:
!!!!listen

Set the network addresses the SIP server should listen to. Its syntax is @@protocol:address[:port]@@, where:
* protocol: should be one of the transport modules loaded in the config file (e.g., udp, tcp, tls)
* address: can be an IP address, a hostname, a network interface id, or the '''*''' wildcard which makes OpenSIPS listen on all possible interfaces for that protocol
* port: optional, the port used by the listener - if absent, the default port exported by the transport module is used.
This parameter can be set multiple times in same configuration file, the server listening on all addresses specified.

The ''listen'' definition may accept several optional parameters:
* "AS ip:port" - to configure an advertised IP and port only for an interface. Example "AS 11.23.43.44:5060"
* "USE_WORKERS n" - to set a different number of workers for this interface only (for UDP, SCTP and HEP_UDP interfaces only). This will override the global "udp_worker" parameter. Example "use_workers 5"
* "ANYCAST" - to marke the interface as an anycast IP
* "USE_AUTO_SCALING_PROFILE" - to enforce a certain governing policy on how many UDP workers you have at runtime. Dynamically, UDP processes my be created or terminated, depending on the load/traffic. This parameter may be used ONLY for UDP listeners. Note that the per-interface defined auto-scaling profile will override this global UDP auto-scaling profile.
* "TAG" - this is a non SIP name/tag of the interface to be used when replicating the interface identify across an OpenSIPS cluster, with other OpenSIPS nodes. By using same TAG value, you can correlate/link interfaces with different IPs on different OpenSIPS nodes. This is useful when replicating dialogs between OpenSIPS instances with different IPs.

Remember that the above parameters only affect the interface they are configured for; if they are not defined for a given interface, the global values will be used instead.

Examples of usage:

[@
listen = udp:*
listen = udp:eth1
listen = tcp:eth1:5062
listen = tls:localhost:5061
listen = hep_udp:10.10.10.10:5064
listen = ws:127.0.0.1:5060 use_workers 5
listen = sctp:127.0.0.1:5060 as 99.88.44.33:5060 use_workers 3
listen = udp:10.10.10.10:5060 anycast
listen = udp:10.10.10.10:5060 use_workers 4 use_auto_scaling_profile PROFILE_SIP

@]

On startup, OpenSIPS reports all the interfaces that it is listening on. The TCP engine processes will be created regardless if you specify only UDP interfaces here.
to:
!!!!listen %red%(Replaced in OpenSIPS 3.4)%%

This parameter was replaced by the [#socket|socket]] parameter, preserving exactly the same format and behavior.
Added lines 788-822:

[[#socket]]
!!!!socket

Set the network addresses/sockets the OpenSIPS server should listen on. Its syntax is @@protocol:address[:port]@@, where:
* protocol: should be one of the transport modules loaded in the config file (e.g., udp, tcp, tls, bin, hep)
* address: can be an IP address, a hostname, a network interface id, or the '''*''' wildcard which makes OpenSIPS listen on all possible interfaces for that protocol
* port: optional, the port used by the listener - if absent, the default port exported by the transport module is used.
This parameter can be set multiple times in same configuration file, the server listening on all specified sockets.

The ''socket'' definition may accept several optional parameters:
* "AS ip:port" - to configure an advertised IP and port only for an interface. Example "AS 11.23.43.44:5060"
* "USE_WORKERS n" - to set a different number of workers for this socket only (for UDP, SCTP and HEP_UDP interfaces only). This will override the global "udp_worker" parameter. Example "use_workers 5"
* "ANYCAST" - to marke the socket as an anycast IP
* "USE_AUTO_SCALING_PROFILE" - to enforce a certain governing policy on how many UDP workers you have at runtime. Dynamically, UDP processes my be created or terminated, depending on the load/traffic. This parameter may be used ONLY for UDP sockets. Note that the per-socket defined auto-scaling profile will override this global UDP auto-scaling profile.
* "TAG" - this is a non SIP name/tag of the socket to be used when replicating the socket identify across an OpenSIPS cluster, with other OpenSIPS nodes. By using same TAG value, you can correlate/link listening sockets with different IPs on different OpenSIPS nodes. This is useful when replicating dialogs between OpenSIPS instances with different IPs.

Remember that the above parameters only affect the sockets they are configured for; if they are not defined for a given socket, the global values will be used instead.

Examples of usage:

[@
socket = udp:*
socket = udp:eth1
socket = tcp:eth1:5062
socket = tls:localhost:5061
socket = hep_udp:10.10.10.10:5064
socket = ws:127.0.0.1:5060 use_workers 5
socket = sctp:127.0.0.1:5060 as 99.88.44.33:5060 use_workers 3
socket = udp:10.10.10.10:5060 anycast
socket = udp:10.10.10.10:5060 use_workers 4 use_auto_scaling_profile PROFILE_SIP

@]

On startup, OpenSIPS reports all the sockets that it is listening on.
April 23, 2020, at 11:35 AM by 109.98.32.84 -
Changed lines 131-135 from:
[[#children]]
!!!!children %red%(Obsolete in OpenSIPS 3.4)%%

This parameter is obsolete and replaced by the [[#udp_workers|udp_workers]] new parameter.
to:
Changed lines 819-823 from:
[[#tcp_children]]
!!!!tcp_children %red%(Obsolete in OpenSIPS 3.4)%%

This parameter is obsolete and replaced by the [[#tcp_workers|tcp_workers]] new parameter.
to:
Deleted lines 1093-1098:


[[#xlog_default_level]]
!!!!xlog_default_level %red%(Replaced in OpenSIPS 3.4)%%

This was replaced by [[#xlog_print_level|xlog_print_level]].
November 14, 2019, at 03:07 PM by 109.99.227.30 -
Changed lines 87-89 from:
Far backward compatibility reasons, the default value is "on".

to:
Far backward compatibility reasons, the default value is "off"/1.

Changed lines 92-93 from:
auto_aliases=no
auto_aliases=0
to:
auto_aliases=yes
auto_aliases=1
July 12, 2019, at 07:33 PM by liviu -
Changed line 410 from:
Can be called from outside route blocks to load additional routes/blocks or from inside them to simply perform more functions. The file path can be relative or absolute. If it is a relative path, first attempt is to locate it is relative to the directory from which OpenSIPS is started. If that fails, second try is relative to directory of the file that includes it. Will throw an error if file is not found.
to:
Can be called from outside route blocks to load additional routes/blocks or from inside them to simply perform more functions. The file path can be relative or absolute. If it is a relative path, first attempt to locate it is relative to the directory from which OpenSIPS is started. If that fails, second try is relative to directory of the file that includes it. Will throw an error if file is not found.
July 12, 2019, at 07:32 PM by liviu -
Changed lines 410-411 from:
Can be called from outside route blocks to load additional routes/blocks or from inside them to simply preform more functions. The file path can be relative or absolute. If it is not an absolute path, first attempt is to locate it relative to current directory. If that fails, second try is relative to directory of the file that includes it. Will throw an error if file is not found.
to:
Can be called from outside route blocks to load additional routes/blocks or from inside them to simply perform more functions. The file path can be relative or absolute. If it is a relative path, first attempt is to locate it is relative to the directory from which OpenSIPS is started. If that fails, second try is relative to directory of the file that includes it. Will throw an error if file is not found.
Changed line 421 from:
Same as include_file but will not throw an error if file is not found.
to:
Same as include_file.
May 24, 2019, at 06:39 PM by liviu -
Added lines 720-728:

[[#pv_print_buf_size]]
!!!!pv_print_buf_size

The maximum size of an expanded formatted string containing variables and/or pseudo-variables. Default: 20,000 bytes.

Example of usage:

pv_print_buf_size = 60000
May 14, 2019, at 09:50 AM by 109.99.227.30 -
Changed line 442 from:
* "USE_AUTO_SCALING_PROFILE" - to enforce a certain governing policy on how many UDP workers you have at runtime. Dynamically, UDP processes my be created or terminated, depending on the load/traffic. This parameter may be used ONLY for UDP listeners.
to:
* "USE_AUTO_SCALING_PROFILE" - to enforce a certain governing policy on how many UDP workers you have at runtime. Dynamically, UDP processes my be created or terminated, depending on the load/traffic. This parameter may be used ONLY for UDP listeners. Note that the per-interface defined auto-scaling profile will override this global UDP auto-scaling profile.
Changed lines 1012-1013 from:
Optionally, you can define a auto-scaling profile to govern in a dynamic way the number of UDP workers (by creating or terminating processes, depending on load). See [[#auto_scaling_profile|auto_scaling_profile]] parameter for more.
to:
Optionally, you can define a auto-scaling profile to govern in a dynamic way the number of UDP workers (by creating or terminating processes, depending on load). Note that the per-interface defined auto-scaling profile will override this global UDP auto-scaling profile.
See [[#auto_scaling_profile|auto_scaling_profile]] parameter for more.
April 25, 2019, at 05:53 PM by 109.99.227.30 -
Added lines 95-105:


[[#auto_scaling_cycle]]
!!!!auto_scaling_cycle
The number of seconds defining a auto-scaling cycle - the auto-scaling engine, at each cycle, is evaluating the internal load of the groups and decided if more processes needs to be created or if existing processes need to be terminated. Also see [[#auto_scaling_profile|auto_scaling_profile]] for more details on how the auto-scaling works.\\
The default value is 1 second.
Example of usage:
[@
auto_scaling_cycle=3 # do auto-scaling checks once every 3 seconds
@]
April 19, 2019, at 08:52 AM by liviu -
Changed line 10 from:
||[[Script-Format-3-4|Prev]] || [[Script-Routes-3-4|Next]]||
to:
||[[Script-Syntax-3-4|Prev]] || [[Script-Routes-3-4|Next]]||
April 16, 2019, at 08:23 PM by 109.99.227.30 -
Deleted lines 109-115:
[[#cfg_file]]
!!!!cfg_file
Returns the name of the corresponding OpenSIPS config file (useful when multiple config files are included).

[[#cfg_line]]
!!!!cfg_line
Returns the corresponding line inside the OpenSIPS config file.
April 16, 2019, at 08:19 PM by 109.99.227.30 -
Changed line 97 from:
!!!auto_scaling_profile
to:
!!!!auto_scaling_profile
April 16, 2019, at 08:19 PM by 109.99.227.30 -
Added lines 95-108:

[[#auto_scaling_profile]]
!!!auto_scaling_profile
Defines the behavior of the auto-scaling support, in terms of how many processes should be allowed and when to terminate or create new processes. These profiles may be used for the UDP processes (see [[#udp_workers|udp_workers]] or [[#listen|listen]] options) , TCP processes (see [[#tcp_workers|tcp_workers]] option) or TIMER processes (see [[#timer_workers|timer_workers]] option).\\
For more, see [[https://blog.opensips.org/2019/02/25/auto-process-scaling-a-cure-for-load-and-resources-concerns/|this external description of auto-scaling]].

Example of usage:
[@
auto_scaling_profile = PROFILE_SIP
scale up to 6 on 70% for 4 cycles within 5
scale down to 2 on 18% for 10 cycles
@]
This profile will allow the group to fork up to 6 processes. A new process will be forked when the overall load of the group will be higher than 70% for more than 4 cycles during a 5 cycles monitoring window. A cycle is a time unit used for monitoring (like 2 seconds).\\
Also the profile will allow the group to scale down to a minimum of 2 processes. A process will be terminated when the overall load of the group will be lower than 20% during 10 cycles. The down scaling part of the profile is optional. If not defined, OpenSIPS will never down scale, but only up scale.
April 16, 2019, at 08:12 PM by 109.99.227.30 -
Changed lines 424-426 from:
to:
* "USE_AUTO_SCALING_PROFILE" - to enforce a certain governing policy on how many UDP workers you have at runtime. Dynamically, UDP processes my be created or terminated, depending on the load/traffic. This parameter may be used ONLY for UDP listeners.
* "TAG" - this is a non SIP name/tag of the interface to be used when replicating the interface identify across an OpenSIPS cluster, with other OpenSIPS nodes. By using same TAG value, you can correlate/link interfaces with different IPs on different OpenSIPS nodes. This is useful when replicating dialogs between OpenSIPS instances with different IPs.
Added lines 440-441:
listen = udp:10.10.10.10:5060 use_workers 4 use_auto_scaling_profile PROFILE_SIP
Changed lines 805-806 from:
to:
Optionally, you can define a auto-scaling profile to govern in a dynamic way the number of TCP workers (by creating or terminating processes, depending on load). See [[#auto_scaling_profile|auto_scaling_profile]] parameter for more.
Changed lines 809-810 from:
tcp_workers=4
to:
tcp_workers= 4
tcp_workers= 3 use_auto_scaling_profile PROFILE_SIP

Changed lines 964-1016 from:
[[#tls_ca_list]]
!!!!tls_ca_list


[[#tls_certificate]]
!!!!tls_certificate


[[#tls_ciphers_list]]
!!!!tls_ciphers_list


[[#tls_domain]]
!!!!tls_domain


[[#tls_handshake_timeout]]
!!!!tls_handshake_timeout


[[#tls_log]]
!!!!tls_log


[[#tls_method]]
!!!!tls_method


[[#tls_port_no]]
!!!!tls_port_no


[[#tls_private_key]]
!!!!tls_private_key


[[#tls_require_certificate]]
!!!!tls_require_certificate


[[#tls_send_timeout]]
!!!!tls_send_timeout


[[#tls_verify]]
!!!!tls_verify


[[#tos]]
!!!!tos

The TOS (Type Of Service) to be used for the sent IP packages (both TCP and UDP).
to:

[[#timer_workers]]
!!!!timer_workers
The number of worker processes to be created exclusively for timer related tasks/processing. The default and minimum number is '1'.
Optionally, you can define a auto-scaling profile to govern in a dynamic way the number of timer workers (by creating or terminating processes, depending on load). See [[#auto_scaling_profile|auto_scaling_profile]] parameter for more.
Deleted line 970:
Changed lines 972-974 from:
tos=IPTOS_LOWDELAY
tos=0x10
tos=IPTOS_RELIABILITY
to:
timer_workers = 3
timer_workers = 3 use_auto_scaling_profile PROFILE_TIMER
Changed lines 976-980 from:
[[#udp_workers]]
!!!!udp_workers

Number of worker processes to be created for '''each''' UDP or SCTP interface you have defined. Default value is 8.
to:

[[#tos]]
!!!!tos

The TOS (Type Of Service) to be used for the sent IP packages (both TCP and UDP).
Added line 983:
Changed lines 985-999 from:
udp_workers=16
to:
tos=IPTOS_LOWDELAY
tos=0x10
tos=IPTOS_RELIABILITY
@]

[[#udp_workers]]
!!!!udp_workers

Number of worker processes to be created for '''each''' UDP or SCTP interface you have defined. Default value is 8.
Optionally, you can define a auto-scaling profile to govern in a dynamic way the number of UDP workers (by creating or terminating processes, depending on load). See [[#auto_scaling_profile|auto_scaling_profile]] parameter for more.

Example of usage:
[@
udp_workers=16
udp_workers=4 use_auto_scaling_profile PROFILE_SIP
March 28, 2019, at 04:45 PM by razvancrainea -
Added lines 717-730:

[[#restart_persistency_cache_file]]
!!!!restart_persistency_cache_file

This parameter controls the name of the cache file that is used to store restart persistence memory.

Default value is ".restart_persistency.cache".

[[#restart_persistency_size]]
!!!!restart_persistency_size

This parameter controls the size of the cache file. If this parameter is not specified, it defaults to the size of the shared memory.

Default value is the value of the shared memory, 32MB.
March 08, 2019, at 08:51 PM by 109.99.227.30 -
Added lines 1074-1087:

[[#xlog_level]]
!!!!xlog_level

Similar to [[#log_level|log_level]] this parameter independently controls (from the rest of the OpenSIPS code) the verbosity of the xlog() functions. This give you the possibility to separately control the verbosity level for logs from code versus logs from xlog().

Default value is 2 / L_NOTICE

Usage example:
[@
xlog_level = 3 #L_DBG
@]

Added line 1090:
March 08, 2019, at 03:00 PM by 109.99.227.30 -
March 08, 2019, at 03:00 PM by 109.99.227.30 -
Changed lines 1075-1078 from:
!!!!xlog_default_level

Default value: -1
to:
!!!!xlog_default_level %red%(Replaced in OpenSIPS 3.4)%%
This was replaced by [[#xlog_print_level|xlog_print_level]].


[[#xlog_print_level]]
!!!!xlog_print_level

Default value: -1 (L_ERR)
Changed lines 1086-1087 from:
Default value for the logging level of the [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc57 | xlog]] core function, when the log_level parameter is omitted.
to:
Default level for printing the logs generated by [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc57 | xlog]] core function, when the log_level parameter is omitted.
Changed line 1090 from:
xlog_default_level = 2 #L_NOTICE
to:
xlog_print_level = 2 #L_NOTICE
March 06, 2019, at 01:32 PM by liviu -
Changed line 838 from:
Maximum number of active TCP '''accepted''' connections (i.e. initiated by remote endpoints). If the number is exceeded, any new incoming TCP connections will be rejected. The default is '''2048'''. For outgoing TCP connections (initiated by OpenSIPS), there is currently no limit.
to:
Maximum number of active TCP '''accepted''' connections (i.e. initiated by remote endpoints). Once the limit is reached, any new incoming TCP connections will be rejected. The default is '''2048'''. For outgoing TCP connections (initiated by OpenSIPS), there is currently no limit.
March 06, 2019, at 01:31 PM by liviu -
March 06, 2019, at 01:31 PM by liviu -
Changed line 838 from:
maximum number of tcp connections (if the number is exceeded no new tcp connections will be accepted). Default is defined in tcp_conn.h: #define DEFAULT_TCP_MAX_CONNECTIONS 2048
to:
Maximum number of active TCP '''accepted''' connections (i.e. initiated by remote endpoints). If the number is exceeded, any new incoming TCP connections will be rejected. The default is '''2048'''. For outgoing TCP connections (initiated by OpenSIPS), there is currently no limit.
March 05, 2019, at 05:17 PM by 109.99.227.30 -
Deleted lines 697-705:

[[#reply_to_via]]
!!!!reply_to_via

If it is set to 1, any local reply is sent to the address advertised in top most Via of the request. Default value is 0 (off).

Example of usage:

reply_to_via=0
February 13, 2019, at 03:00 PM by 109.99.227.30 -
Changed lines 139-141 from:
NOTE that enabling this option will override all the other individual parameters like foreground mode, log level, children, etc.
This parameter was introduced as a replacement for the old [[#fork|fork]] options.
to:
NOTE that enabling this option will override all the other individual parameters like foreground mode, log level, udp_workers, tcp_workers, etc.
Changed line 422 from:
* "USE_WORKERS n" - to set a different number of workers for this interface only (for UDP, SCTP and HEP_UDP interfaces only). This will override the global "udp_worker" parameter. Example "use_children 5"
to:
* "USE_WORKERS n" - to set a different number of workers for this interface only (for UDP, SCTP and HEP_UDP interfaces only). This will override the global "udp_worker" parameter. Example "use_workers 5"
Changed lines 435-436 from:
listen = ws:127.0.0.1:5060 use_children 5
listen = sctp:127.0.0.1:5060 as 99.88.44.33:5060 use_children 3
to:
listen = ws:127.0.0.1:5060 use_workers 5
listen = sctp:127.0.0.1:5060 as 99.88.44.33:5060 use_workers 3
Changed line 794 from:
Number of children processes to be created for reading from TCP connections. These workers are responsible for handling any traffic over any TCP based protocol, like SIP-TCP, SIP-TLS, SIP-WS, SIP-WSS, BIN or HEP.
to:
Number of worker processes to be created for reading from TCP connections. These workers are responsible for handling any traffic over any TCP based protocol, like SIP-TCP, SIP-TLS, SIP-WS, SIP-WSS, BIN or HEP.
Changed line 799 from:
tcp_children=4
to:
tcp_workers=4
February 13, 2019, at 02:58 PM by 109.99.227.30 -
Changed lines 50-51 from:
%blue%NOTE%%: Aside this global approach, you can also define an advertise IP and port in a per-interface manner (see the "listen" parameter). When advertise values are defined per interface, they will be used only for traffic leaving that interface only.
to:
%blue%NOTE%%: Aside this global approach, you can also define an advertise IP and port in a per-interface manner (see the [[#listen|listen]] parameter). When advertise values are defined per interface, they will be used only for traffic leaving that interface only.
Changed lines 62-64 from:
%blue%NOTE%%: Aside this global approach, you can also define an advertise IP and port in a per-interface manner (see the "listen" parameter). When advertise values are defined per interface, they will be used only for traffic leaving that interface only.

to:
%blue%NOTE%%: Aside this global approach, you can also define an advertise IP and port in a per-interface manner (see the [[#listen|listen]] parameter). When advertise values are defined per interface, they will be used only for traffic leaving that interface only.

Changed lines 114-115 from:
!!!!children (obsolete)
to:
!!!!children %red%(Obsolete in OpenSIPS 3.4)%%
Changed lines 421-425 from:
The ''listen'' definition may accept several optional parameters for:
* configuring an advertised IP and port only for an interface. Syntax "AS 11.23.43.44:5060"
* setting a different number of children for this interface only (for UDP, SCTP and HEP_UDP interfaces only). This will override the global "children" parameter. Syntax "use_children 5"
* marking the interface as an anycast IP, using the "anycast" token.
to:
The ''listen'' definition may accept several optional parameters:
* "AS ip:port" - to configure an advertised IP and port only for an interface. Example "AS 11.23.43.44:5060"
* "USE_WORKERS n" - to set a different number of workers for this interface only (for UDP, SCTP and HEP_UDP interfaces only). This will override the global "udp_worker" parameter. Example "use_children 5"
* "ANYCAST" - to marke the interface as an anycast IP
Changed line 789 from:
!!!!tcp_children (obsolete)
to:
!!!!tcp_children %red%(Obsolete in OpenSIPS 3.4)%%
February 13, 2019, at 02:52 PM by 109.99.227.30 -
Changed lines 114-117 from:
!!!!children

Number of worker processes (children) to be created for '''each''' UDP or SCTP interface you have defined. Default value is 8.
to:
!!!!children (obsolete)

This parameter is obsolete and replaced by the [[#udp_workers|udp_workers]] new parameter.

[[#chroot]]
!!!!chroot

The value must be a valid path in the system. If set, '''OpenSIPS''' will chroot (change root directory) to its value.
Changed lines 124-136 from:
[@
children=16
@]

%blue%NOTE%%: this global value (applicable for all UDP/SCTP interfaces) can be override if you set a different number of children in the definition of a specific interface - so actually you can define a different number of children for each interface (see the "listen" parameter for syntax).

[[#chroot]]
!!!!chroot

The value must be a valid path in the system. If set, '''OpenSIPS''' will chroot (change root directory) to its value.

Example of usage:
to:
Changed lines 789-792 from:
!!!!tcp_children

Number of children processes to be created for reading from TCP connections. If no value is explicitly set, the same number of TCP children as UDP children (see "children" parameter) will be used.
to:
!!!!tcp_children (obsolete)

This parameter is obsolete and replaced by the [[#tcp_workers|tcp_workers]] new parameter.

[[#tcp_workers]]
!!!!tcp_workers
Number of children processes to be created for reading from TCP connections. These workers are responsible for handling any traffic over any TCP based protocol, like SIP-TCP, SIP-TLS, SIP-WS, SIP-WSS, BIN or HEP.
If no value is explicitly set, 8 TCP workers will be created.
Added lines 1013-1025:

[[#udp_workers]]
!!!!udp_workers

Number of worker processes to be created for '''each''' UDP or SCTP interface you have defined. Default value is 8.

Example of usage:
[@
udp_workers=16
@]

%blue%NOTE%%: this global value (applicable for all UDP/SCTP interfaces) can be override if you set a different number of workers in the definition of a specific interface - so actually you can define a different number of workers for each interface (see the [[#listen|listen]] parameter for syntax).
September 25, 2018, at 04:45 PM by liviu -
Changed line 890 from:
} else if ($var(retcode) <0 ) {
to:
} else if ($var(retcode) < 0) {
September 25, 2018, at 04:45 PM by liviu -
Deleted line 876:
Deleted line 877:
Deleted line 879:
Deleted line 881:
Deleted line 882:
September 25, 2018, at 04:44 PM by liviu -
Changed lines 876-882 from:
tcp_no_new_conn_bflag = 6
....
route{
....
if( destination_behin_nat && proto==TCP )
setbflag(6);
....
to:
tcp_no_new_conn_bflag = TCP_NO_CONNECT

...

route {
...

if (isflagset(DST_NATED) && $proto == "TCP")
setbflag(TCP_NO_CONNECT);

...
Changed line 890 from:
if ($var(retcode)==-6) {
to:
if ($var(retcode) == -6) {
Changed line 893 from:
send_reply("404","Not found");
to:
send_reply("404", "Not Found");
Changed line 895 from:
} else if ($var(retcode)<0) {
to:
} else if ($var(retcode) <0 ) {
Deleted line 898:
....
March 28, 2018, at 06:09 PM by razvancrainea -
Deleted lines 14-17:

!!! Core Keywords

%red%All the core keywords along with their accepted core values available in previous versions were eliminated in v3.4 and the use of core variables and core functions is recommended instead.%% For detailed information about what you can use in place of the deprecated keywords, check the migration page [[ http://www.opensips.org/Documentation/Migration-2-3-4-to-3-4-0#toc3 | keywords ]] section.
March 20, 2018, at 01:57 PM by razvancrainea -
Added lines 435-436:
* marking the interface as an anycast IP, using the "anycast" token.
Added line 449:
listen = udp:10.10.10.10:5060 anycast
January 08, 2018, at 10:52 AM by razvancrainea -
Deleted lines 241-258:

[[#disable_tcp]]
!!!!disable_tcp

Global parameter to disable TCP support in the SIP server. Default value is 'no'.

Example of usage:

disable_tcp=yes

[[#disable_tls]]
!!!!disable_tls

Global parameter to disable TLS support in the SIP server. Default value is 'yes'.

Example of usage:

disable_tcp=no
December 19, 2017, at 11:53 AM by razvancrainea -
Changed line 710 from:
The poll method to be used by the I/O internal reactor - by default the best one for the current OS is selected. The available types are: poll, epoll_lt, epoll_et, sigio_rt, select, kqueue, /dev/poll .
to:
The poll method to be used by the I/O internal reactor - by default the best one for the current OS is selected. The available types are: poll, epoll, sigio_rt, select, kqueue, /dev/poll.
December 06, 2017, at 12:23 PM by razvancrainea -
Changed line 444 from:
Set the network addresses the SIP server should listen to. Its syntax is 'protocol:address[:port]', where:
to:
Set the network addresses the SIP server should listen to. Its syntax is @@protocol:address[:port]@@, where:
Changed line 446 from:
* address: can be an IP address, a hostname, a network interface id, or the @@*@@ which makes OpenSIPS listen on all possible interfaces for that protocol
to:
* address: can be an IP address, a hostname, a network interface id, or the '''*''' wildcard which makes OpenSIPS listen on all possible interfaces for that protocol
December 06, 2017, at 12:21 PM by razvancrainea -
Changed lines 76-77 from:
%red%It is necessary to include the port (the port value used in the "port=" or "listen=" definitions) in the alias definition otherwise the loose_route() function will not work as expected for local forwards!%%
to:
%red%It is necessary to include the port (the port value used in the "listen=" definitions) in the alias definition otherwise the loose_route() function will not work as expected for local forwards!%%
Changed lines 444-445 from:
Set the network addresses the SIP server should listen to. It can be an IP address, hostname or network interface id or combination of protocol:address:port (e.g., udp:10.10.10.10:5060). This parameter can be set multiple times in same configuration file, the server listening on all addresses specified.
to:
Set the network addresses the SIP server should listen to. Its syntax is 'protocol:address[:port]', where:
* protocol: should be one of the transport modules loaded in the config file (e.g., udp, tcp, tls)
* address: can be an IP address, a hostname, a network interface id, or the @@*@@ which makes OpenSIPS listen on all possible interfaces for that protocol
* port: optional, the port used by the listener - if absent, the default port exported by the transport module is used.
This parameter can be set multiple times in same configuration file, the server listening on all addresses specified.
Added line 458:
listen = udp:*
July 14, 2017, at 06:00 PM by rvlad_patrascu -
Changed lines 13-22 from:
(:toc-float Table of Content:)
This section lists the all the parameters exported by '''OpenSIPS''' core for script usage (to be used in opensips.cfg)

# [[#keywords| Core keywords]]
# [[#values| Core values]]
# [[#parameters| Core parameters]]


----
[[#keywords]]
to:
(:toc-float Table of Contents:)
This section lists the all the parameters exported by '''OpenSIPS''' core for script usage (to be used in opensips.cfg).
Changed lines 18-295 from:
Keywords specific to SIP messages which can be used mainly in 'if' expressions.

[[#af]]
!!!! af

The address family of the received SIP message. It is INET if the message was received over IPv4 or INET6 if the message was received over IPv6.

Exampe of usage:

if(af==INET6) {
log("Message received over IPv6 link\n");
};



[[#dst_ip]]
!!!!dst_ip

The IP of the local interface where the SIP message was received. When the proxy listens on many network interfaces, makes possible to detect which was the one that received the packet.

Example of usage:

if(dst_ip==127.0.0.1) {
log("message received on loopback interface\n");
};

[[#dst_port]]
!!!!dst_port

The local port where the SIP packet was received. When '''OpenSIPS''' is listening on many ports, it is useful to learn which was the one that received the SIP packet.

Example of usage:
if(dst_port==5061)
{
log("message was received on port 5061\n");
};


[[#from_uri]]
!!!!from_uri

This script variable is a reference to the URI of 'From' header. It can be used to test 'From'- header URI value.

Example of usage:

if(is_method("INVITE") && from_uri=~".*@opensips.org")
{
log("the caller is from opensips.org\n");
};


[[#method]]
!!!!method

The variable is a reference to the SIP method of the message.

Example of usage:

if(method=="REGISTER")
{
log("this SIP request is a REGISTER message\n");
};


[[#msg:len]]
!!!!msg:len

The variable is a reference to the size of the message. It can be used in 'if' constructs to test message's size.

Example of usage:

if(msg:len>2048)
{
sl_send_reply("413", "message too large");
exit;
};


[[#retcode]]
!!!!$retcode

It represents the value returned by last function executed (similar to $? from bash -- if you wish, you can use also $? in OpenSIPS config, both names '$retcode' and '$?' are supported). If tested after a call of a route, it is the value retuned by that route.

Example of usage:

route {
route(1);
if($retcode==1)
{
log("The request is an INVITE\n");
};
}


route[1] {
if(is_method("INVITE"))
return(1);
return(2);
}


[[#proto]]
!!!!proto

This variable can be used to test the transport protocol of the SIP message.

Example of usage:

if(proto==UDP)
{
log("SIP message received over UDP\n");
};


[[#status]]
!!!!status

If used in onreply_route, this variable is a reference to the status code of the reply. If it used in a standard route block, the variable is a reference to the status of the last reply sent out for the current request.

Example of usage:

if(status=="200")
{
log("this is a 200 OK reply\n");
};

[[#src_ip]]
!!!!src_ip

Reference to source IP address of the SIP message.

Example of usage:

if(src_ip==127.0.0.1)
{
log("the message was sent from localhost!\n");
};


[[#src_port]]
!!!! src_port

Reference to source port of the SIP message (from which port the message was sent by previous hop).

Example of usage:

if(src_port==5061)
{
log("message sent from port 5061\n");
}


[[#to_uri]]
!!!!to_uri

This variable can be used to test the value of URI from To header.

Example of usage:

if(to_uri=~"sip:.+@opensips.org")
{
log("this is a request for opensips.org users\n");
};



[[#uri]]
!!!!uri

This variable can be used to test the value of the request URI.

Example of usage:

if(uri=~"sip:.+@opensips.org")
{
log("this is a request for opensips.org users\n");
};

(:toc-back:)


----
[[#values]]
!!!Core Values

Values that can be used in 'if' expressions to check against Core Keywords

[[#INET]]
!!!!INET

This keyword can be used to test whether the SIP packet was received over an IPv4 connection.

Example of usage:

if(af==INET)
{
log("the SIP message was received over IPv4\n");
};

[[#INET6]]
!!!!INET6

This keyword can be used to test whether the SIP packet was received over an IPv6 connection.

Example of usage:

if(af==INET6)
{
log("the SIP message was received over IPv6\n");
};

[[#TCP]]
!!!!TCP

This keyword can be used to test the value of 'proto' and check whether the SIP packet was received over TCP or not.

Example of usage:

if(proto==TCP)
{
log("the SIP message was received over TCP\n");
};

[[#UDP]]
!!!!UDP

This keyword can be used to test the value of 'proto' and check whether the SIP packet was received over UDP or not.

Example of usage:

if(proto==UDP)
{
log("the SIP message was received over UDP\n");
};

[[#max_len]]
!!!!max_len

This keyword is set to the maximum size of an UDP packet. It can be used to test message's size.

Example of usage:

if(msg:len>max_len)
{
sl_send_reply("413", "message too large to be forwarded over UDP without fragmentation");
exit;
}


[[#myself]]
!!!!myself

It is a reference to the list of local IP addresses, hostnames and aliases that has been set in '''OpenSIPS''' configuration file. This lists contain the domains served by '''OpenSIPS'''.

The variable can be used to test if the host part of an URI is in the list. The usefulness of this test is to select the messages that has to be processed locally or has to be forwarded to another server.

See "alias" to add hostnames,IP addresses and aliases to the list.

Example of usage:

if(uri==myself) {
log("the request is for local processing\n");
};

[[#null]]
!!!!null

Can be used in assignment to reset the value of a per-script variable or to delete an avp.

Example of usage:

$avp(i:12) = null;
$var(x) = null;

(:toc-back:)

----
[[#parameters]]
to:
%red%All the core keywords along with their accepted core values available in previous versions were eliminated in v3.4 and the use of core variables and core functions is recommended instead.%% For detailed information about what you can use in place of the deprecated keywords, check the migration page [[ http://www.opensips.org/Documentation/Migration-2-3-4-to-3-4-0#toc3 | keywords ]] section.

!!!Core parameters

Global parameters that can be set in configuration file. Accepted values are, depending on the actual parameters strings, numbers and yes/ no. If you need to specify either "yes" or "no" as part of a string, wrap this in double quotes.

[[#abort_on_assert]]
!!!!abort_on_assert
Default value: false

\\

Only relevant if [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc2 | asserts ]] are enabled. Set to ''true'' in order to make OpenSIPS shut down immediately in case a script assert fails.
April 12, 2017, at 01:07 PM by razvancrainea -
Deleted lines 382-392:
[[#bin_listen]]
!!!!bin_listen %red%(Removed in OpenSIPS 3.4)%%

Replaced by the [[http://www.opensips.org/html/docs/modules/3.4.x/proto_bin.html#id284096|bin_port]] module parameter from '''proto_bin''' module (as a result of migrating the BIN implementation from core into a separate module).


[[#bin_children]]
!!!!bin_children %red%(Removed in OpenSIPS 3.4)%%

Obsolete, simply removed.
Deleted lines 470-474:
[[#debug]]
!!!!debug %red%(Removed in OpenSIPS 3.4)%%

Replaced by [[#log_level|log_level]] parameter.
Deleted lines 701-710:
[[#fork]]
!!!!fork %red%(Removed in OpenSIPS 3.4)%%

Replaced by [[#debug_mode|debug_mode]] parameter.

[[#gid]]
!!!!group gid %red%(Removed in OpenSIPS 3.4)%%

Use the '''-u''' command line parameter instead.
Deleted lines 1312-1319:



[[#user uid]]
!!!!user uid %red%(Removed in OpenSIPS 3.4)%%

Use the '''-u''' command line parameter instead.
April 12, 2017, at 01:03 PM by razvancrainea -
Changed lines 1246-1249 from:
Number of keepalives to send before closing the connection (Linux only).

''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc99|tcp_keepcount]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
to:
Number of keepalives to send before closing the connection (Linux only). Default value is Operating System dependent and can be found using @@cat /proc/sys/net/ipv4/tcp_keepalive_probes@@. Common value is ''9''.

''Setting [[Documentation/Script-CoreParameters-3-4#toc99|tcp_keepcount]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
Changed lines 1258-1261 from:
Amount of time before OpenSIPS will start to send keepalives if the connection is idle (Linux only).

''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
to:
Amount of time before OpenSIPS will start to send keepalives if the connection is idle (Linux only). Default value is Operating System dependent and can be found using @@cat /proc/sys/net/ipv4/tcp_keepalive_time@@. Common value is ''7200'' seconds.

''Setting [[Documentation/Script-CoreParameters-3-4#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
Changed lines 1270-1272 from:
Interval between keepalive probes, if the previous one failed (Linux only).

''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
to:
Interval between keepalive probes, if the previous one failed (Linux only). Default value is Operating System dependent and can be found using @@cat /proc/sys/net/ipv4/tcp_keepalive_intvl@@. Common value is ''75'' seconds.

''Setting [[Documentation/Script-CoreParameters-3-4#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
March 24, 2017, at 11:33 AM by liviu -
Changed lines 892-893 from:
Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc68 | pattern_file ]] from a previous run is found, memory warning is skipped, and the memory allocator simply starts with a big chunk of memory, like all other allocators.
to:
Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc68 | pattern_file ]] from a previous run is found, memory warming is skipped, and the memory allocator simply starts with a big chunk of memory, like all other allocators.
Changed line 924 from:
The memory fragmentation pattern of a previous OpenSIPS run. Used at startup, if [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc66 | mem_warming ]] is enabled.
to:
Only relevant if [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc66 | mem_warming ]] is enabled. It contains the memory fragmentation pattern of a previous OpenSIPS run. This file is overwritten during each OpenSIPS shutdown, and is used during startup in order to restore the service behavior as soon as possible.
December 07, 2016, at 11:26 AM by 109.99.227.30 -
Deleted lines 14-15:

This document is for '''OpenSIPS 1.12.x'''
December 07, 2016, at 11:25 AM by 109.99.227.30 -
Changed lines 866-868 from:
[[#memgroup]]
!!!memgroup
to:
[[#mem-group]]
!!!!mem-group
Changed lines 871-873 from:
Example of usage:
to:
In order for the feature to work you have to run "make generate-mem-stats" and complile with the variable SHM_EXTRA_STATS defined.

Usage example:
Changed lines 875-877 from:
memgroup = groupname: moduleA moduleB
memgroup = runtime: dialog usrloc tm
memgroup = routing: drouting
to:
mem-group = "interest": "core" "tm"
mem-group = "runtime": "dialog" "usrloc" "tm"
Changed lines 880-886 from:
to:
For the above example the generated statistics will be named: shmem_group_interest:fragments, shmem_group_interest:memory_used, shmem_group_interest:real_used.

Multiple groups can be defined, but they must not have the same name.

If you want to generate the statistics for the default group (all the other modules not included in a group) you have to complile with the variable SHM_SHOW_DEFAULT_GROUP defined.

Deleted lines 1419-1435:

[[#mem-group]]
!!!!mem-group

Define a group of modules for which statistics will be generated regarding their shared memory usage. In order for the feature to work you have to run
"make generate-mem-stats" and complile with the variable SHM_EXTRA_STATS defined.

Usage example:
[@
mem-group = "interest" : "core" "tm"
@]

For the above example the generated statistics will be named: shmem_group_interest:fragments, shmem_group_interest:memory_used, shmem_group_interest:real_used.

Multiple groups can be defined, they must not have the same name.

If you want to generate the statistics for the default group (all the other modules not included in a group) you have to complile with the variable SHM_SHOW_DEFAULT_GROUP defined.
October 12, 2016, at 04:57 PM by liviu -
Changed line 773 from:
If you omit this directive then the SIP server will listen on all interfaces. On startup, OpenSIPS reports all the interfaces that it is listening on. Even if you specify only UDP interfaces here, the server will start the TCP engine too.
to:
On startup, OpenSIPS reports all the interfaces that it is listening on. The TCP engine processes will be created regardless if you specify only UDP interfaces here.
October 12, 2016, at 04:51 PM by liviu -
Changed line 760 from:
Remember that the above parameters only affect the interface they are configured for; if they are not defined for each interface, the global values will be used instead.
to:
Remember that the above parameters only affect the interface they are configured for; if they are not defined for a given interface, the global values will be used instead.
October 12, 2016, at 04:49 PM by liviu -
Changed lines 757-763 from:
The listen definition may accept several optional parameters for:
* configuring an advertise IP and port only for this interface. Syntax "AS 11.23.43.44:5060"
* setting a different number of children for this interface only (for UDP and SCTP interfaces only). This will override the global "children" parameter. Syntax "use_children 5"
Remember that this parameters have affect only for the interface they are configured for; if not defined per interface, the global values will be used.

Example of usage:
to:
The ''listen'' definition may accept several optional parameters for:
* configuring an advertised IP and port only for an interface. Syntax "AS 11.23.43.44:5060"
* setting a different number of children for this interface only (for UDP, SCTP and HEP_UDP interfaces only). This will override the global "children" parameter. Syntax "use_children 5"
Remember that the above parameters only affect the interface they are configured for; if they are not defined for each interface, the global values will be used instead.

Examples of usage:
Changed lines 765-770 from:
listen=10.10.10.10
listen=eth1:5062
listen=udp:10.10.10.10:5064
listen=udp:127.0.0.1:5060 use_children 5
listen=udp:127.0.0.1:5060 as 99.88.44.33:5060 use_children 3
listen=127.0.0.1 use_children 3
to:
listen = udp:eth1
listen = tcp:eth1:5062
listen = tls:localhost:5061
listen = hep_udp:10.10.10.10:5064
listen = ws:127.0.0.1:5060 use_children 5
listen = sctp:127.0.0.1:5060 as 99.88.44.33:5060 use_children 3
Changed line 773 from:
If you omit this directive then the SIP server will listen on all interfaces. On start the SIP server reports all the interfaces that it is listening on. Even if you specify only UDP interfaces here, the server will start the TCP engine too. If you don't want this, you need to disable the TCP support completely with the core parameter disable_tcp.
to:
If you omit this directive then the SIP server will listen on all interfaces. On startup, OpenSIPS reports all the interfaces that it is listening on. Even if you specify only UDP interfaces here, the server will start the TCP engine too.
October 04, 2016, at 05:20 PM by liviu -
Changed line 359 from:
If the ":port" part is omitted, '''all''' ports will be considered an alias (similar behavior to port 0).
to:
If the ":port" part is omitted, '''all''' ports of the given "hostname" will be considered an alias (similar behavior to port 0).
October 04, 2016, at 05:19 PM by liviu -
Changed lines 359-361 from:
It is necessary to include the port (the port value used in the "port=" or "listen=" definitions) in the alias definition otherwise the loose_route() function will not work as expected for local forwards
to:
If the ":port" part is omitted, '''all''' ports will be considered an alias (similar behavior to port 0).

%red%It is necessary to include the port (the port value used in the "port=" or "listen=" definitions) in the alias definition otherwise the loose_route() function will not work as expected for local forwards!%%
June 21, 2016, at 11:49 AM by liviu -
Changed lines 1152-1153 from:
[[#tcp_connection_lifetime!!!!]]
!!!!tcp_connection_lifetime!!!!
to:
[[#tcp_connection_lifetime]]
!!!!tcp_connection_lifetime
June 21, 2016, at 11:48 AM by liviu -
Changed lines 1122-1133 from:
to:
Default value ''0'' (disabled). If enabled, OpenSIPS will enforce RFC 5923 behaviour when detecting an ''";alias"'' Via header field parameter and will reuse '''any''' TCP (or TLS, WS, WSS) connection opened for such SIP requests (source IP + Via port + proto) when sending other SIP requests backwards, towards the same (source IP + Via port + proto) pair. The final purpose of RFC 5923, after all, is to minimize the number of TLS connections a SIP proxy must open, due to the large CPU overhead of the connection setup phase.

\\


On top of RFC 5923's connection reusage (aliasing) mechanism, TCP connections in OpenSIPS are also persistent across multiple SIP dialogs. This can be controlled with the [[#tcp_connection_lifetime|tcp_connection_lifetime]] global parameter.

\\

%red%'''WARNING!'''%% Enabling the global '''tcp_accept_aliases''' parameter (RFC 5923) for end-user initiated connections (who are most likely grouped by one or more public IPs) is an open vector for call hijacking! In such platforms, we recommend using the [[http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#force_tcp_alias|force_tcp_alias()]] core function, in order to employ RFC 5923 behaviour only in conjunction with adjacent SIP proxies.

Changed line 1428 from:
(:toc-back:)
to:
(:toc-back:)
May 13, 2016, at 08:16 PM by etamme -
Changed lines 364-365 from:
alias=other.domain.com:5060
alias=another.domain.com:5060
to:
alias=udp:other.domain.com:5060
alias=tcp:another.domain.com:5060
March 28, 2016, at 11:16 PM by 109.102.83.452 -
Added lines 862-874:


[[#memgroup]]
!!!memgroup

Defines a group of modules (by name) to get separate memory statistics. OpenSIPS will provide per-group memory information - the number of allocated fragments, the amount of used memory and the amount of real used memory (with memory manager overhead). This is useful if you want to monitor the memory usage of a certain module (or group of modules).

Example of usage:
[@
memgroup = groupname: moduleA moduleB
memgroup = runtime: dialog usrloc tm
memgroup = routing: drouting
@]
March 28, 2016, at 10:43 PM by 109.102.83.452 -
Added lines 393-400:

[[#cfg_file]]
!!!!cfg_file
Returns the name of the corresponding OpenSIPS config file (useful when multiple config files are included).

[[#cfg_line]]
!!!!cfg_line
Returns the corresponding line inside the OpenSIPS config file.
March 25, 2016, at 08:32 PM by 109.102.83.452 -
Changed lines 384-392 from:
!!!!bin_listen

Defines a UDP listening interface for one or more Binary Packet Receivers. Default value is '''"null"''' (not listening).

Example of usage:
[@
bin_listen=10.0.0.150:5062
@]
to:
!!!!bin_listen %red%(Removed in OpenSIPS 3.4)%%

Replaced by the [[http://www.opensips.org/html/docs/modules/3.4.x/proto_bin.html#id284096|bin_port]] module parameter from '''proto_bin''' module (as a result of migrating the BIN implementation from core into a separate module).

Changed lines 390-397 from:
!!!!bin_children

The number of UDP listeners for the Binary Internal Interface. Default value is '''1'''.

Example of usage:
[@
bin_children=4
@]
to:
!!!!bin_children %red%(Removed in OpenSIPS 3.4)%%

Obsolete, simply removed.
March 25, 2016, at 03:06 PM by 109.102.83.452 -
Changed lines 725-732 from:
!!!!group gid

The group id to run '''OpenSIPS'''.

Example of usage:

group="opensips"
to:
!!!!group gid %red%(Removed in OpenSIPS 3.4)%%

Use the '''-u''' command line parameter instead.
Changed lines 1312-1318 from:
!!!!user uid

The user id to run '''OpenSIPS''' (OpenSIPS will suid to it).

Example of usage:

user="opensips"
to:
!!!!user uid %red%(Removed in OpenSIPS 3.4)%%

Use the '''-u''' command line parameter instead.
March 25, 2016, at 11:30 AM by 109.102.83.452 -
Changed line 724 from:
[[#group gid]]
to:
[[#gid]]
March 25, 2016, at 11:28 AM by 109.102.83.452 -
Changed line 446 from:
This parameter was introduced as a replacement for the old [[#debug|debug]] options.
to:
This parameter was introduced as a replacement for the old [[#fork|fork]] options.
March 25, 2016, at 11:18 AM by 109.102.83.452 -
Changed line 483 from:
[[#debug %red%(Removed in OpenSIPS 3.4)%%]]
to:
[[#debug]]
Changed line 719 from:
[[#fork %red%(Removed in OpenSIPS 3.4)%%]]
to:
[[#fork]]
March 25, 2016, at 11:17 AM by 109.102.83.452 -
Added lines 432-446:

[[#debug_mode]]
!!!!debug_mode
Enabling the '''debug_mode''' option is a fast way to debug your '''OpenSIPS'''. This option will automatically force:
* staying in foreground (do not detach from console)
* set logging level to 4 (debug)
* set logging to standard error
* enable core dumping
* set UDP worker processes to 2
* set TCP worker processes to 2

Default value is false/0 (disabled).

NOTE that enabling this option will override all the other individual parameters like foreground mode, log level, children, etc.
This parameter was introduced as a replacement for the old [[#debug|debug]] options.
March 25, 2016, at 11:07 AM by 109.102.83.452 -
Added line 29:
[[#af]]
Added line 42:
[[#dst_ip]]
Added line 53:
[[#dst_port]]
Added line 65:
[[#from_uri]]
Added line 78:
[[#method]]
Added line 91:
[[#msg:len]]
Added line 105:
[[#retcode]]
Added line 128:
[[#proto]]
Added line 141:
[[#status]]
Added line 153:
[[#src_ip]]
Added line 166:
[[#src_port]]
Added line 179:
[[#to_uri]]
Added line 193:
[[#uri]]
Added line 214:
[[#INET]]
Added line 226:
[[#INET6]]
Added line 238:
[[#TCP]]
Added line 250:
[[#UDP]]
Added line 262:
[[#max_len]]
Added line 276:
[[#myself]]
Added line 291:
[[#null]]
Added line 309:
[[#abort_on_assert]]
Added line 322:
[[#advertised_address]]
Added line 341:
[[#advertised_port]]
Added line 354:
[[#alias]]
Added line 369:
[[#auto_aliases]]
Added line 383:
[[#bin_listen]]
Added line 393:
[[#bin_children]]
Added line 403:
[[#check_via]]
Added line 412:
[[#children]]
Added line 424:
[[#chroot]]
Added line 433:
[[#db_version_table]]
Added line 444:
[[#db_default_url]]
Added line 454:
[[#db_max_async_connections]]
Added line 468:
[[#debug %red%(Removed in OpenSIPS 3.4)%%]]
Added line 473:
[[#disable_503_translation]]
Added line 480:
[[#disable_core_dump]]
Added line 493:
[[#disable_dns_blacklist]]
Added line 507:
[[#disable_dns_failover]]
Added line 518:
[[#disable_stateless_fwd]]
Added line 528:
[[#disable_tcp]]
Added line 537:
[[#disable_tls]]
Added line 546:
[[#dns]]
Added line 553:
[[#dns_retr_time]]
Added line 563:
[[#dns_retr_no]]
Added line 573:
[[#dns_servers_no]]
Added line 583:
[[#dns_try_ipv6]]
Added line 593:
[[#dns_try_naptr]]
Added line 603:
[[#dns_use_search_list]]
Added line 618:
[[#dst_blacklist]]
Added line 645:
[[#enable_asserts]]
Added line 659:
[[#event_pkg_threshold]]
Added line 670:
[[#event_shm_threshold]]
Added line 681:
[[#exec_dns_threshold]]
Added line 692:
[[#exec_msg_threshold]]
Added line 704:
[[#fork %red%(Removed in OpenSIPS 3.4)%%]]
Added line 709:
[[#group gid]]
Added line 718:
[[#include_file]]
Added line 729:
[[#import_file]]
Added line 740:
[[#listen]]
Added line 763:
[[#log_facility]]
Added line 807:
[[#log_name]]
Added line 819:
[[#log_stderror]]
Added line 834:
[[#max_while_loops]]
Added line 844:
[[#maxbuffer]]
Added line 854:
[[#mem_warming]]
Added line 872:
[[#mem_warming_percentage]]
Added line 886:
[[#mem_warming_pattern_file]]
Added line 900:
[[#memdump | mem_dump]]
Added line 912:
[[#memlog | mem_log]]
Added line 923:
[[#mcast_loopback]]
Added line 932:
[[#mcast_ttl]]
Added line 941:
[[#mhomed]]
Added line 950:
[[#mpath]]
Added line 968:
[[#open_files_limit]]
Added line 980:
[[#poll_method]]
Added line 990:
[[#port]]
Added line 999:
[[#reply_to_via]]
Added line 1008:
[[#query_buffer_size]]
Added line 1017:
[[#query_flush_time]]
Added line 1027:
[[#rev_dns]]
Added line 1035:
[[#server_header]]
Added line 1054:
[[#server_signature]]
Added line 1067:
[[#shm_hash_split_percentage]]
Added line 1072:
[[#shm_secondary_hash_size]]
Added line 1077:
[[#sip_warning]]
Added line 1087:
[[#tcp_children]]
Added line 1096:
[[#tcp_accept_aliases]]
Added line 1100:
[[#tcp_listen_backlog]]
Added line 1107:
[[#tcp_connect_timeout]]
Added line 1118:
[[#tcp_connection_lifetime!!!!]]
Added line 1128:
[[#tcp_max_connections]]
Added line 1138:
[[#tcp_max_msg_time]]
Added line 1148:
[[#tcp_no_new_conn_bflag]]
Added line 1178:
[[#tcp_threshold]]
Added line 1188:
[[#tcp_keepalive]]
Added line 1201:
[[#tcp_keepcount]]
Added line 1213:
[[#tcp_keepidle]]
Added line 1225:
[[#tcp_keepinterval]]
Added line 1237:
[[#tls_ca_list]]
Added line 1241:
[[#tls_certificate]]
Added line 1245:
[[#tls_ciphers_list]]
Added line 1249:
[[#tls_domain]]
Added line 1253:
[[#tls_handshake_timeout]]
Added line 1257:
[[#tls_log]]
Added line 1261:
[[#tls_method]]
Added line 1265:
[[#tls_port_no]]
Added line 1269:
[[#tls_private_key]]
Added line 1273:
[[#tls_require_certificate]]
Added line 1277:
[[#tls_send_timeout]]
Added line 1281:
[[#tls_verify]]
Added line 1285:
[[#tos]]
Added line 1300:
[[#user uid]]
Added line 1310:
[[#user_agent_header]]
Added line 1327:
[[#wdir]]
Added line 1339:
[[#xlog_buf_size]]
Added line 1353:
[[#xlog_force_color]]
Added line 1367:
[[#xlog_default_level]]
Added line 1381:
[[#mem-group]]
Changed line 1398 from:
(:toc-back:)
to:
(:toc-back:)
March 25, 2016, at 10:46 AM by 109.102.83.452 -
Changed lines 386-387 from:
Number of children to fork for '''each''' UDP or SCTP interface you have defined. Default value is 8.
to:
Number of worker processes (children) to be created for '''each''' UDP or SCTP interface you have defined. Default value is 8.
Changed lines 650-660 from:
!!!!fork

If set to 'yes' the proxy will fork and run in daemon mode - one process will be created for each network interface the proxy listens to and for each protocol (TCP/UDP), multiplied with the value of 'children' parameter.

When set to 'no', the proxy will stay bound to the terminal and runs as single process. First interface is used for listening to. OpenSIPS will only listen on UDP. Since the process is attached to the controlling terminal, not PID file will be created even if the -P command line option was specified.

Default value is 'yes'.

Example of usage:

fork=no
to:
!!!!fork %red%(Removed in OpenSIPS 3.4)%%

Replaced by [[#debug_mode|debug_mode]] parameter.
March 24, 2016, at 09:23 PM by 109.102.83.452 -
Changed line 751 from:
Value of 'log_level' parameter can also be get and set dynamically using [[Documentation.Interface-CoreMI-3-4#log_level|log_level]] Core MI function or [[Documentation.Script-CoreVar-3-4#log_level|log_level]] scripting function
to:
Value of 'log_level' parameter can also be get and set dynamically using [[Documentation.Interface-CoreMI-3-4#log_level|log_level]] Core MI function or [[Documentation.Script-CoreVar-3-4#log_level|$log_level]] script variable.
March 24, 2016, at 09:15 PM by 109.102.83.452 -
Changed line 751 from:
Value of 'log_level' parameter can also be get and set dynamically using [[Documentation.Interface-CoreMI-3-4#log_level|log_level]] Core MI function or [[Documentation.Documentation.Script-CoreVar-3-4#log_level|log_level]] scipting function
to:
Value of 'log_level' parameter can also be get and set dynamically using [[Documentation.Interface-CoreMI-3-4#log_level|log_level]] Core MI function or [[Documentation.Script-CoreVar-3-4#log_level|log_level]] scripting function
March 24, 2016, at 09:02 PM by 109.102.83.452 -
March 24, 2016, at 08:55 PM by 109.102.83.452 -
Deleted lines 774-775:

For more see: http://www.voice-system.ro/docs/ser-syslog/
March 24, 2016, at 08:54 PM by 109.102.83.452 -
Changed line 724 from:
[[log_level]]
to:
[[#log_level]]
March 24, 2016, at 08:52 PM by 109.102.83.452 -
Changed line 437 from:
Replaced by [[#log_level|log_level] parameter.
to:
Replaced by [[#log_level|log_level]] parameter.
March 24, 2016, at 08:52 PM by 109.102.83.452 -
Changed lines 435-462 from:
!!!!debug

Set the debug level. Higher values make '''OpenSIPS''' to print more debug messages.

Examples of usage:

[@
debug=1 -- print only important messages (like errors or more critical situations)
- recommended for running proxy as daemon

debug=4 -- print a lot of debug messages - use it only when doing debugging sessions
@]

Actual values are:
* -3 - Alert level
* -2 - Critical level
* -1 - Error level
* 1 - Warning level
* 2 - Notice level
* 3 - Info level
* 4 - Debug level



The 'debug' parameter is usually used in concordance with 'log_stderror' parameter.

Value of 'debug' parameter can also be get and set dynamically using 'debug' Core MI function.
to:
!!!!debug %red%(Removed in OpenSIPS 3.4)%%

Replaced by [[#log_level|log_level] parameter.
Deleted lines 717-718:
For more see: http://www.voice-system.ro/docs/ser-syslog/
Changed lines 724-725 from:

to:
[[log_level]]
!!!!log_level

Set the logging level (how verbose OpenSIPS should be). Higher values make '''OpenSIPS''' to print more messages.

Examples of usage:

[@
log_level=1 -- print only important messages (like errors or more critical situations)
- recommended for running proxy as daemon

log_level=4 -- print a lot of debug messages - use it only when doing debugging sessions
@]

Actual values are:
* -3 - Alert level
* -2 - Critical level
* -1 - Error level
* 1 - Warning level
* 2 - Notice level
* 3 - Info level
* 4 - Debug level



The 'log_level' parameter is usually used in concordance with 'log_stderror' parameter.

Value of 'log_level' parameter can also be get and set dynamically using [[Documentation.Interface-CoreMI-3-4#log_level|log_level]] Core MI function or [[Documentation.Documentation.Script-CoreVar-3-4#log_level|log_level]] scipting function


Changed lines 768-769 from:
With this parameter you can make '''OpenSIPS''' to write log and debug messages to standard error. Possible values are:
to:
With this parameter you can make '''OpenSIPS''' to write log messages to standard error. Possible values are:
Changed lines 845-846 from:
Log level to print memory status information (runtime and shutdown). It has to be less than the value of 'debug' parameter if you want memory info to be logged. Default: memdump=L_DBG (4)
to:
Log level to print memory status information (runtime and shutdown). It has to be less than the value of 'log_level' parameter if you want memory info to be logged. Default: memdump=L_DBG (4)
Changed line 856 from:
Log level to print memory debug info. It has to be less than the value of 'debug' parameter if you want memory info to be logged. Default: memlog=L_DBG (4)
to:
Log level to print memory debug info. It has to be less than the value of 'log_level' parameter if you want memory info to be logged. Default: memlog=L_DBG (4)
December 09, 2015, at 06:31 PM by ionel_cerghit - mem-group example error fix
Changed line 1278 from:
mem-group = "interest" : "core", "tm"
to:
mem-group = "interest" : "core" "tm"
December 02, 2015, at 11:41 AM by liviu -
Changed lines 1128-1129 from:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].
to:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
Changed line 1139 from:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].
to:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
December 02, 2015, at 11:40 AM by liviu -
Changed lines 1117-1118 from:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc99|tcp_keepcount]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].''
to:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc99|tcp_keepcount]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].''
Changed lines 1128-1129 from:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].
to:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].
Changed line 1139 from:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].
to:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4#toc98|tcp_keepalive]].
December 02, 2015, at 11:39 AM by liviu -
Changed lines 1128-1129 from:
''Default value: 0 (disabled). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].
to:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].
Changed line 1139 from:
''Default value: 0 (disabled). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].
to:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].
December 02, 2015, at 11:38 AM by liviu -
Changed lines 1103-1104 from:
Enable or disable TCP keepalive.
to:
Enable or disable TCP keepalive (OS level).
Changed line 1142 from:
to:
[@
Added line 1144:
@]
December 02, 2015, at 11:37 AM by liviu -
Changed lines 1103-1104 from:
Enable or disable TCP keepalive. Enabled by default.
to:
Enable or disable TCP keepalive.

''Enabled by default.''
Changed lines 1117-1118 from:
''Default value: 0 (disabled). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc53|tcp_keepcount]] to any value will enable [[asda|tcp_keepalive]].''
to:
''Default value: 0 (not set). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc99|tcp_keepcount]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].''
Changed lines 1128-1131 from:
\\

''Default value: 0 (disabled). Setting [[asdads|tcp_keepidle]] to any value will enable [[asda|tcp_keepalive]].
to:
''Default value: 0 (disabled). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc100|tcp_keepidle]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].
Changed lines 1139-1141 from:
\\

''Default value: 0 (disabled). Setting [[asdads|tcp_keepinterval]] to any value will enable [[asda|tcp_keepalive]].
to:
''Default value: 0 (disabled). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc101|tcp_keepinterval]] to any value will enable [[Documentation/Script-CoreParameters-3-4?action=edit#toc98|tcp_keepalive]].
December 02, 2015, at 11:35 AM by liviu -
Changed line 1115 from:
''Default value: 0 (disabled). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc53|tcp_keepcount]] to any value will enable [[asda|tcp_keepalive]].
to:
''Default value: 0 (disabled). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc53|tcp_keepcount]] to any value will enable [[asda|tcp_keepalive]].''
December 02, 2015, at 11:35 AM by liviu -
Changed line 1115 from:
''Default value: 0 (disabled). Setting [[asdads|tcp_keepcount]] to any value will enable [[asda|tcp_keepalive]].
to:
''Default value: 0 (disabled). Setting [[Documentation/Script-CoreParameters-3-4?action=edit#toc53|tcp_keepcount]] to any value will enable [[asda|tcp_keepalive]].
December 02, 2015, at 11:34 AM by liviu -
Deleted lines 1113-1114:

\\
December 02, 2015, at 11:33 AM by liviu -
Changed lines 1103-1104 from:
Enable / disable TCP keepalive
to:
Enable or disable TCP keepalive. Enabled by default.
Added line 1107:
[@
Changed lines 1109-1110 from:
to:
@]
Changed lines 1113-1114 from:
Number of keepalives to send before closing the connection (Linux only)
to:
Number of keepalives to send before closing the connection (Linux only).

\\

''Default value: 0 (disabled). Setting [[asdads|tcp_keepcount]] to any value will enable [[asda|tcp_keepalive]].
Changed line 1120 from:
to:
[@
Changed lines 1122-1123 from:
to:
@]
Changed lines 1126-1127 from:
Amount of time before OpenSIPS will start to send keepalives if the connection is idle (Linux only)
to:
Amount of time before OpenSIPS will start to send keepalives if the connection is idle (Linux only).

\\

''Default value: 0 (disabled). Setting [[asdads|tcp_keepidle]] to any value will enable [[asda|tcp_keepalive]].
Changed line 1133 from:
to:
[@
Changed lines 1135-1136 from:
to:
@]
Changed lines 1139-1143 from:
Interval between keepalive probes, if the previous one failed (Linux only)
to:
Interval between keepalive probes, if the previous one failed (Linux only).

\\

''Default value: 0 (disabled). Setting [[asdads|tcp_keepinterval]] to any value will enable [[asda|tcp_keepalive]].
December 02, 2015, at 11:25 AM by liviu -
Changed line 1056 from:
The maximum number of seconds that a SIP message is expected to arrive via TCP. If a single SIP packet is still not fully received after this number of seconds, the connection is dropped ( either the connection is very overloaded and this leads to high fragmentation - or we are the victim of an ongoing attack where the attacker is sending the traffic very fragmented in order to decrease our performance ). Default value is is 4
to:
The maximum number of seconds that a SIP message is expected to arrive via TCP. If a single SIP packet is still not fully received after this number of seconds, the connection is dropped ( either the connection is very overloaded and this leads to high fragmentation - or we are the victim of an ongoing attack where the attacker is sending the traffic very fragmented in order to decrease our performance ). Default value is 4
November 26, 2015, at 05:44 PM by ionel_cerghit -
November 26, 2015, at 05:44 PM by ionel_cerghit -
Changed line 604 from:
dst_blacklist = gw:{( tcp , 193.468.3.400 , 5060 , "" ),( any , 193.468.3.401 , 0 , "" )}
to:
dst_blacklist = gw:{( tcp , 192.168.3.400 , 5060 , "" ),( any , 192.168.3.401 , 0 , "" )}
Changed line 606 from:
dst_blacklist = net_filter:{ ( any , 193.468.1.120/255.255.255.0 , 0 , "" )}
to:
dst_blacklist = net_filter:{ ( any , 192.168.1.120/255.255.255.0 , 0 , "" )}
Changed line 608 from:
dst_blacklist = msg_filter:{ ( any , 193.468.20.0/255.255.255.0 , 0 , "MESSAGE*ugly_word" )}
to:
dst_blacklist = msg_filter:{ ( any , 192.168.20.0/255.255.255.0 , 0 , "MESSAGE*ugly_word" )}
October 02, 2015, at 02:36 PM by ionel_cerghit - 'Defined the 'mem-group' parameter
Added lines 1257-1272:

!!!!mem-group

Define a group of modules for which statistics will be generated regarding their shared memory usage. In order for the feature to work you have to run
"make generate-mem-stats" and complile with the variable SHM_EXTRA_STATS defined.

Usage example:
[@
mem-group = "interest" : "core", "tm"
@]

For the above example the generated statistics will be named: shmem_group_interest:fragments, shmem_group_interest:memory_used, shmem_group_interest:real_used.

Multiple groups can be defined, they must not have the same name.

If you want to generate the statistics for the default group (all the other modules not included in a group) you have to complile with the variable SHM_SHOW_DEFAULT_GROUP defined.
July 10, 2015, at 03:54 PM by rvlad_patrascu -
Changed lines 1238-1239 from:
Only relevant when [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc63 | log_stderror]] is set to ''true''. Enables the use of the [[ http://www.opensips.org/Documentation/Script-CoreVar-3-4#toc98 | color escape sequences ]], otherwise they will have no effect.
to:
Only relevant when [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc57 | xlog]] is set to ''true''. Enables the use of the [[ http://www.opensips.org/Documentation/Script-CoreVar-3-4#toc98 | color escape sequences ]], otherwise they will have no effect.
Added lines 1243-1255:
@]

!!!!xlog_default_level

Default value: -1

\\

Default value for the logging level of the [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc57 | xlog]] core function, when the log_level parameter is omitted.

Usage example:
[@
xlog_default_level = 2 #L_NOTICE
April 21, 2015, at 03:13 PM by liviu -
Changed lines 1028-1029 from:
Time in seconds before an ongoing blocking attempt to connect will be aborted.
to:
Time in milliseconds before an ongoing blocking attempt to connect will be aborted. Default value is 100ms.
Changed lines 1031-1034 from:

tcp_connect_timeout=5

to:
[@
tcp_connect_timeout = 5
@]

Changed lines 1041-1043 from:

tcp_connection_lifetime=3600
to:
[@
tcp_connection_lifetime = 3600
@]
Changed lines 1050-1052 from:

tcp_max_connections=4096
to:
[@
tcp_max_connections = 4096
@]
Changed lines 1059-1060 from:

tcp_max_msg_time=8
to:
[@
tcp_max_msg_time = 8
@]
March 13, 2015, at 07:00 PM by liviu -
Added lines 289-299:
!!!!abort_on_assert
Default value: false

\\

Only relevant if [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc2 | asserts ]] are enabled. Set to ''true'' in order to make OpenSIPS shut down immediately in case a script assert fails.

Example of usage:
[@
abort_on_assert = true
@]
March 13, 2015, at 06:58 PM by liviu -
Added lines 608-620:

!!!!enable_asserts
Default value: false

\\

Set to ''true'' in order to enable the [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-4#toc2 | assert ]] script statement.

Example of usage:
[@
enable_asserts = true
@]
March 11, 2015, at 07:11 PM by razvancrainea -
Changed lines 985-988 from:
!!!!tcp_async

If the TCP connect and write operations should be done in an asynchronous mode. Default value is 0 ( blocking connect & write )
to:
!!!!tcp_children

Number of children processes to be created for reading from TCP connections. If no value is explicitly set, the same number of TCP children as UDP children (see "children" parameter) will be used.
Changed lines 991-996 from:
tcp_async=1

!!!!tcp_async_local_connect_timeout

If tcp_async is enabled, this specifies the number of microseconds that a connect will be tried in blocking mode ( optimization ). If the connect operation lasts more than this, the connect will go to async mode and will be passed to TCP MAIN for polling. Default value is 10000 ( 10 ms )
to:
tcp_children=4

!!!!tcp_accept_aliases


!!!!tcp_listen_backlog

The backlog argument defines the maximum length to which the queue of pending connections for the TCP listeners may grow. If a connection request arrives when the queue is full, the client may receive an error with an indication of ECONNREFUSED or, if the underlying protocol supports retransmission, the request may be ignored so that a later reattempt at connection succeeds.

Default configured value is 10.

!!!!tcp_connect_timeout

Time in seconds before an ongoing blocking attempt to connect will be aborted.
Changed lines 1008-1013 from:
tcp_async_local_connect_timeout=20000

!!!!tcp_async_local_write_timeout

If tcp_async is enabled, this specifies the number of microseconds that a write op will be tried in blocking mode ( optimization ). If the write operation lasts more than this, the write will go to async mode and will be passed to TCP MAIN for polling. Default value is 10000 ( 10 ms )
to:
tcp_connect_timeout=5


!!!!tcp_connection_lifetime!!!!

Lifetime in seconds for TCP sessions. TCP sessions which are inactive for >tcp_connection_lifetime will be closed by '''OpenSIPS'''. Default value is defined in tcp_conn.h: #define DEFAULT_TCP_CONNECTION_LIFETIME 120. Setting this value to 0 will close the TCP connection pretty quick ;-). You can also set the TCP lifetime to the expire value of the REGISTER by using the tcp_persistent_flag parameter of the registrar module.
Changed lines 1017-1022 from:
tcp_async_local_write_timeout=20000

!!!!tcp_async_max_postponed_chunks

If tcp_async is enabled, this specifies the maximum number of SIP messages that can be stashed for later/async writing. If the connection pending writes exceed this number, the connection will be marked as broken and dropped. Default value is 32
to:
tcp_connection_lifetime=3600

!!!!tcp_max_connections

maximum number of tcp connections (if the number is exceeded no new tcp connections will be accepted). Default is defined in tcp_conn.h: #define DEFAULT_TCP_MAX_CONNECTIONS 2048
Changed lines 1025-1030 from:
tcp_async_max_postponed_chunks=64

!!!!tcp_children

Number of children processes to be created for reading from TCP connections. If no value is explicitly set, the same number of TCP children as UDP children (see "children" parameter) will be used.
to:
tcp_max_connections=4096

!!!!tcp_max_msg_time

The maximum number of seconds that a SIP message is expected to arrive via TCP. If a single SIP packet is still not fully received after this number of seconds, the connection is dropped ( either the connection is very overloaded and this leads to high fragmentation - or we are the victim of an ongoing attack where the attacker is sending the traffic very fragmented in order to decrease our performance ). Default value is is 4
Changed lines 1033-1048 from:
tcp_children=4

!!!!tcp_accept_aliases


!!!!tcp_listen_backlog

The backlog argument defines the maximum length to which the queue of pending connections for the TCP listeners may grow. If a connection request arrives when the queue is full, the client may receive an error with an indication of ECONNREFUSED or, if the underlying protocol supports retransmission, the request may be ignored so that a later reattempt at connection succeeds.

Default configured value is 10.

!!!!tcp_send_timeout

Time in seconds after a TCP connection will be closed if it is not available
for blocking writing in this interval (and '''OpenSIPS''' wants to send something on it).
to:
tcp_max_msg_time=8

!!!!tcp_no_new_conn_bflag

A branch flag to be used as marker to instruct OpenSIPS not to attempt to open a new TCP connection when delivering a request, but only to reuse an existing one (if available). If no existing conn, a generic send error will be returned.

This is intended to be used in NAT scenarios, where makes no sense to open a TCP connection towards a destination behind a NAT (like TCP connection created during registration was lost, so there is no way to contact the device until it re-REGISTER). Also this can be used to detect when a NATed registered user lost his TCP connection, so that opensips can disable his registration as useless.
Changed lines 1043-1048 from:
tcp_send_timeout=3

!!!!tcp_connect_timeout

Time in seconds before an ongoing blocking attempt to connect will be aborted.
to:
tcp_no_new_conn_bflag = 6
....
route{
....
if( destination_behin_nat && proto==TCP )
setbflag(6);
....
t_relay("0x02"); # no auto error reply
$var(retcode) = $rc;
if ($var(retcode)==-6) {
#send error
xlog("unable to send request to destination");
send_reply("404","Not found");
exit;
} else if ($var(retcode)<0) {
sl_reply_error();
exit;
}
....
}

!!!!tcp_threshold
A number representing the maximum number of microseconds sending of a TCP request is expected to last. Anything above the set number will trigger a warning message to the logging facility.

Default value is 0 ( logging disabled ).
Changed lines 1071-1078 from:
tcp_connect_timeout=5



!!!!tcp_connection_lifetime!!!!

Lifetime in seconds for TCP sessions. TCP sessions which are inactive for >tcp_connection_lifetime will be closed by '''OpenSIPS'''. Default value is defined in tcp_conn.h: #define DEFAULT_TCP_CONNECTION_LIFETIME 120. Setting this value to 0 will close the TCP connection pretty quick ;-). You can also set the TCP lifetime to the expire value of the REGISTER by using the tcp_persistent_flag parameter of the registrar module.
to:
tcp_threshold = 60000

!!!!tcp_keepalive

Enable / disable TCP keepalive
Changed lines 1079-1084 from:
tcp_connection_lifetime=3600

!!!!tcp_max_connections

maximum number of tcp connections (if the number is exceeded no new tcp connections will be accepted). Default is defined in tcp_conn.h: #define DEFAULT_TCP_MAX_CONNECTIONS 2048
to:
tcp_keepalive = 1

!!!!tcp_keepcount

Number of keepalives to send before closing the connection (Linux only)
Changed lines 1087-1092 from:
tcp_max_connections=4096

!!!!tcp_max_msg_chunks

The maximum number of chunks that a SIP message is expected to arrive via TCP. If a packet is received more fragmented than this, the connection is dropped ( either the connection is very overloaded and this leads to high fragmentation - or we are the victim of an ongoing attack where the attacker is sending the traffic very fragmented in order to decrease our performance ). Default value is is 4
to:
tcp_keepcount = 5

!!!!tcp_keepidle

Amount of time before OpenSIPS will start to send keepalives if the connection is idle (Linux only)
Changed lines 1095-1100 from:
tcp_max_msg_chunks=8

!!!!tcp_max_msg_time

The maximum number of seconds that a SIP message is expected to arrive via TCP. If a single SIP packet is still not fully received after this number of seconds, the connection is dropped ( either the connection is very overloaded and this leads to high fragmentation - or we are the victim of an ongoing attack where the attacker is sending the traffic very fragmented in order to decrease our performance ). Default value is is 4
to:
tcp_keepidle = 30

!!!!tcp_keepinterval

Interval between keepalive probes, if the previous one failed (Linux only)
Deleted lines 1102-1171:
tcp_max_msg_time=8

!!!!tcp_no_new_conn_bflag

A branch flag to be used as marker to instruct OpenSIPS not to attempt to open a new TCP connection when delivering a request, but only to reuse an existing one (if available). If no existing conn, a generic send error will be returned.

This is intended to be used in NAT scenarios, where makes no sense to open a TCP connection towards a destination behind a NAT (like TCP connection created during registration was lost, so there is no way to contact the device until it re-REGISTER). Also this can be used to detect when a NATed registered user lost his TCP connection, so that opensips can disable his registration as useless.

Example of usage:

tcp_no_new_conn_bflag = 6
....
route{
....
if( destination_behin_nat && proto==TCP )
setbflag(6);
....
t_relay("0x02"); # no auto error reply
$var(retcode) = $rc;
if ($var(retcode)==-6) {
#send error
xlog("unable to send request to destination");
send_reply("404","Not found");
exit;
} else if ($var(retcode)<0) {
sl_reply_error();
exit;
}
....
}

!!!!tcp_threshold
A number representing the maximum number of microseconds sending of a TCP request is expected to last. Anything above the set number will trigger a warning message to the logging facility.

Default value is 0 ( logging disabled ).

Example of usage:

tcp_threshold = 60000

!!!!tcp_keepalive

Enable / disable TCP keepalive

Example of usage:

tcp_keepalive = 1

!!!!tcp_keepcount

Number of keepalives to send before closing the connection (Linux only)

Example of usage:

tcp_keepcount = 5

!!!!tcp_keepidle

Amount of time before OpenSIPS will start to send keepalives if the connection is idle (Linux only)

Example of usage:

tcp_keepidle = 30

!!!!tcp_keepinterval

Interval between keepalive probes, if the previous one failed (Linux only)

Example of usage:
Deleted lines 1103-1118:

!!!!tcp_crlf_pingpong

Send CRLF pong (\r\n) to incoming CRLFCRLF ping. By default it is enabled (1).

Example of usage:

tcp_crlf_pingpong = 0

!!!!tcp_crlf_drop

Drop CRLF (\r\n) ping messages. By default it is disabled (0).

Example of usage:

tcp_crlf_drop = 1
March 06, 2015, at 03:28 PM by liviu -
Changed line 783 from:
Memory warming is useful when dealing with high volumes of traffic (thousands of cps on multi-core machines - the more cores, the more useful), because processes must mutually exclude themselves when chopping up the initial big memory chunk. By performing fragmentation on startup, OpenSIPS will also behave optimally in the first minute(s) after a restart. Fragmentation usually lasts a few seconds (e.g. ~5 seconds on an 8GB shm pool and 3.4Ghz processor) - traffic will not be processed at all during this period.
to:
Memory warming is useful when dealing with high volumes of traffic (thousands of cps on multi-core machines - the more cores, the more useful), because processes must mutually exclude themselves when chopping up the initial big memory chunk. By performing fragmentation on startup, OpenSIPS will also behave optimally in the first minute(s) after a restart. Fragmentation usually lasts a few seconds (e.g. ~5 seconds on an 8GB shm pool and 3.4Ghz CPU) - traffic will not be processed at all during this period.
March 06, 2015, at 03:28 PM by liviu -
Changed line 783 from:
Memory warming is useful when dealing with high volumes of traffic (thousands of cps on multi-core machines - the more cores, the more useful), because processes must mutually exclude themselves when chopping up the initial big memory chunk. By performing fragmentation on startup, OpenSIPS will also behave optimally in the first minute(s) after a restart. Fragmentation usually lasts a few seconds - OpenSIPS will not process traffic during this period.
to:
Memory warming is useful when dealing with high volumes of traffic (thousands of cps on multi-core machines - the more cores, the more useful), because processes must mutually exclude themselves when chopping up the initial big memory chunk. By performing fragmentation on startup, OpenSIPS will also behave optimally in the first minute(s) after a restart. Fragmentation usually lasts a few seconds (e.g. ~5 seconds on an 8GB shm pool and 3.4Ghz processor) - traffic will not be processed at all during this period.
March 06, 2015, at 03:25 PM by liviu -
Changed line 779 from:
Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc68 | pattern_file ]] from a previous run is found, memory warning is skipped, and the memory allocator simply starts with a big chunk of memory.
to:
Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc68 | pattern_file ]] from a previous run is found, memory warning is skipped, and the memory allocator simply starts with a big chunk of memory, like all other allocators.
March 06, 2015, at 03:16 PM by liviu -
Changed line 805 from:
Default value: CFG_DIR/mem_warming_pattern
to:
Default value: "CFG_DIR/mem_warming_pattern"
March 06, 2015, at 03:16 PM by liviu -
Changed lines 779-780 from:
Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ pattern_file ]] from a previous run is found, memory warning is skipped, and the memory allocator simply starts with a big chunk of memory.
to:
Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc68 | pattern_file ]] from a previous run is found, memory warning is skipped, and the memory allocator simply starts with a big chunk of memory.
Changed lines 790-793 from:
!!!!mem_warming_pattern_file

Default value: CFG_DIR/mem_warming_pattern
to:
!!!!mem_warming_percentage

Default value: 75
Changed lines 796-797 from:
The memory fragmentation pattern of a previous OpenSIPS run. Used at startup, if [[ mem_warming ]] is enabled.
to:
How much of OpenSIPS's memory should be fragmented with the pattern of the previous run, upon a restart. Used at startup, if [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc66 | mem_warming ]] is enabled.
Changed line 800 from:
mem_warming_pattern_file = "/var/tmp/my_memory_pattern"
to:
mem_warming_percentage = 50
Changed lines 803-806 from:
!!!!mem_warming_percentage

Default value: 75
to:
!!!!mem_warming_pattern_file

Default value: CFG_DIR/mem_warming_pattern
Changed lines 809-810 from:
How much of OpenSIPS's memory should be fragmented with the pattern of the previous run, upon a restart. Used at startup, if [[ mem_warming ]] is enabled.
to:
The memory fragmentation pattern of a previous OpenSIPS run. Used at startup, if [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc66 | mem_warming ]] is enabled.
Changed line 813 from:
mem_warming_percentage = 50
to:
mem_warming_pattern_file = "/var/tmp/my_memory_pattern"
March 06, 2015, at 03:14 PM by liviu -
Changed line 787 from:
mem_warming=on
to:
mem_warming = on
Changed lines 800-813 from:
mem_warming_pattern_file="/var/tmp/my_memory_pattern"
to:
mem_warming_pattern_file = "/var/tmp/my_memory_pattern"
@]

!!!!mem_warming_percentage

Default value: 75

\\

How much of OpenSIPS's memory should be fragmented with the pattern of the previous run, upon a restart. Used at startup, if [[ mem_warming ]] is enabled.

Example of usage:
[@
mem_warming_percentage = 50
March 06, 2015, at 03:12 PM by liviu -
Deleted lines 787-799:
@]

!!!!mem_warming_pattern_file

Default value: CFG_DIR/mem_warming_pattern

\\

The memory fragmentation pattern of a previous OpenSIPS run. Used at startup, if [[ mem_warming ]] is enabled.

Example of usage:
[@
mem_warming_pattern_file="/var/tmp/my_memory_pattern"
March 06, 2015, at 03:11 PM by liviu -
Changed lines 783-784 from:
Memory warming is useful when dealing with high volumes of traffic, because processes must mutually exclude themselves when chopping up the initial big memory chunk. By performing fragmentation on startup, OpenSIPS will also behave optimally in the first minute(s) after a restart.
to:
Memory warming is useful when dealing with high volumes of traffic (thousands of cps on multi-core machines - the more cores, the more useful), because processes must mutually exclude themselves when chopping up the initial big memory chunk. By performing fragmentation on startup, OpenSIPS will also behave optimally in the first minute(s) after a restart. Fragmentation usually lasts a few seconds - OpenSIPS will not process traffic during this period.
Added lines 788-813:
@]

!!!!mem_warming_pattern_file

Default value: CFG_DIR/mem_warming_pattern

\\

The memory fragmentation pattern of a previous OpenSIPS run. Used at startup, if [[ mem_warming ]] is enabled.

Example of usage:
[@
mem_warming_pattern_file="/var/tmp/my_memory_pattern"
@]

!!!!mem_warming_pattern_file

Default value: CFG_DIR/mem_warming_pattern

\\

The memory fragmentation pattern of a previous OpenSIPS run. Used at startup, if [[ mem_warming ]] is enabled.

Example of usage:
[@
mem_warming_pattern_file="/var/tmp/my_memory_pattern"
March 06, 2015, at 03:02 PM by liviu -
Changed line 783 from:
Memory warming is useful when dealing with high volumes of traffic, because fragmenting the big chunk of memory is a "critical region" from locking point of view. The initial fragmentation allows the HP allocator to behave optimally in the first minute(s) after a restart.
to:
Memory warming is useful when dealing with high volumes of traffic, because processes must mutually exclude themselves when chopping up the initial big memory chunk. By performing fragmentation on startup, OpenSIPS will also behave optimally in the first minute(s) after a restart.
March 06, 2015, at 02:58 PM by liviu -
Added lines 780-783:

\\

Memory warming is useful when dealing with high volumes of traffic, because fragmenting the big chunk of memory is a "critical region" from locking point of view. The initial fragmentation allows the HP allocator to behave optimally in the first minute(s) after a restart.
March 06, 2015, at 02:46 PM by liviu -
Changed lines 257-269 from:
!!!!mem_warming

Default value: off

\\

Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ pattern_file ]] from a previous run is found, memory warning is skipped, and the memory allocator simply starts with a big chunk of memory.

Example of usage:
[@
mem_warming=on
@]
to:
Added lines 772-784:

!!!!mem_warming

Default value: off

\\

Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ pattern_file ]] from a previous run is found, memory warning is skipped, and the memory allocator simply starts with a big chunk of memory.

Example of usage:
[@
mem_warming=on
@]
March 06, 2015, at 02:45 PM by liviu -
Changed lines 257-268 from:
to:
!!!!mem_warming

Default value: off

\\

Only relevant when the HP_MALLOC compile flag is enabled. If set to "on", on each startup, OpenSIPS will attempt to restore the memory fragmentation pattern it had before the stop/restart. If no [[ pattern_file ]] from a previous run is found, memory warning is skipped, and the memory allocator simply starts with a big chunk of memory.

Example of usage:
[@
mem_warming=on
@]
March 05, 2015, at 02:25 PM by liviu -
Changed line 1234 from:
Only relevant when [[ | log_stderror]] is set to ''true''. Enables the use of the [[ | color variable ]], otherwise they will have no effect.
to:
Only relevant when [[ http://www.opensips.org/Documentation/Script-CoreParameters-3-4#toc63 | log_stderror]] is set to ''true''. Enables the use of the [[ http://www.opensips.org/Documentation/Script-CoreVar-3-4#toc98 | color escape sequences ]], otherwise they will have no effect.
March 05, 2015, at 02:20 PM by liviu -
Added lines 1217-1220:
Default value: 4096

\\
Added lines 1226-1238:
@]

!!!!xlog_force_color

Default value: false

\\

Only relevant when [[ | log_stderror]] is set to ''true''. Enables the use of the [[ | color variable ]], otherwise they will have no effect.

Usage example:
[@
xlog_force_color = true
March 05, 2015, at 02:13 PM by liviu -
Added lines 1213-1221:
@]

!!!!xlog_buf_size

Size of the buffer used to print a single line on the chosen logging facility of OpenSIPS. If the buffer is too small, an overflow error will be printed, and the concerned line will be skipped.

Usage example:
[@
xlog_buf_size = 8388608 #given in bytes
January 29, 2015, at 12:48 PM by 89.120.101.121 -
Changed line 849 from:
The poll method to be used by the I/O internal reactor - by default the best one for the current OS is selected. The available types are: poll, epoll_lt, epoll_et, sigio_rt, select, kqueue, /dev/poll
to:
The poll method to be used by the I/O internal reactor - by default the best one for the current OS is selected. The available types are: poll, epoll_lt, epoll_et, sigio_rt, select, kqueue, /dev/poll .
January 29, 2015, at 12:44 PM by 89.120.101.121 -
Changed lines 847-850 from:
!!!!port

The port the SIP server listens to. The default value for it is 5060.
to:
!!!!poll_method

The poll method to be used by the I/O internal reactor - by default the best one for the current OS is selected. The available types are: poll, epoll_lt, epoll_et, sigio_rt, select, kqueue, /dev/poll
Added lines 853-861:
poll_method=select


!!!!port

The port the SIP server listens to. The default value for it is 5060.

Example of usage:
Deleted lines 1041-1048:

!!!!tcp_poll_method

poll method used (by default the best one for the current OS is selected). For available types see io_wait.c and poll_types.h: none, poll, epoll_lt, epoll_et, sigio_rt, select, kqueue, /dev/poll

Example of usage:

tcp_poll_method=select
January 23, 2015, at 01:31 PM by liviu -
Added line 421:
[@
Added line 423:
@]
January 23, 2015, at 01:30 PM by liviu -
Added lines 411-421:

!!!!db_max_async_connections

Maximum number of TCP connections opened from a single OpenSIPS worker to each individual SQL backend. Default value is 10.

Individual backends are determined from DB URLs as follows:
[ scheme, user, pass, host, port, database ]

Example of usage:

db_max_async_connections=220
December 19, 2014, at 01:50 PM by razvancrainea -
Added lines 1098-1113:

!!!!tcp_crlf_pingpong

Send CRLF pong (\r\n) to incoming CRLFCRLF ping. By default it is enabled (1).

Example of usage:

tcp_crlf_pingpong = 0

!!!!tcp_crlf_drop

Drop CRLF (\r\n) ping messages. By default it is disabled (0).

Example of usage:

tcp_crlf_drop = 1

Page last modified on April 04, 2024, at 03:36 PM