= (Re)Design of PJSUA API = == Global == === Base setting === Global settings: 1. Nameservers 1. Max calls 1. SIP worker thread count 1. Outbound proxies 1. Outbound proxy credentials 1. STUN settings: a. Domain a. Host 1. Put NAT type in outgoing SDP 1. Default extension: a. 100rel 1. User agent string 1. Default SRTP settings === Logging Config === Logging config: 1. Enable SIP message logging 1. Input verbosity level 1. Console output verbosity level 1. Decoration 1. Log file name 1. Logging callback == Accounts == === Account Properties === Account settings: 1. General: a. Account priority 1. SIP settings: a. SIP AOR for this account a. Registration settings: i. Registrar URI i. Credentials (realm, username, password) i. Registration timeout a. Transport settings i. Enable STUN i. Keep-alive setting i. Pre-loaded route set i. Disable registration contact auto update a. Presence settings i. Enable PUBLISH i. Optional PIDF tuple ID a. SIP extensions: i. Enable 100rel i. authentication preference (IMS) 1. Media settings: a. STUN setting: i. Enable STUN a. TURN setting: i. Enable TURN (when enabled and ICE is not used, TURN transport will override all transports) i. Server address/domain i. Credential (realm, username, password) i. Client transport type {UDP/TCP/TLS} i. TLS certificate setting i. Keep-alive interval for UDP i. Keep-alive interval for TCP/TLS a. Enable ICE a. Enable RTCP a. SRTP i. Enable SRTP i. SRTP secure signaling requirement a. Codec settings i. Codec priorities i. Quality settings