Hi Igor,
Looking at the kamailio pdb module code I can see that it should work well for prefixes
smaller than the MAX_SHORT_INT= 32767 = 2^15-1 because:
```
typedef int16_t carrier_t;
...
struct dt_node_t {
struct dt_node_t *child[10];
carrier_t carrier;
};
```
Also I think you should try:
```
bufsize = slen + 1 + 1 + *5* + 1 + 1; // instead of your "+ 4"
```
Also the utils/pdbt/pdb_server.c is using the same int16_t for carrierid.
This can be an idea of enhancing the kamailio pdb module to be able to set the number of
prefix digits via modparam (and use uint32_t for carrierid).
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/433#issuecomment-162839566