libeXosip2  3.1.0
Data Structures | Typedefs | Enumerations | Functions
eXosip.h File Reference

eXosip API More...

#include <eXosip2/eX_setup.h>
#include <eXosip2/eX_register.h>
#include <eXosip2/eX_call.h>
#include <eXosip2/eX_options.h>
#include <eXosip2/eX_subscribe.h>
#include <eXosip2/eX_refer.h>
#include <eXosip2/eX_message.h>
#include <eXosip2/eX_publish.h>
#include <osipparser2/osip_parser.h>
#include <osipparser2/sdp_message.h>
#include <time.h>

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_teXosip_event_wait (int tv_s, int tv_ms)
 
eXosip_event_teXosip_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)
 

Detailed Description

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:

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!

<P<blockquote>

Typedef Documentation

◆ eXosip_event_t

Structure for event description.