Defines | Typedefs | Enumerations | Variables

sofia-sip/tport_tag.h File Reference

Tags for tport module. More...

#include <sofia-sip/su_tag.h>
Include dependency graph for tport_tag.h:

Go to the source code of this file.

Defines

#define TPORT_TAG_H
 Defined when <sofia-sip/tport_tag.h> has been included.
#define TPTAG_ANY()
 Filter tag matching any tport tag.
#define TPTAG_IDENT(x)
 Identify a transport interface.
#define TPTAG_REUSE(x)
 Allow reusing transport connection (true by default).
#define TPTAG_FRESH(x)
 Create new connection (but allow other messages to reuse the new one).
#define TPTAG_SERVER(x)
 Bind server sockets (true by default, disable with TPTAG_SERVER(0)).
#define TPTAG_PUBLIC(x)
 Define how the public transport connects to Internet.
#define TPTAG_MTU(x)
 Specify MTU.
#define TPTAG_CONNECT(x)
 Specify that tport must always use connections (even with UDP).
#define TPTAG_QUEUESIZE(x)
 Specify the number of messages that can be queued per connection.
#define TPTAG_SDWN_ERROR(x)
 If true, half close of a connection by remote is considered as an error.
#define TPTAG_SDWN_AFTER(x)
 Half-close (shutdown(c, 1)) after sending the message.
#define TPTAG_CLOSE_AFTER(x)
 Close of a connection after sending the message.
#define TPTAG_IDLE(x)
 How long transports may be idle (value in milliseconds).
#define TPTAG_TIMEOUT(x)
 Timeout for incomplete incoming message (value in milliseconds).
#define TPTAG_KEEPALIVE(x)
 Keepalive interval in milliseconds.
#define TPTAG_PINGPONG(x)
 Ping-pong interval in milliseconds.
#define TPTAG_PONG2PING(x)
 Respond PING with PONG.
#define TPTAG_SIGCOMP_LIFETIME(x)
 Default SigComp lifetime in seconds.
#define TPTAG_COMPARTMENT(x)
 Pointer to SigComp compartment.
#define TPTAG_CERTIFICATE(x)
 Path to the public key certificate directory.
#define TPTAG_TLS_VERSION(x)
 Sets the TLS version (version 0 implies SSL2/SSL3).
#define TPTAG_TLS_PASSPHRASE(x)
 Sets the passphrase password to be used by openSSL to encrypt/decrypt private key files.
#define TPTAG_TLS_VERIFY_POLICY(x)
 The verification of certificates can be controlled:
#define TPTAG_TLS_VERIFY_DEPTH(x)
 Define the maximum length of a valid certificate chain.
#define TPTAG_TLS_VERIFY_DATE(x)
 Enable/Disable verification of notBefore and notAfter parameters of X.509 Certificates.
#define TPTAG_TLS_VERIFY_SUBJECTS(x)
 Incoming TLS connections must provide a trusted X.509 certificate.
#define TPTAG_TLS_VERIFY_PEER(x)
#define TPTAG_DEBUG_DROP(x)
 Sets the drop propability for incoming/outgoing packets.
#define TPTAG_UDP_RMEM(x)
 Sets the maximum receive buffer in bytes for primary UDP socket.
#define TPTAG_UDP_WMEM(x)
 Sets the maximum send buffer in bytes for primary UDP socket.
#define TPTAG_THRPSIZE(x)
 Determines the number of threads in the pool.
#define TPTAG_THRPRQSIZE(x)
 Length of per-thread receive queue (as messages).
#define TPTAG_HTTP_CONNECT(x)
 Specify that tport can use HTTP connect method.
#define TPTAG_STUN_SERVER(x)
 Enable STUN server.
#define TPTAG_TOS(x)
 Sets the IP TOS for the socket.
#define TPTAG_LOG(x)
 If set, print out parsed or sent messages at transport layer.
#define TPTAG_DUMP(x)
 Filename for dumping unparsed messages from transport.

Typedefs

typedef enum tport_via tport_pri_type_t
 Define how the public transport connects to Internet.

Enumerations

enum  tport_via
 

Define how the public transport connects to Internet.

More...

Variables

TPORT_DLL tagi_t tport_tag_list []
 List of all tport tags.
TPORT_DLL tagi_t tport_tags []
 Filter list matching any tport tag.

Detailed Description

Tags for tport module.

Author:
Pekka Pessi <Pekka.Pessi@nokia-email.address.hidden>
Date:
Created: Sat Oct 12 18:39:48 2002 ppessi

Define Documentation

#define TPORT_TAG_H

Defined when <sofia-sip/tport_tag.h> has been included.

#define TPTAG_ANY (  ) 

Filter tag matching any tport tag.

#define TPTAG_CERTIFICATE (   x  ) 

Path to the public key certificate directory.

Use with tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_CLOSE_AFTER (   x  ) 

Close of a connection after sending the message.

Use with tport_tsend(), nta_outgoing_tcreate(), nta_outgoing_mcreate(), or nth_client_tcreate().

#define TPTAG_COMPARTMENT (   x  ) 

Pointer to SigComp compartment.

Note:
Not used.
#define TPTAG_CONNECT (   x  ) 

Specify that tport must always use connections (even with UDP).

Note:
Unimplemented (?).

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_DEBUG_DROP (   x  ) 

Sets the drop propability for incoming/outgoing packets.

The incoming/outgoing packets are dropped with the given probablity (in the range 0..1000) on unreliable transports.

This is a parameter suitable for debugging only.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_DUMP (   x  ) 

Filename for dumping unparsed messages from transport.

Use with tport_tcreate(), nta_agent_create(), nua_create(), nth_engine_create(), or initial nth_site_create().

See also:
TPORT_DUMP environment variable, TPTAG_LOG().
Since:
New in 1.12.5.
#define TPTAG_FRESH (   x  ) 

Create new connection (but allow other messages to reuse the new one).

Use with tport_tsend(), nta_outgoing_tcreate(), nta_outgoing_mcreate(), or nth_client_tcreate().

#define TPTAG_HTTP_CONNECT (   x  ) 

Specify that tport can use HTTP connect method.

Use with tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_IDENT (   x  ) 

Identify a transport interface.

Use with tport_tbind(), tport_tsend(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nta_outgoing_tcreate(), nta_outgoing_mcreate(), nth_engine_create(), nth_client_tcreate(), or initial nth_site_create().

#define TPTAG_IDLE (   x  ) 

How long transports may be idle (value in milliseconds).

If 0, zap immediately, if UINT_MAX, leave them there (default value for now).

Use With
tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().
#define TPTAG_KEEPALIVE (   x  ) 

Keepalive interval in milliseconds.

If 0 or UINT_MAX, do not use keepalives. Default value is 0.

On TCP, the keepalive if a CR-LF-CR-LF sequence.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

See also:
TPTAG_PINGPONG(), TPTAG_PONG2PING(), TPTAG_TIMEOUT(), TPTAG_IDLE()
Since:
New in 1.12.7.
#define TPTAG_LOG (   x  ) 

If set, print out parsed or sent messages at transport layer.

Use with tport_tcreate(), nua_create(), nta_agent_create(), nth_engine_create(), or initial nth_site_create().

See also:
TPORT_LOG environment variable, TPTAG_DUMP()
Since:
New in 1.12.5.
#define TPTAG_MTU (   x  ) 
#define TPTAG_PINGPONG (   x  ) 

Ping-pong interval in milliseconds.

If 0 or UINT_MAX, do not check for PONGs. Default value is 0.

If set, the ping-pong protocol is used on TCP connections. If pinger sends a ping and receives no data in the specified ping-pong interval, it considers the connection failed and closes it. The value recommended in draft-ietf-sip-outbound-10 is 10 seconds (10000 milliseconds).

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

See also:
TPTAG_PONG2PING(), TPTAG_KEEPALIVE(), TPTAG_TIMEOUT(), TPTAG_IDLE(), draft-ietf-sip-outbound-10.txt
Since:
New in 1.12.7.
#define TPTAG_PONG2PING (   x  ) 

Respond PING with PONG.

If true, respond with PONG to PING. Default value is 0 (false).

If set, the ping-pong protocol is used on TCP connections. If a ping (at least 4 whitespace characters) is received between messages, a pong (CR-LF) is sent in response.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

See also:
TPTAG_PINGPONG(), TPTAG_KEEPALIVE(), TPTAG_TIMEOUT(), TPTAG_IDLE()
Since:
New in 1.12.7.
#define TPTAG_PUBLIC (   x  ) 

Define how the public transport connects to Internet.

Use with tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

See also:
TPTAG_PUBLIC(), tport_is_public().
#define TPTAG_QUEUESIZE (   x  ) 

Specify the number of messages that can be queued per connection.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_REUSE (   x  ) 

Allow reusing transport connection (true by default).

Use with tport_tcreate(), tport_tbind(), tport_set_params(), tport_tsend(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nta_outgoing_tcreate(), nta_outgoing_mcreate(), nth_engine_create(), nth_client_tcreate(), or initial nth_site_create().

#define TPTAG_SDWN_AFTER (   x  ) 

Half-close (shutdown(c, 1)) after sending the message.

Use with tport_tsend(), nta_outgoing_tcreate(), nta_outgoing_mcreate(), or nth_client_tcreate().

#define TPTAG_SDWN_ERROR (   x  ) 

If true, half close of a connection by remote is considered as an error.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_SERVER (   x  ) 

Bind server sockets (true by default, disable with TPTAG_SERVER(0)).

Use with tport_tbind().

#define TPTAG_SIGCOMP_LIFETIME (   x  ) 

Default SigComp lifetime in seconds.

If value is UINT_MAX, keep SigComp compartments around for ever.

Note:
Experimental.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_STUN_SERVER (   x  ) 

Enable STUN server.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_THRPRQSIZE (   x  ) 

Length of per-thread receive queue (as messages).

This is a parameter suitable for tuning.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_THRPSIZE (   x  ) 

Determines the number of threads in the pool.

The thread pools can have multiple threads receiving, uncompressing, parsing, compressing, and sending messages.

This is a parameter suitable for tuning.

Note:
Thread pools are currently broken.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_TIMEOUT (   x  ) 

Timeout for incomplete incoming message (value in milliseconds).

If UINT_MAX, leave the incomplete messages there for ever. Default value for now is UINT_MAX.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_TLS_PASSPHRASE (   x  ) 

Sets the passphrase password to be used by openSSL to encrypt/decrypt private key files.

Since:
New in 1.12.11.
#define TPTAG_TLS_VERIFY_DATE (   x  ) 

Enable/Disable verification of notBefore and notAfter parameters of X.509 Certificates.

Default
Enabled
Values
  • 0 - Disable date verification.
  • Non-Zero - Enable date verification.
Used with
tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().
Parameter Type:
unsigned int
Note
This tag should be only used on devices which lack accurate timekeeping.
Since:
New in 1.12.11.
#define TPTAG_TLS_VERIFY_DEPTH (   x  ) 

Define the maximum length of a valid certificate chain.

Default
2
Used with
tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().
Parameter Type:
unsigned int
Since:
New in 1.12.11.
#define TPTAG_TLS_VERIFY_PEER (   x  ) 
Depreciated:
Alias for TPTAG_TLS_VERIFY_POLICY(TPTLS_VERIFY_IN|TPTLS_VERIFY_OUT)
Since:
New in 1.12.10.
#define TPTAG_TLS_VERIFY_POLICY (   x  ) 

The verification of certificates can be controlled:

Values:
  • TPTLS_VERIFY_NONE: Do not verify Peer Certificates.
  • TPTLS_VERIFY_IN: Drop incoming connections which fail signature verification against trusted certificate authorities. Peers must provide a certificate during the initial TLS Handshake.
  • TPTLS_VERIFY_OUT: Drop outgoing connections which fail signature verification against trusted certificate authorities.
  • TPTLS_VERIFY_ALL: Alias for (TPTLS_VERIFY_IN|TPTLS_VERIFY_OUT)
  • TPTLS_VERIFY_SUBJECTS_IN: Match the certificate subject on incoming connections against a provided list. If no match is found, the connection is rejected. If no list is provided, subject checking is bypassed. Note: Implies TPTLS_VERIFY_IN.
  • TPTLS_VERIFY_SUBJECTS_OUT: Match the certificate subject on outgoing connections against a provided list. If no match is found, the connection is rejected. Note: Implies TPTLS_VERIFY_OUT.
  • TPTLS_VERIFY_SUBJECTS_ALL: Alias for (TPTLS_VERIFY_SUBJECTS_IN|TPTLS_VERIFY_SUBJECTS_OUT)
Used with
tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), initial nth_site_create(), TPTAG_TLS_VERIFY_SUBJECTS(), TPTAG_TLS_VERIFY_DEPTH().
Since:
New in 1.12.11.
#define TPTAG_TLS_VERIFY_SUBJECTS (   x  ) 

Incoming TLS connections must provide a trusted X.509 certificate.

The character strings provided with this tag are matched against the subjects from the trusted certificate. If a match is not found, the connection is automatically rejected.

Used with
tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), initial nth_site_create(), TPTLS_VERIFY_SUBJECTS_IN
Parameter Type:
void const * (actually su_strlst_t const *)
Values
Since:
New in 1.12.11.
#define TPTAG_TLS_VERSION (   x  ) 

Sets the TLS version (version 0 implies SSL2/SSL3).

Use with tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_TOS (   x  ) 

Sets the IP TOS for the socket.

Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

Since:
New in 1.12.5.
#define TPTAG_UDP_RMEM (   x  ) 

Sets the maximum receive buffer in bytes for primary UDP socket.

This is a parameter suitable for tuning.

On Linux systems, the default value for receive buffer is set with the sysctl "net.core.rmem_default", and the maximum value is set with the sysctl "net.core.rmem_max".

Use with tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().

#define TPTAG_UDP_WMEM (   x  ) 

Sets the maximum send buffer in bytes for primary UDP socket.

This is a parameter suitable for tuning.

On Linux systems, the default value for receive buffer is set with the sysctl "net.core.wmem_default", and the maximum value is set with the sysctl "net.core.wmem_max".

Use with tport_tbind(), nua_create(), nta_agent_create(), nta_agent_add_tport(), nth_engine_create(), or initial nth_site_create().


Typedef Documentation

Define how the public transport connects to Internet.

See also:
TPTAG_PUBLIC(), tport_is_public().

Enumeration Type Documentation

enum tport_via

Define how the public transport connects to Internet.

See also:
TPTAG_PUBLIC(), tport_is_public().

Variable Documentation

TPORT_DLL tagi_t tport_tag_list[]

List of all tport tags.

TPORT_DLL tagi_t tport_tags[]

Filter list matching any tport tag.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Sofia-SIP 1.12.11 - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.