25 #ifndef __EX_SETUP_H__
26 #define __EX_SETUP_H__
98 #define EXOSIP_OPT_BASE_OPTION 0
99 #define EXOSIP_OPT_UDP_KEEP_ALIVE (EXOSIP_OPT_BASE_OPTION+1)
100 #define EXOSIP_OPT_UDP_LEARN_PORT (EXOSIP_OPT_BASE_OPTION+2)
101 #define EXOSIP_OPT_USE_RPORT (EXOSIP_OPT_BASE_OPTION+7)
102 #define EXOSIP_OPT_SET_IPV4_FOR_GATEWAY (EXOSIP_OPT_BASE_OPTION+8)
103 #define EXOSIP_OPT_ADD_DNS_CACHE (EXOSIP_OPT_BASE_OPTION+9)
104 #define EXOSIP_OPT_DELETE_DNS_CACHE (EXOSIP_OPT_BASE_OPTION+10)
105 #define EXOSIP_OPT_SET_IPV6_FOR_GATEWAY (EXOSIP_OPT_BASE_OPTION+12)
106 #define EXOSIP_OPT_ADD_ACCOUNT_INFO (EXOSIP_OPT_BASE_OPTION+13)
107 #define EXOSIP_OPT_DNS_CAPABILITIES (EXOSIP_OPT_BASE_OPTION+14)
108 #define EXOSIP_OPT_SET_DSCP (EXOSIP_OPT_BASE_OPTION+15)
109 #define EXOSIP_OPT_REGISTER_WITH_DATE (EXOSIP_OPT_BASE_OPTION+16)
110 #define EXOSIP_OPT_SET_HEADER_USER_AGENT (EXOSIP_OPT_BASE_OPTION+17)
112 #define EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE (EXOSIP_OPT_BASE_OPTION+500)
113 #define EXOSIP_OPT_SET_TLS_CERTIFICATES_INFO (EXOSIP_OPT_BASE_OPTION+501)
114 #define EXOSIP_OPT_SET_TLS_CLIENT_CERTIFICATE_NAME (EXOSIP_OPT_BASE_OPTION+502)
115 #define EXOSIP_OPT_SET_TLS_SERVER_CERTIFICATE_NAME (EXOSIP_OPT_BASE_OPTION+503)
118 #define EXOSIP_OPT_KEEP_ALIVE_OPTIONS_METHOD (EXOSIP_OPT_BASE_OPTION+1000)
228 int eXosip_listen_addr (
struct eXosip_t *excontext,
int transport,
const char *addr,
int port,
int family,
int secure);
246 int eXosip_set_socket (
struct eXosip_t *excontext,
int transport,
int socket,
int port);
312 #ifndef OSIP_MONOTHREAD
315 #define eXosip_wakeup_event(A) ;
Structure for SIP Message (REQUEST and RESPONSE).
no password was specified
osip_proxy_authenticate_t * wa
void eXosip_set_user_agent(struct eXosip_t *excontext, const char *user_agent)
Set the SIP User-Agent: header string.
int eXosip_lock(struct eXosip_t *excontext)
Lock the eXtented oSIP library.
Structure for NAPTR record entry.
structure used to for inserting a DNS cache entry and avoid DNS resolution.
int eXosip_dnsutils_rotate_srv(struct osip_srv_record *output_record)
Rotate first SRV entry to last SRV entry.
int eXosip_init(struct eXosip_t *excontext)
Initiate the eXtented oSIP library.
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.
void eXosip_quit(struct eXosip_t *excontext)
Release ressource used by the eXtented oSIP library.
void(* CbSipCallback)(osip_message_t *msg, int received)
const char * eXosip_get_version(void)
Get the eXosip version as a sring.
struct osip_naptr * eXosip_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.
struct eXosip_tls_credentials_s eXosip_tls_credentials_t
no absolute path to the rootCA file was specified
int eXosip_set_cbsip_message(struct eXosip_t *excontext, CbSipCallback cbsipCallback)
Set a callback to get sent and received SIP messages.
char dh_param[1024]
absolute path to a file necessary for diffie hellman key exchange
something is missing: the private key or the certificate
no absolute path to the diifie hellman file was specified
int eXosip_transport_set(osip_message_t *msg, const char *transport)
Modify the transport protocol used to send SIP message.
char random_file[1024]
absolute path to a file with random(!) data
int eXosip_unlock(struct eXosip_t *excontext)
UnLock the eXtented oSIP library.
int eXosip_set_option(struct eXosip_t *excontext, int opt, const void *value)
Set eXosip options.
struct eXosip_tls_ctx_s eXosip_tls_ctx_t
structure to describe the whole TLS-context for eXosip consists of a certificate, a corresponding pri...
eXosip_tls_credentials_t server
credential of the server
struct eXosip_t * eXosip_malloc(void)
Allocate an eXosip context.
oSIP SIP Message Accessor Routines
eXosip_tls_credentials_t client
credential of the client
int keep_in_cache
keep in cache value
no absolute path to the random file was specified
structure used to describe credentials for a client or server consists of a certificate, a corresponding private key and its password
int eXosip_set_socket(struct eXosip_t *excontext, int transport, int socket, int port)
Listen on a specified socket.
int eXosip_dnsutils_dns_process(struct osip_naptr *output_record, int force)
Continue to process asynchronous DNS request (if implemented).
int eXosip_execute(struct eXosip_t *excontext)
Process (non-threaded mode ONLY) eXosip events.
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.
int eXosip_guess_localip(struct eXosip_t *excontext, int family, char *address, int size)
Find the current localip (interface with default route).
char root_ca_cert[1024]
absolute path to the file with known rootCAs
yippieh, everything is fine :)
int eXosip_reset_transports(struct eXosip_t *excontext)
Reset transport sockets.
Definition of the WWW-Authenticate header.
eXosip_tls_ctx_error
An enumeration which describes the error which can occur while setting the eXosip_tls_ctx.
int eXosip_listen_addr(struct eXosip_t *excontext, int transport, const char *addr, int port, int family, int secure)
Listen on a specified socket.
Structure for SRV record entry.
void eXosip_enable_ipv6(int ipv6_enable)
Use IPv6 instead of IPv4.
void eXosip_wakeup_event(struct eXosip_t *excontext)
Wake Up the eXosip_event_wait method.