Change History Module Documentation
Table of Contents
Section titled βTable of Contentsβ- Navigation & Access
- Screenshots & Visual Interface
- Module Overview (Technical)
- Module Overview (Commercial/Business)
- Module Overview (End User/Administrator)
- Change Fields Reference
- Common Scenarios & Examples
- Limitations & Important Notes
- Troubleshooting Tips
- Glossary
- Model Context Protocol (MCP) AI Integration
Navigation & Access
Section titled βNavigation & AccessβTo access the Configuration Change History viewer:
- Log in to the Ring2All Web Portal (
https://<domain-or-ip>/login). - In the left navigation sidebar, expand Reports.
- Under System Reports, click Change History (
/reports/system/change-history). - Inspect recorded configuration mutation events, filter by affected entity, and review before/after attribute diffs.
Screenshots & Visual Interface
Section titled βScreenshots & Visual InterfaceβSystem Configuration Change History
Section titled βSystem Configuration Change HistoryβSpecialized configuration diff log displaying modification timestamps, author identities, targeted tables/entities, change operation types (CREATE, UPDATE, DELETE), and field-level alteration summaries.

1. Module Overview (Technical)
Section titled β1. Module Overview (Technical)βWhat Is Change History?
Section titled βWhat Is Change History?βChange History is a configuration change tracking module that records all modifications to system configuration. Unlike Audit Logs (which tracks all activity including logins), Change History focuses specifically on CREATE, UPDATE, and DELETE operations, storing the actual data changes (before/after values).
Architecture
Section titled βArchitectureβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Change History Architecture ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β ββ Configuration Change ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ β Any Module (Extensions, Gateways, Routes, etc.) β ββ β β ββ β Before: After: β ββ β ββ Name: "John Doe" ββ Name: "Jane Doe" β ββ β ββ Number: 1001 ββ Number: 1001 β ββ β ββ Enabled: true ββ Enabled: false β ββ β β ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ β ββ βΌ Logged with old/new values ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ β public.change_history β ββ β β ββ β | action | resource | user | old_values | new_values | β ββ β β ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ β ββ βΌ Displayed in Viewer ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ β Change History Page β ββ β β ββ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β ββ β βTime βAction βResourceβUser β Changes β β ββ β βββββββββΌββββββββΌβββββββββΌββββββΌβββββββββββββββββββββ€ β ββ β β10:30 βUPDATE βextensn βadminβ Name: JohnβJane β β ββ β β β β β β Enabled: trueβfalseβ β ββ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β ββ β β ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ2. Module Overview (Commercial/Business)
Section titled β2. Module Overview (Commercial/Business)βBusiness Value
Section titled βBusiness ValueβChange History provides configuration visibility:
| Without Change History | With Change History |
|---|---|
| Unknown who changed what | Full attribution |
| Lost previous settings | Before/after values |
| Canβt undo changes | Reference old values |
| No change documentation | Complete record |
Use Cases
Section titled βUse Casesβ-
Configuration Recovery
- Find previous settings
- Reference old values
-
Troubleshooting
- βWhat changed?β
- Identify breaking changes
-
Accountability
- Who made the change
- When it was changed
-
Auditing
- Review configuration changes
- Compliance documentation
Feature Highlights
Section titled βFeature Highlightsβ| Feature | Benefit |
|---|---|
| Before/After | See exact changes |
| User Attribution | Know who changed |
| Resource Tracking | What was modified |
| Date Filtering | Find by time |
| User Filtering | Find by person |
| Action Filtering | Create/Update/Delete |
3. Module Overview (End User/Administrator)
Section titled β3. Module Overview (End User/Administrator)βWhat Can You Do?
Section titled βWhat Can You Do?β- View all configuration changes
- See before and after values
- Filter by date range
- Filter by action type
- Filter by resource type
- Filter by user
- Search across changes
Change History Interface
Section titled βChange History Interfaceβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Change History ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β ββ Filters: ββ ββ Range: [Today βΌ] ββ ββ Actions: [All Actions βΌ] ββ ββ Resource: [ ] ββ ββ User: [All Users βΌ] ββ ββ [π Refresh] [Clear Filters] ββ ββ π [Search by action, resource, or user... ] ββ ββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ β Time βAction βResource βRes IDβ User βChanges β ββ ββββββββββββΌββββββββΌβββββββββββΌβββββββΌββββββββΌββββββββββββββ€ ββ β 10:30 βUpdate βextension β 123 β admin β [View βΌ] β ββ β β β β β β Name: JβJ β ββ β β β β β β Ena: TβF β ββ β 10:28 βCreate βuser β 456 β admin β [View βΌ] β ββ β 10:25 βDelete βgateway β 789 β super β [View βΌ] β ββ β 10:20 βUpdate βqueue β 101 β admin β [View βΌ] β ββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ ββ Showing 1-25 of 567 records ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββChange Details View
Section titled βChange Details Viewβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Change Details ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β ββ Resource: extension #123 ββ Action: UPDATE ββ User: admin@company.com ββ Date: 2026-01-16 10:30:45 ββ IP: 192.168.1.100 ββ ββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β Field β Old Value β New Value βββ ββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€ββ β effective_name β John Doe β Jane Doe βββ β enabled β true β false βββ β forward_enabled β false β true βββ β forward_destinationβ (empty) β 1002 βββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ [Close] ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββQuick Tips
Section titled βQuick Tipsβ[!TIP] View Changes: Click βView Changesβ to see old/new values side-by-side.
[!TIP] Recovery: Use before values to restore previous configuration.
[!NOTE] Data Changes Only: Login/logout not tracked here (see Audit Logs).
4. Change Fields Reference
Section titled β4. Change Fields ReferenceβDisplay Columns
Section titled βDisplay Columnsβ| Column | Description |
|---|---|
| ID | Unique change ID |
| Timestamp | When change occurred |
| Action | Create/Update/Delete |
| Resource | Type of object |
| Resource ID | Specific record ID |
| User | Who made the change |
| IP Address | Source IP |
| Changes | View details button |
Action Types
Section titled βAction Typesβ| Action | Description |
|---|---|
| Create | New record created (new values only) |
| Update | Record modified (old + new values) |
| Delete | Record removed (old values only) |
Change Details
Section titled βChange Detailsβ| Field | Description |
|---|---|
| Field Name | What was changed |
| Old Value | Previous value |
| New Value | Current value |
5. Common Scenarios & Examples
Section titled β5. Common Scenarios & ExamplesβScenario 1: Find What Changed on Extension
Section titled βScenario 1: Find What Changed on Extensionβ- Filter Resource by βextensionβ
- Search for extension number
- View change history
- Click βView Changesβ for details
Scenario 2: Recover Old Setting
Section titled βScenario 2: Recover Old Settingβ- Find the UPDATE record
- View Changes
- Note the Old Value
- Manually restore if needed
Scenario 3: Investigate Breaking Change
Section titled βScenario 3: Investigate Breaking Changeβ- Set date range to when issue started
- Filter by relevant resource type
- Review recent changes
- Identify problematic change
Scenario 4: User Change Audit
Section titled βScenario 4: User Change Auditβ- Filter by specific User
- Set date range
- Review all their changes
- Export if needed
6. Limitations & Important Notes
Section titled β6. Limitations & Important NotesβTechnical Notes
Section titled βTechnical Notesβ[!NOTE] Configuration Only: Tracks data changes, not logins/access.
[!NOTE] Read-Only: History cannot be modified.
[!WARNING] Sensitive Data: Old values may contain passwords (masked).
Comparison: Change History vs Audit Logs
Section titled βComparison: Change History vs Audit Logsβ| Feature | Change History | Audit Logs |
|---|---|---|
| Focus | Data changes | All activity |
| Actions | Create/Update/Delete | All actions + Login |
| Values | Before/After stored | Metadata only |
| Purpose | Config recovery | Compliance |
Best Practices
Section titled βBest Practicesβ- Review Regularly: Check for unexpected changes
- Filter Smart: Use resource type to narrow results
- Document Rollbacks: Record manual reversions
- Archive Important: Export critical change records
- Use for Recovery: Reference old values carefully
7. Troubleshooting Tips
Section titled β7. Troubleshooting TipsβCommon Issues
Section titled βCommon Issuesβ| Symptom | Possible Cause | Solution |
|---|---|---|
| No records | Too restrictive filter | Clear filters |
| Missing change | Not tracked resource | Some resources may not be tracked |
| Values masked | Sensitive fields | Passwords intentionally hidden |
| Slow loading | Large date range | Reduce date range |
| No old values | CREATE action | Creates only have new values |
Diagnostic SQL
Section titled βDiagnostic SQLβRecent configuration changes:
SELECT timestamp, action, resource, resource_id, user_email, old_values, new_valuesFROM public.change_historyORDER BY timestamp DESCLIMIT 50;Changes by resource type:
SELECT resource, action, COUNT(*) as countFROM public.change_historyWHERE timestamp >= NOW() - INTERVAL '7 days'GROUP BY resource, actionORDER BY count DESC;8. Glossary
Section titled β8. Glossaryβ| Term | Definition |
|---|---|
| Change | Single configuration modification |
| Old Value | Previous field value |
| New Value | Current field value |
| Resource | Type of configuration object |
| Resource ID | Specific record identifier |
| Diff | Difference between old/new |
9. Model Context Protocol (MCP) AI Integration
Section titled β9. Model Context Protocol (MCP) AI IntegrationβThe Ring2All Platform Copilot connects directly with the configuration change audit trail in ss_logs.audit_logs via the Model Context Protocol (MCP). Telephony engineers, operations leads, and security teams can track parameter mutations, verify who modified dialplan routes or extensions, and view before/after configuration state diffs conversationally.
Exposed MCP Tools
Section titled βExposed MCP Toolsβ| Tool Name | Operation | Primary Parameters | Description |
|---|---|---|---|
get_change_history |
Configuration Mutation Ledger | resource (string, optional), resourceId (string, optional), limit (number, default: 25) |
Queries configuration changes (CREATE, UPDATE, DELETE, TOGGLE), returning the modified resource, affected record ID, editor identity, and metadata diff. |
query_audit_logs |
Platform Audit Search | search (string, optional), action (string, optional), limit (number) |
Retrieves audit events across all categories with full-text search capability. |
Operational Safeguards & Data Integrity
Section titled βOperational Safeguards & Data Integrityβ- Tenant Scope Enforcement: Queries are automatically bounded by
tenant_id(WHERE tenant_id = :tenant_id), preventing visibility into other customer environments. - Strictly Non-Destructive: Querying change history executes read-only queries. Historical changes cannot be rolled back or mutated without explicit administrative configuration actions.
- Audit Field Masking: Security-sensitive attributes (such as SIP device authentication secrets or user login hashes) are withheld from metadata payloads.
Example MCP Payloads
Section titled βExample MCP Payloadsβ1. Checking Modification History for Inbound Routes (get_change_history)
Section titled β1. Checking Modification History for Inbound Routes (get_change_history)β{ "resource": "inbound_routes", "limit": 10}Response:
{ "success": true, "data": { "total": 1, "changes": [ { "id": "78a1bc44-5511-4091-bf9a-ef1029384756", "action": "UPDATE", "resource": "inbound_routes", "resourceId": "12", "user": "Carlos Mendez (admin)", "ipAddress": "190.212.45.18", "details": { "field": "destination_type", "old": "extension", "new": "ivr", "destination_id": 4 }, "timestamp": "2026-09-08T07:45:10.000Z" } ] }}2. Investigating Specific Entity Changes (get_change_history)
Section titled β2. Investigating Specific Entity Changes (get_change_history)β{ "resource": "sip_extensions", "resourceId": "1002"}Copilot Natural Language Prompts
Section titled βCopilot Natural Language Promptsβ- βWho changed the destination for inbound DID +13055550100?β
- βShow me all configuration changes made to extension 1002 in the last 7 days.β
- βWhat dialplan routes or IVRs were modified this morning?β
- βShow me any deleted PBX resources recorded in the change history.β
Documentation last updated: January 2026

