{"id":18862,"date":"2026-11-03T01:15:44","date_gmt":"2026-11-03T01:15:44","guid":{"rendered":"https:\/\/paicore.tech\/?page_id=18862"},"modified":"2026-11-03T01:16:03","modified_gmt":"2026-11-03T01:16:03","slug":"ocs-pcrf","status":"publish","type":"page","link":"https:\/\/paicore.tech\/platforms\/mvne-lite\/ocs-pcrf\/","title":{"rendered":"PAiCore \u00b7 OCS \/ PCRF"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"18862\" class=\"elementor elementor-18862 elementor-bc-flex-widget\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6be4a21b elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"6be4a21b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-409e7fed\" data-id=\"409e7fed\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-baff99e9 elementor-widget elementor-widget-shortcode\" data-id=\"baff99e9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"18039\" class=\"elementor elementor-18039 elementor-bc-flex-widget\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\">\n\t\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-53fd91d6 elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"53fd91d6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3ab7b357\" data-id=\"3ab7b357\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0e44e5e3 elementor-widget elementor-widget-html\" data-id=\"0e44e5e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style id=\"paicore-product-shared\">\n.section-tight{padding:56px 0}\n.button-ghost{background:rgba(217,164,164,.08);border-color:rgba(217,164,164,.25);color:#fff;box-shadow:none}\n.button-ghost:hover{background:rgba(217,164,164,.14);border-color:var(--rose-light)}\n.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}\n.highlight-list{list-style:none;padding:0;margin:0}\n.highlight-list li{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}\n.highlight-list li:last-child{border-bottom:0}\n.highlight-list .hl-icon{\n  width:34px;height:34px;flex-shrink:0;\n  background:rgba(217,164,164,.1);border:1px solid rgba(217,164,164,.22);\n  border-radius:8px;display:flex;align-items:center;justify-content:center;\n  color:var(--rose-light);font-size:15px;\n}\n.highlight-list strong{display:block;font-size:14px;font-weight:600;color:#fff;margin-bottom:3px}\n.highlight-list span{font-size:12.5px;color:var(--dim);line-height:1.55}\n.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}\n.capability-card{padding:26px 24px;border:1px solid var(--line);border-radius:12px;background:rgba(36,24,32,.5);transition:all .25s}\n.capability-card:hover{border-color:rgba(217,164,164,.35);background:rgba(36,24,32,.75);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.4)}\n.capability-card .cap-icon{\n  width:42px;height:42px;border-radius:10px;\n  background:rgba(217,164,164,.1);border:1px solid rgba(217,164,164,.22);\n  display:flex;align-items:center;justify-content:center;\n  color:var(--rose-light);font-size:18px;margin-bottom:18px;transition:all .25s;\n}\n.capability-card:hover .cap-icon{background:var(--wine);border-color:var(--wine);color:#fff}\n.capability-card h4{font-size:15px;font-weight:600;color:#fff;margin-bottom:8px;letter-spacing:-.01em}\n.capability-card p{font-size:12.5px;color:var(--dim);line-height:1.65;margin:0}\n.usecase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:8px}\n.usecase-card{display:flex;gap:18px;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:12px;background:rgba(36,24,32,.5);transition:all .25s}\n.usecase-card:hover{border-color:rgba(217,164,164,.35);background:rgba(36,24,32,.75);transform:translateY(-2px)}\n.usecase-card .uc-icon{\n  width:44px;height:44px;flex-shrink:0;\n  background:rgba(217,164,164,.1);border:1px solid rgba(217,164,164,.22);\n  border-radius:10px;display:flex;align-items:center;justify-content:center;\n  color:var(--rose-light);font-size:18px;\n}\n.usecase-card h4{font-size:15px;font-weight:600;color:#fff;margin-bottom:6px;letter-spacing:-.01em}\n.usecase-card p{font-size:12.5px;color:var(--dim);line-height:1.65;margin:0}\n.oss-banner{\n  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;\n  padding:36px 40px;border:1px solid rgba(217,164,164,.2);border-radius:16px;\n  background:linear-gradient(135deg,rgba(84,32,33,.45) 0%,rgba(36,24,32,.75) 100%);\n  backdrop-filter:blur(14px);margin-top:8px;\n}\n.oss-banner h3{font-size:22px;font-weight:600;color:#fff;margin-bottom:10px;letter-spacing:-.02em}\n.oss-banner p{font-size:14px;color:var(--dim);margin:0;max-width:560px;line-height:1.65}\n.oss-actions{display:flex;gap:12px;flex-wrap:wrap}\n.news-card .news-tag{font-size:10px;letter-spacing:1.3px;color:var(--rose-light);font-weight:600;text-transform:uppercase}\n.news-card .news-meta{font-size:11px;color:var(--dimmest);margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}\n.news-card .read-more{font-size:11.5px;color:var(--rose-light);font-weight:500;display:inline-flex;gap:8px;align-items:center}\n.news-card:hover .read-more{color:#fff}\n.pricing-link-banner{\n  display:flex;justify-content:space-between;align-items:center;gap:24px;\n  padding:28px 32px;border:1px solid var(--line);border-radius:14px;\n  background:rgba(36,24,32,.4);\n  flex-wrap:wrap;\n}\n.pricing-link-banner h4{font-size:16px;font-weight:600;color:#fff;margin-bottom:6px}\n.pricing-link-banner p{font-size:13px;color:var(--dim);margin:0}\n@media(max-width:1000px){.overview-grid{grid-template-columns:1fr;gap:40px}.capability-grid{grid-template-columns:repeat(2,1fr)}.oss-banner{grid-template-columns:1fr}}\n@media(max-width:768px){.section-tight{padding:40px 0}.usecase-grid{grid-template-columns:1fr}.capability-grid{grid-template-columns:1fr}}\n@media(max-width:520px){.oss-banner{padding:26px 22px}.oss-actions .button{width:100%}}\n.pc-icon{display:block;flex-shrink:0}\n.hl-icon .pc-icon,.cap-icon .pc-icon,.uc-icon .pc-icon{width:20px;height:20px;stroke:#fff}\n.btn-icon{display:inline-flex;align-items:center}.btn-icon .pc-icon{width:16px;height:16px;stroke:currentColor}\n\n.section-heading{display:block;max-width:760px;margin-bottom:36px}\n.section-heading h2{margin-bottom:14px}\n.section-heading p:not(.eyebrow){font-size:15px;color:var(--dim);line-height:1.75;max-width:640px}\n.overview-copy p{font-size:15px;color:var(--dim);line-height:1.85;margin-bottom:20px}\n.overview-copy p:last-child{margin-bottom:0}\n.overview-copy strong{color:#fff;font-weight:600}\n.lead{font-size:17px;line-height:1.7;color:var(--dim);max-width:680px;margin-bottom:34px}\n.capability-grid.cols-4{grid-template-columns:repeat(4,1fr)}\n@media(max-width:1100px){.capability-grid.cols-4{grid-template-columns:repeat(2,1fr)}}\n@media(max-width:640px){.capability-grid.cols-4{grid-template-columns:1fr}}\n\n.cmp-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(36,24,32,.5)}\n.cmp-scroll{overflow-x:auto}.cmp-head,.cmp-row{display:grid;grid-template-columns:minmax(260px,2fr) 1fr 1fr;min-width:620px}\n.cmp-head{background:rgba(21,13,16,.98);border-bottom:1px solid rgba(217,164,164,.2);font-weight:600;font-size:14px}.cmp-head div{padding:14px 18px;text-align:center}.cmp-head div:first-child{text-align:left}\n.cmp-group{border-top:1px solid var(--line)}.cmp-group summary{cursor:pointer;list-style:none;padding:14px 18px 14px 44px;font-weight:600;font-size:14px;background:rgba(217,164,164,.06);position:relative;min-width:620px}\n.cmp-group summary::-webkit-details-marker{display:none}\n.cmp-group summary::before{content:\"\";position:absolute;left:20px;top:50%;width:7px;height:7px;border-right:2px solid var(--rose-light);border-bottom:2px solid var(--rose-light);transform:translateY(-70%) rotate(45deg);transition:transform .2s}\n.cmp-group[open] summary::before{transform:translateY(-30%) rotate(-135deg)}\n.cmp-row{border-top:1px solid var(--line);font-size:13.5px;color:var(--dim)}.cmp-row div{padding:10px 18px;text-align:center}.cmp-row div:first-child{text-align:left}\n.cmp-yes{color:var(--success);font-weight:700}.cmp-no{color:var(--dimmest)}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7ef5175c elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"7ef5175c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-26dd2cf6\" data-id=\"26dd2cf6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-674f30a5 elementor-widget elementor-widget-html\" data-id=\"674f30a5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"product-hero\"><div class=\"container\">\n<nav class=\"breadcrumb\" aria-label=\"Breadcrumb\"><a href=\"https:\/\/paicore.tech\/\">Home<\/a><span class=\"sep\">\/<\/span><a href=\"https:\/\/paicore.tech\/#pc3-platforms\">Platforms<\/a><span class=\"sep\">\/<\/span><a href=\"https:\/\/paicore.tech\/#catalog-mvne\">MVNE Lite<\/a><span class=\"sep\">\/<\/span><span class=\"current\">OCS \/ PCRF<\/span><\/nav>\n<div class=\"hero-block\"><div class=\"badges\"><span class=\"badge wine\">MVNE Lite<\/span><span class=\"badge wine\">4G &amp; 5G Charging<\/span><\/div>\n<h1>Online Charging and <em>Policy Control<\/em><\/h1>\n<p class=\"lead\">PAiCore OCS \/ PCRF manages offers, usage balances and charging decisions in one configurable platform, bringing online charging, policy control and 5G charging together on a shared policy and rating engine.<\/p>\n<div class=\"hero-actions\"><a class=\"button\" href=\"#contact\">Talk to our team <span aria-hidden=\"true\">\u2197<\/span><\/a><a class=\"button button-outline\" href=\"https:\/\/paicore.tech\/?r3d=ocs-pcrf\" target=\"_blank\" rel=\"noopener noreferrer\">Product Brief <span aria-hidden=\"true\">\u2197<\/span><\/a><\/div><\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b58a4e50 elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"b58a4e50\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e692f290\" data-id=\"e692f290\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3745fa97 elementor-widget elementor-widget-html\" data-id=\"3745fa97\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"section\" id=\"overview\"><div class=\"container\"><div class=\"overview-grid\">\n<div class=\"overview-copy\"><p class=\"eyebrow\">OVERVIEW<\/p>\n<p>PAiCore OCS \/ PCRF combines <strong>online charging (OCS), policy control (PCRF) and 5G charging (CHF)<\/strong> on a shared policy and rating engine, with asset and wallet repositories and an API orchestration layer. Operators manage offers, usage balances and charging decisions in one configurable platform.<\/p>\n<p>Every price plan works on the <strong>charging context<\/strong>: trigger, subscriber, asset, wallet and location data. A plan determines whether the session or event is allowed, the rate to apply and any additional actions, such as notifications and policy changes.<\/p>\n<p>Interface, policy and charging services are deployed as <strong>separate Kubernetes components<\/strong> and managed through APIs and the O&amp;M GUI. REST APIs connect provisioning, charging sessions and events, while rated CDRs connect the charging platform with downstream invoicing.<\/p><\/div>\n<div><p class=\"eyebrow\">KEY FEATURES<\/p><ul class=\"highlight-list\"><li><span class=\"hl-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M12 3v18\" \/> <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" \/> <path d=\"M3 9h18\" \/> <path d=\"M3 15h18\" \/> <\/svg><\/span><div><strong>Rating through price tables, decision trees and scripts<\/strong><\/div><\/li><li><span class=\"hl-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1\" \/> <path d=\"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4\" \/> <\/svg><\/span><div><strong>Money, volume, duration and unit balances, with limits and cascading<\/strong><\/div><\/li><li><span class=\"hl-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z\" \/> <path d=\"M12 22V12\" \/> <path d=\"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7\" \/> <path d=\"m7.5 4.27 9 5.15\" \/> <\/svg><\/span><div><strong>One-off or recurring bundles with lifecycle and threshold notifications<\/strong><\/div><\/li><li><span class=\"hl-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M12 22v-5\" \/> <path d=\"M9 8V2\" \/> <path d=\"M15 8V2\" \/> <path d=\"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z\" \/> <\/svg><\/span><div><strong>REST APIs for provisioning, charging sessions and events<\/strong><\/div><\/li><\/ul><\/div>\n<\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-456d8449 elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"456d8449\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bb7c007a\" data-id=\"bb7c007a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e9da6b2f elementor-widget elementor-widget-html\" data-id=\"e9da6b2f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n.ocs-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}\n.ocs-strip>div{background:rgba(21,13,16,.72);padding:22px 22px 24px}\n.ocs-strip .k,.ocs-k{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}\n.ocs-strip .v{display:block;font-size:19px;font-weight:600;color:#fff;line-height:1.25}\n.ocs-strip .s{display:block;font-size:13px;color:var(--dim);margin-top:6px;line-height:1.5}\n.ocs-arch{display:grid;gap:12px;margin-top:8px}\n.ocs-arch-row{display:grid;gap:12px}\n.ocs-arch-box{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:rgba(21,13,16,.55);text-align:center}\n.ocs-arch-box strong{display:block;color:#fff;font-size:16px;line-height:1.3}\n.ocs-arch-box span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:6px}\n.ocs-arch-box.is-core{background:linear-gradient(160deg,rgba(122,31,52,.55),rgba(21,13,16,.85));border-color:rgba(217,164,164,.35)}\n.ocs-arch-engine{border:1px dashed rgba(217,164,164,.35);border-radius:18px;padding:14px;display:grid;gap:12px}\n.ocs-arch-engine>.ocs-k{text-align:center;margin:0}\n.ocs-ref{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}\n.ocs-ref b{font-size:12px;font-weight:600;color:#fff;padding:4px 11px;border-radius:999px;border:1px solid rgba(217,164,164,.3);background:rgba(122,31,52,.22)}\n.ocs-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}\n.ocs-legend h4{margin:0 0 8px;font-size:16px}\n.ocs-legend p{margin:0;font-size:14.5px;line-height:1.7;color:var(--dim)}\n.ocs-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:stretch}\n.ocs-flow-col{border:1px solid var(--line);border-radius:18px;padding:22px;background:rgba(21,13,16,.55)}\n.ocs-flow-col.is-core{background:linear-gradient(160deg,rgba(122,31,52,.5),rgba(21,13,16,.8));border-color:rgba(217,164,164,.35);display:flex;flex-direction:column;justify-content:center}\n.ocs-flow-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}\n.ocs-flow-col li{font-size:15px;color:#fff;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}\n.ocs-flow-col h4{margin:0 0 10px;font-size:20px}\n.ocs-flow-col p{margin:0;font-size:14.5px;line-height:1.7;color:var(--dim)}\n.ocs-arrow{display:flex;align-items:center;justify-content:center;color:#d6787d;font-size:22px}\n.ocs-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}\n.ocs-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}\n.ocs-tabs button{font:inherit;font-size:14px;font-weight:600;color:var(--dim);background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 18px;cursor:pointer;min-height:44px}\n.ocs-tabs button[aria-selected=\"true\"]{color:#fff;background:rgba(122,31,52,.45);border-color:rgba(217,164,164,.45)}\n.ocs-tabs button:focus-visible{outline:2px solid #d6787d;outline-offset:2px}\n.ocs-panel h3{margin:0 0 18px;font-size:22px}\n.ocs-panel+.ocs-panel{margin-top:40px}\n.ocs-js .ocs-panel+.ocs-panel{margin-top:0}\n.ocs-js .ocs-panel[hidden]{display:none}\n.ocs-js .ocs-panel>h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}\n.ocs-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}\n.ocs-card{border:1px solid var(--line);border-radius:18px;padding:24px 26px;background:rgba(21,13,16,.55)}\n.ocs-card h4{margin:0 0 10px;font-size:17px}\n.ocs-card p{margin:0;font-size:15px;line-height:1.75;color:var(--dim)}\n.ocs-extra{margin-top:18px;border:1px solid var(--line);border-radius:18px;padding:22px 26px;background:linear-gradient(160deg,rgba(122,31,52,.28),rgba(21,13,16,.6))}\n.ocs-cascade{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 12px}\n.ocs-cascade div{flex:1 1 160px;border:1px solid rgba(217,164,164,.3);border-radius:14px;padding:12px 16px;background:rgba(21,13,16,.6)}\n.ocs-cascade strong{display:block;color:#fff;font-size:15px}\n.ocs-cascade span{display:block;font-size:13px;color:var(--dim);margin-top:4px}\n.ocs-cascade i{font-style:normal;color:#d6787d}\n.ocs-extra p{margin:0;font-size:14px;line-height:1.7;color:var(--dim)}\n.ocs-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}\n.ocs-chips span{font-size:13px;color:#fff;padding:6px 12px;border-radius:999px;border:1px solid rgba(217,164,164,.3);background:rgba(122,31,52,.22)}\n.ocs-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px}\n.ocs-table{width:100%;border-collapse:collapse;min-width:560px}\n.ocs-table th,.ocs-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);font-size:15px}\n.ocs-table th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600;background:rgba(21,13,16,.72)}\n.ocs-table td{color:#fff;background:rgba(21,13,16,.45)}\n.ocs-table tr:last-child td{border-bottom:0}\n.ocs-note{margin-top:16px;font-size:13.5px;line-height:1.7;color:var(--dim);border-left:2px solid rgba(217,164,164,.45);padding-left:14px}\n@media (max-width:980px){.ocs-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ocs-legend,.ocs-methods{grid-template-columns:1fr;gap:18px}.ocs-flow{grid-template-columns:1fr}.ocs-arrow{transform:rotate(90deg)}}\n@media (max-width:700px){.ocs-cards{grid-template-columns:1fr}.ocs-arch-row{grid-template-columns:1fr!important}}\n@media (max-width:560px){.ocs-strip{grid-template-columns:1fr}.ocs-tabs button{flex:1 1 auto}}\n<\/style><section class=\"section-tight\" id=\"at-a-glance\"><div class=\"container\"><div class=\"ocs-strip\">\n<div><span class=\"k\">Charging &amp; policy<\/span><span class=\"v\">OCS \u00b7 PCRF \u00b7 CHF<\/span><span class=\"s\">Online charging, policy control and 5G charging<\/span><\/div>\n<div><span class=\"k\">Network interfaces<\/span><span class=\"v\">Gy\/Ro \u00b7 Gx \u00b7 Rx \u00b7 N40<\/span><span class=\"s\">Diameter and 5G charging reference points<\/span><\/div>\n<div><span class=\"k\">Rating<\/span><span class=\"v\">3 configuration methods<\/span><span class=\"s\">Price tables, decision trees and scripts<\/span><\/div>\n<div><span class=\"k\">Deployment<\/span><span class=\"v\">Kubernetes-based<\/span><span class=\"s\">Private cloud, public cloud or bare metal<\/span><\/div>\n<\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ff289a00 elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"ff289a00\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d573536a\" data-id=\"d573536a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-48778bb1 elementor-widget elementor-widget-html\" data-id=\"48778bb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"section\" id=\"capabilities\" style=\"border-top:1px solid var(--line)\"><div class=\"container\"><div class=\"section-heading\"><p class=\"eyebrow\">CAPABILITIES<\/p><h2>Offers, Balances and Charging Decisions in One Platform<\/h2><p>Manage offers, usage balances and charging decisions in one configurable platform.<\/p><\/div>\n<div class=\"capability-grid\">\n<div class=\"capability-card\"><div class=\"cap-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M12 3v18\" \/> <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" \/> <path d=\"M3 9h18\" \/> <path d=\"M3 15h18\" \/> <\/svg><\/div><h4>Rating &amp; Price Plans<\/h4><p>Define tariffs through price tables, decision trees and scripts.<\/p><\/div>\n<div class=\"capability-card\"><div class=\"cap-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1\" \/> <path d=\"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4\" \/> <\/svg><\/div><h4>Wallets &amp; Balances<\/h4><p>Manage money, volume, duration and units, with limits and cascading.<\/p><\/div>\n<div class=\"capability-card\"><div class=\"cap-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z\" \/> <path d=\"M12 22V12\" \/> <path d=\"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7\" \/> <path d=\"m7.5 4.27 9 5.15\" \/> <\/svg><\/div><h4>Bundles &amp; Buckets<\/h4><p>Configure one-off or recurring bundles, expiry and balance changes.<\/p><\/div>\n<div class=\"capability-card\"><div class=\"cap-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\" \/> <circle cx=\"9\" cy=\"7\" r=\"4\" \/> <path d=\"M22 21v-2a4 4 0 0 0-3-3.87\" \/> <path d=\"M16 3.13a4 4 0 0 1 0 7.75\" \/> <\/svg><\/div><h4>Subscribers &amp; Assets<\/h4><p>Organize identities, devices and hierarchies, with wallets at different levels.<\/p><\/div>\n<div class=\"capability-card\"><div class=\"cap-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M16 3h5v5\" \/> <path d=\"M8 3H3v5\" \/> <path d=\"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3\" \/> <path d=\"m15 9 6-6\" \/> <\/svg><\/div><h4>Charging Decisions<\/h4><p>Use event, asset, wallet and location data to allow, rate or block usage.<\/p><\/div>\n<div class=\"capability-card\"><div class=\"cap-icon\"><svg aria-hidden=\"true\" focusable=\"false\" class=\"pc-icon\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" > <path d=\"M12 22v-5\" \/> <path d=\"M9 8V2\" \/> <path d=\"M15 8V2\" \/> <path d=\"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z\" \/> <\/svg><\/div><h4>APIs &amp; Integration<\/h4><p>Connect provisioning, charging sessions and events through REST APIs.<\/p><\/div>\n<\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fea389e0 elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"fea389e0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ddb1ef45\" data-id=\"ddb1ef45\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a4664cef elementor-widget elementor-widget-html\" data-id=\"a4664cef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"section\" id=\"architecture\" style=\"border-top:1px solid var(--line)\"><div class=\"container\"><div class=\"section-heading\"><p class=\"eyebrow\">PLATFORM ARCHITECTURE<\/p><h2>One Policy and Rating Engine for 4G and 5G<\/h2><p>Policy control, online charging and 5G charging share the platform layer, from the API and AI orchestration layer down to the 4G and 5G network interfaces.<\/p><\/div>\n<div class=\"ocs-arch\" role=\"img\" aria-label=\"Platform architecture: API and AI orchestration layer; asset repository, wallet repository and SPR \/ CRM; policy and rating engine with PCRF, OCS and CHF; 4G network (IMS, PGW) over Rx, Gx and Gy\/Ro; 5G network (SMF) over N40\">\n<div class=\"ocs-arch-row\"><div class=\"ocs-arch-box\"><strong>API &amp; AI Orchestration Layer<\/strong><span>REST provisioning \u00b7 charging sessions &amp; events<\/span><\/div><\/div>\n<div class=\"ocs-arch-row\" style=\"grid-template-columns:repeat(3,minmax(0,1fr))\"><div class=\"ocs-arch-box\"><strong>Asset Repository<\/strong><\/div><div class=\"ocs-arch-box\"><strong>Wallet Repository<\/strong><\/div><div class=\"ocs-arch-box\"><strong>SPR \/ CRM<\/strong><\/div><\/div>\n<div class=\"ocs-arch-engine\"><p class=\"ocs-k\">Policy &amp; Rating Engine<\/p>\n<div class=\"ocs-arch-row\" style=\"grid-template-columns:repeat(3,minmax(0,1fr))\">\n<div class=\"ocs-arch-box is-core\"><strong>PCRF<\/strong><span>Policy control<\/span><div class=\"ocs-ref\"><b>Rx<\/b><b>Gx<\/b><\/div><\/div>\n<div class=\"ocs-arch-box is-core\"><strong>OCS<\/strong><span>Online charging<\/span><div class=\"ocs-ref\"><b>Gy \/ Ro<\/b><\/div><\/div>\n<div class=\"ocs-arch-box is-core\"><strong>CHF<\/strong><span>5G charging<\/span><div class=\"ocs-ref\"><b>N40<\/b><\/div><\/div>\n<\/div><\/div>\n<div class=\"ocs-arch-row\" style=\"grid-template-columns:2fr 1fr\"><div class=\"ocs-arch-box\"><strong>4G Network<\/strong><span>IMS \u00b7 PGW<\/span><\/div><div class=\"ocs-arch-box\"><strong>5G Network<\/strong><span>SMF<\/span><\/div><\/div>\n<\/div>\n<div class=\"ocs-legend\">\n<div><h4>Application Integration<\/h4><p>REST provisioning, charging sessions and events.<\/p><\/div>\n<div><h4>Network Interfaces<\/h4><p>OCS, policy control and 5G charging interfaces are scoped during solution alignment.<\/p><\/div>\n<div><h4>Charging Records<\/h4><p>Rated CDRs connect the charging platform with downstream invoicing.<\/p><\/div>\n<\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-043d6929 elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"043d6929\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2c2b8f78\" data-id=\"2c2b8f78\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4fc842df elementor-widget elementor-widget-html\" data-id=\"4fc842df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"section\" id=\"charging-logic\" style=\"border-top:1px solid var(--line)\"><div class=\"container\"><div class=\"section-heading\"><p class=\"eyebrow\">PRICE-PLAN LOGIC<\/p><h2>The Charging Context Steers Every Decision<\/h2><p>Any charging-context field can steer the plan, and every evaluation ends in clear outcomes.<\/p><\/div>\n<div class=\"ocs-flow\">\n<div class=\"ocs-flow-col\"><span class=\"ocs-k\">Decision inputs<\/span><ul><li>Triggering data<\/li><li>Asset data<\/li><li>Wallet<\/li><li>Location<\/li><li>Destination location<\/li><\/ul><\/div>\n<div class=\"ocs-arrow\" aria-hidden=\"true\">\u2192<\/div>\n<div class=\"ocs-flow-col is-core\"><span class=\"ocs-k\">Evaluation<\/span><h4>Price-plan<\/h4><p>Matrix and decision-tree plans cover most designs. New plan types can be added through the Java SDK.<\/p><\/div>\n<div class=\"ocs-arrow\" aria-hidden=\"true\">\u2192<\/div>\n<div class=\"ocs-flow-col\"><span class=\"ocs-k\">Outcomes<\/span><ul><li>Allow \/ block<\/li><li>Rate to use<\/li><li>Extra actions, e.g. notifications<\/li><\/ul><\/div>\n<\/div>\n<div class=\"ocs-methods\">\n<div class=\"ocs-card\"><h4>Classic Price Tables<\/h4><p>Multidimensional matrices from XLS or CSV, with configurable fields and wildcard rows (*) for clean fallback pricing.<\/p><\/div>\n<div class=\"ocs-card\"><h4>Decision Trees<\/h4><p>Evaluate configured conditions and select allow\/block, rates, policy actions and notification triggers.<\/p><\/div>\n<div class=\"ocs-card\"><h4>Scripting<\/h4><p>Groovy, Lua or JavaScript for the most complex rating and policy logic, with full access to trigger, asset and wallet data.<\/p><\/div>\n<\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-23d008be elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"23d008be\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a345fc02\" data-id=\"a345fc02\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-10ec03a7 elementor-widget elementor-widget-html\" data-id=\"10ec03a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"section\" id=\"details\" style=\"border-top:1px solid var(--line)\"><div class=\"container\"><div class=\"section-heading\"><p class=\"eyebrow\">PLATFORM DETAILS<\/p><h2>Configure Rating, Wallets, Bundles and Integrations<\/h2><p>Explore how each part of the platform is configured, connected and operated.<\/p><\/div>\n<div id=\"ocs-details\"><div class=\"ocs-tabs\" role=\"tablist\" aria-label=\"OCS \/ PCRF platform details\" hidden><button type=\"button\" role=\"tab\" id=\"ocs-tab-rating\" aria-controls=\"ocs-panel-rating\" aria-selected=\"true\" tabindex=\"0\">Rating &amp; Price Plans<\/button><button type=\"button\" role=\"tab\" id=\"ocs-tab-wallets\" aria-controls=\"ocs-panel-wallets\" aria-selected=\"false\" tabindex=\"-1\">Wallets &amp; Balances<\/button><button type=\"button\" role=\"tab\" id=\"ocs-tab-bundles\" aria-controls=\"ocs-panel-bundles\" aria-selected=\"false\" tabindex=\"-1\">Bundles &amp; Notifications<\/button><button type=\"button\" role=\"tab\" id=\"ocs-tab-assets\" aria-controls=\"ocs-panel-assets\" aria-selected=\"false\" tabindex=\"-1\">Subscribers &amp; Assets<\/button><button type=\"button\" role=\"tab\" id=\"ocs-tab-apis\" aria-controls=\"ocs-panel-apis\" aria-selected=\"false\" tabindex=\"-1\">APIs &amp; Integration<\/button><button type=\"button\" role=\"tab\" id=\"ocs-tab-deployment\" aria-controls=\"ocs-panel-deployment\" aria-selected=\"false\" tabindex=\"-1\">Deployment &amp; Operations<\/button><\/div>\n<div class=\"ocs-panel\" role=\"tabpanel\" id=\"ocs-panel-rating\" aria-labelledby=\"ocs-tab-rating\" tabindex=\"0\"><h3>Rating &amp; Price Plans<\/h3><div class=\"ocs-cards\"><div class=\"ocs-card\"><h4>Three Configuration Methods<\/h4><p>Build multidimensional price tables from XLS or CSV, use decision trees, or apply scripts for complex logic. Wildcard entries support fallback pricing; SDK extensions support custom rating blocks and plan types.<\/p><\/div><div class=\"ocs-card\"><h4>Decisions Based on Charging Context<\/h4><p>Use trigger, subscriber, asset, wallet and location data to select the charging behaviour. Country, region, network, destination and time-of-day information can steer a configured plan.<\/p><\/div><div class=\"ocs-card\"><h4>Configurable Rates<\/h4><p>Define linear rates, surcharges and fixed charges. Each rate references a balance cascade, with configurable VAT treatment, currency exchange rules and future activation dates.<\/p><\/div><div class=\"ocs-card\"><h4>Clear Evaluation Outcomes<\/h4><p>A plan determines whether the session or event is allowed, the rate to apply and any additional actions. Those actions can include notifications and policy changes within the agreed solution scope.<\/p><\/div><\/div><\/div>\n<div class=\"ocs-panel\" role=\"tabpanel\" id=\"ocs-panel-wallets\" aria-labelledby=\"ocs-tab-wallets\" tabindex=\"0\"><h3>Wallets &amp; Balances<\/h3><div class=\"ocs-cards\"><div class=\"ocs-card\"><h4>Balance Types and Units<\/h4><p>Manage money, volume, duration or unit balances. Every balance carries a unit, enabling conversions such as MB to GB or seconds to minutes. Balances can also act as informative usage counters.<\/p><\/div><div class=\"ocs-card\"><h4>Limits and Counting Behaviour<\/h4><p>Count balances down for consumption or up for accumulation. Set upper and lower limits, and decide whether reaching a limit blocks further usage or allows another balance to take over.<\/p><\/div><div class=\"ocs-card\"><h4>Balance and Bucket Selection<\/h4><p>Cascade across eligible balances when one is depleted. Mix balance types, convert usage through the configured rate and select buckets by rules such as expiry date or creation order.<\/p><\/div><div class=\"ocs-card\"><h4>Wallets Across the Organisation<\/h4><p>Link wallets at different organizational levels. Wallet cascading can let a parent wallet cover a remaining charge when a subscriber wallet has insufficient balance. Currency exchange behaviour is defined per rate.<\/p><\/div><\/div><div class=\"ocs-extra\"><span class=\"ocs-k\">One cascade, three balances<\/span><div class=\"ocs-cascade\"><div><strong>Data bundle<\/strong><span>2 GB \u00b7 depleted<\/span><\/div><i aria-hidden=\"true\">\u2192<\/i><div><strong>Promo bucket<\/strong><span>500 MB remaining<\/span><\/div><i aria-hidden=\"true\">\u2192<\/i><div><strong>Money balance<\/strong><span>EUR \u00b7 via rate<\/span><\/div><\/div><p>When an eligible balance is depleted, the next balance takes over. Selection, limits and expiry follow the configured rules.<\/p><\/div><\/div>\n<div class=\"ocs-panel\" role=\"tabpanel\" id=\"ocs-panel-bundles\" aria-labelledby=\"ocs-tab-bundles\" tabindex=\"0\"><h3>Bundles &amp; Notifications<\/h3><div class=\"ocs-cards\"><div class=\"ocs-card\"><h4>Bundle Behaviour<\/h4><p>Define one-off boosters or recurring bundles, with optional automatic start on subscription and pro-rata behaviour. A definition can permit one or multiple instances in the same wallet.<\/p><\/div><div class=\"ocs-card\"><h4>Configurable Balance Changes<\/h4><p>A bundle can top up or charge one or more balances. Changes can be mandatory or optional, absolute or relative, and can use an existing bucket or create a new one with an expiry date.<\/p><\/div><div class=\"ocs-card\"><h4>Wallet Subscriptions<\/h4><p>Keep balances, buckets, bundle subscriptions and notification definitions within the wallet model. Configure renewal behaviour and the conditions that trigger an action or notification.<\/p><\/div><div class=\"ocs-card\"><h4>Lifecycle and Threshold Notifications<\/h4><p>Trigger notifications for activation, deactivation, renewal success or failure, approaching expiry and balance thresholds. Events flow to the notification engine for e-mail, SMS or downstream systems.<\/p><\/div><\/div><div class=\"ocs-extra\"><span class=\"ocs-k\">Notification triggers<\/span><div class=\"ocs-chips\"><span>Bundle activation<\/span><span>Bundle deactivation<\/span><span>Bundle renewal success<\/span><span>Bundle renewal failure<\/span><span>Bundle expiration approaching<\/span><span>Balance \u00b7 absolute value<\/span><span>Balance \u00b7 percentage<\/span><span>Bucket expiration approaching<\/span><\/div><p>Notifications flow to the notification engine: e-mail, SMS or downstream systems.<\/p><\/div><\/div>\n<div class=\"ocs-panel\" role=\"tabpanel\" id=\"ocs-panel-assets\" aria-labelledby=\"ocs-tab-assets\" tabindex=\"0\"><h3>Subscribers &amp; Assets<\/h3><div class=\"ocs-cards\"><div class=\"ocs-card\"><h4>Flexible Subscriber Hierarchies<\/h4><p>Organize companies, subscribers and devices in a tree-leaf structure. Each organizational level can have its own wallet, supporting charging relationships across the hierarchy.<\/p><\/div><div class=\"ocs-card\"><h4>Multiple Subscriber Identities<\/h4><p>Associate one or more identities with a subscriber: MSISDN, IMSI, IMEI, external OSS IDs, e-mail addresses or serial numbers. Identity metadata supplies context for service and charging decisions.<\/p><\/div><div class=\"ocs-card\"><h4>Configurable Asset Data<\/h4><p>Store simple values or complex JSON-style objects, with or without a schema. Templates can define mandatory fields, data constraints and lifecycle rules for different asset types.<\/p><\/div><div class=\"ocs-card\"><h4>Linked Assets and Configuration<\/h4><p>Connect assets to other assets, child assets, wallets and the relevant charging or policy configuration. Additional information can remain in the asset or be organised through linked child assets.<\/p><\/div><\/div><\/div>\n<div class=\"ocs-panel\" role=\"tabpanel\" id=\"ocs-panel-apis\" aria-labelledby=\"ocs-tab-apis\" tabindex=\"0\"><h3>APIs &amp; Integration<\/h3><div class=\"ocs-cards\"><div class=\"ocs-card\"><h4>Provisioning and Configuration<\/h4><p>Use REST APIs to maintain assets, locations, rates and plans. Location data can also be imported from CSV or maintained through the Java SDK, supporting automated OSS\/BSS workflows.<\/p><\/div><div class=\"ocs-card\"><h4>Charging Sessions and Events<\/h4><p>Integrate charging-session and event requests through the platform APIs. Session management includes create, retrieve, update and delete operations, with charging context supplied to the relevant services.<\/p><\/div><div class=\"ocs-card\"><h4>Network Interface Scope<\/h4><p>Align Diameter Gy\/Ro charging, Gx\/Rx policy interfaces and N40\/Nchf 5G charging with the selected components. Versions, network peers and interoperability scenarios are confirmed during solution alignment.<\/p><\/div><div class=\"ocs-card\"><h4>Records and Notifications<\/h4><p>Connect rated records with downstream billing or invoicing and exchange records or files through the relevant interfaces. Deliver configured notification events to the agreed channels and external applications.<\/p><\/div><\/div><\/div>\n<div class=\"ocs-panel\" role=\"tabpanel\" id=\"ocs-panel-deployment\" aria-labelledby=\"ocs-tab-deployment\" tabindex=\"0\"><h3>Deployment &amp; Operations<\/h3><div class=\"ocs-cards\"><div class=\"ocs-card\"><h4>Kubernetes-based Deployment<\/h4><p>Deploy interface, policy and charging services as separate Kubernetes components. Scale the required components and assess private-cloud, public-cloud or bare-metal hosting.<\/p><\/div><div class=\"ocs-card\"><h4>API-based Management<\/h4><p>Manage configuration and maintenance through APIs and the O&amp;M GUI. Version changes through GitOps or CI\/CD, with controlled application and rollback.<\/p><\/div><div class=\"ocs-card\"><h4>Observability &amp; Access<\/h4><p>Combine metrics, logs and alerting with scoped access. Reference tools include Prometheus, Loki, Grafana and Keycloak; tool selection and customer visibility are deployment-specific.<\/p><\/div><div class=\"ocs-card\"><h4>Security &amp; Service Scope<\/h4><p>Confirm tenant isolation, encryption, audit and retention controls. Agree hosting, operational responsibilities, support coverage and SLA terms. Deployment and service scope are agreed for each engagement.<\/p><\/div><\/div><\/div><\/div><\/div><\/section><script>(function(){var r=document.getElementById('ocs-details');if(!r||r.dataset.ready)return;r.dataset.ready='1';r.classList.add('ocs-js');\nvar tabs=[].slice.call(r.querySelectorAll('[role=tab]')),panels=[].slice.call(r.querySelectorAll('[role=tabpanel]'));\nfunction show(i,focus){tabs.forEach(function(t,j){var on=i===j;t.setAttribute('aria-selected',on);t.tabIndex=on?0:-1;panels[j].hidden=!on;});if(focus)tabs[i].focus();}\ntabs.forEach(function(t,i){t.addEventListener('click',function(){show(i);});t.addEventListener('keydown',function(e){var n=e.key==='ArrowRight'?i+1:e.key==='ArrowLeft'?i-1:e.key==='Home'?0:e.key==='End'?tabs.length-1:null;if(n===null)return;e.preventDefault();show((n+tabs.length)%tabs.length,true);});});\nr.querySelector('.ocs-tabs').hidden=false;show(0);})();<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4593c902 elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"4593c902\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6b3673dc\" data-id=\"6b3673dc\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ea7853b3 elementor-widget elementor-widget-html\" data-id=\"ea7853b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"section-tight\" id=\"specs\"><div class=\"container\"><div class=\"section-heading\" style=\"margin-bottom:18px\"><p class=\"eyebrow\">TECHNICAL INFORMATION<\/p><h2>TPS &amp; Recommended HW<\/h2><\/div>\n<div class=\"ocs-table-wrap\"><table class=\"ocs-table\"><thead><tr><th scope=\"col\">Environment<\/th><th scope=\"col\">vCPU<\/th><th scope=\"col\">RAM<\/th><th scope=\"col\">Deployment<\/th><th scope=\"col\">Estimated throughput<\/th><\/tr><\/thead>\n<tbody><tr><td>Test \/ PoC<\/td><td>2<\/td><td>8 GB<\/td><td>1 VM<\/td><td>\u2248 500 TPS<\/td><\/tr><tr><td>Production<\/td><td>8<\/td><td>16 GB<\/td><td>3 VMs<\/td><td>\u2248 500 TPS<\/td><\/tr><\/tbody><\/table><\/div>\n<p class=\"ocs-note\">Our software products are fully tested and optimized for deployment in AWS EC2 instances, ensuring peak performance and reliability. While they are compatible with any Linux-based virtual environment, performance may vary depending on the underlying infrastructure and configuration.<\/p>\n<\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4c2bed41 elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"4c2bed41\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4f2724f5\" data-id=\"4f2724f5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a9b154ce elementor-widget elementor-widget-shortcode\" data-id=\"a9b154ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"18040\" class=\"elementor elementor-18040 elementor-bc-flex-widget\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\">\n\t\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8fdd582a elementor-section-full_width paicore-section elementor-section-height-default elementor-section-height-default\" data-id=\"8fdd582a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1e88bc41\" data-id=\"1e88bc41\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-26184a36 elementor-widget elementor-widget-html\" data-id=\"26184a36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"contact-section\" id=\"contact\"><div class=\"container contact-grid\">\n  <div>\n    <p class=\"eyebrow\">YOUR USE CASE IS THE STARTING POINT<\/p>\n    <h2>What Would You Like<br>to Make Possible?<\/h2>\n    <p>Tell us about your network, your challenge or your next idea.<\/p>\n  <\/div>\n  <div class=\"contact-actions\">\n    <label for=\"interest\">I'd like to explore<\/label>\n    <select id=\"interest\">\n      <option>SMSC \/ SMSF<\/option>\n      <option>SMS Signaling Firewall<\/option>\n      <option>USSD Gw \/ USSI<\/option>\n      <option>IP SM GW<\/option>\n      <option>Core Network Analyzer<\/option>\n      <option>Network API Gw<\/option>\n      <option>Entitlement Configuration Server Lite<\/option>\n      <option>Authorization Server<\/option>\n      <option>GMLC<\/option>\n      <option>Diameter Routing Agent<\/option>\n      <option>Signaling Transfer Point<\/option>\n      <option>OCS \/ PCRF<\/option><option>Security Edge Protection Proxy<\/option>\n      <option>Messaging Platform<\/option>\n      <option>Network API Platform<\/option>\n      <option>MVNE Lite<\/option>\n      <option>Open Source support<\/option>\n      <option>PT Bundles<\/option>\n    <\/select>\n    <a data-paicore-contact=\"1\" href=\"https:\/\/paicore.tech\/?page_id=17992\" target=\"_blank\" rel=\"noopener\" class=\"button button-white\">Start a conversation <span>\u2197<\/span><\/a>\n    <small>Continue to PAiCore's contact page.<\/small>\n  <\/div>\n<\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":8,"featured_media":0,"parent":18635,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"class_list":["post-18862","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/paicore.tech\/index.php?rest_route=\/wp\/v2\/pages\/18862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/paicore.tech\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/paicore.tech\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/paicore.tech\/index.php?rest_route=\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/paicore.tech\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18862"}],"version-history":[{"count":1,"href":"https:\/\/paicore.tech\/index.php?rest_route=\/wp\/v2\/pages\/18862\/revisions"}],"predecessor-version":[{"id":18863,"href":"https:\/\/paicore.tech\/index.php?rest_route=\/wp\/v2\/pages\/18862\/revisions\/18863"}],"up":[{"embeddable":true,"href":"https:\/\/paicore.tech\/index.php?rest_route=\/wp\/v2\/pages\/18635"}],"wp:attachment":[{"href":"https:\/\/paicore.tech\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}