π’ Update - Aug 22, 2025: This post has been updated with information about the new v2.0 release featuring enhanced name-based validation and improved reporting capabilities!
The Challenge with AudioCodes SBC Configurations
If youβve worked with AudioCodes Session Border Controllers (SBCs), you know that comparing INI configuration files can be tricky. These files are packed with sections like IP Profiles, where endless strings of 0s and 1s which will make spotting differences feel like searching for needles in a haystack. Manual reviews sometimes miss subtle changes in parameters that could lead to issues in call handling. This is especially true when you have multiple SBCs in an “active-active-cluster” setup. The challenge is to quickly identify whatβs changed, whatβs missing, and what could potentially cause problems.
PowerShell to the Rescue
Iβve developed a PowerShell script to simplify comparisons of AudioCodes SBC INI files. It parses the structured format, identifies variances in sections like IP-Profiles and generates a clean HTML report if there are differences.
π οΈ SBC-Focused compare:
- General settings
- Table based settings like IP Profiles
- Drifted settings
- Missing Rows
π HTML Report Features
- Customizable displayname for each SBC
- Clear section-by-section comparison
- Highlighted differences for easy spotting
Sample Output
Hereβs a screenshot of the HTML report generated by the script, showing differences between two SBC INI files (click to enlarge):
Getting Started with the Script
- Clone or download from the repo.
- Launch PowerShell and move to the script folder.
- Compare with:
| |
- Open the generated HTML report in your browser.
New Feature: Use -IncludeNameValidation $true to enable intelligent name-based comparison that matches table entries by their names even when index positions differ!
GitHub Repository
You can find the script in the GitHub repository: AudioCodes SBC INI File Comparison
Current Limitations β RESOLVED!
One current limitation is (at least for now π) the handling of missmatching indexes but with the same content. For example, if both INI files have an IP Profile with the profile name “Teams” with the same settings, but on the first SBC it’s listed as index 0 and on the second SBC as index 1, the script could not match them correctly and will show them as different.
UPDATE Aug 22,2025: This limitation has been completely resolved! The new -IncludeNameValidation parameter enables intelligent name-based comparison that automatically matches entries by their names, regardless of index position differences.
π What’s New in v2.0 (Aug 22,2025)
Major Feature Enhancement: Name-Based Validation & Enhanced Reporting
- π Smart Name-Based Matching: New
-IncludeNameValidationparameter automatically matches table entries by their names (e.g., IP Profile names) even when index positions differ - β Visual Success Indicators: Console output now includes colored success indicators for matched entries with clear distinction between perfect matches and entries with differences
- π§ Intelligent Comparison Logic: Secondary name-based matching prevents false positives when identical content exists at different indices
The script now handles complex scenarios where entries exist in both files but at different positions - exactly what AudioCodes SBC admins have been asking for!

