---
name: "eX_setup.h"
section: "3"
platform: "linux"
package: "libexosip2-dev"
version: "4.1.0-2.1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/eX_setup.h"
---

# eX\_setup.h(3)

eXosip setup API

## NAME

eX\_setup.h - eXosip setup API

## SYNOPSIS

`#include <eXosip2/eXosip.h>`\
 `#include <osipparser2/osip_message.h>`\
 `#include <time.h>`\

### Data Structures

struct **eXosip\_dns\_cache**\
 struct **eXosip\_tls\_credentials\_s**\
 struct **eXosip\_tls\_ctx\_s**\

### Macros

\#define **EXOSIP\_OPT\_UDP\_KEEP\_ALIVE**   (EXOSIP\_OPT\_BASE\_OPTION+1)\
 \#define **EXOSIP\_OPT\_UDP\_LEARN\_PORT**   (EXOSIP\_OPT\_BASE\_OPTION+2)\
 \#define **EXOSIP\_OPT\_USE\_RPORT**   (EXOSIP\_OPT\_BASE\_OPTION+7)\
 \#define **EXOSIP\_OPT\_SET\_IPV4\_FOR\_GATEWAY**   (EXOSIP\_OPT\_BASE\_OPTION+8)\
 \#define **EXOSIP\_OPT\_ADD\_DNS\_CACHE**   (EXOSIP\_OPT\_BASE\_OPTION+9)\
 \#define **EXOSIP\_OPT\_DELETE\_DNS\_CACHE**   (EXOSIP\_OPT\_BASE\_OPTION+10)\
 \#define **EXOSIP\_OPT\_SET\_IPV6\_FOR\_GATEWAY**   (EXOSIP\_OPT\_BASE\_OPTION+12)\
 \#define **EXOSIP\_OPT\_ADD\_ACCOUNT\_INFO**   (EXOSIP\_OPT\_BASE\_OPTION+13)\
 \#define **EXOSIP\_OPT\_DNS\_CAPABILITIES**   (EXOSIP\_OPT\_BASE\_OPTION+14)\
 \#define **EXOSIP\_OPT\_SET\_DSCP**   (EXOSIP\_OPT\_BASE\_OPTION+15)\
 \#define **EXOSIP\_OPT\_REGISTER\_WITH\_DATE**   (EXOSIP\_OPT\_BASE\_OPTION+16)\
 \#define **EXOSIP\_OPT\_SET\_HEADER\_USER\_AGENT**   (EXOSIP\_OPT\_BASE\_OPTION+17)\
 \#define **EXOSIP\_OPT\_ENABLE\_DNS\_CACHE**   (EXOSIP\_OPT\_BASE\_OPTION+18)\
 \#define **EXOSIP\_OPT\_ENABLE\_AUTOANSWERBYE**   (EXOSIP\_OPT\_BASE\_OPTION+19)\
 \#define **EXOSIP\_OPT\_ENABLE\_IPV6**   (EXOSIP\_OPT\_BASE\_OPTION+20)\
 \#define **EXOSIP\_OPT\_SET\_TLS\_VERIFY\_CERTIFICATE**   (EXOSIP\_OPT\_BASE\_OPTION+500)\
 \#define **EXOSIP\_OPT\_SET\_TLS\_CERTIFICATES\_INFO**   (EXOSIP\_OPT\_BASE\_OPTION+501)\
 \#define **EXOSIP\_OPT\_SET\_TLS\_CLIENT\_CERTIFICATE\_NAME**   (EXOSIP\_OPT\_BASE\_OPTION+502)\
 \#define **EXOSIP\_OPT\_SET\_TLS\_SERVER\_CERTIFICATE\_NAME**   (EXOSIP\_OPT\_BASE\_OPTION+503)\
 \#define **EXOSIP\_OPT\_SET\_TSC\_SERVER**   (EXOSIP\_OPT\_BASE\_OPTION+1001)\

### 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 }\

### Functions

struct eXosip\_t \* **eXosip\_malloc** (void)\
 int **eXosip\_init** (struct eXosip\_t \*excontext)\
 void **eXosip\_quit** (struct eXosip\_t \*excontext)\
 int **eXosip\_lock** (struct eXosip\_t \*excontext)\
 int **eXosip\_unlock** (struct eXosip\_t \*excontext)\
 int **eXosip\_execute** (struct eXosip\_t \*excontext)\
 int **eXosip\_set\_option** (struct eXosip\_t \*excontext, int opt, const void \*value)\
 struct osip\_naptr \* **eXosip\_dnsutils\_naptr** (struct eXosip\_t \*excontext, const char \*domain, const char \*protocol, const char \*transport, int keep\_in\_cache)\
 int **eXosip\_dnsutils\_dns\_process** (struct osip\_naptr \*output\_record, int force)\
 int **eXosip\_dnsutils\_rotate\_srv** (struct osip\_srv\_record \*output\_record)\
 int **eXosip\_listen\_addr** (struct eXosip\_t \*excontext, int transport, const char \*addr, int port, int family, int secure)\
 int **eXosip\_reset\_transports** (struct eXosip\_t \*excontext)\
 int **eXosip\_set\_socket** (struct eXosip\_t \*excontext, int transport, int socket, int port)\
 void **eXosip\_set\_user\_agent** (struct eXosip\_t \*excontext, const char \*user\_agent)\
 const char \* **eXosip\_get\_version** (void)\
 int **eXosip\_set\_cbsip\_message** (struct eXosip\_t \*excontext, CbSipCallback cbsipCallback)\
 void **eXosip\_enable\_ipv6** (int ipv6\_enable)\
 void **eXosip\_masquerade\_contact** (struct eXosip\_t \*excontext, const char \*public\_address, int port)\
 int **eXosip\_find\_free\_port** (struct eXosip\_t \*excontext, int free\_port, int transport)\
 int **eXosip\_transport\_set** (osip\_message\_t \*msg, const char \*transport)\
 int **eXosip\_guess\_localip** (struct eXosip\_t \*excontext, int family, char \*address, int size)\

## Detailed Description

eXosip setup API

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

## Author

Generated automatically by Doxygen for libeXosip2 from the source code.
