You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamailio/utils/pdbt/docs/network_protocol.txt

54 lines
1.9 KiB

* Network protocol of pdb server and sip-router module *
The pdb server daemon listen only for UDP messages. The requests contains in
the UDP payload the number starting with a international prefix, e.g. '49' for
germany. It must contain only numbers like this: '49721913742734'.
The answer packet contains then the number string from the respective request,
null-terminated and followed by two bytes which represents the result. This
two bytes are interpreted as 16 bit signed integer value, the UDP payload is
in network byte order (most significant byte first).
Possible values for the search request:
* 0: the number could not be found
* 1-999 the number was found and the result represents its carrier ID
* 1000: the number could be found, but its owned from a carriers which is
not interesting for us and belongs to the "other carrier" group
From PDB_VERSION_1 onwards the pdb request and reply looks like this:
+-------+----+----+------+--+-------+
| header | body |
+-------+----+----+------+--+-------+
|version|type|code|length|id|payload|
+-------+----+----+------+--+-------+
Version
Current version is 1 (0x01).
Type
PDB_TYPE_REQUEST_ID = 0, /* request pdb type */
PDB_TYPE_REPLY_ID, /* reply pdb type */
Code
PDB_CODE_DEFAULT = 0, /* for request */
PDB_CODE_OK, /* for response - OK */
PDB_CODE_NOT_NUMBER, /* for response - letters found in the number */
PDB_CODE_NOT_FOUND, /* for response - no pdb_id found for the number */
Length
The length of the whole message
Id
A pdb_msg id which might be used for asynchronous queries.
Payload
Request number including '\0' for request.
Request number including '\0' and pdb_id for reply.
Backwards compatibility with the old msg protocol is kept when the first byte
received is different from the known versions ('0x01' for now)
For more info about the data structures used, see common.h file.