Group PJSIP_TRANSPORT_TLS

group PJSIP_TRANSPORT_TLS

API to create and register TLS transport.

The functions below are used to create TLS transport and register the transport to the framework.

Defines

PJSIP_SSL_DEFAULT_METHOD

The default SSL method to be used by PJSIP. Default is PJSIP_TLSV1_METHOD

Enums

enum pjsip_ssl_method

SSL protocol method constants.

Values:

enumerator PJSIP_SSL_UNSPECIFIED_METHOD

Default protocol method.

enumerator PJSIP_TLSV1_METHOD

Use SSLv1 method.

enumerator PJSIP_SSLV2_METHOD

Use SSLv2 method.

enumerator PJSIP_SSLV3_METHOD

Use SSLv3 method.

enumerator PJSIP_SSLV23_METHOD

Use SSLv23 method.

Functions

void pjsip_tls_setting_default(pjsip_tls_setting *tls_opt)

Initialize TLS setting with default values.

Parameters

tls_opt – The TLS setting to be initialized.

void pjsip_tls_setting_copy(pj_pool_t *pool, pjsip_tls_setting *dst, const pjsip_tls_setting *src)

Copy TLS setting.

Parameters
  • pool – The pool to duplicate strings etc.

  • dst – Destination structure.

  • src – Source structure.

pj_status_t pjsip_tls_transport_start(pjsip_endpoint *endpt, const pjsip_tls_setting *opt, const pj_sockaddr_in *local, const pjsip_host_port *a_name, unsigned async_cnt, pjsip_tpfactory **p_factory)

Register support for SIP TLS transport by creating TLS listener on the specified address and port. This function will create an instance of SIP TLS transport factory and register it to the transport manager.

Parameters
  • endpt – The SIP endpoint.

  • opt – Optional TLS settings.

  • local – Optional local address to bind, or specify the address to bind the server socket to. Both IP interface address and port fields are optional. If IP interface address is not specified, socket will be bound to PJ_INADDR_ANY. If port is not specified, socket will be bound to any port selected by the operating system.

  • a_name – Optional published address, which is the address to be advertised as the address of this SIP transport. If this argument is NULL, then the bound address will be used as the published address.

  • async_cnt – Number of simultaneous asynchronous accept() operations to be supported. It is recommended that the number here corresponds to the number of processors in the system (or the number of SIP worker threads).

  • p_factory – Optional pointer to receive the instance of the SIP TLS transport factory just created.

Returns

PJ_SUCCESS when the transport has been successfully started and registered to transport manager, or the appropriate error code.

struct pjsip_tls_setting
#include <sip_transport_tls.h>

TLS transport settings.

struct pjsip_tls_state_info
#include <sip_transport_tls.h>

This structure defines TLS transport extended info in ext_info field of pjsip_transport_state_info for the transport state notification callback pjsip_tp_state_callback.