# &adminguide;

## Overview

This module serves as a storage engine for PCSCF contacts, much like the standard Kamailio module, usrloc, is a storage engine for standard SIP contacts. The concept of a contact in IMS, PCSCF specifically, is very different to that of std. SIP and as a result we have built this new module. Alot of the design has been borrowed from the std. usrloc module. For example. An IMS contact, in PCSCF, needs things like:

- Diameter Rx session for signalling bearer status. i.e. this is effectively QoS from the network to make sure the signalling link can be 'trusted'

- IPSEC Security Assocation for secure signalling between UE and PCSCF (first point of contact)

- IMPU, each contact can have a number of associated public identities (IMPU).

## Dependencies

### &kamailio; Modules

The following modules must be loaded before this module:

- None.

### External Libraries or Applications

The following libraries or applications must be installed before running &kamailio; with this module loaded:

- None.

## Parameters

### hash_size (int)

The number of entries of the hash table used by to store the contact records is 2^hash_size. For hash_size=4, the number of entries of the hash table is 16.

Default value is 9.

#### Set `hash_size` parameter

    ...
    modparam("ims_usrloc_pcscf", "hash_size", 10)
    ...

### timer_interval (int)

Number of seconds between two timer runs. The module uses timer to delete expired contacts.

Default value is 60.

#### Set timer_interval parameter

    ...
    modparam("ims_usrloc_pcscf", "timer_interval", 30)
    ...

## Functions

There are no exported functions that could be used in scripts.

## RPC Commands

exported RPC commands.

### ulpcscf.status

Status of pcscf_usrloc, AORs, max slots, etc.

## Statistics

Exported statistics are listed in the next sections.

### registered contacts

Number of AOR contacts in registered state - cannot be reset.

### impus

Number of IMPUs - cannot be reset.

### expired contacts

Number of expired contacts - can be reset.