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