www.nordicmessaging.se

EMG 6.0.6 - User's Guide

Table of ContentsPreviousNext

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 6.0

2.1 Distributed data store using MongoDB (active/active)

2.2 Certificate-based authentication

2.3 Connector force close

2.4 Per-instance throughput info

2.5 New MySQL driver

2.6 Improved MySQL performance

2.7 Host-specific server.cfg

2.8 Schema changes

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 Retry schemes

6.11.1 Sample retry scheme

6.12 Sample configurations

6.12.1 Incoming MGP supporting up to 3 connections

6.12.2 Incoming SMPP supporting up to 10 connections

6.12.3 Incoming CIMD2 supporting 1 connection

6.12.4 Outgoing SMPP

6.12.5 Outgoing UCP using authentication via operation 60

6.12.6 Outgoing UCP via modem

6.12.7 Outgoing HTTP

6.12.8 Outgoing EBE

6.12.9 Outgoing GSM

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.3.3 Setting message options

7.4 Failover

7.5 Load balancing

7.6 User-based routing

7.7 Routing to a specific user

7.8 Keyword-based routing

7.8.1 Sample scenario

7.8.2 Setting up the connectors

7.8.3 Setting up the routing table

7.8.4 Keyword sessions

7.9 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

12.4.3 Certificate-based authentication

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 (deprecated)

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.1.1 SMPP raw proxy

15.1.2 Multi-proxy

15.2 Scenarios

15.2.1 Normal mode

15.2.2 Proxy mode

15.3 Configuration

15.3.1 One-to-one mapping

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

15.3.3 One-to-many mapping (load balancing)

15.3.4 SMPP raw proxy

15.3.5 SMPP raw multi-proxy

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 BACKEND_DLR

B.1.3 BLACKLIST

B.1.4 CMREXPIRE

B.1.5 CONNECTORLOGDB

B.1.6 CONNECTOR_LOGLEVEL

B.1.7 DBPROFILE

B.1.8 DEFAULT_CHARGE

B.1.9 DISABLE_CREDITS

B.1.10 DISABLE_MESSAGEBODY

B.1.11 DISABLE_MESSAGEOPTION

B.1.12 DLRSSIZE

B.1.13 DLRVP

B.1.14 DNSTHREADS

B.1.15 EXPIRE_INTERVAL

B.1.16 IDWINDOW

B.1.17 KWSTORE_EXPIRES

B.1.18 KWSTORE_ROTATE_SIZE

B.1.19 LOGLEVEL

B.1.20 LOGYEAR

B.1.21 MAXTOTALQUEUESIZE

B.1.22 MAXTOTALQUEUESIZE_SOFT

B.1.23 MERGE_EXPIRES

B.1.24 NODEID

B.1.25 NOEXPIRE

B.1.26 NOFLUSH

B.1.27 NOLOGSERVER

B.1.28 ORPHANSSIZE

B.1.29 PERMIT_LOCALHOST

B.1.30 PERSISTFILES

B.1.31 PERSISTSIZE

B.1.32 ROTATELOGS

B.1.33 ROUTEDLR

B.1.34 ROUTELOGDB

B.1.35 ROUTELOGSIZE

B.1.36 ROUTING

B.1.37 SERVERNAME

B.1.38 SHMKEY

B.1.39 SPOOLDIR

B.1.40 SSL_KEYFILE

B.1.41 SSL_PASSWORD

B.1.42 TABLE_PREFIX

B.1.43 TIME_OFFSET

B.1.44 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 DLR_SUPPORT

B.2.47 DLR_TEXT_FORMAT

B.2.48 DLRIGNOREKEYWORD

B.2.49 DLRMINMATCHLENGTH

B.2.50 DOMAIN

B.2.51 ERRORCODE_MAP

B.2.52 FAILOVER

B.2.53 FAILOVER_ALL

B.2.54 FAILOVER_ALL_TO_SELF

B.2.55 FIRST_TRN

B.2.56 FORCE_CHARCODE

B.2.57 FORCECLOSE

B.2.58 FORCE_DCS

B.2.59 FORCE_DESTADDR

B.2.60 FORCE_DESTADDR_IN

B.2.61 FORCE_DESTADDRNPI

B.2.62 FORCE_DESTADDRNPI_IN

B.2.63 FORCE_DESTADDRTON

B.2.64 FORCE_DESTADDRTON_IN

B.2.65 FORCE_DESTPORT_IN

B.2.66 FORCE_DLR

B.2.67 FORCE_DLR_IN

B.2.68 FORCE_DLR_OUT

B.2.69 FORCE_MESSAGE

B.2.70 FORCE_PRIORITY

B.2.71 FORCE_PROTOCOLID

B.2.72 FORCE_SERVICETYPE

B.2.73 FORCE_SERVICETYPE_IN

B.2.74 FORCE_SOURCEADDR

B.2.75 FORCE_SOURCEADDR_IN

B.2.76 FORCE_SOURCEADDRNPI

B.2.77 FORCE_SOURCEADDRNPI_IN

B.2.78 FORCE_SOURCEADDRTON

B.2.79 FORCE_SOURCEADDRTON_IN

B.2.80 FORCE_SOURCEPORT_IN

B.2.81 FORCE_VP

B.2.82 GSMNOSCA

B.2.83 GSMSTORE

B.2.84 HEXID

B.2.85 HOME_IMSI

B.2.86 HOME_VLR

B.2.87 IDLETIMEOUT

B.2.88 IGNOREMAXTOTALQUEUESIZE

B.2.89 INHERIT

B.2.90 INITSTRING

B.2.91 INSTANCES

B.2.92 INTERFACEVERSION

B.2.93 KEEPALIVE

B.2.94 LIBRARY

B.2.95 LOCALDOMAINS

B.2.96 LOCALIPS

B.2.97 LOGLEVEL

B.2.98 LOGMESSAGE

B.2.99 LOGPDU

B.2.100 LONGMESSAGE

B.2.101 LONGMODE

B.2.102 MAPPING

B.2.103 MASQUERADE

B.2.104 MAXFAILEDCONNECTS

B.2.105 MAXFAILEDSLEEP

B.2.106 MAXMESSAGELENGTH

B.2.107 MAXTRIES

B.2.108 MESSAGEID_PREFIX

B.2.109 MESSAGELENGTH

B.2.110 MESSAGEMODE

B.2.111 MESSAGES_PER_REQUEST

B.2.112 MIMEBOUNDARY

B.2.113 MMS_TEXT_CHARSET

B.2.114 MODE

B.2.115 MODEM

B.2.116 MODEM_BPS

B.2.117 MSGDELAY

B.2.118 MSGRETRYTIME

B.2.119 NOBINARYMAPPING

B.2.120 NOUCS2MAPPING

B.2.121 NOUSERMESSAGEREFERENCE

B.2.122 OPSENTEXPIRES

B.2.123 OPS_MAXEXPIRED

B.2.124 OPS_MAXOUTSTANDING

B.2.125 OPS_MAXPENDING

B.2.126 OPS_MAXPERSESSION

B.2.127 ORIGIN

B.2.128 PARSEMESSAGE

B.2.129 PASSWORD

B.2.130 PLUGIN

B.2.131 POLLRECEIVE

B.2.132 PRE_SPLITf

B.2.133 PREFIX

B.2.134 PRESERVESAR

B.2.135 PROMPT

B.2.136 PROTOCOL

B.2.137 PROXY

B.2.138 PROXYRAW

B.2.139 QUOTEDREPLY_SEPARATOR

B.2.140 QUOTEDSUBJECT

B.2.141 REDIRECT

B.2.142 REGEXP_DESTADDR

B.2.143 REGEXP_DESTADDR_IN

B.2.144 REGEXP_KEYWORD

B.2.145 REGEXP_MESSAGE

B.2.146 REGEXP_SOURCEADDR

B.2.147 REGEXP_SOURCEADDR_IN

B.2.148 REJECT_EMPTY

B.2.149 RELATIVE_VP

B.2.150 REMOVEPREFIX

B.2.151 REMOVEPREFIX_SOURCEADDR

B.2.152 REPLACEPREFIX

B.2.153 REPLACEPREFIX_IN

B.2.154 REPLACEPREFIX_SOURCEADDR

B.2.155 REPLACEPREFIX_SOURCEADDR_IN

B.2.156 REQUIREPREFIX

B.2.157 REQUIREPREFIX_SOURCEADDR

B.2.158 RETRYSCHEME

B.2.159 RETRYTIME

B.2.160 REVDLR

B.2.161 REVDLR_IN

B.2.162 ROUTE

B.2.163 ROUTEDLR

B.2.164 ROUTING

B.2.165 SATPOOL_CREATE

B.2.166 SATPOOL_CREATE_IN

B.2.167 SATPOOL_LOOKUP

B.2.168 SATPOOL_LOOKUP_IN

B.2.169 SAVE_SMSCIDS

B.2.170 SCAADDR

B.2.171 SCAADDRNPI

B.2.172 SCAADDRTON

B.2.173 SENDERADDRESS

B.2.174 SERVICETYPE

B.2.175 SET_DLR_TEXT

B.2.176 SIMULATE

B.2.177 SMPP_ESME_TO_UCP_EC_MAP

B.2.178 SMPP_ESME_TO_UCP_MAP

B.2.179 SMPP_NEC_TO_UCP_MAP

B.2.180 SMPPTZ

B.2.181 SOURCEADDR_GSM

B.2.182 SOURCEFULLNAME

B.2.183 SSL

B.2.184 SSL_CAFILE

B.2.185 SSL_KEYFILE

B.2.186 SSL_PASSWORD

B.2.187 STATIC

B.2.188 SUBADDRESS

B.2.189 SUBJECT

B.2.190 SUPPRESS_EMGHEADERS

B.2.191 SYSTEMTYPE

B.2.192 TCPSOURCEIP

B.2.193 TCPSOURCEPORT

B.2.194 THROUGHPUT

B.2.195 TYPE

B.2.196 USC2MAPPING

B.2.197 UDHVIAOPTIONAL

B.2.198 URLHANDLER

B.2.199 USEDELTIME

B.2.200 USEPRIORITY

B.2.201 USERDB

B.2.202 USERNAME

B.2.203 USERS

B.2.204 USESENDER

B.2.205 USESUBJECT

B.2.206 VASID

B.2.207 VASPID

B.2.208 VIRTUAL

B.2.209 WAITBEFORECONNECT

B.2.210 WAITDELAY

B.2.211 WAITFOR

B.2.212 WHITELIST

B.2.213 WINDOWSIZE

B.2.214 XAUTH

B.2.215 XAUTHPASSWORD

B.2.216 XAUTHUSERNAME

B.2.217 XPASSWORD

B.2.218 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 RANDOM

B.4.5 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 SMPP_DLR_TEXT (198)

C.2.38 SOURCEADDR (2)

C.2.39 SOURCEADDRNPI (4)

C.2.40 SOURCEADDRTON (3)

C.2.41 SOURCEPORT (6)

C.2.42 STARTMSECS (94)

C.2.43 STARTSECS (93)

C.2.44 STATUS (61)

C.2.45 SUBJECT (111)

C.2.46 UDH (14)

C.2.47 UDHI (106)

C.2.48 USER (30)

C.2.49 VP (18)

C.2.50 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 6.0.6

F.2 EMG 6.0.5

F.3 EMG 6.0.4

F.4 EMG 6.0.3

F.5 EMG 6.0.2

F.6 EMG 6.0.1

F.7 EMG 6.0.0

Table of ContentsPreviousNext