Service Capabilities

Overview

Each billing engine domain type used with the NCC platform has different capabilities, depending on the billing engine type and functionality. You can use the N2 Logic Node to query the availability of these capabilities and call other functions accordingly if they are supported. You can also use this information to perform call logic routing without relying on the other NCC node 'Error' or 'Unsupported' branches being used.

Note that all NCC API functions already verify that capabilities are available before sending potentially unsupported requests. However, these functions will raise an error if they do not have sufficient capabilities to perform the requested action; it may be prudent to add your own checks if the billing domain and its capabilities are not known ahead of time.

The Logic Node runtime caches the results of capability lookups for the lifetime of each invocation of a node, as the domain cannot change while a script is being executed. Once the Logic Node has been left via an exit branch, the service capabilities are forgotten and will be rechecked as needed in any further Logic Node instance.

Capability List

Service capability information is stored within the charging data structure.

Function Signatures

All service capability check functions have identical signatures.

  Parameters None.  
  Returns Either true if the active billing domain supports the requested capability, or false in all other cases.
  Errors None.
Usage In all cases, use the function directly to check the availability of a capability:

if (ccs.action.available.setDiscount ()) then
    ncc.branch.exit (4) -- discount processing
else
    ncc.branch.exit (5) -- do not process discounts
end

If the capability has previously been queried or used during the current invocation of the Logic Node, the response will be returned from the Lua runtime cache. Otherwise, the SLEE will be interrogated directly and the response cached.

Function List