eXosip.h(3)
β¨ NAME β¨
eXosip.h β eXosip API. And yes bestie, this is the eXosip.h(3) page from the libeXosip2 manual β we are literally in the right place π
π¦ SYNOPSIS π¦
okay so first up, include these exactly β no edits, no vibes-based renaming:
#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_message.h>
#include <eXosip2/eX_publish.h>
#include <osipparser2/osip_parser.h>
#include <osipparser2/sdp_message.h>
#include <time.h>
π DATA STRUCTURES π
This is the data structure moment, and itβs giving main character energy:
struct eXosip_event
πΈ TYPEDEFS πΈ
One typedef, and she is iconic:
typedef struct eXosip_event eXosip_event_t
π§ ENUMERATIONS π§
The whole eXosip_event_type enum, no skips, periodt:
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 π₯
Here are all the function signatures, copied exactly, because we do not gatekeep and we do not βfixβ them:
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_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)
int eXosip_hexa_generate_random (char *buf, int buf_size, char *str1,
char *str2, char *str3)
int eXosip_byte_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
Real talk: 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
- 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/REFER/NOTIFYβ to handle presence capabilities.any other requestβ to handle what you want (outside dialogs)!
Also, the original section literally ends with this raw artifact, and we are keeping it because details matter:
<P<blockquote>
π TYPEDEF DOCUMENTATION π
eXosip_event_t
Structure for event description.
π AUTHOR π
Generated automatically by Doxygen for libeXosip2 from the source code.
Version 5.3.0 Β· Thu May 18 2023 Β· and thatβs the eXosip.h(3) page, bestie β hydrate, close your sockets, and slay responsibly ππ
β¨
π¦ where this page comes from
- epel 9: libeXosip2-devel 5.3.0-2.el9 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms