#include <account.hpp>
Account's NAT (Network Address Translation) settings. This will be specified in AccountConfig.
◆ AccountNatConfig()
pj::AccountNatConfig::AccountNatConfig |
( |
| ) |
|
|
inline |
◆ readObject()
virtual void pj::AccountNatConfig::readObject |
( |
const ContainerNode & |
node | ) |
|
throw | ( | Error |
| ) | | |
|
virtual |
Read this object from a container node.
- Parameters
-
node | Container to read values from. |
Implements pj::PersistentObject.
◆ writeObject()
virtual void pj::AccountNatConfig::writeObject |
( |
ContainerNode & |
node | ) |
const |
throw | ( | Error |
| ) | | |
|
virtual |
Write this object to a container node.
- Parameters
-
node | Container to write values to. |
Implements pj::PersistentObject.
◆ sipStunUse
Control the use of STUN for the SIP signaling.
Default: PJSUA_STUN_USE_DEFAULT
◆ mediaStunUse
Control the use of STUN for the media transports.
Default: PJSUA_STUN_USE_DEFAULT
◆ sipUpnpUse
Control the use of UPnP for the SIP signaling.
Default: PJSUA_UPNP_USE_DEFAULT
◆ mediaUpnpUse
Control the use of UPnP for the media transports.
Default: PJSUA_UPNP_USE_DEFAULT
◆ nat64Opt
Specify NAT64 options.
Default: PJSUA_NAT64_DISABLED
◆ iceEnabled
bool pj::AccountNatConfig::iceEnabled |
Enable ICE for the media transport.
Default: False
◆ iceTrickle
Set trickle ICE mode for ICE media transport.
Default: PJ_ICE_SESS_TRICKLE_DISABLED
◆ iceMaxHostCands
int pj::AccountNatConfig::iceMaxHostCands |
Set the maximum number of ICE host candidates.
Default: -1 (maximum not set)
◆ iceAggressiveNomination
bool pj::AccountNatConfig::iceAggressiveNomination |
Specify whether to use aggressive nomination.
Default: True
◆ iceNominatedCheckDelayMsec
unsigned pj::AccountNatConfig::iceNominatedCheckDelayMsec |
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 value is PJ_ICE_NOMINATED_CHECK_DELAY.
◆ iceWaitNominationTimeoutMsec
int pj::AccountNatConfig::iceWaitNominationTimeoutMsec |
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.
Default value for this option is ICE_CONTROLLED_AGENT_WAIT_NOMINATION_TIMEOUT. Specify -1 to disable this timer.
◆ iceNoRtcp
bool pj::AccountNatConfig::iceNoRtcp |
Disable RTCP component.
Default: False
◆ iceAlwaysUpdate
bool pj::AccountNatConfig::iceAlwaysUpdate |
Always send re-INVITE/UPDATE after ICE negotiation regardless of whether the default ICE transport address is changed or not. When this is set to False, re-INVITE/UPDATE will be sent only when the default ICE transport address is changed.
Default: yes
◆ turnEnabled
bool pj::AccountNatConfig::turnEnabled |
Enable TURN candidate in ICE.
◆ turnServer
string pj::AccountNatConfig::turnServer |
Specify TURN domain name or host name, in in "DOMAIN:PORT" or "HOST:PORT" format.
◆ turnConnType
Specify the connection type to be used to the TURN server. Valid values are PJ_TURN_TP_UDP or PJ_TURN_TP_TCP.
Default: PJ_TURN_TP_UDP
◆ turnUserName
string pj::AccountNatConfig::turnUserName |
Specify the username to authenticate with the TURN server.
◆ turnPasswordType
int pj::AccountNatConfig::turnPasswordType |
Specify the type of password. Currently this must be zero to indicate plain-text password will be used in the password.
◆ turnPassword
string pj::AccountNatConfig::turnPassword |
Specify the password to authenticate with the TURN server.
◆ contactRewriteUse
int pj::AccountNatConfig::contactRewriteUse |
This option is used to update the transport address and the Contact header of REGISTER request. When this option is enabled, the library will keep track of the public IP address from the response of REGISTER request. Once it detects that the address has changed, it will unregister current Contact, update the Contact with transport address learned from Via header, and register a new Contact to the registrar. This will also update the public name of UDP transport if STUN is configured.
See also contactRewriteMethod field.
Default: 1 (PJ_TRUE / yes)
◆ contactRewriteMethod
int pj::AccountNatConfig::contactRewriteMethod |
Specify how Contact update will be done with the registration, if contactRewriteEnabled is enabled. The value is bitmask combination of pjsua_contact_rewrite_method. See also pjsua_contact_rewrite_method.
Value PJSUA_CONTACT_REWRITE_UNREGISTER(1) is the legacy behavior.
Default value: PJSUA_CONTACT_REWRITE_METHOD (PJSUA_CONTACT_REWRITE_NO_UNREG | PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE)
◆ contactUseSrcPort
int pj::AccountNatConfig::contactUseSrcPort |
Specify if source TCP port should be used as the initial Contact address if TCP/TLS transport is used. Note that this feature will be automatically turned off when nameserver is configured because it may yield different destination address due to DNS SRV resolution. Also some platforms are unable to report the local address of the TCP socket when it is still connecting. In these cases, this feature will also be turned off.
Default: 1 (PJ_TRUE / yes).
◆ viaRewriteUse
int pj::AccountNatConfig::viaRewriteUse |
This option is used to overwrite the "sent-by" field of the Via header for outgoing messages with the same interface address as the one in the REGISTER request, as long as the request uses the same transport instance as the previous REGISTER request.
Default: 1 (PJ_TRUE / yes)
◆ sdpNatRewriteUse
int pj::AccountNatConfig::sdpNatRewriteUse |
This option controls whether the IP address in SDP should be replaced with the IP address found in Via header of the REGISTER response, ONLY when STUN and ICE are not used. If the value is FALSE (the original behavior), then the local IP address will be used. If TRUE, and when STUN and ICE are disabled, then the IP address found in registration response will be used.
Default: PJ_FALSE (no)
◆ sipOutboundUse
int pj::AccountNatConfig::sipOutboundUse |
Control the use of SIP outbound feature. SIP outbound is described in RFC 5626 to enable proxies or registrar to send inbound requests back to UA using the same connection initiated by the UA for its registration. This feature is highly useful in NAT-ed deployemtns, hence it is enabled by default.
Note: currently SIP outbound can only be used with TCP and TLS transports. If UDP is used for the registration, the SIP outbound feature will be silently ignored for the account.
Default: 1 (PJ_TRUE / yes)
◆ sipOutboundInstanceId
string pj::AccountNatConfig::sipOutboundInstanceId |
Specify SIP outbound (RFC 5626) instance ID to be used by this account. If empty, an instance ID will be generated based on the hostname of this agent. If application specifies this parameter, the value will look like "<urn:uuid:00000000-0000-1000-8000-AABBCCDDEEFF>" without the double-quotes.
Default: empty
◆ sipOutboundRegId
string pj::AccountNatConfig::sipOutboundRegId |
Specify SIP outbound (RFC 5626) registration ID. The default value is empty, which would cause the library to automatically generate a suitable value.
Default: empty
◆ udpKaIntervalSec
unsigned pj::AccountNatConfig::udpKaIntervalSec |
Set the interval for periodic keep-alive transmission for this account. If this value is zero, keep-alive will be disabled for this account. The keep-alive transmission will be sent to the registrar's address, after successful registration.
Default: 15 (seconds)
◆ udpKaData
string pj::AccountNatConfig::udpKaData |
Specify the data to be transmitted as keep-alive packets.
Default: CR-LF
The documentation for this struct was generated from the following file: