howto2_registration man page

howto2_registration — 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, &reg);
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, &reg);
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.

Info

Thu Feb 4 2016 Version 3.1.0 libeXosip2