pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication
Loading

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

Home --> Documentations --> PJSIP Reference

pjsip_tls_setting Struct Reference
[TLS Transport]

#include <sip_transport_tls.h>

Data Fields

pj_str_t ca_list_file
pj_str_t cert_file
pj_str_t privkey_file
pj_str_t password
int method
pj_str_t ciphers
pj_str_t server_name
pj_bool_t verify_server
pj_bool_t verify_client
pj_bool_t require_client_cert
pj_time_val timeout
pj_qos_type qos_type
pj_qos_params qos_params
pj_bool_t qos_ignore_error

Detailed Description

TLS transport settings.


Field Documentation

Certificate of Authority (CA) list file.

Public endpoint certificate file, which will be used as client- side certificate for outgoing TLS connection, and server-side certificate for incoming TLS connection.

Optional private key of the endpoint certificate to be used.

Password to open private key.

TLS protocol method from pjsip_ssl_method, which can be:

  • PJSIP_SSL_UNSPECIFIED_METHOD(0): default (which will use PJSIP_SSL_DEFAULT_METHOD)
  • PJSIP_TLSV1_METHOD(1): TLSv1
  • PJSIP_SSLV2_METHOD(2): SSLv2
  • PJSIP_SSLV3_METHOD(3): SSL3
  • PJSIP_SSLV23_METHOD(23): SSL23

Default is PJSIP_SSL_UNSPECIFIED_METHOD (0), which in turn will use PJSIP_SSL_DEFAULT_METHOD, which default value is PJSIP_TLSV1_METHOD.

TLS cipher list string in OpenSSL format. If empty, then default cipher list of the backend will be used.

Optionally specify the server name instance to be contacted when making outgoing TLS connection. This setting is useful when the server is hosting multiple domains for the same TLS listening socket.

Default: empty.

Specifies TLS transport behavior on the server TLS certificate verification result:

  • If verify_server is disabled (set to PJ_FALSE), TLS transport will just notify the application via pjsip_tp_state_callback with state PJSIP_TP_STATE_CONNECTED regardless TLS verification result.
  • If verify_server is enabled (set to PJ_TRUE), TLS transport will be shutdown and application will be notified with state PJSIP_TP_STATE_DISCONNECTED whenever there is any TLS verification error, otherwise PJSIP_TP_STATE_CONNECTED will be notified.

In any cases, application can inspect pjsip_tls_state_info in the callback to see the verification detail.

Default value is PJ_FALSE.

Specifies TLS transport behavior on the client TLS certificate verification result:

  • If verify_client is disabled (set to PJ_FALSE), TLS transport will just notify the application via pjsip_tp_state_callback with state PJSIP_TP_STATE_CONNECTED regardless TLS verification result.
  • If verify_client is enabled (set to PJ_TRUE), TLS transport will be shutdown and application will be notified with state PJSIP_TP_STATE_DISCONNECTED whenever there is any TLS verification error, otherwise PJSIP_TP_STATE_CONNECTED will be notified.

In any cases, application can inspect pjsip_tls_state_info in the callback to see the verification detail.

Default value is PJ_FALSE.

When acting as server (incoming TLS connections), reject inocming connection if client doesn't supply a TLS certificate.

This setting corresponds to SSL_VERIFY_FAIL_IF_NO_PEER_CERT flag. Default value is PJ_FALSE.

TLS negotiation timeout to be applied for both outgoing and incoming connection. If both sec and msec member is set to zero, the SSL negotiation doesn't have a timeout.

QoS traffic type to be set on this transport. When application wants to apply QoS tagging to the transport, it's preferable to set this field rather than qos_param fields since this is more portable.

Default value is PJ_QOS_TYPE_BEST_EFFORT.

Set the low level QoS parameters to the transport. This is a lower level operation than setting the qos_type field and may not be supported on all platforms.

By default all settings in this structure are disabled.

Specify if the transport should ignore any errors when setting the QoS traffic type/parameters.

Default: PJ_TRUE


The documentation for this struct was generated from the following file:

 


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