Termination (Final)

Introduction

An SCP Lua script may request that the call be terminated to a B-Party by sending INAP Continue or INAP Connect on the SSP transaction, without using RequestReportBCSMEvent, nor ApplyCharging, nor CallInformationRequest.

The service logic does not wait to see the results of this termination attempt.

The use of FurnishChargingInformation and/or SendChargingInformation is optional.

If an SRF is currently open then a prior DisconnectForwardConnection will be sent on the SSP transaction, and any external SRF transaction will be ended according to the applicable SRF configuration.

No further telephony methods are permitted after performing the final termination via termination_final, or either of the helper methods continue_final or connect_final.

The LhoScpLuaService Termination (Final) API

.termination_final

This method provides full access to the Termination (Final) mechanism and is provided for use by custom service developers. In the majority of scenarios, one of the subsequently-described convenience methods should be sufficient and preferable. However, this full-featured alternative is provided for use by complex or non-standard services.

This method sends INAP Connect if the .address_digits is present, or INAP Continue if the address digits are not specified.

This method takes a single details parameter which is a Lua table with the following structure:

Field Type Description
details Object [Required] The detailed SCP control parameters for the message.
.fci String Specify the content of the FCIBillingChargingCharacteristics in the FurnishChargingInformation to send.
(Default = do not send FurnishChargingInformation).
.sci String Specify the content of the sCIBillingChargingCharacteristics in the SendChargingInformation to send.
(Default = do not send SendChargingInformation).
.address_digits Digit String Specify the normalised destinationRoutingAddress digits (only 0-9A-F).
The applicable configured 'called_party' denormalisation on the LhoScpApp will be applied.
If this field is present, then INAP Connect will be used, else INAP Continue is sent.
.orig_called_digits Digit String This field is only relevant when address_digits is specified.
Specify the normalised destinationRoutingAddress digits (only 0-9A-F).
The applicable configured 'calling_party' denormalisation on the LhoScpApp will be applied.
(Default = not present).
.redirecting_digits Digit String This field is only relevant when address_digits is specified.
Specify the normalised redirectingPartyID digits (only 0-9A-F).
The applicable configured 'calling_party' denormalisation on the LhoScpApp will be applied.
(Default = not present).
.redirection_info Object This field is only relevant when address_digits is specified.
(Default = not present).
.orig_reason 0 - 15 Specify an explicit redirection information original reason.
(Default = 0).
.indicator 0 - 7 Specify an explicit redirection information indicator.
(Default = 0).
.reason 0 - 15 Specify an explicit redirection information reason.
(Default = 0).
.national_use 0 / 1 Specify an explicit redirection information national use value.
(Default = 0).
.counter 0 - 7 Specify an explicit redirection information counter.
(Default = 1).

The termination_final method returns true immediately.

Example (connect to called party with a prefix, no FCI, no SCI, redirection):

local n2svcd = require "n2.n2svcd"
local scp_api = require "n2.n2svcd.scp"

local scp_call = ...

scp_api.termination_final ({
    address_digits = '1703' .. scp_call.normalised_called_party,
    redirecting_digits = '00889001234',
    redirection_info = { reason = 4, counter = 1 }
})

return 

.continue_final

This method sends INAP Continue.

The continue_final method takes the following arguments:

Attribute Type Description
fci String Specify the content of the FCIBillingChargingCharacteristics in the FurnishChargingInformation to send.
(Default = do not send FurnishChargingInformation).
sci String Specify the content of the sCIBillingChargingCharacteristics in the SendChargingInformation to send.
(Default = do not send SendChargingInformation).

The continue_final method returns true immediately.

Example (continue with FCI, no SCI):

local n2svcd = require "n2.n2svcd"
local scp_api = require "n2.n2svcd.scp"

local scp_call = ...

-- Binary in Lua is decimal-specified.
local fci_bin = '\01\02\03\04\255\238\221'

scp_api.continue_final (fci_bin)

return 

.connect_final

This method sends INAP Connect.

The connect_final method takes the following arguments:

Attribute Type Description
address_digits Digit String Specify the normalised destinationRoutingAddress digits (only 0-9A-F).
The applicable configured 'called_party' denormalisation on the LhoScpApp will be applied.
If this field is present, then INAP Connect will be used, else INAP Continue is sent.
fci String Specify the content of the FCIBillingChargingCharacteristics in the FurnishChargingInformation to send.
(Default = do not send FurnishChargingInformation).
sci String Specify the content of the sCIBillingChargingCharacteristics in the SendChargingInformation to send.
(Default = do not send SendChargingInformation).

The connect_final method returns true immediately.

Example (connect to called party with a prefix, no FCI or SCI):

local n2svcd = require "n2.n2svcd"
local scp_api = require "n2.n2svcd.scp"

local scp_call = ...

local called_party = '1703' .. scp_call.normalised_called_party

scp_api.connect_final (called_party)

return