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¶
-
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} ] ) -
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¶
-
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 } ) -
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¶
-
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 } ) -
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¶
-
Kubernetes Deployment
# Deploy to Kubernetes deployment = oracle_client.deploy_to_kubernetes( image="oracle/service-controller:latest", replicas=3, config={ "environment": "production", "log_level": "info" } ) -
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¶
```