Fork me on GitHub
Data Structures | Macros | Typedefs | Functions
janus_nosip.c File Reference

Janus NoSIP plugin. More...

#include "plugin.h"
#include <arpa/inet.h>
#include <net/if.h>
#include <sys/socket.h>
#include <netdb.h>
#include <poll.h>
#include <jansson.h>
#include "../debug.h"
#include "../apierror.h"
#include "../config.h"
#include "../mutex.h"
#include "../record.h"
#include "../rtp.h"
#include "../rtpsrtp.h"
#include "../rtcp.h"
#include "../ip-utils.h"
#include "../sdp-utils.h"
#include "../utils.h"
Include dependency graph for janus_nosip.c:

Data Structures

struct  janus_nosip_message
 
struct  janus_nosip_media
 
struct  janus_nosip_session
 

Macros

#define JANUS_NOSIP_VERSION   1
 
#define JANUS_NOSIP_VERSION_STRING   "0.0.1"
 
#define JANUS_NOSIP_DESCRIPTION   "This is a simple RTP bridging plugin that leaves signalling details (e.g., SIP) up to the application."
 
#define JANUS_NOSIP_NAME   "JANUS NoSIP plugin"
 
#define JANUS_NOSIP_AUTHOR   "Meetecho s.r.l."
 
#define JANUS_NOSIP_PACKAGE   "janus.plugin.nosip"
 
#define DEFAULT_RTP_RANGE_MIN   10000
 
#define DEFAULT_RTP_RANGE_MAX   60000
 
#define JANUS_NOSIP_ERROR_UNKNOWN_ERROR   499
 
#define JANUS_NOSIP_ERROR_NO_MESSAGE   440
 
#define JANUS_NOSIP_ERROR_INVALID_JSON   441
 
#define JANUS_NOSIP_ERROR_INVALID_REQUEST   442
 
#define JANUS_NOSIP_ERROR_MISSING_ELEMENT   443
 
#define JANUS_NOSIP_ERROR_INVALID_ELEMENT   444
 
#define JANUS_NOSIP_ERROR_WRONG_STATE   445
 
#define JANUS_NOSIP_ERROR_MISSING_SDP   446
 
#define JANUS_NOSIP_ERROR_INVALID_SDP   447
 
#define JANUS_NOSIP_ERROR_IO_ERROR   448
 
#define JANUS_NOSIP_ERROR_RECORDING_ERROR   449
 
#define JANUS_NOSIP_ERROR_TOO_STRICT   450
 

Typedefs

typedef struct janus_nosip_message janus_nosip_message
 
typedef struct janus_nosip_media janus_nosip_media
 
typedef struct janus_nosip_session janus_nosip_session
 

Functions

janus_plugincreate (void)
 
int janus_nosip_init (janus_callbacks *callback, const char *config_path)
 
void janus_nosip_destroy (void)
 
int janus_nosip_get_api_compatibility (void)
 
int janus_nosip_get_version (void)
 
const char * janus_nosip_get_version_string (void)
 
const char * janus_nosip_get_description (void)
 
const char * janus_nosip_get_name (void)
 
const char * janus_nosip_get_author (void)
 
const char * janus_nosip_get_package (void)
 
void janus_nosip_create_session (janus_plugin_session *handle, int *error)
 
struct janus_plugin_resultjanus_nosip_handle_message (janus_plugin_session *handle, char *transaction, json_t *message, json_t *jsep)
 
void janus_nosip_setup_media (janus_plugin_session *handle)
 
void janus_nosip_incoming_rtp (janus_plugin_session *handle, janus_plugin_rtp *packet)
 
void janus_nosip_incoming_rtcp (janus_plugin_session *handle, janus_plugin_rtcp *packet)
 
void janus_nosip_hangup_media (janus_plugin_session *handle)
 
void janus_nosip_destroy_session (janus_plugin_session *handle, int *error)
 
json_tjanus_nosip_query_session (janus_plugin_session *handle)
 
void janus_nosip_sdp_process (janus_nosip_session *session, janus_sdp *sdp, gboolean answer, gboolean update, gboolean *changed)
 
char * janus_nosip_sdp_manipulate (janus_nosip_session *session, janus_sdp *sdp, gboolean answer)
 

Detailed Description

Janus NoSIP plugin.

Author
Lorenzo Miniero loren.nosp@m.zo@m.nosp@m.eetec.nosp@m.ho.c.nosp@m.om

Plugins

Macro Definition Documentation

◆ DEFAULT_RTP_RANGE_MAX

#define DEFAULT_RTP_RANGE_MAX   60000

◆ DEFAULT_RTP_RANGE_MIN

#define DEFAULT_RTP_RANGE_MIN   10000

◆ JANUS_NOSIP_AUTHOR

#define JANUS_NOSIP_AUTHOR   "Meetecho s.r.l."

◆ JANUS_NOSIP_DESCRIPTION

#define JANUS_NOSIP_DESCRIPTION   "This is a simple RTP bridging plugin that leaves signalling details (e.g., SIP) up to the application."

◆ JANUS_NOSIP_ERROR_INVALID_ELEMENT

#define JANUS_NOSIP_ERROR_INVALID_ELEMENT   444

◆ JANUS_NOSIP_ERROR_INVALID_JSON

#define JANUS_NOSIP_ERROR_INVALID_JSON   441

◆ JANUS_NOSIP_ERROR_INVALID_REQUEST

#define JANUS_NOSIP_ERROR_INVALID_REQUEST   442

◆ JANUS_NOSIP_ERROR_INVALID_SDP

#define JANUS_NOSIP_ERROR_INVALID_SDP   447

◆ JANUS_NOSIP_ERROR_IO_ERROR

#define JANUS_NOSIP_ERROR_IO_ERROR   448

◆ JANUS_NOSIP_ERROR_MISSING_ELEMENT

#define JANUS_NOSIP_ERROR_MISSING_ELEMENT   443

◆ JANUS_NOSIP_ERROR_MISSING_SDP

#define JANUS_NOSIP_ERROR_MISSING_SDP   446

◆ JANUS_NOSIP_ERROR_NO_MESSAGE

#define JANUS_NOSIP_ERROR_NO_MESSAGE   440

◆ JANUS_NOSIP_ERROR_RECORDING_ERROR

#define JANUS_NOSIP_ERROR_RECORDING_ERROR   449

◆ JANUS_NOSIP_ERROR_TOO_STRICT

#define JANUS_NOSIP_ERROR_TOO_STRICT   450

◆ JANUS_NOSIP_ERROR_UNKNOWN_ERROR

#define JANUS_NOSIP_ERROR_UNKNOWN_ERROR   499

◆ JANUS_NOSIP_ERROR_WRONG_STATE

#define JANUS_NOSIP_ERROR_WRONG_STATE   445

◆ JANUS_NOSIP_NAME

#define JANUS_NOSIP_NAME   "JANUS NoSIP plugin"

◆ JANUS_NOSIP_PACKAGE

#define JANUS_NOSIP_PACKAGE   "janus.plugin.nosip"

◆ JANUS_NOSIP_VERSION

#define JANUS_NOSIP_VERSION   1

◆ JANUS_NOSIP_VERSION_STRING

#define JANUS_NOSIP_VERSION_STRING   "0.0.1"

Typedef Documentation

◆ janus_nosip_media

◆ janus_nosip_message

◆ janus_nosip_session

Function Documentation

◆ create()

janus_plugin* create ( void  )

◆ janus_nosip_create_session()

void janus_nosip_create_session ( janus_plugin_session handle,
int *  error 
)

◆ janus_nosip_destroy()

void janus_nosip_destroy ( void  )

◆ janus_nosip_destroy_session()

void janus_nosip_destroy_session ( janus_plugin_session handle,
int *  error 
)

◆ janus_nosip_get_api_compatibility()

int janus_nosip_get_api_compatibility ( void  )

◆ janus_nosip_get_author()

const char * janus_nosip_get_author ( void  )

◆ janus_nosip_get_description()

const char * janus_nosip_get_description ( void  )

◆ janus_nosip_get_name()

const char * janus_nosip_get_name ( void  )

◆ janus_nosip_get_package()

const char * janus_nosip_get_package ( void  )

◆ janus_nosip_get_version()

int janus_nosip_get_version ( void  )

◆ janus_nosip_get_version_string()

const char * janus_nosip_get_version_string ( void  )

◆ janus_nosip_handle_message()

struct janus_plugin_result * janus_nosip_handle_message ( janus_plugin_session handle,
char *  transaction,
json_t message,
json_t jsep 
)

◆ janus_nosip_hangup_media()

void janus_nosip_hangup_media ( janus_plugin_session handle)

◆ janus_nosip_incoming_rtcp()

void janus_nosip_incoming_rtcp ( janus_plugin_session handle,
janus_plugin_rtcp packet 
)

◆ janus_nosip_incoming_rtp()

void janus_nosip_incoming_rtp ( janus_plugin_session handle,
janus_plugin_rtp packet 
)

◆ janus_nosip_init()

int janus_nosip_init ( janus_callbacks callback,
const char *  config_path 
)

◆ janus_nosip_query_session()

json_t * janus_nosip_query_session ( janus_plugin_session handle)

◆ janus_nosip_sdp_manipulate()

char * janus_nosip_sdp_manipulate ( janus_nosip_session session,
janus_sdp sdp,
gboolean  answer 
)

◆ janus_nosip_sdp_process()

void janus_nosip_sdp_process ( janus_nosip_session session,
janus_sdp sdp,
gboolean  answer,
gboolean  update,
gboolean *  changed 
)

◆ janus_nosip_setup_media()

void janus_nosip_setup_media ( janus_plugin_session handle)