Skip to content

CAMEL (Customized Applications for Mobile Enhanced Logic)

Overview

CAMEL is an intelligent network protocol that enables operators to provide advanced services across network boundaries. It's crucial for roaming services and real-time charging applications.

Protocol Phases

Phase Features Applications
Phase 1 Basic call control, charging Prepaid roaming
Phase 2 SMS control, GPRS support Mobile VPN
Phase 3 Enhanced call control Location services
Phase 4 IMS integration Multimedia services

Key Features

  • Real-time charging control
  • Dynamic routing
  • Service triggering
  • Prepaid service support
  • Virtual Private Networks (VPN)
  • Customized ring-back tones

Common Operations

Initial Detection Point (IDP)

# Send IDP for call setup
response = client.camel.send_initial_dp(
    service_key=1,
    called_party_number="441234567890",
    calling_party_number="441234567891",
    imsi="123456789012345",
    location_number="441234567892"
)

Apply Charging

# Apply charging operation
response = client.camel.apply_charging(
    time_unit_seconds=60,
    max_call_period_duration=3600,
    warning_period=30
)

Vendor Integration

Nokia Siemens gsmSCF

  • Product Line: Nokia NetAct Service Control
  • Deployment Options:
  • Traditional rack-mounted
  • Virtualized (VMware/KVM)
  • Cloud-native containers
  • Key Features:
  • Full CAMEL Phase 1-4 support
  • High-performance transaction engine
  • Advanced service creation environment
  • Real-time charging and control
  • Configuration Example:
    nokia_scf_config:
      deployment:
        type: virtualized
        ha_mode: active_active
      camel:
        phases: [2, 3, 4]
        max_sessions: 100000
      charging:
        realtime_mode: true
        reservation_timeout: 30
    

Ericsson IN Platform

  • Product Line: Ericsson Charging System
  • Platform Features:
  • Service Creation Environment (SCE)
  • Visual service design
  • Integrated testing framework
  • Performance analytics
  • Integration Methods:
  • Direct SS7/SIGTRAN
  • Diameter for online charging
  • REST APIs for management
  • Configuration Example:
    ericsson_in_config:
      service_environment:
        sce_version: "5.0"
        auto_deployment: true
      charging:
        mode: online
        diameter_host: "ocs.ericsson.com"
      monitoring:
        metrics_enabled: true
        export_format: prometheus
    

Huawei SCP (Service Control Point)

  • Product Line: Huawei IN Suite
  • Architecture Components:
  • Service Logic Execution Environment
  • Session Control Function
  • Charging Gateway Function
  • Management System
  • Advanced Features:
  • Multi-protocol support (CAMEL/INAP/WIN)
  • Geographic redundancy
  • Load sharing
  • Real-time statistics
  • Configuration Example:
    huawei_scp_config:
      slee:
        max_threads: 1000
        queue_size: 5000
      redundancy:
        mode: geographic
        sync_interval: 5
      protocols:
        camel:
          version: 4
          operations: ["initialDP", "connect", "continue"]
    

Oracle IN Platform

  • Product Line: Oracle Communications Service Controller
  • Cloud Capabilities:
  • Kubernetes deployment
  • Auto-scaling
  • Service mesh integration
  • Cloud-native monitoring
  • Integration Features:
  • Multi-vendor interoperability
  • Protocol adaptation layer
  • Custom service templates
  • Analytics dashboard
  • Configuration Example:
    oracle_in_config:
      kubernetes:
        namespace: telco-services
        replicas: 3
        resources:
          cpu_limit: "4"
          memory_limit: "8Gi"
      service_controller:
        templates_enabled: true
        custom_services_path: "/etc/oracle/services"
    

Integration Best Practices

Nokia Integration

  1. Service Creation

    # Create new CAMEL service
    service = nokia_client.create_service(
        name="PrepaidRoaming",
        type="camel_phase3",
        triggers=[
            {"type": "initialDP", "criteria": "roaming"},
            {"type": "applyCharging", "interval": 60}
        ]
    )
    

  2. Charging Control

    # Configure charging rules
    charging_config = nokia_client.configure_charging(
        service_key=100,
        charging_model="time_based",
        rules={
            "initial_units": 60,
            "reservation_amount": 300,
            "low_balance_threshold": 60
        }
    )
    

Ericsson Integration

  1. Service Deployment

    # Deploy service using SCE
    deployment = ericsson_client.deploy_service(
        service_package="vpn_service_v1.jar",
        environment="production",
        validation={
            "test_suite": "regression",
            "timeout": 300
        }
    )
    

  2. Performance Monitoring

    # Set up service monitoring
    monitoring = ericsson_client.configure_monitoring(
        service_key=100,
        metrics=[
            "active_sessions",
            "charging_latency",
            "error_rate"
        ],
        alerts={
            "error_threshold": 5,
            "latency_threshold": 100
        }
    )
    

Huawei Integration

  1. SLEE Configuration

    # Configure Service Logic Execution Environment
    slee_config = huawei_client.configure_slee(
        performance_profile="high_throughput",
        thread_pool={
            "core_size": 100,
            "max_size": 1000,
            "queue_capacity": 5000
        }
    )
    

  2. Geographic Redundancy

    # Set up geo-redundancy
    redundancy = huawei_client.setup_redundancy(
        primary_site="london",
        secondary_site="paris",
        sync_mode="real_time",
        failover={
            "automatic": True,
            "threshold": 3
        }
    )
    

Oracle Integration

  1. Kubernetes Deployment

    # Deploy to Kubernetes
    deployment = oracle_client.deploy_to_kubernetes(
        image="oracle/service-controller:latest",
        replicas=3,
        config={
            "environment": "production",
            "log_level": "info"
        }
    )
    

  2. Service Template

    # Create service template
    template = oracle_client.create_service_template(
        name="premium_charging",
        parameters={
            "rate_table": "premium_rates",
            "notification_enabled": True,
            "grace_period": 30
        }
    )
    

Service Examples

Prepaid Roaming

```