Data Structures |
struct | eXosip_event |
struct | eXosip_tls_credentials_s |
struct | eXosip_tls_ctx_s |
Typedefs |
typedef struct eXosip_event | eXosip_event_t |
Enumerations |
enum | eXosip_event_type {
EXOSIP_REGISTRATION_NEW,
EXOSIP_REGISTRATION_SUCCESS,
EXOSIP_REGISTRATION_FAILURE,
EXOSIP_REGISTRATION_REFRESHED,
EXOSIP_REGISTRATION_TERMINATED,
EXOSIP_CALL_INVITE,
EXOSIP_CALL_REINVITE,
EXOSIP_CALL_NOANSWER,
EXOSIP_CALL_PROCEEDING,
EXOSIP_CALL_RINGING,
EXOSIP_CALL_ANSWERED,
EXOSIP_CALL_REDIRECTED,
EXOSIP_CALL_REQUESTFAILURE,
EXOSIP_CALL_SERVERFAILURE,
EXOSIP_CALL_GLOBALFAILURE,
EXOSIP_CALL_ACK,
EXOSIP_CALL_CANCELLED,
EXOSIP_CALL_TIMEOUT,
EXOSIP_CALL_MESSAGE_NEW,
EXOSIP_CALL_MESSAGE_PROCEEDING,
EXOSIP_CALL_MESSAGE_ANSWERED,
EXOSIP_CALL_MESSAGE_REDIRECTED,
EXOSIP_CALL_MESSAGE_REQUESTFAILURE,
EXOSIP_CALL_MESSAGE_SERVERFAILURE,
EXOSIP_CALL_MESSAGE_GLOBALFAILURE,
EXOSIP_CALL_CLOSED,
EXOSIP_CALL_RELEASED,
EXOSIP_MESSAGE_NEW,
EXOSIP_MESSAGE_PROCEEDING,
EXOSIP_MESSAGE_ANSWERED,
EXOSIP_MESSAGE_REDIRECTED,
EXOSIP_MESSAGE_REQUESTFAILURE,
EXOSIP_MESSAGE_SERVERFAILURE,
EXOSIP_MESSAGE_GLOBALFAILURE,
EXOSIP_SUBSCRIPTION_UPDATE,
EXOSIP_SUBSCRIPTION_CLOSED,
EXOSIP_SUBSCRIPTION_NOANSWER,
EXOSIP_SUBSCRIPTION_PROCEEDING,
EXOSIP_SUBSCRIPTION_ANSWERED,
EXOSIP_SUBSCRIPTION_REDIRECTED,
EXOSIP_SUBSCRIPTION_REQUESTFAILURE,
EXOSIP_SUBSCRIPTION_SERVERFAILURE,
EXOSIP_SUBSCRIPTION_GLOBALFAILURE,
EXOSIP_SUBSCRIPTION_NOTIFY,
EXOSIP_SUBSCRIPTION_RELEASED,
EXOSIP_IN_SUBSCRIPTION_NEW,
EXOSIP_IN_SUBSCRIPTION_RELEASED,
EXOSIP_NOTIFICATION_NOANSWER,
EXOSIP_NOTIFICATION_PROCEEDING,
EXOSIP_NOTIFICATION_ANSWERED,
EXOSIP_NOTIFICATION_REDIRECTED,
EXOSIP_NOTIFICATION_REQUESTFAILURE,
EXOSIP_NOTIFICATION_SERVERFAILURE,
EXOSIP_NOTIFICATION_GLOBALFAILURE,
EXOSIP_EVENT_COUNT
} |
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 |
int | eXosip_add_authentication_info (const char *username, const char *userid, const char *passwd, const char *ha1, const char *realm) |
int | eXosip_clear_authentication_info (void) |
int | eXosip_default_action (eXosip_event_t *je) |
void | eXosip_automatic_refresh (void) |
void | eXosip_automatic_action (void) |
int | eXosip_insubscription_automatic (eXosip_event_t *evt) |
int | eXosip_generate_random (char *buf, int buf_size) |
sdp_message_t * | eXosip_get_remote_sdp (int did) |
sdp_message_t * | eXosip_get_local_sdp (int did) |
sdp_message_t * | eXosip_get_previous_local_sdp (int did) |
sdp_message_t * | eXosip_get_remote_sdp_from_tid (int tid) |
sdp_message_t * | eXosip_get_local_sdp_from_tid (int tid) |
sdp_message_t * | eXosip_get_sdp_info (osip_message_t *message) |
sdp_connection_t * | eXosip_get_audio_connection (sdp_message_t *sdp) |
sdp_media_t * | eXosip_get_audio_media (sdp_message_t *sdp) |
sdp_connection_t * | eXosip_get_video_connection (sdp_message_t *sdp) |
sdp_media_t * | eXosip_get_video_media (sdp_message_t *sdp) |
sdp_connection_t * | eXosip_get_connection (sdp_message_t *sdp, const char *media) |
sdp_media_t * | eXosip_get_media (sdp_message_t *sdp, const char *media) |
void | eXosip_event_free (eXosip_event_t *je) |
eXosip_event_t * | eXosip_event_wait (int tv_s, int tv_ms) |
eXosip_event_t * | eXosip_event_get (void) |
int | eXosip_event_geteventsocket (void) |
eXosip_tls_ctx_error | eXosip_set_tls_ctx (eXosip_tls_ctx_t *ctx) |
eXosip_tls_ctx_error | eXosip_tls_use_server_certificate (const char *local_certificate_cn) |
eXosip_tls_ctx_error | eXosip_tls_use_client_certificate (const char *local_certificate_cn) |
eXosip_tls_ctx_error | eXosip_tls_verify_certificate (int _tls_verify_client_certificate) |
eXosip API
eXosip is a high layer library for rfc3261: the SIP protocol. It offers a simple API to make it easy to use. eXosip2 offers great flexibility for implementing SIP endpoint like:
-
SIP User-Agents
-
SIP Voicemail or IVR
-
SIP B2BUA
-
any SIP server acting as an endpoint (music server...)
If you need to implement proxy or complex SIP applications, you should consider using osip instead.
Here are the eXosip capabilities:
REGISTER to handle registration.
INVITE/BYE to start/stop VoIP sessions.
INFO to send DTMF within a VoIP sessions.
OPTIONS to simulate VoIP sessions.
re-INVITE to modify VoIP sessions
REFER/NOTIFY to transfer calls.
MESSAGE to send Instant Message.
SUBSCRIBE/NOTIFY to handle presence capabilities.
any other request to handle what you want!