Skip to main content

IMS Conference Server - User Guide

Overview

The IMS Conference Server provides multi-party conferencing capabilities compliant with the 3GPP IMS Conference Framework (RFC 4579, RFC 4575, TS 24.147). It enables subscribers to create and manage audio/video conferences through the IMS Application Server.

Architecture

The IMS Conference Server is an integrated component of OmniTAS that provides:

  • Conference Factory URI: SIP URI for creating new conferences
  • Conference Focus: Manages conference state and participants
  • Conference Policy Control: Enforces participant roles and permissions
  • Media Mixing: Handles audio/video mixing for conference participants

IMS Conference Factory Architecture

The TAS implements the 3GPP Conference Factory pattern as defined in TS 24.147 and RFC 4579:

Conference Creation Flow (RFC 4579 Factory Pattern)

This diagram shows how a user creates a new conference through the Conference Factory URI:

Participant Join Flow

This diagram shows how additional participants join an existing conference:

Conference Event Package (RFC 4575)

The conference server sends conference state notifications to all participants:

Conference Management Operations

Operations performed through Web UI or OmniTAS Console:

Access

Web Interface

Navigate to /conference or click "Conference" in the navigation menu to access the Conference Management interface.

OmniTAS Console

Access the conference server from the OmniTAS console using the ims_conference command.

Features

Conference Management Interface

The web interface provides real-time monitoring and management of active IMS conferences:

Statistics Dashboard

Displays high-level conference server statistics:

  • Active Conferences: Total number of ongoing conferences
  • Total Participants: Combined participant count across all conferences
  • Video Conferences: Number of conferences with video enabled
  • Locked Conferences: Number of conferences locked to new participants

The dashboard also shows server configuration:

  • Domain: Conference server domain (e.g., conference.ims.local)
  • Factory URI: SIP URI for conference creation requests
  • MNC/MCC: Mobile Network Code and Country Code
  • Access Network: Network type (e.g., 3GPP-E-UTRAN-FDD)
  • Default Max Participants: Maximum participants per conference
  • Video by Default: Whether video is enabled by default
  • Recording Enabled: Whether conference recording is available

Conference List

Shows all active conferences with:

  • Conference ID: Unique identifier for the conference
  • URI: SIP URI of the conference
  • Participants: Current number of participants
  • Creator: Phone number/URI of the conference creator

Click on any conference to expand and view detailed information.

Conference Details

Expanding a conference shows:

Conference Information:

  • ID and URI
  • Room name
  • Creator identity
  • Conference state
  • Participant count (current/max and minimum)
  • Video status (Enabled/Disabled)
  • Lock status (Locked/Unlocked)
  • Recording status (Active/Inactive)

Participant List:

  • SIP URI of each participant
  • Session UUID
  • Participant state
  • Role (0 = participant, 1 = moderator)
  • Video status

Conference Actions:

  • Lock/Unlock conference
  • Enable/Disable video
  • (Additional actions available via CLI)

Auto-Refresh

The interface automatically refreshes every 5 seconds to show real-time conference status. You can toggle auto-refresh on/off or manually refresh using the "Refresh" button.

OmniTAS Console Commands

All conference management operations are available through the ims_conference command in the OmniTAS console.

Command Syntax

ims_conference <command> [arguments]

Available Commands

list

Lists all active IMS conferences.

omnitas@server> ims_conference list
IMS Conferences:
Conference ID Conference URI Participants Creator
================================================================================
1-1765699908 sip:conf-1-1765699908@conference.ims.local 3 19078720151

Total: 1 conferences

info

Shows detailed information about a specific conference.

Syntax: ims_conference info <conf_id>

Important: Use the Conference ID (e.g., 1-1765699908), not the conference name with prefix.

omnitas@server> ims_conference info 1-1765699908
Conference Information:
ID: 1-1765699908
URI: sip:conf-1-1765699908@conference.ims.local
Room: ims-conf-1-1765699908
Creator: 19078720151
State: 1
Participants: 3/10 (min: 2)
Video: Enabled
Locked: No
Recording: Inactive

Participants:
- sip:1235;phone-context=ims.mnc380.mcc313.3gppnetwork.org@ims.mnc380.mcc313.3gppnetwork.org;user=phone;method=INVITE (342d50e0-9f67-4cc5-9179-4acae6f65f34)
State: 3, Role: 0, Video: On
- sip:1235;phone-context=ims.mnc380.mcc313.3gppnetwork.org@ims.mnc380.mcc313.3gppnetwork.org;user=phone;method=INVITE (bd98ca37-64fd-4618-b2db-aaba108c73e2)
State: 3, Role: 0, Video: On
- 19078720151 (6270da85-9b94-4285-8130-8769b11d0aa2)
State: 3, Role: 1, Video: On

stats

Displays overall conference server statistics and configuration.

omnitas@server> ims_conference stats
IMS Conference Server Statistics:
================================
Active conferences: 1
Total participants: 3
Video conferences: 1
Locked conferences: 0

Configuration:
Domain: conference.ims.local
Factory URI: sip:conference-factory@conf-factory.ims.mnc380.mcc313.3gppnetwork.org
MNC/MCC: 380/313
Access Network: 3GPP-E-UTRAN-FDD
Default max participants: 10
Allow anonymous: Yes
Video by default: Yes
Recording enabled: Yes
Announcements: Join=On, Leave=On, Count=On

create

Creates a new conference.

Syntax: ims_conference create <creator_uri>

omnitas@server> ims_conference create sip:19078720151@ims.local
Conference created: 1-1765699909
Conference URI: sip:conf-1-1765699909@conference.ims.local

destroy

Terminates a conference and disconnects all participants.

Syntax: ims_conference destroy <conf_id>

omnitas@server> ims_conference destroy 1-1765699908
Conference 1-1765699908 destroyed

add

Adds a participant to an existing conference.

Syntax: ims_conference add <conf_id> <sip_uri>

omnitas@server> ims_conference add 1-1765699908 sip:19078720152@ims.local
Adding participant sip:19078720152@ims.local to conference 1-1765699908

remove

Removes a participant from a conference.

Syntax: ims_conference remove <conf_id> <uuid>

Note: Use the participant's session UUID from the info command output.

omnitas@server> ims_conference remove 1-1765699908 342d50e0-9f67-4cc5-9179-4acae6f65f34
Removed participant from conference 1-1765699908

lock

Locks a conference to prevent new participants from joining.

Syntax: ims_conference lock <conf_id>

omnitas@server> ims_conference lock 1-1765699908
Conference 1-1765699908 locked

unlock

Unlocks a conference to allow new participants.

Syntax: ims_conference unlock <conf_id>

omnitas@server> ims_conference unlock 1-1765699908
Conference 1-1765699908 unlocked

video

Controls video for a conference.

Syntax: ims_conference video <conf_id> on|off

omnitas@server> ims_conference video 1-1765699908 on
Video enabled for conference 1-1765699908

omnitas@server> ims_conference video 1-1765699908 off
Video disabled for conference 1-1765699908

record

Controls conference recording.

Syntax: ims_conference record <conf_id> start|stop

omnitas@server> ims_conference record 1-1765699908 start
Recording started for conference 1-1765699908

omnitas@server> ims_conference record 1-1765699908 stop
Recording stopped for conference 1-1765699908

announce

Plays an announcement to all conference participants.

Syntax: ims_conference announce <conf_id> <message>

omnitas@server> ims_conference announce 1-1765699908 "This conference will end in 5 minutes"
Announcement sent to conference 1-1765699908

subscribers

Lists all subscribers currently in a conference (alternative view to info).

Syntax: ims_conference subscribers <conf_id>

omnitas@server> ims_conference subscribers 1-1765699908
Subscribers in conference 1-1765699908:
- sip:1235;phone-context=ims.mnc380.mcc313.3gppnetwork.org@ims.mnc380.mcc313.3gppnetwork.org;user=phone;method=INVITE
- 19078720151

Conference States

Conferences and participants have numeric state values:

Conference States

  • 0: Initializing
  • 1: Active
  • 2: Terminating
  • 3: Terminated

Participant States

  • 0: Invited
  • 1: Dialing
  • 2: Alerting
  • 3: Connected
  • 4: Disconnecting
  • 5: Disconnected

Participant Roles

  • 0: Regular participant
  • 1: Moderator/Creator

Use Cases

Monitoring Active Conferences

Scenario: Operations team needs to see how many conferences are active

Steps:

  1. Open Conference Management interface (/conference)
  2. View the Statistics Dashboard for high-level metrics
  3. Review the conference list for specific conferences
  4. Use auto-refresh to monitor in real-time

CLI Alternative:

omnitas@server> ims_conference stats
omnitas@server> ims_conference list

Troubleshooting Conference Issues

Scenario: User reports they cannot join a conference

Steps:

  1. Get the conference ID from the user
  2. Run ims_conference info <conf_id> to check conference state
  3. Check if conference is locked (Locked: Yes)
  4. Check current participant count vs. maximum
  5. Review participant list for any connection issues
  6. Check OmniTAS logs for SIP invite failures

Common Issues:

  • Conference locked: ims_conference unlock <conf_id>
  • Maximum participants reached: Check default_max_participants config
  • Network issues: Check SIP connectivity and firewall rules

Managing Conference Bandwidth

Scenario: Need to reduce bandwidth usage during network congestion

Steps:

  1. Identify conferences with video enabled
  2. For non-critical conferences, disable video:
    ims_conference video <conf_id> off
  3. Monitor bandwidth usage
  4. Re-enable video when congestion clears

Handling Disruptive Participants

Scenario: A participant is being disruptive in a conference

Steps:

  1. Get the conference ID and participant's session UUID
  2. Remove the participant:
    ims_conference remove <conf_id> <participant_uuid>
  3. Lock the conference to prevent them from rejoining:
    ims_conference lock <conf_id>
  4. Add legitimate participants manually if needed:
    ims_conference add <conf_id> <sip_uri>

Recording Important Conferences

Scenario: Need to record a conference for compliance or documentation

Steps:

  1. Identify the conference ID
  2. Start recording:
    ims_conference record <conf_id> start
  3. Monitor that recording is active (Recording: Active in info output)
  4. Stop recording when complete:
    ims_conference record <conf_id> stop
  5. Recording files are stored in the OmniTAS recordings directory

Emergency Conference Termination

Scenario: Need to immediately terminate a conference

Steps:

  1. Optionally announce to participants:
    ims_conference announce <conf_id> "This conference is being terminated"
  2. Wait a few seconds for announcement to play
  3. Destroy the conference:
    ims_conference destroy <conf_id>
  4. All participants will be disconnected immediately

Integration with IMS Network

Conference Creation Flow

  1. Subscriber sends SIP INVITE to conference factory URI
  2. IMS Application Server receives request
  3. Conference Server creates new conference instance
  4. Conference ID and URI are generated
  5. Conference policy is initialized based on creator
  6. Creator is added as first participant with moderator role
  7. Conference URI is returned to creator
  8. Other participants can now join via the conference URI

Participant Roles

Moderator (Role: 1)

  • Can lock/unlock conference
  • Can remove other participants
  • Can control video settings
  • Receives conference notifications

Participant (Role: 0)

  • Can join/leave conference
  • Can speak and listen
  • Can enable/disable own video
  • Subject to conference policies

3GPP Compliance

The IMS Conference Server implements key 3GPP specifications:

  • TS 24.147: Conferencing using IP Multimedia (IM) Core Network (CN) subsystem
  • RFC 4579: Session Initiation Protocol (SIP) Call Control - Conferencing for User Agents
  • RFC 4575: A Session Initiation Protocol (SIP) Event Package for Conference State
  • RFC 5239: A Framework for Centralized Conferencing

Network Elements Integration

  • P-CSCF: Handles initial SIP signaling from UE
  • S-CSCF: Routes conference requests to Application Server
  • OmniTAS: Hosts the Conference Server functionality and provides media mixing
  • HSS: Provides subscriber authentication and authorization

Configuration

Conference server configuration is managed through OmniTAS configuration files:

Key Parameters:

  • domain: Conference server domain
  • factory_uri: SIP URI for conference creation
  • mnc_mcc: Mobile network identifiers
  • access_network: Network access type
  • default_max_participants: Default maximum participants per conference
  • allow_anonymous: Whether to allow anonymous participants
  • video_by_default: Default video setting for new conferences
  • recording_enabled: Whether recording feature is available
  • announce_join: Play tone when participant joins
  • announce_leave: Play tone when participant leaves
  • announce_count: Announce participant count

Best Practices

Capacity Planning

  • Monitor active conference count and participant counts
  • Plan for peak usage (e.g., business hours)
  • Allocate sufficient CPU/memory for media mixing
  • Consider video vs. audio-only for bandwidth management

Security

  • Ensure conference URIs are not easily guessable
  • Use conference locking for private conferences
  • Monitor for unauthorized access attempts
  • Implement maximum participant limits
  • Review conference recordings access controls

Operational Monitoring

  • Set up alerts for conference server errors
  • Monitor conference creation/destruction rates
  • Track average conference duration
  • Review participant connection failures
  • Monitor media quality metrics

For detailed metrics documentation: See metrics.md for:

  • RTP/RTCP media quality metrics (Port 9093)
  • Active call and session metrics (Port 9090)
  • System and Erlang VM metrics (Port 8080)
  • Prometheus query examples

Troubleshooting

  • Check OmniTAS logs for conference-related errors
  • Verify SIP connectivity between participants and conference server
  • Monitor RTP media streams for packet loss
  • Verify network bandwidth availability
  • Check participant device compatibility

Limitations

  • Maximum participants per conference: Configurable (default: 10)
  • Maximum concurrent conferences: Limited by server resources
  • Video quality: Depends on network bandwidth and participant devices
  • Recording format: Determined by OmniTAS configuration
  • Conference ID format: Auto-generated, cannot be customized via web interface

Support

For issues or questions about the IMS Conference Server:

  1. Check OmniTAS logs for error messages
  2. Verify conference server configuration
  3. Review network connectivity and firewall rules
  4. Contact Omnitouch support with conference ID and timestamps