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.
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.
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.
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">
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">