NAME
How-To send or update registrations. - eXosip2 offers a flexible API to
help you to register one or several identities.
Initiate a registration
To start a registration, you need to build a default REGISTER request
bby providing several mandatory headers
osip_message_t *reg = NULL;
int id;
int i;
eXosip_lock ();
id = eXosip_register_build_initial_register (identity, registrar, NULL,
1800, ®);
if (id < 0)
{
eXosip_unlock ();
return -1;
}
osip_message_set_supported (reg, ’100rel’);
osip_message_set_supported(reg, ’path’);
i = eXosip_register_send_register (id, reg);
eXosip_unlock ();
return i;
The returned element of eXosip_register_build_initial_register is the
registration identifier that you can use to update your registration.
In future events about this registration, you’ll see that registration
identifier when applicable.
Update a registration
You just need to reuse the registration identifier:
int i;
eXosip_lock ();
i = eXosip_register_build_register (id, 1800, ®);
if (i < 0)
{
eXosip_unlock ();
return -1;
}
eXosip_register_send_register (id, reg);
eXosip_unlock ();
Note: The above code also shows that the stack is sometimes able to
build and send a default SIP messages with only one API call
Closing the registration
A softphone should delete its registration on the SIP server when
terminating. To do so, you have to send a REGISTER request with the
expires header set to value ’0’.
The same code as for updating a registration is used with 0 instead of
1800 for the expiration delay.
Author
Generated automatically by Doxygen for libeXosip2 from the source code.
Version 3.1.0 1 MayHow-To send or update registrations.(3)