SIP Witch 1.9.15
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
eX_setup.h File Reference

eXosip setup API More...

#include <eXosip2/eXosip.h>
#include <osipparser2/osip_message.h>
#include <time.h>
Include dependency graph for eX_setup.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  eXosip_dns_cache
 structure used to for inserting a DNS cache entry and avoid DNS resolution. More...
 
struct  eXosip_account_info
 
struct  eXosip_http_auth
 
struct  eXosip_tls_credentials_s
 structure used to describe credentials for a client or server consists of a certificate, a corresponding private key and its password More...
 
struct  eXosip_tls_ctx_s
 structure to describe the whole TLS-context for eXosip consists of a certificate, a corresponding private key and its password More...
 

Macros

#define __EX_SETUP_H__
 
#define EXOSIP_OPT_BASE_OPTION   0
 
#define EXOSIP_OPT_UDP_KEEP_ALIVE   (EXOSIP_OPT_BASE_OPTION+1)
 int *: interval for keep alive packets (UDP, TCP, TLS, DTLS) More...
 
#define EXOSIP_OPT_UDP_LEARN_PORT   (EXOSIP_OPT_BASE_OPTION+2)
 int *: specific re-usage of "rport" More...
 
#define EXOSIP_OPT_USE_RPORT   (EXOSIP_OPT_BASE_OPTION+7)
 int *: enable or disable rport in via More...
 
#define EXOSIP_OPT_SET_IPV4_FOR_GATEWAY   (EXOSIP_OPT_BASE_OPTION+8)
 char *: usually, this is the proxy address More...
 
#define EXOSIP_OPT_ADD_DNS_CACHE   (EXOSIP_OPT_BASE_OPTION+9)
 struct eXosip_dns_cache *: force some cache entry to avoid DNS More...
 
#define EXOSIP_OPT_DELETE_DNS_CACHE   (EXOSIP_OPT_BASE_OPTION+10)
 struct eXosip_dns_cache *: force removal of some cache entry to avoid DNS More...
 
#define EXOSIP_OPT_SET_IPV6_FOR_GATEWAY   (EXOSIP_OPT_BASE_OPTION+12)
 char *: usually, this is the proxy address More...
 
#define EXOSIP_OPT_ADD_ACCOUNT_INFO   (EXOSIP_OPT_BASE_OPTION+13)
 struct eXosip_account_info *: internal stuff More...
 
#define EXOSIP_OPT_DNS_CAPABILITIES   (EXOSIP_OPT_BASE_OPTION+14)
 int *: 0 to disable, 2 to use NAPTR/SRV record More...
 
#define EXOSIP_OPT_SET_DSCP   (EXOSIP_OPT_BASE_OPTION+15)
 int *: set a dscp value for SIP socket More...
 
#define EXOSIP_OPT_REGISTER_WITH_DATE   (EXOSIP_OPT_BASE_OPTION+16)
 int *: enable usage of Date header in REGISTER More...
 
#define EXOSIP_OPT_SET_HEADER_USER_AGENT   (EXOSIP_OPT_BASE_OPTION+17)
 char *: set the User-Agent header More...
 
#define EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE   (EXOSIP_OPT_BASE_OPTION+500)
 int *: enable verification of certificate for TLS connection More...
 
#define EXOSIP_OPT_SET_TLS_CERTIFICATES_INFO   (EXOSIP_OPT_BASE_OPTION+501)
 eXosip_tls_ctx_t *: client and/or server certificate/ca-root/key info More...
 
#define EXOSIP_OPT_SET_TLS_CLIENT_CERTIFICATE_NAME   (EXOSIP_OPT_BASE_OPTION+502)
 char*: user can choose a specific certifcate present in Windows Certificate Store More...
 
#define EXOSIP_OPT_SET_TLS_SERVER_CERTIFICATE_NAME   (EXOSIP_OPT_BASE_OPTION+503)
 char*: user can choose a specific certifcate present in Windows Certificate Store More...
 
#define EXOSIP_OPT_KEEP_ALIVE_OPTIONS_METHOD   (EXOSIP_OPT_BASE_OPTION+1000)
 

Typedefs

typedef struct
eXosip_tls_credentials_s 
eXosip_tls_credentials_t
 
typedef struct eXosip_tls_ctx_s eXosip_tls_ctx_t
 
typedef void(* CbSipCallback )(osip_message_t *msg, int received)
 

Enumerations

enum  eXosip_tls_ctx_error {
  TLS_OK = 0, TLS_ERR_NO_RAND = -1, TLS_ERR_NO_DH_PARAM = -2, TLS_ERR_NO_PW = -3,
  TLS_ERR_NO_ROOT_CA = -4, TLS_ERR_MISSING_AUTH_PART = -5
}
 An enumeration which describes the error which can occur while setting the eXosip_tls_ctx. More...
 

Functions

struct eXosip_t * eXosip_malloc (void)
 Allocate an eXosip context. More...
 
int eXosip_init (struct eXosip_t *excontext)
 Initiate the eXtented oSIP library. More...
 
void eXosip_quit (struct eXosip_t *excontext)
 Release ressource used by the eXtented oSIP library. More...
 
int eXosip_lock (struct eXosip_t *excontext)
 Lock the eXtented oSIP library. More...
 
int eXosip_unlock (struct eXosip_t *excontext)
 UnLock the eXtented oSIP library. More...
 
int eXosip_execute (struct eXosip_t *excontext)
 Process (non-threaded mode ONLY) eXosip events. More...
 
int eXosip_set_option (struct eXosip_t *excontext, int opt, const void *value)
 Set eXosip options. More...
 
struct osip_naptreXosip_dnsutils_naptr (struct eXosip_t *excontext, const char *domain, const char *protocol, const char *transport, int keep_in_cache)
 Start and return osip_naptr context. More...
 
int eXosip_dnsutils_dns_process (struct osip_naptr *output_record, int force)
 Continue to process asynchronous DNS request (if implemented). More...
 
int eXosip_dnsutils_rotate_srv (struct osip_srv_record *output_record)
 Rotate first SRV entry to last SRV entry. More...
 
int eXosip_listen_addr (struct eXosip_t *excontext, int transport, const char *addr, int port, int family, int secure)
 Listen on a specified socket. More...
 
int eXosip_reset_transports (struct eXosip_t *excontext)
 Reset transport sockets. More...
 
int eXosip_set_socket (struct eXosip_t *excontext, int transport, int socket, int port)
 Listen on a specified socket. More...
 
void eXosip_set_user_agent (struct eXosip_t *excontext, const char *user_agent)
 Set the SIP User-Agent: header string. More...
 
const char * eXosip_get_version (void)
 Get the eXosip version as a sring. More...
 
int eXosip_set_cbsip_message (struct eXosip_t *excontext, CbSipCallback cbsipCallback)
 Set a callback to get sent and received SIP messages. More...
 
void eXosip_enable_ipv6 (int ipv6_enable)
 Use IPv6 instead of IPv4. More...
 
void eXosip_masquerade_contact (struct eXosip_t *excontext, const char *public_address, int port)
 This method is used to replace contact address with the public address of your NAT. More...
 
int eXosip_find_free_port (struct eXosip_t *excontext, int free_port, int transport)
 This method is used to find out an free IPPROTO_UDP or IPPROTO_TCP port. More...
 
void eXosip_wakeup_event (struct eXosip_t *excontext)
 Wake Up the eXosip_event_wait method. More...
 
int eXosip_transport_set (osip_message_t *msg, const char *transport)
 Modify the transport protocol used to send SIP message. More...
 
int eXosip_guess_localip (struct eXosip_t *excontext, int family, char *address, int size)
 Find the current localip (interface with default route). More...
 

Detailed Description

eXosip setup API

This file provide the API needed to setup and configure the SIP endpoint.

Definition in file eX_setup.h.

Macro Definition Documentation

#define __EX_SETUP_H__

Definition at line 26 of file eX_setup.h.