Groups: Difference between revisions

From VoIPmonitor.org
(Add documentation for regex patterns in telephone number groups)
(Rewrite: condensed structure, consolidated checkbox options into table, added See Also section)
 
(5 intermediate revisions by the same user not shown)
Line 2: Line 2:
{{DISPLAYTITLE:Groups: IP, Telephone Numbers & Emails}}
{{DISPLAYTITLE:Groups: IP, Telephone Numbers & Emails}}


Groups define sets of IP addresses/networks, telephone numbers/prefixes, and emails. These can be used across the WEB GUI for filtering CDRs, configuring alerts, and other features. Groups allow you to manage large collections of identifiers efficiently and reuse them across multiple configurations.
Groups define reusable sets of IP addresses, telephone numbers, and emails for filtering CDRs, configuring alerts, and reports.


== Overview ==
{{Note|1=After creating a new group, '''log out and log back in''' for it to appear in dropdown lists (CDR filters, alerts, charts).}}


VoIPmonitor supports three types of groups:
== Group Types ==


{| class="wikitable"
{| class="wikitable"
|-
|-
! Group Type !! Use Cases !! Access Path
! Type !! Path !! Use Cases
|-
|-
| '''IP Groups''' || Define SIP trunks, filter by source/destination IP, distinguish internal/external calls || GUI → Groups → IPs
| '''IP''' || Groups → IPs || SIP trunks, call direction classification, CDR filtering by IP
|-
|-
| '''Telephone Number Groups''' || Filter CDRs by caller/called numbers, alert on specific number ranges || GUI → Groups → Tel. numbers
| '''Tel. Numbers''' || Groups → Tel. numbers || Filter CDRs by caller/called, alert on number ranges
|-
|-
| '''Email Groups''' || Define recipients for alerts and reports || GUI → Groups → Emails
| '''Emails''' || Groups → Emails || Recipients for alerts and reports
|}
|}
[[File:groups.png|center|600px|Groups management interface]]


== IP Groups ==
== IP Groups ==


IP Groups allow you to define sets of IP addresses or network ranges that can be used in CDR filters and alerts.
Define sets of IP addresses or CIDR ranges for filtering and classification.


=== Creating IP Groups ===
=== Creating IP Groups ===


# Navigate to GUI → Groups → IPs
# Navigate to '''Groups → IPs'''
# Click "New group"
# Click "New group", enter name
# Enter a descriptive group name (e.g., "Provider A SIP Trunk" or "Internal PBX Servers")
# Add IPs or CIDR ranges (one per line):
# Add IP addresses or CIDR ranges, one per line
<syntaxhighlight lang="text">
# Configure the '''Trunk''' or '''Server''' checkbox as applicable (see below)
# Save the group
 
=== Trunk Checkbox ===
 
The '''Trunk''' checkbox is an important feature for IP groups. When enabled, it marks the IPs in this group as belonging to an external SIP trunk (e.g., your VoIP provider) or carrier.
 
=== Server Checkbox ===
 
The '''Server''' checkbox marks IPs in this group as belonging to your internal PBX servers or VoIP infrastructure. This is used in conjunction with the Trunk checkbox to accurately classify call direction.
 
=== Call Direction Classification
 
Using both '''Trunk''' and '''Server''' checkboxes, you can create precise CDR filter templates for differentiating inbound and outbound traffic:
 
* '''Outbound calls''' – Caller IP is in a '''Server''' group AND Called IP is in a '''Trunk''' group
* '''Inbound calls''' – Caller IP is in a '''Trunk''' group AND Called IP is in a '''Server''' group
* '''Internal calls''' – Both caller and called IPs are in (or not in) the same groups
 
==== Usage Example for Capacity Planning
 
For generating reports showing inbound vs outbound call counts and peak concurrent calls:
 
# Create a '''Server''' group containing your internal PBX/server IP ranges (enable the '''Server''' checkbox)
# Create a '''Trunk''' group containing your carrier/provider IP ranges (enable the '''Trunk''' checkbox)
# Create CDR filter templates:
** For '''Outbound''': Select `callerIP` in your Server group AND `calledIP` in your Trunk group
** For '''Inbound''': Select `callerIP` in your Trunk group AND `calledIP` in your Server group
# Generate reports using these filter templates with the "count of calls" report type
 
=== Example IP Group Entries ===
 
<pre>
192.168.1.100
192.168.1.100
10.0.0.0/24
10.0.0.0/24
172.16.0.0/16
2001:db8::1/128
2001:db8::1/128
</pre>
</syntaxhighlight>
# Configure checkboxes (see below)
# Save


== Telephone Number Groups ==
=== Checkbox Options ===


Telephone number groups allow you to define sets of phone numbers or prefixes that can be used in CDR filters, alerts, and other parts of the GUI.
{| class="wikitable"
|-
! Checkbox !! Purpose !! When to Use
|-
| '''Trunk''' || Marks IPs as external carrier/provider || SIP trunk IPs from your VoIP provider
|-
| '''Server''' || Marks IPs as internal infrastructure || Your PBX, SBC, or media servers
|-
| '''SIP history group''' || Merges private/public IPs in SIP ladder view || NAT devices where signaling uses public IP but RTP uses private IP
|}


=== Creating and Managing Phone Number Groups ===
=== Call Direction Classification ===


You can create phone number groups manually one at a time, or use the import/export functionality for large lists. Telephone number groups support both explicit numbers and regular expression patterns.
Using '''Trunk''' and '''Server''' checkboxes enables precise filtering:


==== Manual Entry ====
{| class="wikitable"
|-
! Direction !! Filter Logic
|-
| '''Outbound''' || callerIP in '''Server''' group AND calledIP in '''Trunk''' group
|-
| '''Inbound''' || callerIP in '''Trunk''' group AND calledIP in '''Server''' group
|-
| '''Internal''' || Both IPs in same group (or neither in any group)
|}


# Navigate to GUI → Groups → Tel. numbers
<kroki lang="mermaid">
# Click the "New group" button
%%{init: {'flowchart': {'nodeSpacing': 20, 'rankSpacing': 50}}}%%
# Enter a Group name
flowchart LR
# Add phone numbers or regex patterns one per line
    subgraph Server["Server Group (Internal)"]
# Save the group
        PBX[PBX/SBC]
    end
    subgraph Trunk["Trunk Group (External)"]
        Carrier[Carrier/Provider]
    end
    PBX -->|"Outbound"| Carrier
    Carrier -->|"Inbound"| PBX
</kroki>


'''Regex Patterns in Phone Number Groups:'''
=== SIP History Group for NAT ===


Telephone number groups support regular expressions for pattern matching. For example:
When a device behind NAT shows different IPs in signaling vs media:
* Public IP: 1.2.3.4 (in SIP headers)
* Private IP: 10.0.0.3 (actual device)


:* Find numbers containing letters (malformed caller IDs):
Create a group with both IPs and enable '''SIP history group''' checkbox. The GUI will consolidate duplicate flows into a single column in SIP ladder view.
:<code>[a-zA-Z]</code>


:* Match specific number patterns:
== Telephone Number Groups ==
:<code>^500[0-9]{4}$</code>


:* Find international numbers (starting with + or 00):
Define sets of phone numbers or patterns for CDR filtering and alerts.
:<code>^(+|00)</code>


=== Using Phone Number Groups in CDR Filters ===
=== Creating Groups ===


==== Import/Export (Recommended for Large Lists) ====
'''Manual entry:'''
# Navigate to '''Groups → Tel. numbers'''
# Click "New group"
# Add numbers one per line
# Save


The import/export feature allows you to create and manage large lists of phone numbers efficiently.
'''Import/Export (for large lists):'''
# Click "import/export" button
# Upload text file with one number per line


'''To import phone numbers:'''
=== Regex Patterns ===


# Navigate to GUI → Groups → Tel. numbers
{{Warning|1=Entries are literal strings by default. Wrap patterns with <code>R(...)</code> to enable regex.}}
# Click the "import/export" button
# Prepare a text file with one phone number per line (or use the exported file as a template)
# Upload the file
# The list will be imported into a new or existing group


'''Example import file:'''
{| class="wikitable"
 
|-
<syntaxhighlight lang="text">
! Pattern !! Description
+12025551234
|-
+12025551235
| <code>R(^500[0-9]{4}$)</code> || Match 7-digit numbers starting with 500
+12025551236
|-
+447911123456
| <code>R(^(\+|00))</code> || International numbers (+ or 00 prefix)
</syntaxhighlight>
|-
 
| <code>R([a-zA-Z])</code> || Numbers containing letters (malformed IDs)
=== Using Phone Number Groups in CDR Filters ===
|}
 
After creating a phone number group:
 
# Go to the CDR view
# Click the "Filter Form" button
# In the Common tab, locate the "Group Filters" section
# Select your group from the "Caller Groups" or "Called Groups" dropdown
# Click "Search"


'''Benefits of using groups:'''
=== Using in CDR Filters ===
* Any changes made to the group are automatically propagated to all filters where the group is used
* Ideal for managing large lists of phone numbers
* Groups can be reused across multiple filters and alerts


=== Maximum Limits ===
# Go to CDR view → Filter Form
# In '''Group Filters''' section, select your group from '''Caller Groups''' or '''Called Groups'''
# Click Search


The Caller/Called manual entry fields in the CDR filter form are designed for small lists. For large lists of phone numbers, using groups with the import/export functionality is the recommended approach to ensure stability and maintainability.
{{Tip|Changes to the group automatically apply to all filters using it.}}


== Email Groups ==
== Email Groups ==


Email groups define sets of email addresses for use in alerts and reports.
Define recipient lists for [[Alerts|alerts]] and [[Reports|reports]].
 
=== Creating Email Groups ===


# Navigate to GUI → Groups → Emails
# Navigate to '''Groups → Emails'''
# Click "New group"
# Click "New group"
# Enter a group name (e.g., "NOC Team", "Management")
# Add email addresses (one per line)
# Add email addresses, one per line
# Save
# Save the group
 
=== Using Email Groups ===
 
Email groups can be used in:
* [[Alerts]] – Send notifications to a group of recipients
* [[Reports]] – Distribute scheduled reports to multiple addresses


== IP Anonymize Rewrite Rules ==
== IP Anonymize Rewrite Rules ==


This feature replaces original IP addresses in the database with anonymized values. It is useful for privacy compliance (GDPR) or hiding internal network topology.
Replace original IPs with anonymized values in the database (GDPR compliance).


[[File:New_IP_anonymize_rewrite_rule.png|thumb|right|400px|IP anonymization settings]]
{{Warning|1=Rules apply only to '''new data''' after saving. Existing records are not modified.}}


=== Configuration Fields ===
=== Configuration ===


{| class="wikitable"
{| class="wikitable"
Line 171: Line 145:
! Field !! Description
! Field !! Description
|-
|-
| '''Description''' || Name of the rule.
| '''IP to anonymize''' || Original IP or network to hide
|-
| '''IP to anonymize''' || The original IP or network range you want to hide.
|-
|-
| '''Mask [0-32]''' || Source CIDR mask (e.g., 32 for a single IP, 24 for a whole subnet).
| '''Mask [0-32]''' || Source CIDR mask (32 = single IP, 24 = subnet)
|-
|-
| '''Anonymous IP''' || The new IP address that will be stored in the database.
| '''Anonymous IP''' || Replacement IP stored in database
|-
|-
| '''Mask [0-32]''' || Target mask. If this matches the source mask, the host part of the IP is preserved (1:1 mapping).
| '''Mask [0-32]''' || Target mask (same as source = preserves host part)
|}
|}


=== Example: Network Prefix Anonymization ===
'''Example:''' Map 192.168.1.x → 10.0.0.x (preserve host address):
 
To hide the real network prefix (e.g., 192.168.1.x) but keep the host addresses unique (mapping 192.168.1.55 → 10.0.0.55):


{| class="wikitable"
{| class="wikitable"
Line 199: Line 169:
|}
|}


'''Note:''' These rules apply only to new data processed after saving the configuration. Existing records in the database are not retroactively anonymized.
== See Also ==
 
* [[Alerts]] - Using email groups for notifications
* [[Reports]] - Using groups in scheduled reports
* [[Call_Detail_Record_-_CDR]] - CDR filtering with groups


== AI Summary for RAG ==
== AI Summary for RAG ==


'''Summary:''' This page explains how to configure Groups (IP addresses, telephone numbers, and emails) in VoIPmonitor. IP groups support both Trunk and Server checkboxes to classify call direction: Outbound (callerIP in Server group, calledIP in Trunk group), Inbound (callerIP in Trunk group, calledIP in Server group), and Internal calls. These groups are used in CDR filter templates for capacity planning and reporting. Telephone number groups support manual entry, import/export, and regular expression patterns for matching number ranges or specific patterns (e.g., containing letters, international prefixes). Email groups are used for alert and report distribution.
'''Summary:''' VoIPmonitor Groups feature for defining reusable sets of IP addresses, telephone numbers, and emails. IP groups support Trunk, Server, and SIP history group checkboxes for call direction classification (Outbound = callerIP in Server + calledIP in Trunk; Inbound = reverse) and NAT device consolidation in SIP ladder view. Telephone number groups support manual entry, import/export for large lists, and regex patterns with R(...) wrapper syntax. Email groups define recipients for alerts and reports. IP Anonymize Rewrite Rules enable GDPR-compliant IP masking for new data only. Important: log out and back in after creating groups for them to appear in dropdown lists.


'''Keywords:''' groups, IP groups, telephone numbers, tel numbers, email groups, SIP trunks, alerts, filters, import, export, CDR filter, Caller Groups, Called Groups, Trunk checkbox, Server checkbox, inbound calls, outbound calls, internal calls, capacity planning, callerIP, calledIP, CDR filter templates, IP anonymize, rewrite rules, GDPR, privacy, IP masking, network anonymization, regex patterns, regular expressions, number filtering, anti-fraud alerts, telephone number groups in alerts, malformed caller IDs
'''Keywords:''' groups, IP groups, telephone numbers, email groups, SIP trunks, Trunk checkbox, Server checkbox, SIP history group, call direction, inbound, outbound, CDR filter, Caller Groups, Called Groups, regex patterns, R() wrapper, import export, IP anonymize, GDPR, NAT, SIP ladder, GUI refresh, login refresh


'''Key Questions:'''
'''Key Questions:'''
* What types of groups are available in VoIPmonitor?
* What types of groups are available in VoIPmonitor?
* How do I create an IP group for a SIP trunk?
* How do I create an IP group for a SIP trunk?
* What is the Trunk checkbox and how does it affect call classification?
* What is the Trunk checkbox and Server checkbox used for?
* What is the Server checkbox and when should I use it?
* How do I differentiate inbound and outbound calls?
* How do I differentiate inbound and outbound calls for capacity planning?
* What is the SIP history group checkbox for NAT devices?
* How do I create CDR filter templates using IP groups?
* How do I use regex patterns in telephone number groups?
* How do I import a large list of phone numbers into a group?
* How do I import a large list of phone numbers?
* How do I filter CDRs by a group of phone numbers?
* Why is my new group not visible in dropdown lists?
* How do I configure IP anonymize rewrite rules for GDPR compliance?
* How do I configure IP anonymization for GDPR?
* How to anonymize a network prefix while preserving host addresses?
* How do I set up email groups for alerts?
* Can I use regular expressions in telephone number groups?
* How to create a telephone number group for numbers containing letters?

Latest revision as of 16:48, 8 January 2026


Groups define reusable sets of IP addresses, telephone numbers, and emails for filtering CDRs, configuring alerts, and reports.

ℹ️ Note: After creating a new group, log out and log back in for it to appear in dropdown lists (CDR filters, alerts, charts).

Group Types

Type Path Use Cases
IP Groups → IPs SIP trunks, call direction classification, CDR filtering by IP
Tel. Numbers Groups → Tel. numbers Filter CDRs by caller/called, alert on number ranges
Emails Groups → Emails Recipients for alerts and reports

IP Groups

Define sets of IP addresses or CIDR ranges for filtering and classification.

Creating IP Groups

  1. Navigate to Groups → IPs
  2. Click "New group", enter name
  3. Add IPs or CIDR ranges (one per line):
192.168.1.100
10.0.0.0/24
2001:db8::1/128
  1. Configure checkboxes (see below)
  2. Save

Checkbox Options

Checkbox Purpose When to Use
Trunk Marks IPs as external carrier/provider SIP trunk IPs from your VoIP provider
Server Marks IPs as internal infrastructure Your PBX, SBC, or media servers
SIP history group Merges private/public IPs in SIP ladder view NAT devices where signaling uses public IP but RTP uses private IP

Call Direction Classification

Using Trunk and Server checkboxes enables precise filtering:

Direction Filter Logic
Outbound callerIP in Server group AND calledIP in Trunk group
Inbound callerIP in Trunk group AND calledIP in Server group
Internal Both IPs in same group (or neither in any group)

SIP History Group for NAT

When a device behind NAT shows different IPs in signaling vs media:

  • Public IP: 1.2.3.4 (in SIP headers)
  • Private IP: 10.0.0.3 (actual device)

Create a group with both IPs and enable SIP history group checkbox. The GUI will consolidate duplicate flows into a single column in SIP ladder view.

Telephone Number Groups

Define sets of phone numbers or patterns for CDR filtering and alerts.

Creating Groups

Manual entry:

  1. Navigate to Groups → Tel. numbers
  2. Click "New group"
  3. Add numbers one per line
  4. Save

Import/Export (for large lists):

  1. Click "import/export" button
  2. Upload text file with one number per line

Regex Patterns

⚠️ Warning: Entries are literal strings by default. Wrap patterns with R(...) to enable regex.

Pattern Description
R(^500[0-9]{4}$) Match 7-digit numbers starting with 500
00)) International numbers (+ or 00 prefix)
R([a-zA-Z]) Numbers containing letters (malformed IDs)

Using in CDR Filters

  1. Go to CDR view → Filter Form
  2. In Group Filters section, select your group from Caller Groups or Called Groups
  3. Click Search

💡 Tip: Changes to the group automatically apply to all filters using it.

Email Groups

Define recipient lists for alerts and reports.

  1. Navigate to Groups → Emails
  2. Click "New group"
  3. Add email addresses (one per line)
  4. Save

IP Anonymize Rewrite Rules

Replace original IPs with anonymized values in the database (GDPR compliance).

⚠️ Warning: Rules apply only to new data after saving. Existing records are not modified.

Configuration

Field Description
IP to anonymize Original IP or network to hide
Mask [0-32] Source CIDR mask (32 = single IP, 24 = subnet)
Anonymous IP Replacement IP stored in database
Mask [0-32] Target mask (same as source = preserves host part)

Example: Map 192.168.1.x → 10.0.0.x (preserve host address):

Setting Value
IP to anonymize 192.168.1.0
Mask 24
Anonymous IP 10.0.0.0
Mask 24

See Also

AI Summary for RAG

Summary: VoIPmonitor Groups feature for defining reusable sets of IP addresses, telephone numbers, and emails. IP groups support Trunk, Server, and SIP history group checkboxes for call direction classification (Outbound = callerIP in Server + calledIP in Trunk; Inbound = reverse) and NAT device consolidation in SIP ladder view. Telephone number groups support manual entry, import/export for large lists, and regex patterns with R(...) wrapper syntax. Email groups define recipients for alerts and reports. IP Anonymize Rewrite Rules enable GDPR-compliant IP masking for new data only. Important: log out and back in after creating groups for them to appear in dropdown lists.

Keywords: groups, IP groups, telephone numbers, email groups, SIP trunks, Trunk checkbox, Server checkbox, SIP history group, call direction, inbound, outbound, CDR filter, Caller Groups, Called Groups, regex patterns, R() wrapper, import export, IP anonymize, GDPR, NAT, SIP ladder, GUI refresh, login refresh

Key Questions:

  • What types of groups are available in VoIPmonitor?
  • How do I create an IP group for a SIP trunk?
  • What is the Trunk checkbox and Server checkbox used for?
  • How do I differentiate inbound and outbound calls?
  • What is the SIP history group checkbox for NAT devices?
  • How do I use regex patterns in telephone number groups?
  • How do I import a large list of phone numbers?
  • Why is my new group not visible in dropdown lists?
  • How do I configure IP anonymization for GDPR?