db_query / data /uecap_volte_rules.json
DavMelchi's picture
feat: add 3gpp ue capability parser with volte assessment
7b6d659
{
"version": "1.0",
"thresholds": {
"supported": 70,
"likely": 40
},
"missing_critical_penalty": 20,
"hard_negative_penalty": 40,
"hard_negative_patterns": [
"voiceoverps[^\\n\\r]*notsupported",
"voice-over-ps[^\\n\\r]*notsupported",
"srvcc[^\\n\\r]*notsupported"
],
"critical_signals": [
{
"name": "ims",
"patterns": ["ims-parameters", "ims-support"]
},
{
"name": "voice_over_ps",
"patterns": ["voiceoverps", "voice-over-ps", "vops"]
},
{
"name": "srvcc",
"patterns": ["\\bsrvcc\\b"]
}
],
"rules": [
{
"rule_id": "explicit_ims_voice_over_ps",
"category": "explicit_positive",
"weight": 50,
"patterns": ["voiceoverps[^\\n\\r]*\\bsupported\\b", "voice-over-ps[^\\n\\r]*\\bsupported\\b", "vops[^\\n\\r]*\\bsupported\\b"],
"description": "Explicit voice over PS support indicator."
},
{
"rule_id": "explicit_srvcc_indicator",
"category": "explicit_positive",
"weight": 30,
"patterns": ["srvcc[^\\n\\r]*\\bsupported\\b"],
"description": "Explicit SRVCC support indicator."
},
{
"rule_id": "explicit_ims_indicator",
"category": "implicit_positive",
"weight": 10,
"patterns": ["ims-parameters", "ims-support"],
"description": "IMS context present but without explicit voice support state."
},
{
"rule_id": "implicit_interrat_utra",
"category": "implicit_positive",
"weight": 15,
"patterns": ["supportedbandlistutra-fdd", "e-redirectionutra"],
"description": "Inter-RAT UTRA capabilities useful for voice fallback scenarios."
},
{
"rule_id": "implicit_interrat_geran",
"category": "implicit_positive",
"weight": 10,
"patterns": ["supportedbandlistgeran", "e-redirectiongeran"],
"description": "Inter-RAT GERAN capabilities useful for fallback scenarios."
},
{
"rule_id": "implicit_release_rel9plus",
"category": "implicit_positive",
"weight": 10,
"patterns": ["accessstratumrelease=rel(9|1[0-9])"],
"description": "Access stratum release at least Rel-9."
}
]
}