SMS Filtering Rule API
The SMS Filtering Rule API is designed to manage real-time allowlist and blocklist filtering on the SS7 Proxy Platform for SMS traffic.
The API supports multiple traffic domains selected by the trafficTypeCname query parameter:
- SMSMOINBOUND
- SMSMTINBOUND
- SMSMTOUTBOUND
The filtering mechanism consists of two parts:
- Global filtering
- Advanced filtering
Global filtering allows rules to be created for the following GSM MAP and TPDU parameters:
- SMRPDA: Home service centre address GT
- SMRPOA: Sender MSISDN address
- TPDUDA: Destination MSISDN address
- IMSI: optional subscriber identity
Advanced filtering allows multiple independent rule groups to be created and managed simultaneously. Each group is unique and independent from all other groups, which provides more flexible filtering of SMS traffic.
Advanced filtering supports combined rule types:
- SMRPOA_AND_TPDUDA: Sender MSISDN address and destination MSISDN address
- SMRPDA_AND_TPDUDA: Home service centre address GT and destination MSISDN address
- SMRPOA_AND_TPDUDA_AND_SCCPClgGT: Sender MSISDN address, destination MSISDN address, and SCCP Calling Global Title
- SMRPOA_AND_TPDUDA_AND_SCCPClgGT_AND_IMSI: Sender MSISDN address, destination MSISDN address, SCCP Calling Global Title, and IMSI
Filtering priority:
- Basic blocklist / global filtering
- Advanced blocklist / advanced filtering
- Basic allowlist / global filtering
- Advanced allowlist / advanced filtering
If a message matches at least one blocklist rule, the message is blocked and is not processed further.
If a message does not match any blocklist rule, it is checked against the allowlist. If the allowlist is empty, the message is allowed to continue. If the allowlist is not empty, the message must match at least one rule value for each configured allowlist rule type in order to continue.
Example:
If there are 5 allowlist rules for MSISDN and 7 allowlist rules for TPDUDA, the message must match at least one MSISDN rule and at least one TPDUDA rule.
Rule values support wildcard matching:
?means exactly one mandatory character*means zero or more optional characters.
Examples:
12?4?67matches1234567and1294067, but does not match12345678.123*matches123,1234, and12345, but does not match0123.
Wildcards can be used at the beginning, at the end, or in the middle of a value. If no wildcard is used, exact matching is applied. Spaces are ignored during matching.
Multiple values can also be grouped using square brackets.
Example:
The following rule values:
123,456234,456345,456123,123
can be shortened to:
[123,234,345],456; 123,123
This API belongs to the SS7 domain.
The API base URL is:
http://api{separator}{platform_domain}/ss7/filter-rule-api/v1https://api{separator}{platform_domain}/ss7/filter-rule-api/v1
Note: Replace {platform_domain} with your platform domain. {separator} can be either . or -, depending on your platform configuration.
1. Authorization
This API uses the OAuth 2.0 Authorization Code flow. Your application redirects the user to the authorization endpoint, the user logs in and grants consent, and your application exchanges the returned authorization code for an access token. The access token is then sent with every subsequent API call.
- Authorization URL:
https://accounts{separator}{platform_domain}/oauth2/authorize - Token URL:
https://accounts{separator}{platform_domain}/oauth2/access-token
Use the resulting access token in the Authorization header of every API call:
Authorization: Bearer ACCESS_TOKEN
For the full step-by-step flow, see the OAuth2 Authentication Guidelines page.