www.nordicmessaging.se

EMG 5.3.2 - User's Guide

Table of ContentsPreviousNextIndex

Table of Contents

1. Acknowledgements

1.1 OpenSSL

1.2 LibXML

1.3 PCRE

1.4 PCRS

1.5 Tokyo Cabinet

2. What's new in EMG 5.3

2.1 Linux 64-bit

2.2 64-bit message ids

2.3 Charges

2.4 Logging rewrite

3. Overview

3.1 Licensing

3.2 Messages

3.3 Binary messages and User-Data Header (UDH)

3.4 Long messages

3.5 MMS

3.6 Connectors

3.7 Routing

3.8 Message life cycle

3.9 Routing log

3.10 Orphans

3.11 Protocol conversion

3.11.1 CIMD2 (Nokia)

3.11.2 SMPP (SMS Forum)

3.11.3 UCP/EMI (CMG)

3.11.4 OIS (Sema)

3.12 Performance

3.13 Plugins and custom connectors

3.14 Support

4. Installing or upgrading EMG

4.1 Before installing EMG

4.2 Download software

4.3 Get license key

4.4 Install software

4.4.1 Full distribution

4.4.2 Binaries-only

4.5 Configure software

4.6 Starting, stopping and refreshing the server

4.7 On-disk message store

5. Configuration

5.1 General

5.2 Refreshing the server

5.3 Testing a configuration

5.4 The license file

5.4.1 License expiration dates

6. Connectors

6.1 Connector types

6.2 Connector modes

6.3 Static vs non-static

6.4 Connector states

6.5 Instances

6.6 Message types

6.7 Mappings

6.8 Address rewriting

6.8.1 Masquerading

6.8.2 Source Address Translation (SAT)

6.9 Inheritance and virtual connectors

6.10 Limiting connector queue sizes

6.11 Sample configurations

6.11.1 Incoming MGP supporting up to 3 connections

6.11.2 Incoming SMPP supporting up to 10 connections

6.11.3 Incoming CIMD2 supporting 1 connection

6.11.4 Outgoing SMPP

6.11.5 Outgoing UCP using authentication via operation 60

6.11.6 Outgoing UCP via modem

6.11.7 Outgoing HTTP

6.11.8 Outgoing EBE

6.11.9 Outgoing GSM

6.11.10 Outgoing OIS

7. Routing

7.1 Specifying a routing criteria for a message

7.2 Specifying a routing criteria for a connector

7.2.1 The REDIRECT keyword

7.3 Routing table

7.3.1 Regular expressions

7.3.2 Advanced routing on message options

7.4 Failover

7.5 Load balancing

7.6 User-based routing

7.7 Keyword-based routing

7.7.1 Sample scenario

7.7.2 Setting up the connectors

7.7.3 Setting up the routing table

7.7.4 Keyword sessions

7.8 Concatenated Message Routing (CMR)

8. Sending messages

8.1 Using HTTP connector

8.2 Using SMTP connector

8.2.1 Sample outgoing SMTP session

8.3 Using EBE connector

8.4 Using emgsend

8.5 Using emgclient

8.6 Sending MMS

9. Receiving messages

9.1 Using HTTP connector

9.2 Using SMTP connector

9.2.1 Sample incoming SMTP session

9.2.2 Preventing SMTP relaying

9.3 Receiving WAP push via PAP

10. Delivery receipts (DLR)

10.1 Overview

10.2 Requesting a DLR

10.2.1 Using emgsend

10.2.2 Using connector keyword

10.3 Routing DLRs

10.4 DLRs and buffered status

11. Logging

11.1 Location of log files

11.2 Format of log files

11.2.1 Connector log file

11.2.2 Sample incoming connector log file

11.2.3 Sample outgoing connector log file

11.2.4 PDU log files

11.3 Log file rotation

11.3.1 Log file rotation based on time

11.3.2 Log file rotation based on size

11.4 Logging to a database

12. Security

12.1 Access control

12.2 Authentication

12.3 Blacklists and whitelists

12.4 Using SSL

12.4.1 Outgoing SSL without a certificate

12.4.2 Incoming SSL

13. Database support

13.1 Getting started with a DB

13.1.1 Installing the database server

13.1.2 Initializing the database

13.1.3 Creating a database profile

13.1.4 Referencing a database profile

13.2 Using the database

13.2.1 Putting the message route log in a database

13.2.2 Putting the connector log in a database

13.2.3 User authentication from database

13.3 Schema version handling

14. Performance

14.1 Hardware and operating system

14.1.1 CPU

14.1.2 RAM

14.1.3 Disk

14.1.4 Operating system

14.2 Protocols

14.3 Instances

14.4 Other issues

14.4.1 Modifying message content

14.4.2 Server logging and debug mode

14.5 About benchmarks

15. Proxy mode

15.1 Overview

15.2 Scenarios

15.2.1 Normal mode

15.3 Proxy mode

15.4 Configuration

15.4.1 One-to-one mapping

15.4.2 One-to-many mapping (fail-over)

15.4.3 One-to-many mapping (load balancing)

A. Command reference

A.1 emgclient

A.2 emgd

A.3 emgsend

A.4 emgstat

A.5 mmscomp

A.6 pushtohex

A.7 rttltohex

B. Configuration options

B.1 General options

B.1.1 BACKEND

B.1.2 BLACKLIST

B.1.3 CMREXPIRE

B.1.4 CONNECTORLOGDB

B.1.5 CONNECTOR_LOGLEVEL

B.1.6 DBPROFILE

B.1.7 DEFAULT_CHARGE

B.1.8 DISABLE_CREDITS

B.1.9 DISABLE_MESSAGEBODY

B.1.10 DISABLE_MESSAGEOPTION

B.1.11 DLRSSIZE

B.1.12 DLRVP

B.1.13 DNSTHREADS

B.1.14 EXPIRE_INTERVAL

B.1.15 IDWINDOW

B.1.16 KWSTORE_EXPIRES

B.1.17 KWSTORE_ROTATE_SIZE

B.1.18 LOGLEVEL

B.1.19 LOGYEAR

B.1.20 MAXTOTALQUEUESIZE

B.1.21 MAXTOTALQUEUESIZE_SOFT

B.1.22 NODEID

B.1.23 NOEXPIRE

B.1.24 NOFLUSH

B.1.25 NOLOGSERVER

B.1.26 ORPHANSSIZE

B.1.27 PERSISTFILES

B.1.28 PERSISTSIZE

B.1.29 ROTATELOGS

B.1.30 ROUTEDLR

B.1.31 ROUTELOGDB

B.1.32 ROUTELOGSIZE

B.1.33 ROUTING

B.1.34 SERVERNAME

B.1.35 SHMKEY

B.1.36 SPOOLDIR

B.1.37 SSL_KEYFILE

B.1.38 SSL_PASSWORD

B.1.39 TABLE_PREFIX

B.1.40 TIME_OFFSET

B.1.41 WHITELIST

B.2 Connector options

B.2.1 ACCESS

B.2.2 ADDRESS

B.2.3 ADDRESSRANGE

B.2.4 ALLOWROUTE

B.2.5 AUTHCODE

B.2.6 AUTHNPI

B.2.7 AUTHTON

B.2.8 AUTOMATICTONNPI

B.2.9 AUTOMATICTONNPI_ALPHANUMERIC_NPI

B.2.10 AUTOMATICTONNPI_ALPHANUMERIC_TON

B.2.11 AUTOMATICTONNPI_DEFAULT_NPI

B.2.12 AUTOMATICTONNPI_DEFAULT_TON

B.2.13 AUTOMATICTONNPI_SHORTCODE_NPI

B.2.14 AUTOMATICTONNPI_SHORTCODE_TON

B.2.15 BINARYMAPPING

B.2.16 BLACKLIST

B.2.17 CDMA

B.2.18 CDMA_NO_PORTS

B.2.19 CDRFIELDS

B.2.20 CMR

B.2.21 DEFAULT_CHARCODE

B.2.22 DEFAULT_DESTADDRNPI

B.2.23 DEFAULT_DESTADDRNPI_IN

B.2.24 DEFAULT_DESTADDRTON

B.2.25 DEFAULT_DESTADDRTON_IN

B.2.26 DEFAULT_DLR

B.2.27 DEFAULT_DLR_IN

B.2.28 DEFAULT_DLR_OUT

B.2.29 DEFAULT_DLRADDRESS

B.2.30 DEFAULT_MSGTYPE

B.2.31 DEFAULT_NT

B.2.32 DEFAULT_PROTOCOLID

B.2.33 DEFAULT_QPRIORITY

B.2.34 DEFAULT_SMSCOP

B.2.35 DEFAULT_SOURCEADDR

B.2.36 DEFAULT_SOURCEADDRNPI

B.2.37 DEFAULT_SOURCEADDRNPI_IN

B.2.38 DEFAULT_SOURCEADDRTON

B.2.39 DEFAULT_SOURCEADDRTON_IN

B.2.40 DEFAULT_VP

B.2.41 DELAYFIRSTMESSAGE

B.2.42 DESTFULLNAME

B.2.43 DLR_ERR_HEX

B.2.44 DLREXPIRES

B.2.45 DLR_EXPIRES_STATUS

B.2.46 DLRIGNOREKEYWORD

B.2.47 DLRMINMATCHLENGTH

B.2.48 DOMAIN

B.2.49 FAILOVER

B.2.50 FAILOVER_ALL

B.2.51 FIRST_TRN

B.2.52 FORCE_CHARCODE

B.2.53 FORCECLOSE

B.2.54 FORCE_DCS

B.2.55 FORCE_DESTADDR

B.2.56 FORCE_DESTADDR_IN

B.2.57 FORCE_DESTADDRNPI

B.2.58 FORCE_DESTADDRNPI_IN

B.2.59 FORCE_DESTADDRTON

B.2.60 FORCE_DESTADDRTON_IN

B.2.61 FORCE_DESTPORT_IN

B.2.62 FORCE_DLR

B.2.63 FORCE_DLR_IN

B.2.64 FORCE_DLR_OUT

B.2.65 FORCE_MESSAGE

B.2.66 FORCE_PRIORITY

B.2.67 FORCE_PROTOCOLID

B.2.68 FORCE_SERVICETYPE

B.2.69 FORCE_SERVICETYPE_IN

B.2.70 FORCE_SOURCEADDR

B.2.71 FORCE_SOURCEADDR_IN

B.2.72 FORCE_SOURCEADDRNPI

B.2.73 FORCE_SOURCEADDRNPI_IN

B.2.74 FORCE_SOURCEADDRTON

B.2.75 FORCE_SOURCEADDRTON_IN

B.2.76 FORCE_SOURCEPORT_IN

B.2.77 FORCE_VP

B.2.78 GSMNOSCA

B.2.79 GSMSTORE

B.2.80 HEXID

B.2.81 HOME_IMSI

B.2.82 HOME_VLR

B.2.83 IDLETIMEOUT

B.2.84 IGNOREMAXTOTALQUEUESIZE

B.2.85 INHERIT

B.2.86 INITSTRING

B.2.87 INSTANCES

B.2.88 INTERFACEVERSION

B.2.89 KEEPALIVE

B.2.90 LIBRARY

B.2.91 LOCALDOMAINS

B.2.92 LOCALIPS

B.2.93 LOGLEVEL

B.2.94 LOGMESSAGE

B.2.95 LOGPDU

B.2.96 LONGMESSAGE

B.2.97 LONGMODE

B.2.98 MAPPING

B.2.99 MASQUERADE

B.2.100 MAXFAILEDCONNECTS

B.2.101 MAXFAILEDSLEEP

B.2.102 MAXMESSAGELENGTH

B.2.103 MAXTRIES

B.2.104 MESSAGELENGTH

B.2.105 MESSAGEMODE

B.2.106 MESSAGES_PER_REQUEST

B.2.107 MIMEBOUNDARY

B.2.108 MMS_TEXT_CHARSET

B.2.109 MODE

B.2.110 MODEM

B.2.111 MODEM_BPS

B.2.112 MSGDELAY

B.2.113 MSGRETRYTIME

B.2.114 NOBINARYMAPPING

B.2.115 NOUCS2MAPPING

B.2.116 NOUSERMESSAGEREFERENCE

B.2.117 OPSENTEXPIRES

B.2.118 OPS_MAXEXPIRED

B.2.119 OPS_MAXOUTSTANDING

B.2.120 OPS_MAXPENDING

B.2.121 OPS_MAXPERSESSION

B.2.122 ORIGIN

B.2.123 PARSEMESSAGE

B.2.124 PASSWORD

B.2.125 PLUGIN

B.2.126 POLLRECEIVE

B.2.127 PRE_SPLIT

B.2.128 PREFIX

B.2.129 PRESERVESAR

B.2.130 PROMPT

B.2.131 PROTOCOL

B.2.132 PROXY

B.2.133 QUOTEDREPLY_SEPARATOR

B.2.134 QUOTEDSUBJECT

B.2.135 REDIRECT

B.2.136 REGEXP_DESTADDR

B.2.137 REGEXP_DESTADDR_IN

B.2.138 REGEXP_KEYWORD

B.2.139 REGEXP_MESSAGE

B.2.140 REGEXP_SOURCEADDR

B.2.141 REGEXP_SOURCEADDR_IN

B.2.142 REJECT_EMPTY

B.2.143 RELATIVE_VP

B.2.144 REMOVEPREFIX

B.2.145 REMOVEPREFIX_SOURCEADDR

B.2.146 REPLACEPREFIX

B.2.147 REPLACEPREFIX_IN

B.2.148 REPLACEPREFIX_SOURCEADDR

B.2.149 REPLACEPREFIX_SOURCEADDR_IN

B.2.150 REQUIREPREFIX

B.2.151 REQUIREPREFIX_SOURCEADDR

B.2.152 RETRYSCHEME

B.2.153 RETRYTIME

B.2.154 REVDLR

B.2.155 REVDLR_IN

B.2.156 ROUTE

B.2.157 ROUTEDLR

B.2.158 ROUTING

B.2.159 SATPOOL_CREATE

B.2.160 SATPOOL_CREATE_IN

B.2.161 SATPOOL_LOOKUP

B.2.162 SATPOOL_LOOKUP_IN

B.2.163 SAVE_SMSCIDS

B.2.164 SCAADDR

B.2.165 SCAADDRNPI

B.2.166 SCAADDRTON

B.2.167 SENDERADDRESS

B.2.168 SERVICETYPE

B.2.169 SIMULATE

B.2.170 SMPP_ESME_TO_UCP_EC_MAP

B.2.171 SMPP_ESME_TO_UCP_MAP

B.2.172 SMPP_NEC_TO_UCP_MAP

B.2.173 SMPPTZ

B.2.174 SOURCEADDR_GSM

B.2.175 SOURCEFULLNAME

B.2.176 SSL

B.2.177 SSL_KEYFILE

B.2.178 SSL_PASSWORD

B.2.179 STATIC

B.2.180 SUBADDRESS

B.2.181 SUBJECT

B.2.182 SUPPRESS_EMGHEADERS

B.2.183 SYSTEMTYPE

B.2.184 TCPSOURCEIP

B.2.185 TCPSOURCEPORT

B.2.186 THROUGHPUT

B.2.187 TYPE

B.2.188 USC2MAPPING

B.2.189 UDHVIAOPTIONAL

B.2.190 USEDELTIME

B.2.191 USEPRIORITY

B.2.192 USERDB

B.2.193 USERNAME

B.2.194 USERS

B.2.195 USESENDER

B.2.196 USESUBJECT

B.2.197 VASID

B.2.198 VASPID

B.2.199 VIRTUAL

B.2.200 WAITBEFORECONNECT

B.2.201 WAITDELAY

B.2.202 WAITFOR

B.2.203 WHITELIST

B.2.204 WINDOWSIZE

B.2.205 XAUTH

B.2.206 XAUTHPASSWORD

B.2.207 XAUTHUSERNAME

B.2.208 XPASSWORD

B.2.209 XUSERNAME

B.3 DB options

B.3.1 DBNAME

B.3.2 HOST

B.3.3 INSTANCES

B.3.4 PASSWORD

B.3.5 PORT

B.3.6 SOCKET

B.3.7 TYPE

B.3.8 USERNAME

B.4 SAT pool options

B.4.1 ADDRESSRANGE

B.4.2 EXPIRE

B.4.3 QUOTEDREPLY

B.4.4 THREADED

B.5 Domain options

B.5.1 MAILSPERMINUTE

B.5.2 MAILSPERSESSION

B.5.3 PORT

B.5.4 RETRYTIME

B.5.5 SESSIONS

B.6 Plugin options

B.6.1 CONFIG

B.6.2 INSTANCES

B.6.3 LIBRARY

B.6.4 OFFSET

C. MGP options

C.1 Option keys in numeric order

C.2 Options reference

C.2.1 BlLLINGID (79)

C.2.2 CHARCODE (28)

C.2.3 CONCATSMSMAX (75)

C.2.4 CONCATSMSREF (73)

C.2.5 CONCATSMSSEQ (74)

C.2.6 CONNECTOR (59)

C.2.7 DCS (113)

C.2.8 DELTIME (20)

C.2.9 DESTADDR (8)

C.2.10 DESTADDRNPI (10)

C.2.11 DESTADDRTON (9)

C.2.12 DESTPORT (12)

C.2.13 DLR (19)

C.2.14 DLRID (81)

C.2.15 ENDMSECS (96)

C.2.16 ENDSECS (95)

C.2.17 HPLMNADDR (110)

C.2.18 ID (1)

C.2.19 LRADDR (108)

C.2.20 LRPID (109)

C.2.21 MESSAGE (16)

C.2.22 MESSAGELEN (17)

C.2.23 MSGCLASS (27)

C.2.24 MSGTYPE (15)

C.2.25 NOTE (97)

C.2.26 OTOA (112)

C.2.27 OUTCONNECTOR (60)

C.2.28 PRIORITY (32)

C.2.29 PROTOCOLID (43)

C.2.30 QPRIORITY (118)

C.2.31 REMOTEIP (34)

C.2.32 REPLACEPID (107)

C.2.33 REPLYPATH (31)

C.2.34 ROUTE (38)

C.2.35 SCTS (21)

C.2.36 SMSCID (64)

C.2.37 SOURCEADDR (2)

C.2.38 SOURCEADDRNPI (4)

C.2.39 SOURCEADDRTON (3)

C.2.40 SOURCEPORT (6)

C.2.41 STARTMSECS (94)

C.2.42 STARTSECS (93)

C.2.43 STATUS (61)

C.2.44 SUBJECT (111)

C.2.45 UDH (14)

C.2.46 UDHI (106)

C.2.47 USER (30)

C.2.48 VP (18)

C.2.49 XUSERNAME (119)

D. Error codes

D.1 CIMD2

D.2 SMPP

D.3 UCP/EMI

D.4 OIS

D.5 HTTP

D.6 SMTP

D.7 MGP

E. SMSC inter-connectivity checklist

E.1 Your requirements

E.1.1 Send messages

E.1.2 Receive messages

E.1.3 Type of messages

E.1.4 Performance or message volume

E.1.5 Support and service

E.2 SMSC connection

E.2.1 Type of connection

E.2.2 Protocol

E.2.3 Performance

E.2.4 Security

E.3 Getting started

E.3.1 Account information

E.3.2 Sending the first message

E.3.3 Receiving a message

F. Change history

F.1 EMG 5.3.1.27293

F.2 EMG 5.3.0.23570

Table of ContentsPreviousNextIndex