OmniHSS Profile Management
Overview
OmniHSS uses profiles to define service characteristics for subscribers. Profiles allow you to create reusable service templates that can be assigned to multiple subscribers, simplifying provisioning and ensuring consistency.
Profile Types
EPC Profiles
EPC (Evolved Packet Core) Profiles define data service characteristics for LTE subscribers.
Key Parameters
| Parameter | Description | Typical Values |
|---|---|---|
ue_ambr_dl_kbps | Download speed limit | 10,000 - 1,000,000 Kbps |
ue_ambr_ul_kbps | Upload speed limit | 5,000 - 500,000 Kbps |
network_access_mode | Service type | "packet_only" or "packet_and_circuit" |
tracking_area_update_interval_seconds | TAU timer | 54 seconds (typical) |
Creating EPC Profiles
curl -k -X POST https://hss.example.com:8443/api/epc/profile \
-H "Content-Type: application/json" \
-d '{
"apn_profiles": [],
"name": "Premium 100Mbps",
"network_access_mode": "packet_only",
"tracking_area_update_interval_seconds": 600,
"ue_ambr_dl_kbps": 100000,
"ue_ambr_ul_kbps": 50000
}'
Common EPC Profile Templates
Basic Internet:
- Download: 10 Mbps (10,000 Kbps)
- Upload: 5 Mbps (5,000 Kbps)
Standard:
- Download: 50 Mbps (50,000 Kbps)
- Upload: 25 Mbps (25,000 Kbps)
Premium:
- Download: 100 Mbps (100,000 Kbps)
- Upload: 50 Mbps (50,000 Kbps)
Unlimited:
- Download: 1 Gbps (1,000,000 Kbps)
- Upload: 500 Mbps (500,000 Kbps)
IMS Profiles
IMS Profiles define voice service characteristics, primarily through IFC (Initial Filter Criteria) templates.
IFC Templates
IFC templates are XML documents that define call routing rules for the S-CSCF.
Template Variables:
{{imsi}}- Subscriber IMSI{{msisdns}}- List of phone numbers{{mcc}}- Home country code{{mnc}}- Home network code
Creating IMS Profiles
curl -k -X POST https://hss.example.com:8443/api/ims/profile \
-H "Content-Type: application/json" \
-d '{
"ims_profile": {
"name": "Standard VoLTE",
"ifc_template": "<InitialFilterCriteria>...</InitialFilterCriteria>"
}
}'
IFC Template Example
<ServiceProfile>
<PublicIdentity>
<Identity>sip:{{imsi}}@ims.mnc{{mnc}}.mcc{{mcc}}.3gppnetwork.org</Identity>
</PublicIdentity>
<InitialFilterCriteria>
<Priority>0</Priority>
<TriggerPoint>
<ConditionTypeCNF>0</ConditionTypeCNF>
<SPT>
<ConditionNegated>0</ConditionNegated>
<Group>0</Group>
<Method>INVITE</Method>
</SPT>
</TriggerPoint>
<ApplicationServer>
<ServerName>sip:as.ims.example.com</ServerName>
<DefaultHandling>0</DefaultHandling>
</ApplicationServer>
</InitialFilterCriteria>
</ServiceProfile>
APN Profiles
APN (Access Point Name) Profiles define network access points for data connections.
APN Components
APN Identifier
Defines the APN name and IP protocol support.
Common APNs:
internet- General internet accessims- IMS/VoLTE signalingmms- Multimedia messagingvzwadmin- Carrier-specific
IP Version Options:
"ipv4": IPv4 only"ipv6": IPv6 only"ipv4v6": IPv4v6 (dual stack)"ipv4_or_ipv6": IPv4 or IPv6 (network choice)
APN QoS Profile
Defines quality of service parameters.
QCI (QoS Class Identifier) Values:
| QCI | Type | Use Case | Priority |
|---|---|---|---|
| 1 | GBR | Conversational voice | Highest |
| 2 | GBR | Conversational video | High |
| 4 | GBR | Video streaming | High |
| 5 | Non-GBR | IMS signaling | Medium |
| 9 | Non-GBR | Internet (default) | Lowest |
Session-Level Charging Method (optional):
The APN QoS profile can also pin the default charging method for the IP-CAN session, sent as the top-level Online/Offline AVPs in the Gx CCA-I.
| Field | Type | Default | Description |
|---|---|---|---|
online_charging_enabled | boolean | null | When set, forces the session-level Online AVP (true = enable, false = disable). When null, the PCRF echoes the value the PGW sent in the CCR-I. |
offline_charging_enabled | boolean | null | When set, forces the session-level Offline AVP (true = enable, false = disable). When null, the PCRF echoes the value the PGW sent in the CCR-I. |
See PCRF — Session-Level Online/Offline Charging for the full behaviour and AVP value reference.
Creating Complete APN Configuration
# 1. Create APN Identifier
APN_ID=$(curl -k -X POST https://hss.example.com:8443/api/apn/identifier \
-H "Content-Type: application/json" \
-d '{"apn": "internet", "ip_version": "ipv4v6"}' \
| jq -r '.response.id')
# 2. Create APN QoS Profile
QOS_ID=$(curl -k -X POST https://hss.example.com:8443/api/apn/qos_profile \
-H "Content-Type: application/json" \
-d '{
"name": "Best Effort",
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 50000,
"apn_ambr_ul_kbps": 25000,
"pre_emption_capability": false,
"pre_emption_vulnerability": true,
"qci": 9
}' | jq -r '.response.id')
# 3. Create APN Profile
curl -k -X POST https://hss.example.com:8443/api/apn/profile \
-H "Content-Type: application/json" \
-d "{
\"apn_identifier_id\": $APN_ID,
\"apn_qos_profile_id\": $QOS_ID,
\"name\": \"Internet APN\"
}"
Assigning APNs to EPC Profile
APNs are linked to EPC Profiles through the join_epc_profile_to_apn_profile table.
Insert records into the join table to link APN profile IDs to the EPC profile ID. Multiple APN profiles can be assigned to one EPC profile.
Roaming Profiles
See detailed documentation in Roaming Control Guide.
Profile Assignment
Subscriber Profile Relationships
Assigning Profiles to Subscribers
# Assign EPC and IMS profiles during subscriber creation
curl -k -X POST https://hss.example.com:8443/api/subscriber \
-H "Content-Type: application/json" \
-d '{
"subscriber": {
"imsi": "001001123456789",
"key_set_id": 1,
"epc_profile_id": 1,
"ims_profile_id": 1,
"roaming_profile_id": 1
}
}'
# Update subscriber profile
curl -k -X PUT https://hss.example.com:8443/api/subscriber/1 \
-H "Content-Type: application/json" \
-d '{
"subscriber": {
"epc_profile_id": 2
}
}'
Profile Management Best Practices
Design Principles
- Create Standard Profiles - Define common service tiers (Basic, Standard, Premium)
- Reuse Profiles - Assign same profile to multiple subscribers
- Document Changes - Track profile modifications
- Test Before Production - Verify profile works with test subscriber first
Profile Naming Convention
[Service Tier]-[Speed]-[Features]
Examples:
- "Basic-10Mbps-Internet"
- "Premium-100Mbps-VoLTE"
- "Enterprise-1Gbps-MultiAPN"
Profile Migration
When changing a subscriber's profile:
Important: Profile changes take effect on the next:
- Tracking Area Update (TAU)
- Attach
- IMS Registration (for IMS profile changes)
Troubleshooting Profile Issues
Subscriber not getting expected speed:
- Check assigned EPC profile AMBR values
- Check APN QoS profile AMBR values
- Verify MME/P-GW enforcing QoS correctly
- Check for network congestion
IMS registration fails:
- Verify IMS profile assigned
- Check IFC template XML validity
- Review S-CSCF logs for IFC processing errors
- Confirm S-CSCF selection configuration
APN not available:
- Verify APN profile linked to EPC profile
- Check APN identifier matches network request
- Review PDN connectivity request from UE