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.

ColumnDescription
idMessage ID
refidReference ID of the message being replied to, if any
uidUID of the recipient user
srcUID of the sender
gidGroup ID, if the message was sent to a group
flagsFlags set when the message was sent
tsTimestamp when the message was sent (epoch seconds)
rich1 = rich message (image, location, title, etc.), 0 = plain text
titleTitle of the rich message (valid only if rich=1)
subtitleBody text of the rich message (valid only if rich=1)
imageImage URL of the rich message (valid only if rich=1)
latitudeLatitude (valid only if rich=1; range: -90 to +90)
longitudeLongitude (valid only if rich=1; range: -180 to +180)
messagePlain 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.

ColumnDescription
idCall ID
uidUID of the user who initiated the call
duidUID of the call recipient
huidUID of the user who hung up
tsTimestamp when the call was initiated (epoch seconds)
rtsTimestamp when ringing began at the destination (epoch seconds)
atsTimestamp when the call was answered (epoch seconds)
etsTimestamp when the call ended (epoch seconds)
typeCall type: 0 = voice, 1 = video
statusFinal call status code

Group Calls Table

mesibo On-Premise stores all group call logs in the groupcalls table.

ColumnDescription
idCall ID
uidUID of the participant
peerUID of the publisher if uid is a subscriber; 0 if uid is the publisher
sidStream ID
stsTimestamp when the participant joined (epoch seconds)
etsTimestamp when the participant left (epoch seconds)
bwBandwidth consumed by this participant (bytes)
video1 if video frames were sent or received, 0 otherwise
audio1 if audio frames were sent or received, 0 otherwise
active1 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.

ColumnDescription
uidUID of the user
addressAddress (identifier) of the user
onlineOnline status: 1 = online, 0 = offline
activeAccount status: 1 = active, 0 = deactivated