eXosip.h(3) eXosip API

SYNOPSIS


#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

Typedefs


typedef struct eXosip_event eXosip_event_t

Enumerations


enum eXosip_event_type { EXOSIP_REGISTRATION_SUCCESS, EXOSIP_REGISTRATION_FAILURE, 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_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_NOANSWER, EXOSIP_SUBSCRIPTION_PROCEEDING, EXOSIP_SUBSCRIPTION_ANSWERED, EXOSIP_SUBSCRIPTION_REDIRECTED, EXOSIP_SUBSCRIPTION_REQUESTFAILURE, EXOSIP_SUBSCRIPTION_SERVERFAILURE, EXOSIP_SUBSCRIPTION_GLOBALFAILURE, EXOSIP_SUBSCRIPTION_NOTIFY, EXOSIP_IN_SUBSCRIPTION_NEW, EXOSIP_NOTIFICATION_NOANSWER, EXOSIP_NOTIFICATION_PROCEEDING, EXOSIP_NOTIFICATION_ANSWERED, EXOSIP_NOTIFICATION_REDIRECTED, EXOSIP_NOTIFICATION_REQUESTFAILURE, EXOSIP_NOTIFICATION_SERVERFAILURE, EXOSIP_NOTIFICATION_GLOBALFAILURE, EXOSIP_EVENT_COUNT }

Functions


int eXosip_add_authentication_info (struct eXosip_t *excontext, const char *username, const char *userid, const char *passwd, const char *ha1, const char *realm)

int eXosip_remove_authentication_info (struct eXosip_t *excontext, const char *username, const char *realm)

int eXosip_clear_authentication_info (struct eXosip_t *excontext)

int eXosip_default_action (struct eXosip_t *excontext, eXosip_event_t *je)

void eXosip_automatic_refresh (struct eXosip_t *excontext)

void eXosip_automatic_action (struct eXosip_t *excontext)

int eXosip_insubscription_automatic (struct eXosip_t *excontext, eXosip_event_t *evt)

int eXosip_generate_random (char *buf, int buf_size)

sdp_message_t * eXosip_get_remote_sdp (struct eXosip_t *excontext, int did)

sdp_message_t * eXosip_get_local_sdp (struct eXosip_t *excontext, int did)

sdp_message_t * eXosip_get_previous_local_sdp (struct eXosip_t *excontext, int did)

sdp_message_t * eXosip_get_remote_sdp_from_tid (struct eXosip_t *excontext, int tid)

sdp_message_t * eXosip_get_local_sdp_from_tid (struct eXosip_t *excontext, 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 (struct eXosip_t *excontext, int tv_s, int tv_ms)

eXosip_event_t * eXosip_event_get (struct eXosip_t *excontext)

int eXosip_event_geteventsocket (struct eXosip_t *excontext)

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:

  • 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!


 

Typedef Documentation

eXosip_event_t

Structure for event description.

Author

Generated automatically by Doxygen for libeXosip2 from the source code.