WARNING: The online documentation has moved to https://docs.pjsip.org.

Visit the new documentation at https://docs.pjsip.org:

BLOG | DOCUMENTATION | GITHUB

Home --> Documentations --> PJSIP Reference

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

Data Structures

struct  pjsip_tls_setting
struct  pjsip_tls_state_info

Defines

#define PJSIP_SSL_DEFAULT_METHOD   PJSIP_TLSV1_METHOD

Enumerations

enum  pjsip_ssl_method {
  PJSIP_SSL_UNSPECIFIED_METHOD = 0, PJSIP_TLSV1_METHOD = 31, PJSIP_SSLV2_METHOD = 20, PJSIP_SSLV3_METHOD = 30,
  PJSIP_SSLV23_METHOD = 23
}

Functions

void pjsip_tls_setting_default (pjsip_tls_setting *tls_opt)
void pjsip_tls_setting_copy (pj_pool_t *pool, pjsip_tls_setting *dst, const pjsip_tls_setting *src)
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)

Define Documentation

#define PJSIP_SSL_DEFAULT_METHOD   PJSIP_TLSV1_METHOD

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


Enumeration Type Documentation

SSL protocol method constants.

Enumerator:
PJSIP_SSL_UNSPECIFIED_METHOD 

Default protocol method.

PJSIP_TLSV1_METHOD 

Use SSLv1 method.

PJSIP_SSLV2_METHOD 

Use SSLv2 method.

PJSIP_SSLV3_METHOD 

Use SSLv3 method.

PJSIP_SSLV23_METHOD 

Use SSLv23 method.


Function Documentation

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.

References PJ_INLINE, pj_memset(), and PJ_QOS_TYPE_BEST_EFFORT.

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.

References PJ_INLINE, pj_memcpy(), pj_pool_calloc(), and pj_strdup_with_null().

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.

 


PJSIP Open Source, high performance, small footprint, and very very portable SIP stack
Copyright (C) 2006-2008 Teluu Inc.