libeXosip2  4.1.0
Functions
eXosip2 authentication API
SIP messages and call control API

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)

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
excontexteXosip_t instance.
usernameusername
useridlogin (usually equals the username)
passwdpassword
ha1currently ignored
realmrealm 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
excontexteXosip_t instance.
usernameusername
realmrealm 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
excontexteXosip_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
excontexteXosip_t instance.
jeevent to work on.
void eXosip_automatic_refresh ( struct eXosip_t *  excontext)

Initiate some automatic actions:

Refresh REGISTER and SUBSCRIBE before the expiration delay. Those actions are already done by eXosip_automatic_action(); Prefer eXosip_automatic_action instead of this method.

Parameters
excontexteXosip_t instance.
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 before the expiration delay. Retry with Contact header upon reception of 3xx request. Send automatic UPDATE for session-timer feature.

Parameters
excontexteXosip_t instance.
int eXosip_insubscription_automatic ( struct eXosip_t *  excontext,
eXosip_event_t evt 
)

Automatic internal handling of dialog package.

Parameters
excontexteXosip_t instance.
evtIncoming SUBSCRIBE for dialog package.
int eXosip_generate_random ( char *  buf,
int  buf_size 
)

Generate random string:

Parameters
bufdestination buffer for random string.
buf_sizesize of destination buffer