www.nordicmessaging.se

EMG 5.4.7 - 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

1.6 PHP

2. What's new in EMG 5.4

2.1 Raw proxy SMPP-SMPP

2.2 Multi proxy support

2.3 SAT pool reimplementation

2.4 SAT pool randomization

2.5 MySQL driver replaced

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

6.12.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.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

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.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 BLACKLIST

B.1.2 CMREXPIRE

B.1.3 CONNECTORLOGDB

B.1.4 CONNECTOR_LOGLEVEL

B.1.5 DBPROFILE

B.1.6 DEFAULT_CHARGE

B.1.7 DISABLE_CREDITS

B.1.8 DISABLE_MESSAGEBODY

B.1.9 DISABLE_MESSAGEOPTION

B.1.10 DLRSSIZE

B.1.11 DLRVP

B.1.12 DNSTHREADS

B.1.13 EXPIRE_INTERVAL

B.1.14 IDWINDOW

B.1.15 KWSTORE_EXPIRES

B.1.16 KWSTORE_ROTATE_SIZE

B.1.17 LOGLEVEL

B.1.18 LOGYEAR

B.1.19 MAXTOTALQUEUESIZE

B.1.20 MAXTOTALQUEUESIZE_SOFT

B.1.21 MERGE_EXPIRES

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 DLR_SUPPORT

B.2.47 DLRIGNOREKEYWORD

B.2.48 DLRMINMATCHLENGTH

B.2.49 DOMAIN

B.2.50 FAILOVER

B.2.51 FAILOVER_ALL

B.2.52 FAILOVER_ALL_TO_SELF

B.2.53 FIRST_TRN

B.2.54 FORCE_CHARCODE

B.2.55 FORCECLOSE

B.2.56 FORCE_DCS

B.2.57 FORCE_DESTADDR

B.2.58 FORCE_DESTADDR_IN

B.2.59 FORCE_DESTADDRNPI

B.2.60 FORCE_DESTADDRNPI_IN

B.2.61 FORCE_DESTADDRTON

B.2.62 FORCE_DESTADDRTON_IN

B.2.63 FORCE_DESTPORT_IN

B.2.64 FORCE_DLR

B.2.65 FORCE_DLR_IN

B.2.66 FORCE_DLR_OUT

B.2.67 FORCE_MESSAGE

B.2.68 FORCE_PRIORITY

B.2.69 FORCE_PROTOCOLID

B.2.70 FORCE_SERVICETYPE

B.2.71 FORCE_SERVICETYPE_IN

B.2.72 FORCE_SOURCEADDR

B.2.73 FORCE_SOURCEADDR_IN

B.2.74 FORCE_SOURCEADDRNPI

B.2.75 FORCE_SOURCEADDRNPI_IN

B.2.76 FORCE_SOURCEADDRTON

B.2.77 FORCE_SOURCEADDRTON_IN

B.2.78 FORCE_SOURCEPORT_IN

B.2.79 FORCE_VP

B.2.80 GSMNOSCA

B.2.81 GSMSTORE

B.2.82 HEXID

B.2.83 HOME_IMSI

B.2.84 HOME_VLR

B.2.85 IDLETIMEOUT

B.2.86 IGNOREMAXTOTALQUEUESIZE

B.2.87 INHERIT

B.2.88 INITSTRING

B.2.89 INSTANCES

B.2.90 INTERFACEVERSION

B.2.91 KEEPALIVE

B.2.92 LIBRARY

B.2.93 LOCALDOMAINS

B.2.94 LOCALIPS

B.2.95 LOGLEVEL

B.2.96 LOGMESSAGE

B.2.97 LOGPDU

B.2.98 LONGMESSAGE

B.2.99 LONGMODE

B.2.100 MAPPING

B.2.101 MASQUERADE

B.2.102 MAXFAILEDCONNECTS

B.2.103 MAXFAILEDSLEEP

B.2.104 MAXMESSAGELENGTH

B.2.105 MAXTRIES

B.2.106 MESSAGEID_PREFIX

B.2.107 MESSAGELENGTH

B.2.108 MESSAGEMODE

B.2.109 MESSAGES_PER_REQUEST

B.2.110 MIMEBOUNDARY

B.2.111 MMS_TEXT_CHARSET

B.2.112 MODE

B.2.113 MODEM

B.2.114 MODEM_BPS

B.2.115 MSGDELAY

B.2.116 MSGRETRYTIME

B.2.117 NOBINARYMAPPING

B.2.118 NOUCS2MAPPING

B.2.119 NOUSERMESSAGEREFERENCE

B.2.120 OPSENTEXPIRES

B.2.121 OPS_MAXEXPIRED

B.2.122 OPS_MAXOUTSTANDING

B.2.123 OPS_MAXPENDING

B.2.124 OPS_MAXPERSESSION

B.2.125 ORIGIN

B.2.126 PARSEMESSAGE

B.2.127 PASSWORD

B.2.128 PLUGIN

B.2.129 POLLRECEIVE

B.2.130 PRE_SPLITf

B.2.131 PREFIX

B.2.132 PRESERVESAR

B.2.133 PROMPT

B.2.134 PROTOCOL

B.2.135 PROXY

B.2.136 PROXYRAW

B.2.137 QUOTEDREPLY_SEPARATOR

B.2.138 QUOTEDSUBJECT

B.2.139 REDIRECT

B.2.140 REGEXP_DESTADDR

B.2.141 REGEXP_DESTADDR_IN

B.2.142 REGEXP_KEYWORD

B.2.143 REGEXP_MESSAGE

B.2.144 REGEXP_SOURCEADDR

B.2.145 REGEXP_SOURCEADDR_IN

B.2.146 REJECT_EMPTY

B.2.147 RELATIVE_VP

B.2.148 REMOVEPREFIX

B.2.149 REMOVEPREFIX_SOURCEADDR

B.2.150 REPLACEPREFIX

B.2.151 REPLACEPREFIX_IN

B.2.152 REPLACEPREFIX_SOURCEADDR

B.2.153 REPLACEPREFIX_SOURCEADDR_IN

B.2.154 REQUIREPREFIX

B.2.155 REQUIREPREFIX_SOURCEADDR

B.2.156 RETRYSCHEME

B.2.157 RETRYTIME

B.2.158 REVDLR

B.2.159 REVDLR_IN

B.2.160 ROUTE

B.2.161 ROUTEDLR

B.2.162 ROUTING

B.2.163 SATPOOL_CREATE

B.2.164 SATPOOL_CREATE_IN

B.2.165 SATPOOL_LOOKUP

B.2.166 SATPOOL_LOOKUP_IN

B.2.167 SAVE_SMSCIDS

B.2.168 SCAADDR

B.2.169 SCAADDRNPI

B.2.170 SCAADDRTON

B.2.171 SENDERADDRESS

B.2.172 SERVICETYPE

B.2.173 SIMULATE

B.2.174 SMPP_ESME_TO_UCP_EC_MAP

B.2.175 SMPP_ESME_TO_UCP_MAP

B.2.176 SMPP_NEC_TO_UCP_MAP

B.2.177 SMPPTZ

B.2.178 SOURCEADDR_GSM

B.2.179 SOURCEFULLNAME

B.2.180 SSL

B.2.181 SSL_KEYFILE

B.2.182 SSL_PASSWORD

B.2.183 STATIC

B.2.184 SUBADDRESS

B.2.185 SUBJECT

B.2.186 SUPPRESS_EMGHEADERS

B.2.187 SYSTEMTYPE

B.2.188 TCPSOURCEIP

B.2.189 TCPSOURCEPORT

B.2.190 THROUGHPUT

B.2.191 TYPE

B.2.192 USC2MAPPING

B.2.193 UDHVIAOPTIONAL

B.2.194 USEDELTIME

B.2.195 USEPRIORITY

B.2.196 USERDB

B.2.197 USERNAME

B.2.198 USERS

B.2.199 USESENDER

B.2.200 USESUBJECT

B.2.201 VASID

B.2.202 VASPID

B.2.203 VIRTUAL

B.2.204 WAITBEFORECONNECT

B.2.205 WAITDELAY

B.2.206 WAITFOR

B.2.207 WHITELIST

B.2.208 WINDOWSIZE

B.2.209 XAUTH

B.2.210 XAUTHPASSWORD

B.2.211 XAUTHUSERNAME

B.2.212 XPASSWORD

B.2.213 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 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.4.7.31336

F.2 EMG 5.4.6.30524

F.3 EMG 5.4.5.29727

F.4 EMG 5.4.4.29664

F.5 EMG 5.4.3.29133

F.6 EMG 5.4.2.28901

F.7 EMG 5.4.1.28291

F.8 EMG 5.4.0.27914

Table of ContentsPreviousNextIndex