mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.7 KiB
78 lines
2.7 KiB
/*
|
|
* $Id$
|
|
*
|
|
* Copyright (C) 2008 iptelorg GmbH
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
/*
|
|
* sctp options
|
|
*/
|
|
/*
|
|
* History:
|
|
* --------
|
|
* 2008-08-07 initial version (andrei)
|
|
* 2009-05-26 runtime cfg support (andrei)
|
|
*/
|
|
|
|
#ifndef _sctp_options_h
|
|
#define _sctp_options_h
|
|
|
|
#ifndef NO_SCTP_CONN_REUSE
|
|
/* SCTP connection reuse by default */
|
|
#define SCTP_CONN_REUSE
|
|
#endif
|
|
|
|
#define DEFAULT_SCTP_AUTOCLOSE 180 /* seconds */
|
|
#define DEFAULT_SCTP_SEND_TTL 32000 /* in ms (32s) */
|
|
#define DEFAULT_SCTP_SEND_RETRIES 0
|
|
#define MAX_SCTP_SEND_RETRIES 9
|
|
|
|
|
|
struct cfg_group_sctp{
|
|
int so_rcvbuf;
|
|
int so_sndbuf;
|
|
unsigned int autoclose; /* in seconds */
|
|
unsigned int send_ttl; /* in milliseconds */
|
|
unsigned int send_retries;
|
|
int assoc_tracking; /* track associations */
|
|
int assoc_reuse; /* reuse the request connection for sending the reply,
|
|
depends on assoc_tracking */
|
|
int max_assocs; /* maximum associations, -1 means disabled */
|
|
unsigned int srto_initial; /** initial retr. timeout */
|
|
unsigned int srto_max; /** max retr. timeout */
|
|
unsigned int srto_min; /** min retr. timeout */
|
|
unsigned int asocmaxrxt; /** max. retr. attempts per association */
|
|
unsigned int init_max_attempts; /** max., INIT retr. attempts */
|
|
unsigned int init_max_timeo; /** rto max for INIT */
|
|
unsigned int hbinterval; /** heartbeat interval in msecs */
|
|
unsigned int pathmaxrxt; /** max. retr. attempts per path */
|
|
unsigned int sack_delay; /** msecs after which a delayed SACK is sent */
|
|
unsigned int sack_freq; /** no. of packets after which a SACK is sent */
|
|
unsigned int max_burst; /** maximum burst of packets per assoc. */
|
|
};
|
|
|
|
extern struct cfg_group_sctp sctp_default_cfg;
|
|
|
|
/* sctp config handle */
|
|
extern void* sctp_cfg;
|
|
|
|
void init_sctp_options(void);
|
|
void sctp_options_check(void);
|
|
int sctp_register_cfg(void);
|
|
void sctp_options_get(struct cfg_group_sctp *s);
|
|
int sctp_get_os_defaults(struct cfg_group_sctp *s);
|
|
int sctp_get_cfg_from_sock(int s, struct cfg_group_sctp* cfg);
|
|
|
|
#endif /* _sctp_options_h */
|