YateSMSC/SMPP

From YateBTS
Jump to: navigation, search
This page contains examples, configuration and guidance used by Yate staff to set up YateSMSC as a SMPP server or as a SMPP client.

SMPP server

  • To act as a server you must add a listener under the [smpp-server] section.

Without SSL

  • In /etc/yate/smsc/ysmpp.conf
; server configuration
[smpp-server]
enable=yes
default-service-type=sms
(...)

[listenerserver desired-name]
enable=yes
addr=10.0.0.1
port=2775

With SSL

Frist of all, please install yate-openssl package
urpmi yate-openssl
  • To act as a SSL server you must create and install a certificate
  • The sslcontext parameter tells SMPP which certificate to use from those defined in openssl.conf
  • To generate a self-signed passwordless certificate:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
openssl rsa -in key.pem -out key-bare.pem
cat cert.pem key-bare.pem > /etc/yate/smsc/certificate.pem
chmod 600 /etc/yate/smsc/certificate.pem
  • When asked about Common Name enter yourcompany-smsc01 (or the hostname you wish)
  • In /etc/yate/smsc/openssl.conf
[general]                                                                                           

[self_signed]                                                                                             
domains=yourcompany-smsc01  (or whatever you entered as Common Name in certificate)
certificate=certificate.pem
  • In /etc/yate/smsc/ysmpp.conf
[listenerserver second-desired-name]
addr=10.0.0.1
port=2776
...
sslcontext=self_signed
  • Connecting clients authentication using /etc/yate/smsc/regfile.conf
[client1_system_id]
password=client1_password

[client2_system_id]
password=client2_password

SMPP client

To act as a server you must add a client section under the [smpp-client] section.

Without SSL

  • In /etc/yate/smsc/ysmpp.conf
; client configuration that can be used with backup_smpp_gw set to system_id from yatesmsc.conf 
[smpp-client]
clients=section-name,other-section,...
(...)

;starting section, whose name is 'section-name'
[section-name]
enabled=true
server=10.1.1.1
port=2775
system_id=yatesmsc
system_password=myPWD1234!

With SSL

  • In /etc/yate/smsc/ysmpp.conf
;starting section, whose name is 'with_ssl'
[with_ssl]
enabled=true
server=10.2.2.2
port=2776
system_id=yatesmsc-tls
system_password=myPWD5678!
sslmode=true
; system_id: string: Default system id used for authentication.
; Length 1-16.
;system_id=yate

; system_password: string: Default password used for authentication.
; Length 1-9.
;system_password=yate;


Coding Schemes

We support the following SMPP Data Coding Schemes:

  • 0 (default) - can be configured:
    • on input for GSM7 packed with optional User Data Header or ASCII / UTF-8
    • on output same as above or Latin-1
  • 1 - ASCII / UTF-8 (on input only)
  • 3 - Latin-1 (on input only)
  • 8 - UTF-16 (UCS-2)
  • 16-255 - same as GSM DCS