On-Premise Database Tables Schema
mesibo On-Premise gives you complete access to your data. All database tables created by mesibo and the data written to them are accessible to you directly in your own database.
The tables and columns listed below are safe to read from. All other tables and columns are used internally by mesibo and may be modified or removed without notice — do not access or depend on them.
Caution
Never write to any table in the mesibo On-Premise database. If you need frequent read access, set up MySQL in a master-slave replication configuration so that reads are served from the replica, keeping load off the primary. Never overload the primary database with analytical or bulk queries.
Messages Table
mesibo On-Premise stores all messages in the messages table when message retention is enabled. All timestamp columns are in epoch seconds.
| Column | Description |
|---|---|
| id | Message ID |
| refid | Reference ID of the message being replied to, if any |
| uid | UID of the recipient user |
| src | UID of the sender |
| gid | Group ID, if the message was sent to a group |
| flags | Flags set when the message was sent |
| ts | Timestamp when the message was sent (epoch seconds) |
| rich | 1 = rich message (image, location, title, etc.), 0 = plain text |
| title | Title of the rich message (valid only if rich=1) |
| subtitle | Body text of the rich message (valid only if rich=1) |
| image | Image URL of the rich message (valid only if rich=1) |
| latitude | Latitude (valid only if rich=1; range: -90 to +90) |
| longitude | Longitude (valid only if rich=1; range: -180 to +180) |
| message | Plain text or binary message content (valid only if rich=0) |
Calls Table
mesibo On-Premise stores all one-to-one call logs in the calls table. All timestamp columns are in epoch seconds.
| Column | Description |
|---|---|
| id | Call ID |
| uid | UID of the user who initiated the call |
| duid | UID of the call recipient |
| huid | UID of the user who hung up |
| ts | Timestamp when the call was initiated (epoch seconds) |
| rts | Timestamp when ringing began at the destination (epoch seconds) |
| ats | Timestamp when the call was answered (epoch seconds) |
| ets | Timestamp when the call ended (epoch seconds) |
| type | Call type: 0 = voice, 1 = video |
| status | Final call status code |
Group Calls Table
mesibo On-Premise stores all group call logs in the groupcalls table.
| Column | Description |
|---|---|
| id | Call ID |
| uid | UID of the participant |
| peer | UID of the publisher if uid is a subscriber; 0 if uid is the publisher |
| sid | Stream ID |
| sts | Timestamp when the participant joined (epoch seconds) |
| ets | Timestamp when the participant left (epoch seconds) |
| bw | Bandwidth consumed by this participant (bytes) |
| video | 1 if video frames were sent or received, 0 otherwise |
| audio | 1 if audio frames were sent or received, 0 otherwise |
| active | 1 if the call is currently active, 0 otherwise |
Users Table
mesibo On-Premise stores all users in the users table. You can join this table with messages or calls to resolve a UID to a user address.
| Column | Description |
|---|---|
| uid | UID of the user |
| address | Address (identifier) of the user |
| online | Online status: 1 = online, 0 = offline |
| active | Account status: 1 = active, 0 = deactivated |