Skip to content

QoS Management

Overview

Quality of Service (QoS) management is a critical aspect of policy control in mobile networks. This document describes the QoS management capabilities and implementation in TelcoAPI.

QoS Parameters

QCI (QoS Class Identifier)

  • Standardized characteristics
  • Resource type (GBR/Non-GBR)
  • Priority level
  • Packet delay budget
  • Packet error loss rate

GBR (Guaranteed Bit Rate)

  • Minimum guaranteed bandwidth
  • Uplink and downlink rates
  • Service class requirements

MBR (Maximum Bit Rate)

  • Maximum allowed bandwidth
  • Rate limiting thresholds
  • Burst size configuration

Implementation

interface QoSProfile {
  id: string;
  name: string;
  qci: number;
  arp: {
    priorityLevel: number;
    preemptionCapability: boolean;
    preemptionVulnerability: boolean;
  };
  gbr?: {
    uplink: number;
    downlink: number;
  };
  mbr?: {
    uplink: number;
    downlink: number;
  };
  active: boolean;
}

interface QoSRule {
  id: string;
  profileId: string;
  flowInformation: {
    flowDescription: string;
    direction: 'UPLINK' | 'DOWNLINK' | 'BIDIRECTIONAL';
    packetFilters?: string[];
  }[];
  precedence: number;
  gates: {
    uplink: 'OPEN' | 'CLOSED';
    downlink: 'OPEN' | 'CLOSED';
  };
}

QoS Enforcement

Traffic Detection

  • Deep packet inspection
  • Application detection
  • Flow mapping

Resource Management

  • Admission control
  • Bandwidth allocation
  • Congestion management

Monitoring

  • QoS metrics collection
  • Performance monitoring
  • Violation detection

Error Handling

enum QoSError {
  RESOURCE_UNAVAILABLE = 'RESOURCE_UNAVAILABLE',
  INVALID_PARAMETERS = 'INVALID_PARAMETERS',
  ENFORCEMENT_FAILED = 'ENFORCEMENT_FAILED',
  CONGESTION = 'CONGESTION'
}

interface QoSErrorResponse {
  error: QoSError;
  message: string;
  profileId?: string;
  ruleId?: string;
  timestamp: string;
  metrics?: {
    currentLoad: number;
    availableBandwidth: number;
    activeFlows: number;
  };
}

QCI to Service Mapping

QCI Resource Type Priority Example Services
1 GBR 2 VoIP
2 GBR 4 Video Calls
3 GBR 3 Real-time Gaming
4 GBR 5 Buffered Video
5 Non-GBR 1 IMS Signaling
6 Non-GBR 6 Live Streaming
7 Non-GBR 7 Web Browsing
8 Non-GBR 8 File Downloads
9 Non-GBR 9 Background Data

Best Practices

  1. Profile Management
  2. Define clear QoS profiles
  3. Regular profile review
  4. Monitor profile usage

  5. Rule Configuration

  6. Set appropriate precedence
  7. Define specific flow descriptions
  8. Regular rule optimization

  9. Performance

  10. Monitor resource utilization
  11. Handle congestion gracefully
  12. Implement fallback mechanisms

Monitoring

Key metrics to track: - QoS rule enforcement success rate - Bandwidth utilization - Latency and jitter - Packet loss rate - Number of QoS violations

Implementation Example

class QoSManager {
  async applyQoSProfile(sessionId: string, profile: QoSProfile): Promise<void> {
    // Validate profile
    this.validateProfile(profile);

    // Check resource availability
    await this.checkResources(profile);

    // Apply QoS parameters
    await this.enforceQoS(sessionId, profile);

    // Start monitoring
    await this.startMonitoring(sessionId, profile);
  }

  async modifyQoS(sessionId: string, modifications: Partial<QoSProfile>): Promise<void> {
    // Get current profile
    const currentProfile = await this.getProfile(sessionId);

    // Apply modifications
    const updatedProfile = { ...currentProfile, ...modifications };

    // Validate and apply changes
    await this.applyQoSProfile(sessionId, updatedProfile);
  }

  async removeQoS(sessionId: string): Promise<void> {
    // Remove QoS enforcement
    await this.removeEnforcement(sessionId);

    // Stop monitoring
    await this.stopMonitoring(sessionId);

    // Clean up resources
    await this.cleanupResources(sessionId);
  }
}

References

  1. 3GPP TS 23.203: Policy and charging control architecture
  2. 3GPP TS 29.212: Policy and Charging Control over Gx reference point
  3. 3GPP TS 29.214: Policy and Charging Control over Rx reference point
  4. 3GPP TS 23.401: GPRS enhancements for E-UTRAN access