← Back to plugin index

Swisscom REST SMS Gateway

Description
SMS gateway implementation used to send SMS over the Swisscom SMS Large Account REST gateway.

Please note: Only characters of the ISO 8859-1 charset can be used. Additionally, the charset that can be used depends on the settings of the Swisscom SMS Large Account.

Type name
SwisscomRestSmsGateway
Class
com.airlock.iam.core.misc.impl.sms.SwisscomRestSmsGateway
May be used by
Properties
Service URI (serviceUri)
Description
The service URI of the Swisscom REST SMS gateway using the HTTPS protocol.
Attributes
String
Mandatory
Example
https://messagingproxy.swisscom.ch:4300/rest/1.0.0/
Account ID (accountId)
Description
The account id as provided by Swisscom (e.g. Short ID).
Attributes
String
Mandatory
System ID (systemId)
Description
The system id as provided by Swisscom (e.g. Short ID).
Attributes
String
Mandatory
Password (password)
Description
The password as provided by Swisscom.
Attributes
String
Mandatory
Sensitive
Source TON (sourceTon)
Description
The TON (type of number) value to use for the source address.

Swisscom recommends the following setups:

  • Source TON = 1 (International)
  • Source NPI = 1 (ISDN)
  • Swisscom Large Account source address in international format without '+' or '00' in front (e.g. 41791112233)

  • Source TON = 5 (Alphanumeric number)
  • Source NPI = 0 (Unknown)
  • Swisscom Large Account source address as any text (e.g. Provider XY)
  • Please be aware that most operators abroad of Switzerland are blocking messages with alphanumeric sender addresses

Attributes
Enum
Optional
Default value
ALPHANUMERIC
Source NPI (sourceNpi)
Description
The NPI (numbering plan identification) value for the source address to assign it to a subscriber telephone number in a telecommunications network.

Swisscom recommends the following setups:

  • Source TON = 1 (International)
  • Source NPI = 1 (ISDN)
  • Swisscom Large Account source address in international format without '+' or '00' in front (e.g. 41791112233)

  • Source TON = 5 (Alphanumeric number)
  • Source NPI = 0 (Unknown)
  • Swisscom Large Account source address as any text (e.g. Provider XY)
  • Please be aware that most operators abroad of Switzerland are blocking messages with alphanumeric sender addresses

Attributes
Enum
Optional
Default value
UNKNOWN
Proxy Host (proxyHost)
Description
The hostname of the HTTP proxy server (if any).
Attributes
String
Optional
Example
proxy.company.com
Proxy Port (proxyPort)
Description
The port of the HTTP proxy server (if any).
Attributes
Integer
Optional
Proxy Login User (proxyLoginUser)
Description
Username for the http proxy if proxy authentication is used.
Attributes
String
Optional
Proxy Login Password (proxyLoginPassword)
Description
Password for the http proxy if proxy authentication is used.
Attributes
String
Optional
Sensitive
Allow Only Trusted Certs (allowOnlyTrustedCerts)
Description

Only allow connections to servers whose certificate is trusted. See documentation of property "Trust Store Path" for more information about what certificates are trusted.

Security warning: Trusting all certificates allows connections to adversarial hosts. Only disable this property for testing and integration setups.

Attributes
Boolean
Optional
Default value
true
Verify Server Hostname (verifyServerHostname)
Description

Enables hostname verification, i.e. the actual hostname must be the same as in the server certificate.

Security warning: Not verifying the hostname may allow connections to adversarial hosts, e.g. if they employ DNS spoofing. Only disable this property for testing and integration setups.

Attributes
Boolean
Optional
Default value
true
Trust Store Path (trustStorePath)
Description
Keystore file name containing trusted certificate issuers (and trusted certificates).

If this property is not defined the following certificate issuers are trusted:

  • The list of issuers known to the Java VM if the system property "javax.net.ssl.trustStore" is not defined.
  • The list of issuers in a keystore referenced by system property "javax.net.ssl.trustStore" if defined in instance.properties using iam.java.opts

If this property is defined then the following certificate issuers are trusted:

  • The list of issuers in the referenced truststore file and no others.

This property is only relevant if the property "Allow Only Trusted Certs" is enabled.

Attributes
File/Path
Optional
Trust Store Type (trustStoreType)
Description
Identifies the type of the keystore.
Attributes
String
Optional
Default value
JKS
Allowed values
JKS, PKCS12
Trust Store Password (trustStorePassword)
Description
The password used verify the authenticity of the trust store.

Depending on the keystore type, leaving this property empty (or undefined) has a different effect:

  • JKS: the keystore can be opened and used but the integrity of the keystore is not checked.
  • PKCS12: an error occurs.

Attributes
String
Optional
Sensitive
Connect/Read Timeout [s] (connectTimeout)
Description
The connection and read timeout in seconds.
Attributes
Integer
Optional
Default value
10
Correlation ID Header Name (correlationIdHeaderName)
Description

When configured, all requests sent contain a header with the correlation ID with the configured name. If no value or an empty value is specified, the correlation ID header is not sent.

If the correlation ID is not defined, the correlation ID header is not included in sent requests.

Attributes
String
Optional
Validation RegEx: [a-zA-Z0-9_-]+
Suggested values
X-Correlation-ID
Visible Phone Number Digits In Log (visiblePhoneNumberDigitsInLog)
Description

Defines the number of phone number digits visible in log statements.

Thus, if the value is zero, all digits are masked, if it is large enough, all digits are visible. If set to 3, for example, the logged number looks like ********965.

The default is 100, i.e. showing all digits.

Attributes
Integer
Optional
Default value
100
YAML Template (with default values)

type: SwisscomRestSmsGateway
id: SwisscomRestSmsGateway-xxxxxx
displayName: 
comment: 
properties:
  accountId:
  allowOnlyTrustedCerts: true
  connectTimeout: 10
  correlationIdHeaderName:
  password:
  proxyHost:
  proxyLoginPassword:
  proxyLoginUser:
  proxyPort:
  serviceUri:
  sourceNpi: UNKNOWN
  sourceTon: ALPHANUMERIC
  systemId:
  trustStorePassword:
  trustStorePath:
  trustStoreType: JKS
  verifyServerHostname: true
  visiblePhoneNumberDigitsInLog: 100