Group PJNATH_CONFIG

group PJNATH_CONFIG

Various compile time settings.

Defines

PJNATH_ERROR_LEVEL

The log level for PJNATH error display.

default 1

PJ_STUN_MAX_ATTR

Maximum number of attributes in the STUN packet (for the new STUN library).

Default: 16

PJ_STUN_RTO_VALUE

The default initial STUN round-trip time estimation (the RTO value in RFC 3489-bis), in miliseconds. This value is used to control the STUN request retransmit time. The initial value of retransmission interval would be set to this value, and will be doubled after each retransmission.

PJ_STUN_TIMEOUT_VALUE

The STUN transaction timeout value, in miliseconds. After the last retransmission is sent and if no response is received after this time, the STUN transaction will be considered to have failed.

The default value is 16x RTO (as per RFC 3489-bis).

PJ_STUN_MAX_TRANSMIT_COUNT

Maximum number of STUN transmission count.

Default: 7 (as per RFC 3489-bis)

PJ_STUN_RES_CACHE_DURATION

Duration to keep response in the cache, in msec.

Default: 10000 (as per RFC 3489-bis)

PJ_STUN_MAX_PKT_LEN

Maximum size of STUN message.

PJ_STUN_PORT

Default STUN port as defined by RFC 3489.

PJ_STUN_STRING_ATTR_PAD_CHR

Padding character for string attributes.

Default: ASCII 0

PJ_STUN_OLD_STYLE_MI_FINGERPRINT

Enable pre-RFC3489bis-07 style of STUN MESSAGE-INTEGRITY and FINGERPRINT calculation. By default this should be disabled since the calculation is not backward compatible with current STUN specification.

PJ_STUN_SOCK_PKT_LEN

The packet buffer size for the STUN transport.

PJ_STUN_KEEP_ALIVE_SEC

The duration of the STUN keep-alive period, in seconds.

PJ_TURN_MAX_DNS_SRV_CNT

Maximum DNS SRV entries to be processed in the DNS SRV response

PJ_TURN_MAX_PKT_LEN

Maximum TURN packet size to be supported.

PJ_TURN_PERM_TIMEOUT

The TURN permission lifetime setting. This value should be taken from the TURN protocol specification.

PJ_TURN_CHANNEL_TIMEOUT

The TURN channel binding lifetime. This value should be taken from the TURN protocol specification.

PJ_TURN_REFRESH_SEC_BEFORE

Number of seconds to refresh the permission/channel binding before the permission/channel binding expires. This value should be greater than PJ_TURN_PERM_TIMEOUT setting.

PJ_TURN_KEEP_ALIVE_SEC

The TURN session timer heart beat interval. When this timer occurs, the TURN session will scan all the permissions/channel bindings to see which need to be refreshed.

PJ_TURN_MAX_TCP_CONN_CNT

Maximum number of TCP data connection to peer(s) that a TURN client can open/accept for each TURN allocation (or TURN control connection).

PJ_ICE_MAX_CAND

Maximum number of ICE candidates.

Default: 16

PJ_ICE_ST_MAX_CAND

Maximum number of candidates for each ICE stream transport component.

Default: 8

PJ_ICE_MAX_STUN

Maximum number of STUN transports for each ICE stream transport component. Valid values are 1 - 64.

Default: 2

PJ_ICE_MAX_TURN

Maximum number of TURN transports for each ICE stream transport component. Valid values are 1 - 64.

Default: 2

PJ_ICE_COMP_BITS

The number of bits to represent component IDs. This will affect the maximum number of components (PJ_ICE_MAX_COMP) value.

PJ_ICE_MAX_COMP

Maximum number of ICE components.

PJNATH_ICE_PRIO_STD

Use the priority value according to the ice-draft.

PJ_ICE_CAND_TYPE_PREF_BITS

The number of bits to represent candidate type preference.

PJ_ICE_LOCAL_PREF_BITS

The number of bits to represent ICE candidate’s local preference. The local preference is used to specify preference among candidates with the same type, and ICE draft suggests 65535 as the default local preference, which means we need 16 bits to represent the value. But since we don’t have the facility to specify local preference, we’ll just disable this feature and let the preference sorted by the type only.

Default: 0

PJ_ICE_MAX_CHECKS

Maximum number of ICE checks.

Default: 32

PJ_ICE_TA_VAL

Default timer interval (in miliseconds) for starting ICE periodic checks.

Default: 20

PJ_ICE_CANCEL_ALL

According to ICE Section 8.2. Updating States, if an In-Progress pair in the check list is for the same component as a nominated pair, the agent SHOULD cease retransmissions for its check if its pair priority is lower than the lowest priority nominated pair for that component.

If a higher priority check is In Progress, this rule would cause that check to be performed even when it most likely will fail.

The macro here controls if ICE session should cancel all In Progress checks for the same component regardless of its priority.

Default: 1 (yes, cancel all)

ICE_CONTROLLED_AGENT_WAIT_NOMINATION_TIMEOUT

For a controlled agent, specify how long it wants to wait (in milliseconds) for the controlling agent to complete sending connectivity check with nominated flag set to true for all components after the controlled agent has found that all connectivity checks in its checklist have been completed and there is at least one successful (but not nominated) check for every component.

When selecting the value, bear in mind that the connectivity check from controlling agent may be delayed because of delay in receiving SDP answer from the controlled agent.

Application may set this value to -1 to disable this timer.

Default: 10000 (milliseconds)

PJ_ICE_NOMINATED_CHECK_DELAY

For controlling agent if it uses regular nomination, specify the delay to perform nominated check (connectivity check with USE-CANDIDATE attribute) after all components have a valid pair.

Default: 4*PJ_STUN_RTO_VALUE (milliseconds)

PJ_ICE_SESS_KEEP_ALIVE_MIN

Minimum interval value to be used for sending STUN keep-alive on the ICE session, in seconds. This minimum interval, plus a random value which maximum is PJ_ICE_SESS_KEEP_ALIVE_MAX_RAND, specify the actual interval of the STUN keep-alive.

Default: 15 seconds

PJ_ICE_SESS_KEEP_ALIVE_MAX_RAND

To prevent STUN keep-alives to be sent simultaneously, application should add random interval to minimum interval (PJ_ICE_SESS_KEEP_ALIVE_MIN). This setting specifies the maximum random value to be added to the minimum interval, in seconds.

Default: 5 seconds

PJ_ICE_UFRAG_LEN

This constant specifies the length of random string generated for ICE ufrag.

Default: 8 (characters)

PJ_ICE_PWD_LEN

This constant specifies the length of random string generated for ICE password.

Default: 24 (characters)

PJ_ICE_ST_USE_TURN_PERMANENT_PERM

This constant specifies whether ICE stream transport should allow TURN client session to automatically renew permission for all remote candidates.

Default: PJ_FALSE

PJ_TRICKLE_ICE_END_OF_CAND_TIMEOUT

For trickle ICE, this macro specifies the maximum time of waiting for end-of-candidates indication from remote once ICE connectivity checks is started, in seconds. When the timer expires, ICE will assume that end-of-candidates indication is received so any further remote candidate update will be ignored.

Note that without remote end-of-candidates indication, ICE will not be able to conclude that the ICE negotiation has failed when all pair checks are completed but there is no valid pair (on the other hand, the ICE negotiation may be completed as successful before the end-of-candidates indication is received when valid pairs are found very quickly).

Also note that the ICE connectivity checks should only be started after both agents have started trickling ICE candidates (e.g: both have sent their SDPs, either via normal SDP offer/answer or SIP INFO).

Default: 40 seconds.

PJNATH_POOL_LEN_ICE_SESS

ICE session pool initial size.

PJNATH_POOL_INC_ICE_SESS

ICE session pool increment size

PJNATH_POOL_LEN_ICE_STRANS

ICE stream transport pool initial size.

PJNATH_POOL_INC_ICE_STRANS

ICE stream transport pool increment size

PJNATH_POOL_LEN_NATCK

NAT detect pool initial size

PJNATH_POOL_INC_NATCK

NAT detect pool increment size

PJNATH_POOL_LEN_STUN_SESS

STUN session pool initial size

PJNATH_POOL_INC_STUN_SESS

STUN session pool increment size

PJNATH_POOL_LEN_STUN_TDATA

STUN session transmit data pool initial size

PJNATH_POOL_INC_STUN_TDATA

STUN session transmit data pool increment size

PJNATH_POOL_LEN_TURN_SESS

TURN session initial pool size

PJNATH_POOL_INC_TURN_SESS

TURN session pool increment size

PJNATH_POOL_LEN_TURN_SOCK

TURN socket initial pool size

PJNATH_POOL_INC_TURN_SOCK

TURN socket pool increment size

PJNATH_MAKE_SW_NAME(a, b, c, d)

Default STUN software name Create STUN software name

PJNATH_MAKE_SW_NAME2(a, b, c, d)

Create STUN software name

PJNATH_STUN_SOFTWARE_NAME

Default STUN software name

PJ_UPNP_DEFAULT_SEARCH_TIME

Default duration for searching UPnP Internet Gateway Devices (in seconds). Default: 5 seconds