Squire SVI STP SSME User manual

Page 1of 57
SVI STP SSME User Guide
Document SQ-UG-019
Version 3.1
© Squire Technologies
This document is the property of Squire Technologies. Information contained herein is confidential. This document, either in whole or in
part, must not be reproduced or disclosed to others or used for purposes other than that for which it has been supplied, without Squire
Technologies prior written permission, or, if any part hereof is furnished by virtue of a contract with a third party, as expressly
authorised under that contract.

SVI-STP SSME Squire Technologies - Confidential Document
Page 2of 57
Change History
Version
Change Made
Author
Authorised
Date
1.0
Document Created
2014
2.0
Document Updated
2017
2.5
Content Updated
MC
SS
08.11.2019
2.6
Images Updated
MC
SS
08.11.2019
2.7
Corporate formatting applied
SS
SS
12.11.2019
2.8
Removed Squire footer page.
SS
SS
12.11.2019
2.9
Spelling & Grammar checked
SS
SS
12.11.2019
3.0
Change History applied.
SS
SS
12.11.2019
3.0
Updated Document Number
LJ
LJ
08.01.2020
3.1
Updated SSME references
SS
SS
27.04.2020

SVI-STP SSME Squire Technologies - Confidential Document
Page 3of 57
Contents
1Introduction..................................................................................................................... 5
1.1 References ................................................................................................................ 5
2Overview ........................................................................................................................ 6
2.1 Overview .................................................................................................................. 6
2.2 SSME Overview ........................................................................................................... 7
2.3 XML Overview............................................................................................................. 8
2.3.1 Profiles .............................................................................................................. 8
2.3.2 Routing Criteria .................................................................................................... 8
2.3.3 Outbound Routing ................................................................................................. 8
2.3.4 Global Title Translation .......................................................................................... 9
3Profiles......................................................................................................................... 10
3.1 Overview ................................................................................................................ 10
3.1.1 <LinksetProfile> .................................................................................................. 10
3.1.2 <Linkset> .......................................................................................................... 11
3.1.3 <LsEp> ............................................................................................................. 11
4Entry Points ................................................................................................................... 12
4.1 Overview ................................................................................................................ 13
4.2 Matching and Translation............................................................................................. 14
4.2.1 <Match> ........................................................................................................... 15
4.2.2 <MTPMatch> ...................................................................................................... 16
4.2.3 <SCCPMatch> ..................................................................................................... 17
4.2.4 <GTTMatch> ...................................................................................................... 18
4.2.5 Nesting............................................................................................................. 19
4.2.6 Ordering using First Match ..................................................................................... 22
4.3 Instructions ............................................................................................................. 23
4.3.1 <CommandList> .................................................................................................. 23
4.3.2 <Command>....................................................................................................... 24
4.4 Routing Types .......................................................................................................... 25
4.4.1 Screening.......................................................................................................... 25
4.4.2 Map Layer Routing ............................................................................................... 27
4.4.3 Map Layer Translations ......................................................................................... 32
4.4.4 Global Title Routing ............................................................................................. 35
4.4.5 MTP Routing ...................................................................................................... 35
4.5 SCCP Best Match Matrix............................................................................................... 36
5Route selection............................................................................................................... 37
5.1 RouteEp.................................................................................................................. 37
5.2 Routeset ................................................................................................................. 38
5.3 Route..................................................................................................................... 38
5.4 Route Selection ........................................................................................................ 39
5.4.1 Routing from Routing Criteria ................................................................................. 39
5.4.2 Complex Routing Example ..................................................................................... 40
6API Server ..................................................................................................................... 43

SVI-STP SSME Squire Technologies - Confidential Document
Page 4of 57
6.1 Overview ................................................................................................................ 43
7Global Title Translations ................................................................................................... 45
7.1 Overview ................................................................................................................ 45
7.1.1 GTTMatch ......................................................................................................... 46
7.2 Examples ................................................................................................................ 47
7.2.1 Removing Leading Digits........................................................................................ 47
7.2.2 Prefixing Digits ................................................................................................... 48
7.2.3 Replacing Leading Digits........................................................................................ 48
7.2.4 Perform number translation ................................................................................... 48
8Debug .......................................................................................................................... 49
8.1 Description .............................................................................................................. 49
8.2 Debug Levels............................................................................................................ 49
8.3 Debug PCAP Configuration ........................................................................................... 49
8.4 XML Configuration ..................................................................................................... 49
9Internal Testing .............................................................................................................. 50
9.1 Description .............................................................................................................. 50
9.2 Test....................................................................................................................... 50
9.3 Expected Output ....................................................................................................... 50
10 Python SDK .................................................................................................................... 53
10.1 Overview ................................................................................................................ 53
11 Schema Validation and Configuration .................................................................................... 54
11.1 Configuration ........................................................................................................... 54
11.2 Load XML File ........................................................................................................... 55
11.3 Configure Linkset ...................................................................................................... 57

SVI-STP SSME Squire Technologies - Confidential Document
Page 5of 57
1Introduction
The SSME is designed to allow a flexible configuration for the routing, translation and message
manipulation for the STP:
It uses an XML format for the configuration with a published schema allowing validation of the
XML before configuration
Configuration is performed based on the incoming linkset
oMultiple linksets can use the same configuration
Screening of inbound messages can be perform based on the following attribute
oMTP –DPC, OPC, NI
oSCCP –Called and Calling Address
oMAP operation code and Map Layer Parameter Contents
SCCP and Map Layer Routing and Manipulation based on the following attributes:
oMTP –OPC, DPC, NI modification of MTP attributes are allowed to performed on the
transmitted message
oSCCP –Called and Calling Address (modification pre and post can be performed)
oMAP operation code and Map Layer Parameter Contents
MTP Routing and manipulation based on the following attributes
oMTP –OPC, DPC NI, modification allowed on MTP attributes
oRouting can be to another linkset, AS or an API server
GT Title Translations
oSCCP Called and Calling Address can be modified using the same configuration
oIt is also possible to use different configurations for the Called and Calling Address
Offers a self-test validation of the XML
oUser can produce tests that can be performed by the SSME engine to test the integrity
of the XML configuration in parallel to a running configuration
Important Note - xml routing file is case sensitive, and all parameters in it must have correct
casing as demonstrated in this guide.
1.1 References
XSD Schema Hyper-link
HTML Hyperlink-link
SVI-MS User Guide
SVI-SG and SVI-STP User Guide

SVI-STP SSME Squire Technologies - Confidential Document
Page 6of 57
2Overview
2.1 Overview
The STP SSME on receipt of an incoming message attempts to be the following actions in order:
Determine whether there is a STP SSME configuration set against the incoming linkset.
If so perform the following actions
oSend the incoming messages to the SSME routing engine. The SSME routing engine will
return on of the following:
Reject –Return Error to the calling party for SCCP only if the return on error
flag is set
Ignore –Discard the message
Route –Sets the route for the outgoing message and then will return to the
SSME routing engine for any GT Transactions
NoRoute, Match, NoMatch –on all these returns the STP SSME will attempt to
use the internal routing engine set via the MTP resources, it will request from
the STP SSME any GT Translations required for the outgoing message
The flow chart below describes the actions

SVI-STP SSME Squire Technologies - Confidential Document
Page 7of 57
2.2 SSME Overview
The SSME engine will process the received MTPL3 (or M3UA/SUA) comparing it against the
configuration supplied in the XML configuration, the SSME can then contain the following result:
•Reject - Match found, configuration states reject message
•Ignore - Match found, configuration states ignore message
•Route - Match found, configuration states route and route is available
•NoRoute - Match found, configuration states route and route is unavailable
MTP
Message
Recv
Ssme Cfg for
Linkset?
Process
Std MTP
Routing
SSME
Routing
Engine
Ssme Rtn
Ignore
Ssme Rtn
Reject
Discard
Message
Send UDTS if
applicable
Ssme Rtn
Route
GT
Translatio
n
Forward
Msg
Process
Std MTP
Routing
Route Found?
GT
Translatio
n
Forward
Msg
Discard
Message
No
Yes
No
No
No
No
Yes
Yes
Yes
Yes

SVI-STP SSME Squire Technologies - Confidential Document
Page 8of 57
•Match - Match found, no instruction given by the SSME
•NoMatch -No match found in the XML
•Error -Internal engine error
2.3 XML Overview
The XML elements within the schema can be split into sections:
Profiles
-Used to choose which criteria should be
used for matching purposes
Routing Criteria
-How to select an outbound route or
screen
Outbound Routing
-How to send the outbound message
linkset / destination
Global Title
Translation
-Global Title Translations
For more details on the XML contents refer to the Squire Technologies STP SSME Syntax Reference
2.3.1 Profiles
The XML elements used to select the list of entry points based on the linkset
LinksetProfile
-Contains a list of entry points to be used to route
the message
Linkset
-Specifies a list of entry points to be used to route
the message or a linkset profile to be used
LsEp
-Entry point list for a linkset
2.3.2 Routing Criteria
The XML elements used for selecting an outbound route are as follows:
EntryPoint
-Defines a list of matches to be performed
Match
-Criteria to a match a message generally
MTPMatch
-Criteria to for a match based on MTP attributes
SCCPMatch
-Criteria to for a match based on SCCP / TCAP
attributes
CommandList
-Defines a list of commands that must be performed
in order
Command
-Defines a command to be performed
2.3.3 Outbound Routing
The XML elements used for outbound routing (selecting how to route the message to the destination)
are as follows:
RouteEp
-Defines a route selection process
Route
-Specifies where to send the message to, this can
either be another linkset or an API server

SVI-STP SSME Squire Technologies - Confidential Document
Page 9of 57
Routeset
-Specifies a selection of routes that can be used
2.3.4 Global Title Translation
The XML elements used for selecting an outbound route are as follows:
EntryPoint
-Defines a list of matches to be performed
GTTMatch
-Criteria to a match a message generally
CommandList
-Defines a list of commands that must be performed
in order
Command
-Defines a command to be performed

SVI-STP SSME Squire Technologies - Confidential Document
Page 10 of 57
3Profiles
3.1 Overview
When a message is received by the SVI-STP the SSME engine from the linkset will determine the
routing criteria profile which is then used to determine what the SSME will do with the message
From the linkset the SSME will check the XML configuration and find a match against the <Linkset>
element. The name of the linkset that the message was received (from the SVI-STP resource
configuration) will be compared against the linkset name.
If found then either the <Linkset> or the <LinksetProfile> element reference will supply the SSME the
routing criteria for the message
Example:
The routing criteria will be the <LsEp> followed by the mtpRouting attribute if configured.
The default behaviour of checking for a match is that the <LsEp> elements will be checked in turn for
a route, if route is not found then move to the next <LsEp> element in the list, if no more <LsEp>
elements are present then use the <Ep> listed by the mtpRouting attribute.
Depending on the return of processing the following will be performed:
If ignore is returned then it will always discard the message
If reject is returned the it will send a UDTS (if the protocol is SCCP and the return on Error
Flag is set) to the Calling Address, otherwise the message discard
If a route is returned then the default behaviour is to forward the message on that route, this
can be overridden with the onRouteJump or onRouteMatch attributes
On any other return the default behaviour is to move to the <LsEp> in the list.
If no more <LsEp> elements exist in the list, then the Entry Point pointed to by the MtpRouting
attribute is processed and if that returns Route the message is transmitted using the return route.
If no route is returned by MtpRouting or it is not present the SVI-STP will attempt to forward the
message using the Internal MTP Routing configured the SVI-STP resources.
3.1.1 <LinksetProfile>
This element is used to allow multiple linksets to use a common profile, for example all linksets being
received at the same point code might need to use the same routing algorithm.

SVI-STP SSME Squire Technologies - Confidential Document
Page 11 of 57
Multiple profiles may be stored with in the same configuration file.
3.1.2 <Linkset>
This element is used to either for incoming linksets, SUA AS or an API Server:
-Define a linkset profile using the profile attribute
-Or set-up a specific routing algorithm the same as the linkset profile
There should be a linkset element for each linkset or SUA AS in the SVI-STP configuration. The linkset
attribute of the linkset element should be the same as the SVI-STP linkset resource. For SUA, use the
asname attribute of the linkset element to match the relevant SUA AS resource in the STP
configuration.
The linkset attribute can use wildcards, thus allowing the linkset element to be used for one or more
SVI-STP linksets; however it is recommended to configure a linkset element for each linkset
configured in the SVI-STP.
3.1.3 <LsEp>
This element allows the SSME to jump to an entry point, it can also perform actions on the return
value, these actions include:
Change the return value
Jump to another LsEp element within the list
The Jump and Return attributes will override the normal processing for the Linkset or Linkset Profile
Elements.
The Jump and Return attributes for the same result cannot be present in the same element for
example onMatchJump and onMatchReturn cannot both be present. It is allowed to have
onMatchJump and onNoMatchReturn for example
The default behaviour is described in the linkset profile overview section. But in summary the
following occurs:
Entry Point returns Route - Returns route
Entry Point returns NoRoute - Return NoRoute
Entry Point returns Ignore - Always return Ignore (cannot be overloaded)
Entry Point returns Reject - Always return Reject (cannot be overloaded)
Entry Point returns any other value - Move to the next LsEp entry in the list

SVI-STP SSME Squire Technologies - Confidential Document
Page 12 of 57
4Entry Points
The <Ep> (EntryPoint) element is used the hub of the SSME, they are used as decision making engine
and can also manipulate the incoming message updating elements of the incoming message.
<Ep> Elements are referenced from the following locations:
<LinksetProfile> / <Linkset> <LsEp> Elements used as routing criteria or screening
<LinsketProfile> / <Linkset> mtpRouting Attribute used for default MTP Routing
<LinksetProfile> / <Linkset> gtTranslation Attribute used for GT Translations
<Ep> elements can jump to another <Ep>
Example
It will return a result containing the following information:
Match
-A match has been found from the inbound data, but no
attempt has been made to route the message
NoMatch
-No match has been found from the inbound data
Ignore
-A match has been found from the inbound data, but has
been instructed to return Ignore
Reject
-A match has been found from the inbound data, but has
been instructed to return Reject
Route
-A match has been found from the inbound data, a route has
been defined against the match and the route is available.
A named destination (or dpc) and / or a linkset has been
returned
NoRoute
-A match has been found from the inbound data, a

SVI-STP SSME Squire Technologies - Confidential Document
Page 13 of 57
destination has been found but there are no routes
available to that destination
Example - Routing:
Example - GT Translation
4.1 Overview
An entry point on receipt of an incoming message will perform the following actions:
Find the best match for the incoming message (this is the number of matches and length of
match for called and calling digits that can be made, regular expressions are just a match or
no-match the length of the match is not used), unless the first match attribute is set on the
parent element in which case the first match is chosen
Determine the action for the message is it:
oRoute –then return the routing information and update the required message fields for
the outgoing message
oIgnore –return Ignore to the STP, who will discard the message
oReject –return Reject to the STP, who might return an UDTS to the Calling Party
oJump –Jump to the another entry point to determine the routing

SVI-STP SSME Squire Technologies - Confidential Document
Page 14 of 57
4.2 Matching and Translation
A match is made with a Match element if all its attributes match the incoming address, if an attribute
is not present then it is not required as part of the match
Translations occur after the best match element has been selected; it will inherit all the nesting
aspects that have part of the matching element. If a clash occurs on the setting of a translation the
innermost match is selected. If an attribute is not present then it is unchanged

SVI-STP SSME Squire Technologies - Confidential Document
Page 15 of 57
4.2.1 <Match>
This element is used to perform matches and translations throughout an <Ep>.
The <Match> Element references all its attributes by the following
Attribute Type
Incoming
Outgoing
MTP
ic.mtp.<attr>
og.mtp.<attr>
SCCP
ic.sccp.<attr>
og.sccp.<attr>
TCAP
tcap.operationCode
MAP
map.routing_expr
Examples
Incoming MTP DPC ic.mtp.dpc
Incoming SCCP Called Party Digits ic.sccp.cdpn.digits
Outbound MTP OPC og.mtp.opc
Outbound SCCP Calling Party Nature of Address og.sccp.cgpa.noa
4.2.1.1 Matching
Example –match incoming DPC 9987
<Match ic.mtp.dpc="9987"/>
Example –match incoming DPC 9987 and OPC 1234 or 1235
<Match ic.mtp.dpc="9987">
<Match ic.mtp.dpc="1234">
<Match ic.mtp.opc="1235">
</Match>
4.2.1.2 Translations
Example –match incoming DPC 9987 translate to DPC 1234
<Match ic.mtp.dpc="9987" og.mtp.dpc="1234"/>
Example –match incoming DPC 9987 translate to DPC 1234, and match OPC 1234 or OPC 1235 –
Translate OPC to 999 for both cases
<Match ic.mtp.dpc="9987" og.mtp.dpc="1234" og.mtp.opc="999"/>
<Match ic.mtp.dpc="1234" />
<Match ic.mtp.opc="1235" />

SVI-STP SSME Squire Technologies - Confidential Document
Page 16 of 57
</Match>
In this case the OPC and DPC are not changed if DPC matches but the OPC fails to match
Example –match incoming DPC 9987 translate to DPC 1234, and if OPC matches “1234” change
to “2345” or if OPC matches “1235” change to “3456” otherwise leave the OPC is translated to
“999”
<Match ic.mtp.dpc="9987" og.mtp.dpc="1234" og.mtp.opc="999"/>
<Match ic.mtp.dpc="1234" og.mtp.opc="2345" />
<Match ic.mtp.opc="1235" og.mtp.opc="3456" />
</Match>
4.2.2 <MTPMatch>
The <MTPMatch> Element references all its attributes by the following
Attribute Type
Incoming
Outgoing
MTP
ic.mtp.<attr>
<attr>
og.mtp.<attr>
SCCP
ic.sccp.<attr>
og.sccp.<attr>
TCAP
tcap.operationCode
MAP
map.routing_expr
Examples
Incoming MTP DPC dpc
Incoming SCCP Called Party Digits ic.sccp.cdpn.digits
Outbound MTP OPC og.mtp.opc
Outbound SCCP Calling Party Nature of Address og.sccp.cgpa.noa
4.2.2.1 Matching
Example –match incoming DPC 9987
<MTPMatch dpc="9987"/>
4.2.2.2 Translations
Example –match incoming DPC 9987 translate to DPC 1234
<Match dpc="9987" og.mtp.dpc="1234"/>

SVI-STP SSME Squire Technologies - Confidential Document
Page 17 of 57
4.2.3 <SCCPMatch>
The <SCCPMatch> Element references all its attributes by the following
Attribute Type
Incoming
Outgoing
MTP
ic.mtp.<attr>
og.mtp.<attr>
SCCP
ic.sccp.<attr>
<attr>
og.sccp.<attr>
TCAP
tcap.operationCode
MAP
map.routing_expr
map.cnts
map.Translate
Examples
Incoming MTP DPC ic.mtp.dpc
Incoming SCCP Called Party Digits cdpn.digits
Outbound MTP OPC og.mtp.opc
Outbound SCCP Calling Party Nature of Address og.sccp.cgpa.noa
4.2.3.1 Matching
Example –match incoming SCCP Called Address Prefix 12345
<SCCPMatch cdpn.digits="12345"/>
Equivalent <Match> element
<Match ic.sccp.cdpn.digits="12345"/>
Example –match incoming SCCP Called Address Prefix 12345 and Translation Type 2
<SCCPMatch cdpn.digits="12345" tt="2" />
Example –match incoming SCCP Called Address Prefix 12345 and Translation Type 2 and DPC=123
<SCCPMatch ic.mtp.dpc ="123" cdpn.digits="12345" tt="2" />
Example –match incoming SCCP Called Address Prefix 12345 or 456 and Translation Type 2
<SCCPMatch tt="2">
<SCCPMatch cdpn.digits="12345" />
<SCCPMatch cdpn.digits="456" />

SVI-STP SSME Squire Technologies - Confidential Document
Page 18 of 57
</SCCPMatch>
Example –match incoming SCCP Called Address Prefix 12345 or 456 for Map Operation Update
Location
<SCCPMatch tcap.opCode="Update Location">
<SCCPMatch cdpn.digits="12345" />
<SCCPMatch cdpn.digits="456" />
</SCCPMatch>
4.2.3.2 Translations
Example –match incoming SCCP Called Address Prefix 12345 or 456 and Translation Type, update
Translation Type
<SCCPMatch tt="2" og.sccp.cdpn.tt="3” >
<SCCPMatch cdpn.digits="12345" />
<SCCPMatch cdpn.digits="456" />
</SCCPMatch>
4.2.4 <GTTMatch>
The <GTTMatch> Element references all its attributes by the following; it is only used on SCCP
Addresses
Attribute Type
Incoming
Outgoing
SCCP Address
<attr>
og.<attr>
Examples
Incoming SCCP Address Digits digits
Outbound SCCP Address Translation Type og.tt
4.2.4.1 Matching
Example –match incoming SCCP Address Prefix 12345 or 456
<GTTMatch digits="12345" />
<GTTMatch digits="456" />
Example –match incoming SCCP Address Prefix 12345 Translation Type=10

SVI-STP SSME Squire Technologies - Confidential Document
Page 19 of 57
<GTTMatch digits="12345" tt="10"/>
4.2.4.2 Translations
The Translation of digits is performed in slightly different manner that the translation of other
attributes, instead of replacing the whole digit string; it is required to state the new prefix and the
number of digits that the configuration is to strip from the front of the incoming digit string
Example Add Prefix 123 to all digits 456
<GTTMatch digits="456" og.prefixDigits="123"/>
Example Replace Prefix 456 with 123
<GTTMatch digits="456" og.prefixDigits="123" og.strip="3"/>
Example Remove Prefix 456
<GTTMatch digits="456" og.strip="3"/>
4.2.5 Nesting
Nesting of match elements is powerful tool that allows nested match to inherit the conditions of its
parent as part of the current match
For example the user wishes to match an MTP DPC=123 and an OPC=234, 256, or 278 the Match could
be written as
Could be rewritten as
Element Node-1 would only be traversed if the incoming DPC was 123, any other value for the DPC
would omit these matches

SVI-STP SSME Squire Technologies - Confidential Document
Page 20 of 57
As matches become more complicated and there are attempts to match and translate multiple
attributes. Consider match all the elements of an SCCP Called on a single match element and
different actions occur if the translation type is different
Being rewritten using shows precisely what the differences are:
Also nesting adds a very powerful performance improvement in the above example without nesting it
to find the best match out of the 4 supplied might take up to 26 individual checks, one each
attribute. Whereas with the example with nesting this would only require 9 checks.
Nesting can also be used to split down large groups numbers in the same field, so for example the
called number digits can be split into smaller prefixes so a user could check cdpn.digits=”0” followed
by a nested element cdpn.digits=”01” and so forth.
Consider the following:
-Routing based only on SCCP Cdpn Global Title Digits
-There are 1000 possible matches from number starting 000-999
Without nesting the XML would be:
<Ep name="at-tvltable">
<SCCPMatch cdpn.digits="000"/>
<SCCPMatch cdpn.digits="001"/>
<SCCPMatch cdpn.digits="002"/>
<SCCPMatch cdpn.digits="003"/>
<SCCPMatch cdpn.digits="004"/>
<SCCPMatch cdpn.digits="005"/>
<SCCPMatch cdpn.digits="006"/>
: : : : : :
: : : : : :
: : : : : :
<SCCPMatch cdpn.digits="997"/>
<SCCPMatch cdpn.digits="998"/>
<SCCPMatch cdpn.digits="999"/>
</Ep>
Table of contents