eXosip.h

Langue: en

Version: 342046 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

eXosip.h -

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

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)

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_tStructure for event description.

Author

Generated automatically by Doxygen for libeXosip2 from the source code.