Context
The context of charging
within the schema tree is shown. Italicised links are to other pages.
deployment-config:sentinel-volte (in sentinel-volte-gsm-config.yaml and sentinel-volte-cdma-config.yaml) charging gsm-online-charging-type cdma-online-charging-enabled ro-charging diameter-ro continue-session-on-ocs-failure diameter-ro-release realm-choice choice single-realm destination-realm multiple-realms destination-realms list destination-realm charging-function-address peers list origin-realm destination-peers list protocol-transport destination-hostname port metric charging-announcements low-credit-announcements call-setup-announcement-id mid-call-announcement-id charging-reauth-delay-milliseconds out-of-credit-announcements call-setup-announcement-id mid-call-announcement-id rf-charging diameter-rf diameter-rf-release destination-realm origin-realm destination-peers list protocol-transport destination-hostname port metric cap-charging imssf imcsi-fetching originating-tdp terminating-tdp charging-gt format unknown-location only-charge-terminating-call-if-international-roaming scf-address cdr interim-cdrs write-cdrs-in-filesystem write-cdr-on-sdp-change interim-cdrs-period-seconds session-cdrs-enabled registrar-audit-cdrs-enabled registrar-cdr-stream-name
Charging configuration
gsm-online-charging-type
The online charging type. Only valid when 'scc-mobile-core-type' is 'gsm'.
Conditional
This leaf is only valid when ../../scc/scc-mobile-core-type = 'gsm'
.
Related Constraints
Conditional node ../../../mmt-gsm-virtual-machine-pool/virtual-machines/per-node-diameter-ro
depends on this node. The Conditional expression refers to this node as ../../../sentinel-volte/charging/gsm-online-charging-type
.
Conditional node ../ro-charging
depends on this node. The Conditional expression refers to this node as ../gsm-online-charging-type
.
Conditional node ../../mmtel/call-diversion/forward-to-voicemail/forward-to-voicemail-without-ocs-credit
depends on this node. The Conditional expression refers to this node as ../../../../charging/gsm-online-charging-type
.
Conditional node ../cap-charging
depends on this node. The Conditional expression refers to this node as ../gsm-online-charging-type
.
Type enumeration
- Value
-
one of the following
Value | Description |
---|---|
|
Use Diameter Ro charging. |
|
Use CAMEL Application Part (CAP) charging. |
|
Use both Diameter Ro and CAMEL Application Part (CAP) charging. |
|
Disable online charging. |
- Default value
-
'ro'
cdma-online-charging-enabled
Set to 'true' to enable online charging. Set to 'false' to disable. Only valid when 'scc-mobile-core-type' is 'cdma'.
Conditional
This leaf is only valid when ../../scc/scc-mobile-core-type = 'cdma'
.
Related Constraints
Conditional node ../../mmtel/call-diversion/forward-to-voicemail/forward-to-voicemail-without-ocs-credit
depends on this node. The Conditional expression refers to this node as ../../../../charging/cdma-online-charging-enabled
.
Conditional node ../../../mmt-gsm-virtual-machine-pool/virtual-machines/per-node-diameter-ro
depends on this node. The Conditional expression refers to this node as ../../../sentinel-volte/charging/cdma-online-charging-enabled
.
Conditional node ../../../mmt-cdma-virtual-machine-pool/virtual-machines/per-node-diameter-ro
depends on this node. The Conditional expression refers to this node as ../../../sentinel-volte/charging/cdma-online-charging-enabled
.
Conditional node ../ro-charging
depends on this node. The Conditional expression refers to this node as ../cdma-online-charging-enabled
.
Type boolean
- Value
-
'true' or 'false'
- Default value
-
true
ro-charging
Ro charging configuration. Used when 'cdma-online-charging-type' is set to 'true' or when 'gsm-online-charging-type' is set to 'ro' or 'cap-ro'.
Conditional
This container is only valid when ../gsm-online-charging-type = 'ro' or ../gsm-online-charging-type = 'cap-ro' or ../cdma-online-charging-enabled = 'true'
.
Container Structure
diameter-ro continue-session-on-ocs-failure diameter-ro-release realm-choice choice single-realm destination-realm multiple-realms destination-realms list destination-realm charging-function-address peers list origin-realm destination-peers list protocol-transport destination-hostname port metric charging-announcements low-credit-announcements call-setup-announcement-id mid-call-announcement-id charging-reauth-delay-milliseconds out-of-credit-announcements call-setup-announcement-id mid-call-announcement-id
continue-session-on-ocs-failure
Set to 'true' to permit sessions to continue if there is an OCS (Online Charging System) failure.
Type boolean
- Value
-
'true' or 'false'
- Default value
-
false
diameter-ro-release
The Diameter Ro release to use.
Type enumeration
- Value
-
one of the following
Value | Description |
---|---|
|
Release V8d0 |
|
Release V960 |
|
Release Va00 |
|
Release Vb80 |
|
Release Vcb0 |
- Default value
-
'Vcb0'
realm-choice choice
Whether to use a single realm or multiple realms.
A Choice between one of the following:
destination-realm
The Diameter destination realm.
This node is mandatory.
Type domain-name
- Description
-
The domain-name type represents a DNS domain name. The name SHOULD be fully qualified whenever possible.
See RFC 6991 for full details.
- Value
-
a string with length 1 to 253 matching
((([a-zA-Z0-9_]([a-zA-Z0-9\-]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.
destination-realms list
List of Diameter destination realms.
Must contain at least 1 element.
List Structure
destination-realm domain-name charging-function-address string peers list string
The key is destination-realm
.
destination-realm
The destination realm.
This node is mandatory.
Type domain-name
- Description
-
The domain-name type represents a DNS domain name. The name SHOULD be fully qualified whenever possible.
See RFC 6991 for full details.
- Value
-
a string with length 1 to 253 matching
((([a-zA-Z0-9_]([a-zA-Z0-9\-]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.
charging-function-address
The value that must appear in a P-Charging-Function-Addresses header in order to select this destination realm. If omitted, this will be the same as the destination-realm value.
Type string
- Value
-
a string
peers list
List of Diameter peers for the realm.
Must contain at least 1 element.
Type List of string
- Values
-
a string
origin-realm
The Diameter origin realm.
A restart is required for changes to this value to take effect. |
This node is mandatory.
Type domain-name
- Description
-
The domain-name type represents a DNS domain name. The name SHOULD be fully qualified whenever possible.
See RFC 6991 for full details.
- Value
-
a string with length 1 to 253 matching
((([a-zA-Z0-9_]([a-zA-Z0-9\-]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.
destination-peers list
Diameter destination peer(s).
Must contain at least 1 element.
List Structure
protocol-transport enumeration destination-hostname domain-name port port-number metric uint32
The key is destination-hostname
.
protocol-transport
The combined Diameter protocol and transport.
Type enumeration
- Value
-
one of the following
Value | Description |
---|---|
|
The Authentication, Authorization and Accounting (AAA) protocol over tcp |
|
The Authentication, Authorization and Accounting with Secure Transport (AAAS) protocol over tcp. IMPORTANT: this protocol is currently not supported. |
|
The Authentication, Authorization and Accounting (AAA) protocol over Stream Control Transmission Protocol (SCTP) transport. Will automatically be configured multi-homed if multiple signaling interfaces are provisioned. |
- Default value
-
'aaa'
destination-hostname
The destination hostname.
This node is mandatory.
Type domain-name
- Description
-
The domain-name type represents a DNS domain name. The name SHOULD be fully qualified whenever possible.
See RFC 6991 for full details.
- Value
-
a string with length 1 to 253 matching
((([a-zA-Z0-9_]([a-zA-Z0-9\-]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.
port
The destination port number.
Type port-number
- Description
-
The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP.
See RFC 6991 for full details.
- Value
-
a number in the range 0 or more
- Default value
-
3868
metric
The metric to use for this peer. Peers with lower metrics take priority over peers with higher metrics. If all peers have the same metric, traffic is round-robin load balanced over all peers.
Type uint32
- Value
-
a number in the range 0 or more
- Default value
-
1
call-setup-announcement-id
/sentinel-volte
/charging
/ro-charging
/charging-announcements
/low-credit-announcements
/call-setup-announcement-id
Announcement ID to be played during call setup if the subscriber has low credit.
Type announcement-id-type
- Description
-
The announcement-id type, limits use to be one of the configured SIP announcement IDs from '/sentinel-volte/mmtel/announcement/announcements/id'.
- Value
mid-call-announcement-id
/sentinel-volte
/charging
/ro-charging
/charging-announcements
/low-credit-announcements
/mid-call-announcement-id
Announcement ID to be played during a call if the subscriber has low credit.
Type announcement-id-type
- Description
-
The announcement-id type, limits use to be one of the configured SIP announcement IDs from '/sentinel-volte/mmtel/announcement/announcements/id'.
- Value
charging-reauth-delay-milliseconds
/sentinel-volte
/charging
/ro-charging
/charging-announcements
/low-credit-announcements
/charging-reauth-delay-milliseconds
The delay (in milliseconds) for issuing a credit check after a call is connected with low balance (0 indicates immediate reauth).
Type uint32
- Value
-
a number in the range 0 or more
call-setup-announcement-id
/sentinel-volte
/charging
/ro-charging
/charging-announcements
/out-of-credit-announcements
/call-setup-announcement-id
Announcement ID to be played during call setup if the subscriber is out of credit.
Type announcement-id-type
- Description
-
The announcement-id type, limits use to be one of the configured SIP announcement IDs from '/sentinel-volte/mmtel/announcement/announcements/id'.
- Value
mid-call-announcement-id
/sentinel-volte
/charging
/ro-charging
/charging-announcements
/out-of-credit-announcements
/mid-call-announcement-id
Announcement ID to be played during a call if the subscriber is out of credit.
Type announcement-id-type
- Description
-
The announcement-id type, limits use to be one of the configured SIP announcement IDs from '/sentinel-volte/mmtel/announcement/announcements/id'.
- Value
rf-charging
Rf charging configuration. Presence enables Rf charging.
- When present
-
Enables Rf charging.
Data Validation Constraint
Validation Error: |
'interim-cdrs' section must be present when 'rf-charging' is present. |
Related Constraints
Conditional node ../../../mmt-cdma-virtual-machine-pool/virtual-machines/per-node-diameter-rf
depends on this node. The Conditional expression refers to this node as ../../../sentinel-volte/charging/rf-charging
.
Conditional node ../../../mmt-gsm-virtual-machine-pool/virtual-machines/per-node-diameter-rf
depends on this node. The Conditional expression refers to this node as ../../../sentinel-volte/charging/rf-charging
.
diameter-rf-release
The Diameter Rf release to use.
Type enumeration
- Value
-
one of the following
Value | Description |
---|---|
|
Release V8d0 |
|
Release V960 |
|
Release Va00 |
|
Release Vb80 |
|
Release Vcb0 |
- Default value
-
'Vcb0'
destination-realm
The Diameter destination realm.
This node is mandatory.
Type domain-name
- Description
-
The domain-name type represents a DNS domain name. The name SHOULD be fully qualified whenever possible.
See RFC 6991 for full details.
- Value
-
a string with length 1 to 253 matching
((([a-zA-Z0-9_]([a-zA-Z0-9\-]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.
origin-realm
The Diameter origin realm.
A restart is required for changes to this value to take effect. |
This node is mandatory.
Type domain-name
- Description
-
The domain-name type represents a DNS domain name. The name SHOULD be fully qualified whenever possible.
See RFC 6991 for full details.
- Value
-
a string with length 1 to 253 matching
((([a-zA-Z0-9_]([a-zA-Z0-9\-]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.
destination-peers list
Diameter destination peer(s).
Must contain at least 1 element.
List Structure
protocol-transport enumeration destination-hostname domain-name port port-number metric uint32
The key is destination-hostname
.
protocol-transport
The combined Diameter protocol and transport.
Type enumeration
- Value
-
one of the following
Value | Description |
---|---|
|
The Authentication, Authorization and Accounting (AAA) protocol over tcp |
|
The Authentication, Authorization and Accounting with Secure Transport (AAAS) protocol over tcp. IMPORTANT: this protocol is currently not supported. |
|
The Authentication, Authorization and Accounting (AAA) protocol over Stream Control Transmission Protocol (SCTP) transport. Will automatically be configured multi-homed if multiple signaling interfaces are provisioned. |
- Default value
-
'aaa'
destination-hostname
The destination hostname.
This node is mandatory.
Type domain-name
- Description
-
The domain-name type represents a DNS domain name. The name SHOULD be fully qualified whenever possible.
See RFC 6991 for full details.
- Value
-
a string with length 1 to 253 matching
((([a-zA-Z0-9_]([a-zA-Z0-9\-]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.
port
The destination port number.
Type port-number
- Description
-
The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP.
See RFC 6991 for full details.
- Value
-
a number in the range 0 or more
- Default value
-
3868
metric
The metric to use for this peer. Peers with lower metrics take priority over peers with higher metrics. If all peers have the same metric, traffic is round-robin load balanced over all peers.
Type uint32
- Value
-
a number in the range 0 or more
- Default value
-
1
cap-charging
CAP charging configuration. Used when 'gsm-online-charging-type' is set to 'cap' or 'cap-ro'.
Conditional
This container is only valid when ../gsm-online-charging-type = 'cap' or ../gsm-online-charging-type = 'cap-ro'
.
originating-tdp
The requested Trigger Detection Point for originating calls, which determines whether T_CSI or O_CSI is requested from the HLR. Values of '2' or '3' will request the O_CSI, '12' will request the T_CSI, other values are not valid.
Related Constraint
Conditional node ../../../../../hlr-connectivity-origin
depends on this node. The Conditional expression refers to this node as ../charging/cap-charging/imssf/imcsi-fetching/originating-tdp
.
Type uint8
- Value
-
a number in the range 2, 3, 12
terminating-tdp
The requested Trigger Detection Point for terminating calls, which determines whether T_CSI or O_CSI is requested from the HLR. Values of '2' or '3' will request the O_CSI, '12' will request the T_CSI, other values are not valid.
Related Constraint
Conditional node ../../../../../hlr-connectivity-origin
depends on this node. The Conditional expression refers to this node as ../charging/cap-charging/imssf/imcsi-fetching/terminating-tdp
.
Type uint8
- Value
-
a number in the range 2, 3, 12
charging-gt
Configuration for the charging GT (global title) that is sent to the SCP.
Container Structure
format
The format template to use when creating Charging GTs (global title). It must be a digit string except for tokens ('{iso}', '{mcc}', '{mnc}') which are substituted in.
This node is mandatory.
Type string
- Value
-
a string
unknown-location
The Charging GT (global title) to use when one could not be generated because the user’s location could not be determined.
This node is mandatory.
Type number-string
- Description
-
A type that permits a non-negative integer value.
- Value
-
a string with length 0 or more matching
[0-9]+
only-charge-terminating-call-if-international-roaming
/sentinel-volte
/charging
/cap-charging
/imssf
/charging-gt
/only-charge-terminating-call-if-international-roaming
Should terminating charging only be applied if the served user is roaming internationally.
Type boolean
- Value
-
'true' or 'false'
- Default value
-
false
scf-address
The SCCP address of the GSM charging SCP.
This node is mandatory.
Type sccp-address-type
- Description
-
A type representing an SCCP address in string form. The basic form of an SCCP address is:
type=<variant>,ri=<address type>,<parameter>=<value>,…
where
<variant>
isA7
for ANSI-variant SCCP orC7
for ITU-variant SCCP, and<address type>
is one ofgt
orpcssn
(for an address specified by Global Title (GT), or Point Code (PC) and Subsystem Number (SSN), respectively).The
<parameter>
options are:-
Point code:
pc=<point code in network-cluster-member (ANSI) or integer (ITU) format>
-
Subsystem number:
ssn=<subsystem number 0-255>
-
Global title address digits:
digits=<address digits, one or more 0-9>
-
Nature of address:
nature=<nature>
where<nature>
isunknown
,international
,national
, orsubscriber
-
Numbering plan:
numbering=<numbering>
where<numbering>
isunknown
,isdn
,generic
,data
,telex
,maritime-mobile
,land-mobile
,isdn-mobile
, orprivate
-
Global title translation type:
tt=<integer 0-255>
-
National indicator:
national=<true or false>
.parameter
names are separated from their values by an equals sign, and all<parameter>=<value>
pairs are separated by commas. Do not include any whitespace anywhere in the address.Only the
ssn
andnational
parameters are mandatory; the others are optional, depending on the details of the address - see below.Note carefully the following:
-
For ANSI addresses, ALWAYS specify
national=true
, unless using ITU-format addresses in an ANSI-variant network. -
For ITU addresses, ALWAYS specify
national=false
. -
All SCCP addresses across the deployment’s configuration must use the same variant (
A7
orC7
). -
Be sure to update the SGC’s SCCP variant in
sgc-config.yaml
to match the variant of the addresses.
For PC/SSN addresses (with
ri=pcssn
), you need to specify the point code and SSN. For GT addresses (withri=gt
), you must specify the global title digits and SSN in addition to the fields listed below (choose one option).There are two options for ANSI GT addresses:
-
translation type only
-
numbering plan and translation type.
There are four options for ITU GT addresses:
-
nature of address only
-
translation type only
-
numbering plan and translation type
-
nature of address with either or both of numbering plan and translation type.
Some valid ANSI address examples are:
-
type=A7,ri=pcssn,pc=0-0-5,ssn=147,national=true
-
type=A7,ri=gt,ssn=146,tt=8,digits=12012223333,national=true
Some valid ITU address examples are:
-
type=C7,ri=pcssn,pc=1434,ssn=147,national=false
-
type=C7,ri=gt,ssn=146,nature=INTERNATIONAL,numbering=ISDN,tt=0, digits=123456,national=false
-
type=C7,ri=gt,ssn=148,numbering=ISDN,tt=0,digits=0778899,national=false
-
- Value
-
a string with length 0 or more matching
(.,)*type=(A|C)7.
and matching(.,)*ri=(gt|pcssn).
and matching(.,)*ssn=[0-2]?[0-9]?[0-9].
and matching.=.(,.=.)*
interim-cdrs
Interim CDR configuration. Presence enables Interim CDRs.
- When present
-
Enables interim CDRs.
Container Structure
Related Constraint
../../rf-charging
has a Data Validation Constraint which references this node. The validation expression refers to this node as ../cdr/interim-cdrs
.
write-cdrs-in-filesystem
'true' means that CDRs are written locally by the application. CDRs are written via Diameter Rf if the Sentinel VoLTE configuration value 'rf-charging' is present.
Type boolean
- Value
-
'true' or 'false'
- Default value
-
true
write-cdr-on-sdp-change
Indicates whether or not to write CDRs on SDP changes.
Type boolean
- Value
-
'true' or 'false'
- Default value
-
true
interim-cdrs-period-seconds
The maximum duration (in seconds) between timer driven interim CDRs.
Setting this to zero will disable timer based interim CDRs.
Type uint32
- Value
-
a number in the range 0 or more
- Default value
-
300
session-cdrs-enabled
'true' enables the creation of session CDRs, 'false' disables.
This node is mandatory.
Type boolean
- Value
-
'true' or 'false'
registrar-audit-cdrs-enabled
'true' enables the creation of Registrar audit CDRs, 'false' disables.
Type boolean
- Value
-
'true' or 'false'
- Default value
-
false
registrar-cdr-stream-name
CDR stream to write Registrar audit CDRs to.
Type string
- Value
-
a string
- Default value
-
'registrar-cdr-stream'