eXosip2_authentication - Man Page

eXosip2 authentication API

Synopsis

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_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)

Detailed Description

Function Documentation

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

Add authentication credentials. These are used when an outgoing request comes back with an authorization required response.

Parameters

excontext eXosip_t instance.
username username
userid login (usually equals the username)
passwd password
ha1 MD5 ha1
realm realm within which credentials apply, or NULL to apply credentials to unrecognized realms

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

Remove authentication credentials.

Parameters

excontext eXosip_t instance.
username username
realm realm must be exact same arg as for eXosip_add_authentication_info

int eXosip_clear_authentication_info (struct eXosip_t * excontext)

Clear all authentication credentials stored in eXosip

Parameters

excontext eXosip_t instance.

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

Initiate some default actions:

Retry with credentials upon reception of 401/407. Retry with Contact header upon reception of 3xx request.

Usefull & required when eXosip_automatic_action() can't do the automatic action: 1/ if you receive a 401 or 407 for BYE (event EXOSIP_CALL_MESSAGE_REQUESTFAILURE). 2/ if you receive 401 or 407 for any sip request outside of dialog (EXOSIP_MESSAGE_REQUESTFAILURE)

Parameters

excontext eXosip_t instance.
je event to work on.

void eXosip_automatic_action (struct eXosip_t * excontext)

Initiate some automatic actions:

Retry with credentials upon reception of 401/407. Retry with higher Session-Expires upon reception of 422. Refresh REGISTER and SUBSCRIBE/REFER before the expiration delay. Retry with Contact header upon reception of 3xx request. Send automatic UPDATE for session-timer feature.

Parameters

excontext eXosip_t instance.

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

Automatic internal handling of dialog package.

Parameters

excontext eXosip_t instance.
evt Incoming SUBSCRIBE for dialog package.

int eXosip_generate_random (char * buf, int buf_size)

Generate random string: (only digit, and maximum unsigned int)

Parameters

buf destination buffer for random string.
buf_size size of destination buffer

int eXosip_hexa_generate_random (char * buf, int buf_size, char * str1, char * str2, char * str3)

Generate random string: (low entropy, only hexa)

Parameters

buf destination buffer for random string.
buf_size size of destination buffer
str1 random1 input string
str2 random2 input string
str3 random3 input string

int eXosip_byte_generate_random (char * buf, int buf_size)

Generate random string: (high entropy when compiled with openssl)

Parameters

buf destination buffer for random string.
buf_size size of destination buffer

Author

Generated automatically by Doxygen for libeXosip2 from the source code.

Info

Thu May 18 2023 Version 5.3.0 libeXosip2