SIP Witch 1.9.15
|
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 | 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_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. 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... | |
#define EXOSIP_OPT_ADD_ACCOUNT_INFO (EXOSIP_OPT_BASE_OPTION+13) |
#include <eX_setup.h>
struct eXosip_account_info *: internal stuff
Definition at line 106 of file eX_setup.h.
#define EXOSIP_OPT_ADD_DNS_CACHE (EXOSIP_OPT_BASE_OPTION+9) |
#include <eX_setup.h>
struct eXosip_dns_cache *: force some cache entry to avoid DNS
Definition at line 103 of file eX_setup.h.
#define EXOSIP_OPT_BASE_OPTION 0 |
#include <eX_setup.h>
Definition at line 98 of file eX_setup.h.
#define EXOSIP_OPT_DELETE_DNS_CACHE (EXOSIP_OPT_BASE_OPTION+10) |
#include <eX_setup.h>
struct eXosip_dns_cache *: force removal of some cache entry to avoid DNS
Definition at line 104 of file eX_setup.h.
#define EXOSIP_OPT_DNS_CAPABILITIES (EXOSIP_OPT_BASE_OPTION+14) |
#include <eX_setup.h>
int *: 0 to disable, 2 to use NAPTR/SRV record
Definition at line 107 of file eX_setup.h.
#define EXOSIP_OPT_KEEP_ALIVE_OPTIONS_METHOD (EXOSIP_OPT_BASE_OPTION+1000) |
#include <eX_setup.h>
Definition at line 118 of file eX_setup.h.
#define EXOSIP_OPT_REGISTER_WITH_DATE (EXOSIP_OPT_BASE_OPTION+16) |
#include <eX_setup.h>
int *: enable usage of Date header in REGISTER
Definition at line 109 of file eX_setup.h.
#define EXOSIP_OPT_SET_DSCP (EXOSIP_OPT_BASE_OPTION+15) |
#include <eX_setup.h>
int *: set a dscp value for SIP socket
Definition at line 108 of file eX_setup.h.
#define EXOSIP_OPT_SET_HEADER_USER_AGENT (EXOSIP_OPT_BASE_OPTION+17) |
#define EXOSIP_OPT_SET_IPV4_FOR_GATEWAY (EXOSIP_OPT_BASE_OPTION+8) |
#include <eX_setup.h>
char *: usually, this is the proxy address
Definition at line 102 of file eX_setup.h.
#define EXOSIP_OPT_SET_IPV6_FOR_GATEWAY (EXOSIP_OPT_BASE_OPTION+12) |
#include <eX_setup.h>
char *: usually, this is the proxy address
Definition at line 105 of file eX_setup.h.
#define EXOSIP_OPT_SET_TLS_CERTIFICATES_INFO (EXOSIP_OPT_BASE_OPTION+501) |
#include <eX_setup.h>
eXosip_tls_ctx_t *: client and/or server certificate/ca-root/key info
Definition at line 113 of file eX_setup.h.
#define EXOSIP_OPT_SET_TLS_CLIENT_CERTIFICATE_NAME (EXOSIP_OPT_BASE_OPTION+502) |
#include <eX_setup.h>
char*: user can choose a specific certifcate present in Windows Certificate Store
Definition at line 114 of file eX_setup.h.
#define EXOSIP_OPT_SET_TLS_SERVER_CERTIFICATE_NAME (EXOSIP_OPT_BASE_OPTION+503) |
#include <eX_setup.h>
char*: user can choose a specific certifcate present in Windows Certificate Store
Definition at line 115 of file eX_setup.h.
#define EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE (EXOSIP_OPT_BASE_OPTION+500) |
#include <eX_setup.h>
int *: enable verification of certificate for TLS connection
Definition at line 112 of file eX_setup.h.
#define EXOSIP_OPT_UDP_KEEP_ALIVE (EXOSIP_OPT_BASE_OPTION+1) |
#include <eX_setup.h>
int *: interval for keep alive packets (UDP, TCP, TLS, DTLS)
Definition at line 99 of file eX_setup.h.
#define EXOSIP_OPT_UDP_LEARN_PORT (EXOSIP_OPT_BASE_OPTION+2) |
#include <eX_setup.h>
int *: specific re-usage of "rport"
Definition at line 100 of file eX_setup.h.
#define EXOSIP_OPT_USE_RPORT (EXOSIP_OPT_BASE_OPTION+7) |
#include <eX_setup.h>
int *: enable or disable rport in via
Definition at line 101 of file eX_setup.h.
typedef void(* CbSipCallback)(osip_message_t *msg, int received) |
#include <eX_setup.h>
Definition at line 262 of file eX_setup.h.
typedef struct eXosip_tls_credentials_s eXosip_tls_credentials_t |
#include <eX_setup.h>
typedef struct eXosip_tls_ctx_s eXosip_tls_ctx_t |
#include <eX_setup.h>
enum eXosip_tls_ctx_error |
#include <eX_setup.h>
An enumeration which describes the error which can occur while setting the eXosip_tls_ctx.
Definition at line 182 of file eX_setup.h.
int eXosip_dnsutils_dns_process | ( | struct osip_naptr * | output_record, |
int | force | ||
) |
#include <eX_setup.h>
Continue to process asynchronous DNS request (if implemented).
output_record | result structure. |
force | force waiting for final answer if >0 |
struct osip_naptr* eXosip_dnsutils_naptr | ( | struct eXosip_t * | excontext, |
const char * | domain, | ||
const char * | protocol, | ||
const char * | transport, | ||
int | keep_in_cache | ||
) |
#include <eX_setup.h>
Start and return osip_naptr context.
Note that DNS results might not yet be available.
excontext | eXosip_t instance. |
domain | domain name for NAPTR record |
protocol | protocol to use ("SIP") |
transport | transport to use ("UDP") |
keep_in_cache | keep result in cache if >0 |
int eXosip_dnsutils_rotate_srv | ( | struct osip_srv_record * | output_record | ) |
#include <eX_setup.h>
Rotate first SRV entry to last SRV entry.
output_record | result structure. |
void eXosip_enable_ipv6 | ( | int | ipv6_enable | ) |
#include <eX_setup.h>
Use IPv6 instead of IPv4.
ipv6_enable | This paramter should be set to 1 to enable IPv6 mode. |
int eXosip_execute | ( | struct eXosip_t * | excontext | ) |
#include <eX_setup.h>
Process (non-threaded mode ONLY) eXosip events.
excontext | eXosip_t instance. |
int eXosip_find_free_port | ( | struct eXosip_t * | excontext, |
int | free_port, | ||
int | transport | ||
) |
#include <eX_setup.h>
This method is used to find out an free IPPROTO_UDP or IPPROTO_TCP port.
excontext | eXosip_t instance. |
free_port | initial port for search. |
transport | IPPROTO_UDP or IPPROTO_TCP protocol. |
const char* eXosip_get_version | ( | void | ) |
#include <eX_setup.h>
Get the eXosip version as a sring.
int eXosip_init | ( | struct eXosip_t * | excontext | ) |
int eXosip_listen_addr | ( | struct eXosip_t * | excontext, |
int | transport, | ||
const char * | addr, | ||
int | port, | ||
int | family, | ||
int | secure | ||
) |
#include <eX_setup.h>
Listen on a specified socket.
excontext | eXosip_t instance. |
transport | IPPROTO_UDP for udp. (soon to come: TCP/TLS?) |
addr | the address to bind (NULL for all interface) |
port | the listening port. (0 for random port) |
family | the IP family (AF_INET or AF_INET6). |
secure | 0 for UDP or TCP, 1 for TLS (with TCP). |
int eXosip_lock | ( | struct eXosip_t * | excontext | ) |
struct eXosip_t* eXosip_malloc | ( | void | ) |
void eXosip_masquerade_contact | ( | struct eXosip_t * | excontext, |
const char * | public_address, | ||
int | port | ||
) |
#include <eX_setup.h>
This method is used to replace contact address with the public address of your NAT.
The ip address should be retreived manually (fixed IP address) or with STUN. This address will only be used when the remote correspondant appears to be on an DIFFERENT LAN.
excontext | eXosip_t instance. |
public_address | the ip address. |
port | the port for masquerading. |
If set to NULL, then the local ip address will be guessed automatically (returns to default mode).
void eXosip_quit | ( | struct eXosip_t * | excontext | ) |
#include <eX_setup.h>
Release ressource used by the eXtented oSIP library.
excontext | eXosip_t instance. |
int eXosip_reset_transports | ( | struct eXosip_t * | excontext | ) |
int eXosip_set_cbsip_message | ( | struct eXosip_t * | excontext, |
CbSipCallback | cbsipCallback | ||
) |
#include <eX_setup.h>
Set a callback to get sent and received SIP messages.
excontext | eXosip_t instance. |
cbsipCallback | the callback to retreive messages. |
int eXosip_set_option | ( | struct eXosip_t * | excontext, |
int | opt, | ||
const void * | value | ||
) |
#include <eX_setup.h>
Set eXosip options.
See eXosip_option for available options.
excontext | eXosip_t instance. |
opt | option to configure. |
value | value for options. |
int eXosip_set_socket | ( | struct eXosip_t * | excontext, |
int | transport, | ||
int | socket, | ||
int | port | ||
) |
#include <eX_setup.h>
Listen on a specified socket.
excontext | eXosip_t instance. |
transport | IPPROTO_UDP for udp. (soon to come: TCP/TLS?) |
socket | socket to use for listening to UDP sip messages. |
port | the listening port for masquerading. |
void eXosip_set_user_agent | ( | struct eXosip_t * | excontext, |
const char * | user_agent | ||
) |
#include <eX_setup.h>
Set the SIP User-Agent: header string.
excontext | eXosip_t instance. |
user_agent | the User-Agent header to insert in messages. |
int eXosip_unlock | ( | struct eXosip_t * | excontext | ) |
void eXosip_wakeup_event | ( | struct eXosip_t * | excontext | ) |