You can use interceptors to inspect and manipulate the signaling between a service and the SIS, or between the SIS and the network.
This lets you:
-
blend services developed in isolation — by intercepting and changing the signaling, to ensure each can be executed correctly
-
augment the behaviour of services (in ways not imagined when the services were developed)
-
alter messages received from the network before the SIS starts processing them
-
alter messages sent by the SIS, for example to add message fields not set by the SIS.
What is an interceptor?
An interceptor is a set of script elements that may modify the parameters of the messages it intercepts (or may perform some other action). Interceptor scripts are typically embedded directly within a composition. However an interceptor can also be installed as a SIS component in its own right, allowing it to be invoked by SLEE applications or other interceptors. |
Sample interceptor
This example below shows a simple interceptor that modifies the service key of an IN InitialDP operation. Its main elements are: interceptor-name/vendor/version
, which define this interceptor’s component identity; and script, which specifies the operations to perform when the interceptor is invoked.
VIA Diagram | Script |
---|---|
|
Interceptors may contain conditional branches, and may also invoke interceptor extension components to perform functions that may not be possible using the scripting language. |
Interceptor syntax schema
The base XML schema sis-interceptor-1.2.xsd defines the basic structure of an interceptor. SIS variants extend this base schema with protocol-specific properties.
IN interceptors
Interceptors for IN protocols may use the XML schema in-sis-interceptor-1.2.xsd to extend the generic schema for SIS interceptors. IN interceptors use the following corresponding schema namespaces:
<interceptor xmlns="http://www.opencloud.com/SIS/Interceptor"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:in="http://www.opencloud.com/SIS/Interceptor/IN"
xsi:schemaLocation="http://www.opencloud.com/SIS/Interceptor/IN in-sis-interceptor-1.2.xsd
http://www.opencloud.com/SIS/Interceptor sis-interceptor-1.2.xsd">
SIP interceptors
Interceptors for SIP may use the XML schema sip-sis-interceptor-1.2.xsd to extend the generic schema for SIS interceptors. SIP interceptors use the following corresponding schema namespaces:
<composition xmlns="http://www.opencloud.com/SIS/Interceptor"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sip="http://www.opencloud.com/SIS/Interceptor/SIP"
xsi:schemaLocation="http://www.opencloud.com/SIS/Interceptor/SIP sip-sis-interceptor-1.2.xsd
http://www.opencloud.com/SIS/Interceptor sis-interceptor-1.2.xsd">