Phone books

Overview

A phonebook is a set of pairs of a name and an callable address, referred to by a name (“phone book name”), that can be associated to user groups. The phonebook service is commonly used to create lists of shared phone contacts as part of the agenda of the users that belong to the same user group.

Phone books are closely coupled with the user groups as user groups can subscribe to one or more phone books. There is no limitation neither in the number of contacts allowed in a phonebook nor in the number of userGroups subscribed to a given phonebook.

The following image explains with an example the relationship between user groups, user group participants and phone books. As seen in the image, the usergroup #1 is subscribed to phone books #1 and #2 while the usergroup #2 is subscribed to phone books #2 and #3.

_images/relations_ug_phonebooks.png

Data structure

The name in an entry of a phonebook identifies the contact while the address can be regular phone numbers (in E.164 format), a system username (for example, “peter@acme.com”) or event a user group “groupID” (as usergroups are “callable entities”). As a result, a phone book associated to a user group can have entries to call another user groups. There can only be one address entry per name. The data representation of a phone book is as follows:

Data structure of a phone book

Property

Type

Description

Required

Default

id

string

UUID of this phonebook. Read-only, generated by the system.

Yes

N/A

name

string

Name given to this phone book.

Yes

N/A

contacts[]

nested object

Contacts that make part of this phonebook

Yes

N/A

contacts[].name

string

Name of the contact

Yes

N/A

contacts[].address

string

Address of the contact (regular phone number, system username or usergroup ID)

Yes

N/A

contacts[].id

string

UUID of this contact

Yes

N/A

subscribers

list

Array of strings with the ID of the user groups that are subscribed to this phone book

Yes

[]

Note

Please note that users does not subscribe directly to a phone book. User groups are the ones who are subscribed to a phone book.

An example of this structure in JSON format is shown below, where the first entry is a system user or usergroup (102@quobis.com) and the second entry is a regular phone number.

Example of the structure of a phone book
 1{
 2 "id": "bb5e8a13d428d2ebce767b8",
 3 "name": "Useful phonebook",
 4 "contacts": [
 5     {
 6        "name": "Reception",
 7        "address": "102@quobis.com",
 8        "id": "bb5e8a13d428d2ebce767b8"
 9     },
10     {
11       "name": "Post Office",
12       "address": "+34 902 999 222",
13       "id": "a34e8a13d428d2ebce767b8"
14     }
15  ],
16 "subscribers":["iduserGroup1", "iduserGroup1"]
17}

Configuration

The phonebook service is configured via the wac.ini file. It contains a top-level entry named [phonebook] that holds the service’s details.

Example of wac.ini entry to activate the phonebook service
1[phonebook]

This service can be reached via the Quobis WAC REST APIs where a number of methods are available to create a phonebook, get a list of phonebooks and other CRUD operations.