---
name: "howto2_registration"
section: "3"
platform: "linux"
package: "libexosip2-dev"
version: "3.6.0-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/howto2_registration"
---

# howto2\_registration(3)

eXosip2 offers a flexible API to help you to register one or several identities.

## 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, &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.
