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:
- Open Conference Management interface (
/conference) - View the Statistics Dashboard for high-level metrics
- Review the conference list for specific conferences
- 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:
- Get the conference ID from the user
- Run
ims_conference info <conf_id>to check conference state - Check if conference is locked (Locked: Yes)
- Check current participant count vs. maximum
- Review participant list for any connection issues
- 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:
- Identify conferences with video enabled
- For non-critical conferences, disable video:
ims_conference video <conf_id> off - Monitor bandwidth usage
- Re-enable video when congestion clears
Handling Disruptive Participants
Scenario: A participant is being disruptive in a conference
Steps:
- Get the conference ID and participant's session UUID
- Remove the participant:
ims_conference remove <conf_id> <participant_uuid> - Lock the conference to prevent them from rejoining:
ims_conference lock <conf_id> - 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:
- Identify the conference ID
- Start recording:
ims_conference record <conf_id> start - Monitor that recording is active (Recording: Active in
infooutput) - Stop recording when complete:
ims_conference record <conf_id> stop - Recording files are stored in the OmniTAS recordings directory
Emergency Conference Termination
Scenario: Need to immediately terminate a conference
Steps:
- Optionally announce to participants:
ims_conference announce <conf_id> "This conference is being terminated" - Wait a few seconds for announcement to play
- Destroy the conference:
ims_conference destroy <conf_id> - All participants will be disconnected immediately
Integration with IMS Network
Conference Creation Flow
- Subscriber sends SIP INVITE to conference factory URI
- IMS Application Server receives request
- Conference Server creates new conference instance
- Conference ID and URI are generated
- Conference policy is initialized based on creator
- Creator is added as first participant with moderator role
- Conference URI is returned to creator
- 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 domainfactory_uri: SIP URI for conference creationmnc_mcc: Mobile network identifiersaccess_network: Network access typedefault_max_participants: Default maximum participants per conferenceallow_anonymous: Whether to allow anonymous participantsvideo_by_default: Default video setting for new conferencesrecording_enabled: Whether recording feature is availableannounce_join: Play tone when participant joinsannounce_leave: Play tone when participant leavesannounce_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:
- Check OmniTAS logs for error messages
- Verify conference server configuration
- Review network connectivity and firewall rules
- Contact Omnitouch support with conference ID and timestamps