Skip to main content

Database Models

Auto Dialer Models

AutoDialerCampaign

Core campaign configuration for outbound dialing.

Key Features:

  • Caller ID Pooling (up to 100 numbers)
  • Rate limiting (CAC/CPS)
  • Scheduling
  • Retry logic

AutoDialerCampaignCallerId

Pivot table for Caller ID pool assignments.

Table: auto_dialer_campaign_caller_ids

ColumnTypeDescription
campaign_idFKReference to campaign
did_number_idFKReference to DID
weightintDistribution weight

AutoDialerCallerIdStat

Per-Caller ID usage statistics.

Table: auto_dialer_caller_id_stats

ColumnTypeDescription
campaign_idFKReference to campaign
did_number_idFKReference to DID
total_callsintTotal calls made
completed_callsintSuccessful calls
failed_callsintFailed calls
last_used_atdatetimeLast usage timestamp

AutoDialerDestination

Phone numbers to be called.

Table: auto_dialer_destinations

ColumnTypeDescription
campaign_idFKParent campaign
phone_numberstringE.164 format
statusenumpending, dialing, completed, failed
dial_attemptsintNumber of attempts
next_retry_atdatetimeScheduled retry time

AutoDialerCallSession

Individual call session tracking.

Table: auto_dialer_call_sessions

ColumnTypeDescription
campaign_idFKParent campaign
destination_idFKCalled destination
session_tokenstringUnique session ID
call_idstringCloudonix call ID
caller_idstringCaller ID used
caller_did_idFKDID record used
statusenuminitiated, ringing, answered, completed
dispositionenumanswered, busy, no-answer, failed

AutoDialerList

Distribution lists containing destinations.

Table: auto_dialer_lists

ColumnTypeDescription
namestringList name
versionintVersion for tracking changes
record_countintNumber of records

Core PBX Models

Extension

PBX extensions for users and services.

Table: extensions

ColumnTypeDescription
extension_numberstringShort code (e.g., 101)
namestringDisplay name
typeenumuser, ai_assistant, ring_group, etc.
statusenumactive, inactive
ai_assistant_idFKLinked AI assistant
service_urlstringSIP service URL
service_tokenstringAuthentication token

DidNumber

Phone numbers (DIDs) for inbound/outbound.

Table: did_numbers

ColumnTypeDescription
phone_numberstringE.164 format
friendly_namestringDisplay name
statusenumactive, inactive
purposeenumgeneral, ai_assistant, etc.

RingGroup

Call distribution groups.

Table: ring_groups

ColumnTypeDescription
namestringGroup name
strategyenumsimultaneous, round_robin, sequential
timeoutintRing timeout in seconds
max_call_durationintMaximum call duration

RingGroupMember

Extension assignments to ring groups.

Table: ring_group_members

ColumnTypeDescription
ring_group_idFKParent group
extension_idFKMember extension
positionintOrder for sequential strategy

IvrMenu

Interactive Voice Response menus.

Table: ivr_menus

ColumnTypeDescription
namestringMenu name
audio_file_pathstringGreeting audio file
tts_textstringText-to-speech greeting
inter_digit_timeoutintTimeout between digits
max_timeoutintMaximum wait time

IvrMenuOption

DTMF key options for IVR menus.

Table: ivr_menu_options

ColumnTypeDescription
ivr_menu_idFKParent menu
keystringDTMF key (0-9, *, #)
destination_typeenumrouting destination type
destination_idintTarget destination ID

AI Integration Models

AiAssistant

AI assistant configurations.

Table: ai_assistants

ColumnTypeDescription
namestringAssistant name
protocolenumwebsocket, sip
providerstringProvider identifier
configurationjsonProvider-specific settings
max_concurrent_callsintCall limit

AiAssistantLoadBalancer

Load balancer for multiple AI assistants.

Table: ai_assistant_load_balancers

ColumnTypeDescription
namestringLoad balancer name
strategyenumround_robin, weighted_random, sequential
follow_throughbooleanRetry on failure

AiAssistantLoadBalancerMember

Members of an AI load balancer.

Table: ai_assistant_load_balancer_members

ColumnTypeDescription
load_balancer_idFKParent load balancer
ai_assistant_idFKMember assistant
positionintOrder/weight
statusenumactive, inactive

User & Organization Models

User

System users with RBAC.

Table: users

ColumnTypeDescription
namestringFull name
emailstringEmail address
roleenumowner, pbx_admin, pbx_user, reporter
organization_idFKParent organization
extension_idFKLinked extension
statusenumactive, inactive

Organization

Multi-tenant organization container.

Table: organizations

ColumnTypeDescription
namestringOrganization name
statusenumactive, suspended
settingsjsonOrganization-wide settings

CloudonixSettings

Cloudonix CPaaS credentials per organization.

Table: cloudonix_settings

ColumnTypeDescription
organization_idFKParent organization
domain_uuidstringCloudonix domain UUID
domain_api_keystringAPI authentication key
voice_application_idintDefault voice app ID
webhook_base_urlstringBase URL for webhooks

Call & Logging Models

CallLog

Call records for PBX calls.

Table: call_logs

ColumnTypeDescription
call_idstringUnique call identifier
directionenuminbound, outbound
from_numberstringCaller number
to_numberstringCalled number
statusenuminitiated, answered, completed, failed
durationintCall duration in seconds

CallDetailRecord

Detailed call records from Cloudonix.

Table: call_detail_records

ColumnTypeDescription
call_idstringCloudonix call ID
session_idstringSession identifier
caller_idstringSource number
destinationstringTarget number
dispositionenumfinal call disposition
billsecintBillable seconds
recording_urlstringRecording path

SessionUpdate

Real-time call session updates.

Table: session_updates

ColumnTypeDescription
call_idstringCall identifier
statusenumcurrent status
timestampdatetimeUpdate time

Security Models

InboundBlacklist

Blocked caller ID patterns.

Table: inbound_blacklists

ColumnTypeDescription
patternstringPattern to match
match_typeenumexact, prefix, wildcard
block_reasonstringReason for blocking
is_activebooleanActive status

OutboundWhitelist

Outbound routing rules.

Table: outbound_whitelists

ColumnTypeDescription
country_codestringCountry ISO code
country_namestringCountry name
prefixstringNumber prefix
outbound_trunk_namestringTrunk for routing
is_activebooleanActive status

BlockedCallLog

Log of blocked inbound calls.

Table: blocked_call_logs

ColumnTypeDescription
caller_idstringBlocked caller
did_number_idFKTarget DID
blocked_reasonstringWhy blocked
occurred_atdatetimeWhen blocked

Business Hours Models

BusinessHours

Business hours configuration.

Table: business_hours

ColumnTypeDescription
namestringConfiguration name
timezonestringTimezone identifier

BusinessHoursTimeRange

Daily time ranges.

Table: business_hours_time_ranges

ColumnTypeDescription
business_hours_idFKParent configuration
day_of_weekenummonday-sunday
start_timetimeOpening time
end_timetimeClosing time

BusinessHoursException

Holiday/exception dates.

Table: business_hours_exceptions

ColumnTypeDescription
business_hours_idFKParent configuration
datedateException date
is_closedbooleanClosed all day
namestringHoliday name

Conference Models

ConferenceRoom

Conference bridge configuration.

Table: conference_rooms

ColumnTypeDescription
namestringRoom name
pinstringAccess PIN
max_participantsintParticipant limit
mute_on_entrybooleanAuto-mute new participants
announce_join_leavebooleanPlay join/leave sounds

Notification Models

CallNotificationsSettings

Webhook notification configuration.

Table: call_notifications_settings

ColumnTypeDescription
webhook_urlstringTarget URL
enabled_eventsjsonEvent types to send
retry_attemptsintRetry count
rate_limitintMax requests per minute

CallNotificationLog

Notification delivery log.

Table: call_notification_logs

ColumnTypeDescription
session_idstringRelated call session
event_typestringEvent that triggered notification
payloadjsonData sent
response_statusintHTTP response code
attemptsintDelivery attempts

EmailLog

Transactional email log.

Table: email_logs

ColumnTypeDescription
recipientstringTo address
subjectstringEmail subject
templatestringTemplate used
statusenumpending, sent, failed

Platform Admin Models

PlatformAuditLog

Cross-tenant audit trail.

Table: platform_audit_logs

ColumnTypeDescription
organization_idFKTarget organization
user_idFKActing user
actionenumcreate, update, delete, view
entity_typestringModel affected
entity_idintRecord ID
changesjsonBefore/after values
ip_addressstringRequest IP