Configuration options

All configuration options that specifies a filename can use absolute paths or relative paths which in that case will be relative to EMGDIR (default: /etc/emg).

General options

BACKEND

Syntax: BACKEND=<string>

Specifies the default backend to use for storing internal information such as queues, delivery reports etc. The following values are supported.

FILE or TCUse TokyoCabinet. This was the default up to EMG 7.1.
LEVELDBUse LevelDB. This is the default in EMG 7.2.
A database profile nameUse this database profile, assuming it has TYPE=MONGODB. MySQL can not be used here.

See also: BACKEND_DLR

Introduced in EMG 6.0

BACKEND_DLR

Syntax: BACKEND_DLR=<string>

Specifies the backend to use for open delivery report entries.

See also: BACKEND

Introduced in EMG 6.0

BLACKLIST

Syntax: BLACKLIST=<filename>

Specifies which file contains the system-wide blacklist. The format of the file is one entry per row where each entry consists of two or optionally three tab-separated fields. The first field is the sender or source address, the second field the action and the third optional field is either SOURCEADDR or DESTADDR to specify the type of address to be blacklisted. If the type of address is omitted it defaults to SOURCEADDR.

Possible values for action are: REJECT or LOG. Lines beginning with “#” are not processed.

Example:

070123456<TAB>REJECT<TAB>DESTADDR
070654321<TAB>LOG

CMREXPIRE

Syntax: CMREXPIRE=<integer>

Specifies the number of seconds routing information for concatenated messages should be kept. This value should be enough for all parts of a concatenated message to pass through EMG. However, in order to minimize overhead it should be kept as low as possible.

Default value: 60

Introduced in EMG 2.4

CONNECTORLOGDB

Syntax: CONNECTORLOGDB

DEPRECATED: Use ROUTELOGDB instead.

Log connectorlog to DB. Requires DBPROFILE to be set.

CONNECTOR_LOGLEVEL

Syntax: CONNECTOR_LOGLEVEL=<string>

Default log level for connector-related messages.

See also: LOGLEVEL, LOGPDU

Default: Same as LOGLEVEL

DBCONFIG

Syntax: DBCONFIG

Read configuration from database.

Introduced in EMG 7.

More info

DBPROFILE

Syntax: DBPROFILE=<string>

Default database profile to use. A database profile is defined by a DB < … > section in the server.cfg file.

DEBUG

Syntax: DEBUG

Shortcut for enabling debug mode by setting log level to DEBUG2.

Introduced in EMG 7.

DEFAULT_CHARGE

Syntax: DEFAULT_CHARGE=<float>

Default charge to deduct from database field emguser.charge_balance when a message is received by EMG.

Default value: 0.0001.

Introduced in EMG 5.3.

DEFAULT_CHARCODE_TEXT

Syntax: DEFAULT_CHARCODE_TEXT=<string>

Specify the default character code used in EMG.

Allowed values: “LATIN1”, “IA5” and “UTF-8”

Introduced in EMG 7.1.

DISABLE_CREDITS

Syntax: DISABLE_CREDITS

Disable credits handling usually enabled when using a database for the users.

DISABLE_MESSAGEBODY

Syntax: DISABLE_MESSAGEBODY

When ROUTELOGDB is set, the message body of each message is stored in the messagebody table. This option disables this.

DISABLE_MESSAGEOPTION

Syntax: DISABLE_MESSAGEOPTION

When ROUTELOGDB is set, the message options without their own columns in the routelog table, is stored in the messageoption table. This option disables this.

DLR_DELAY

Syntax: DLR_DELAY=<float>

Delay delivery reports for the specified amount of time (in seconds).

Sometimes a small delay for delivery reports may be necessary to avoid that a delivery report reaches the client before the submit response.

Introduced in EMG 7.1.

DLRSSIZE

Syntax: DLRSSIZE=<value>

Maximum number of DLR entries stored in the system. When this limit is reached, the oldest DLR entries will be discarded and a DLR with DLR_EXPIRES_STATUS will be sent, default “unknown”.

Default: 1.000.000

Introduced in EMG 3.

DLRVP

Syntax: DLRVP=<value>

Specifies after how many seconds a DLR will expire if not successfully sent.

Default: 3600 (1 hour)

Introduced in EMG 2.4a.

DLR_EXPIRES_ERROR

Syntax: DLR_EXPIRES_ERROR=<integer>

Specifies the error code to be set in delivery report for a message when the DLR entry for the message expires.

Allowed values: 0-999

Default: 0

DLR_EXPIRES_STATUS

Syntax: DLR_EXPIRES_STATUS=<string>

Specifies the status to be set for messages when their corresponding DLR entry expires.

Allowed values: “UNKNOWN”, “DELIVERED”, “INPROCESS”, “FAILED”, “DELETED”, “EXPIRED”, “REJECTED”, “CANCELED”, “QUEUED”, “ORPHANED”, “RELAYED”

Default: “UNKNOWN”

DNSTHREADS

Syntax: DNSTHREADS=<integer>

Maximum number of DNS threads to use for DNS lookups.

Default value: 1

Introduced in EMG 3.

EXPIRE_INTERVAL

Syntax: EXPIRE_INTERVAL=<integer>

Interval (in seconds) between scanning for expired objects. Scanning too often may lead to performance degradation under heavy load and with large queues.

Default value: 2

Introduced in EMG 3.0.17.

IDWINDOW

Syntax: IDWINDOW=<integer>

Specifies the number of message ids that should be allocated from seqno (message id) counter each time. Each allocation will cause a disk write and when the seqno database is on shared storage (for example NAS/NFS), increasing the value may increase performance. If emgd stops ungracefully message ids may be lost if the value is larger than 1. This is usually unwanted but not a big problem.

Default value: 1

Introduced in EMG 5.2

KWSTORE_EXPIRES

Syntax: KWSTORE_EXPIRES=<integer>

Specifies the max age (in seconds) for the kwstore-*.hdb files. When a file is older than the specified value it will be removed the next time kwstore file rotation occurs.

Default value: 259200 (=3 days)

Introduced in EMG 5.2.2.

KWSTORE_ROTATE_SIZE

Syntax: KWSTORE_ROTATE_SIZE=<value>[:<integer>]

Specifies the max size that the kwstore-1.hdb file is allowed to grow to until it is rotated.

The format is two fields colon-separated where the first fields indicates the size and the unit. The unit can be “k”, “m” or “g” for kilobytes, megabytes and gigabytes. If unit is omitted, the default unit is bytes. Second (optional) field indicates the max number of files to save.

Default value: 536870912 (=512 MB)

Introduced in EMG 5.2.2.

LOGLEVEL

Syntax: LOGLEVEL=<string>

Specifies which information should be logged. When a level is specified messages related to that level or higher (more severe) is logged. INFO is most useful for ordinary production use, while DEBUG can be useful to track down problems. Errors at level WARNING and ERROR may indicate configuration problems, badly formatted incoming data etc, and usually require some action to be taken.

Values:

DEBUG2Lowest level, volume affects performance
DEBUGVolume affects performance
INFODefault level
WARNING 
ERROROnly errors or more severe information is logged
CRITICAL 

Default value: INFO

LOGYEAR

Syntax: LOGYEAR

Sets the format for date part of timestamp in log files to ISO 8601, “YYYY-MM-DD hh:mm:ss.mmmmmm”. Starting with EMG 7, this is the default. You can use LOGYEAR=0 to get the previous format, which is less useful.

Introduced in EMG 2.5.

MAXTOTALQUEUESIZE

Syntax: MAXTOTALQUEUESIZE=<integer>

When the total queue size for all connectors in EMG has exceeded this value, EMG will reject further incoming messages temporarily until the queue size decrease below the specified value.

Useful for (hard) message throttling avoiding that a large queue builds in EMG.

Introduced in EMG 2.5.

MAXTOTALQUEUESIZE_SOFT

Syntax: MAXTOTALQUEUESIZE_SOFT=<integer>

When the total queue size for all connectors in EMG has exceeded this value, EMG will impose a delay of 0.1 second for each message. This effectively limits the speed at which messages are received. Can be used in combination with MAXTOTALQUEUESIZE which rejects messages. The soft level should then be set slightly lower than the hard limit for best result.

Useful for (soft) message throttling avoiding that a large queue builds in EMG.

Introduced in EMG 2.5.

MERGE_EXPIRES

Syntax: MERGE_EXPIRES=<integer>

Specifies how many seconds EMG will wait for the remaining parts of a concatenated message, when using MERGE.

Default: 10

Introduced in EMG 5.3.2.

NODEID

Syntax: NODEID=<integer>

Message id prefix to use for the EMG instance. The top 4 digits in the 64-bit message id, used in EMG 5.3 and later, are reserved for the node id which can be used to ensure unique message ids will be used by different EMG servers in a multi-node deployment.

Allowed values: 0-8999

Default value: 0

NOEXPIRE

Syntax: NOEXPIRE

Specifies that messages in queue and orphans should not expire in EMG based on the validity period (VP). By default if a message has a VP set and EMG cannot send it before that period of time has elapsed it will expire and be removed from the queue.

NOFLUSH

Syntax: NOFLUSH

When used, queues are not flushed to disk when emgd is stopped. All queue entries are lost.

When file persistance is used in EMG 3 and later, messages are normally stored in files under the directory specified by the SPOOLDIR configuration option. The database handled for these files is selected by the BACKEND option.

Introduced in EMG 1.0h

NOLOGSERVER

Syntax: NOLOGSERVER

Previously, logging was handled by a separate thread, and this option was used to force the log files to be more in sync with the rest of the system. Starting with EMG 5.3 all logging is done by each thread, and this option instead makes EMG flush all file buffers after each write. This simplifies troubleshooting, but negatively affects performance.

Introduced in EMG 2.4b

ORPHANSSIZE

Syntax: ORPHANSSIZE=<integer>

Maximum number of entries in orphans queue. When the maximum size is exceeded the oldest entry is discarded. A size of “-1” will cause non-routable messages to be rejected.

Default value: 10000

Introduced in EMG 1.0h

PDULOG

Syntax: PDULOG

Enable pdu log. The pdu log is also enabled when log level is debug or debug2. These log files significantly help troubleshooting, so this option is therefore highly recommended.

Introduced in EMG 6.

PDULOGDB

Syntax: PDULOGDB

Enable pdu log in database. This can lead to excessive disk usage, and requires frequent data trimming. It is not recommended.

Introduced in EMG 7.1.

PERMIT_LOCALHOST

Syntax: PERMIT_LOCALHOST

Used to always allow connections from ip localhost addresses 127.0.0.1 (ipv4) and ::1 (ipv6).

Introduced in EMG 5.5.1.

PERSISTFILES

Syntax: PERSISTFILES

Specifies that message persistence to file (using an embedded DB) should be used. Since EMG 5.2 this option does not require an additional license.

See also: SPOOLDIR

Introduced in EMG 3.

PLUGIN_TIMEOUT

Syntax: PLUGIN_TIMEOUT=<integer>

Specifies the time (in seconds) a connector will wait for a plugin response before timing out. It is imperative that plugin does not exceed this limit or the results are undefined.

Default: 900 (15 minutes)

Introduced in EMG 7.0.5.

PROFILING_THRESHOLD

Syntax: PROFILING_THRESHOLD=<float>

Duration threshold (in seconds) for which many operations are logged to the log/profiling file. This data can be used to troubleshoot low performance, as it makes it easy to see which operations are taking an unexpected amount of time.

Default: 0 (log all calls) when log level is DEBUG/DEBUG2, disabled for higher log levels.

Introduced in EMG 7.1.

ROTATELOGS

Syntax: ROTATELOGS=<integer>[:<integer>]

Rotate log files based on size or time.

When rotation should be performed based on time, the specified value should be an integer followed by “s”, “m”, “h”, “d” or “w”, indicating number of seconds, minutes, hours, days or weeks, respectively. The log files will be renamed by appending a timestamp to the current file name and a new output file will be created. Starting with EMG 7.2.2, the rotation is done on even multiples of the interval.

When rotating based on size, the format is two colon-separated fields, where the first fields indicates the size and the unit. The unit can be “k”, “m” or “g” for kilobytes, megabytes and gigabytes. The second field indicates the number of files to save.

ROTATELOGS=2M:10 indicates that each log file will be rotated out when the file size exceeds 2 MB and that the 10 most recent files would be saved (with suffixes 0-9).

Introduced in EMG 2.0. Size-based rotation was introduced in EMG 2.5.

ROUTEDLR

Syntax: ROUTEDLR=<string>

Specifies to which connector DLRs should be routed. This is the default route which can be overridden by the ROUTEDLR keyword on a specific connector.

Introduced in EMG 2.4a.

ROUTELOGDB

Syntax: ROUTELOGDB

Specifies that route log entries should be saved in the database given by the DBPROFILE option. The route log contains status for messages.

Introduced in EMG 3

ROUTELOGSIZE

Syntax: ROUTELOGSIZE=<integer>

Maximum number of entries in routing log.

When using ROUTELOGDB, this value is the number of entries to keep in memory, and can be left at the default setting. Entries are never deleted from the database, regardless of this value.

When the maximum size is exceeded the oldest entry is discarded.

Default value: 10000

ROUTING

Syntax: ROUTING=<filename>

Specifies which file contains the routing table. The format of the file is one entry per row where each entry consists of minimum two and maximum three tab-separated fields. Lines beginning with “#” are not processed.

The fields are:

Incoming connector or address
If field starts with “<” it will be matched to the source (sender) address.
if field starts with “>” it will be matched to the destination (recipient) address.
If field starts with “@” it is taken as a file containing destination address prefixes.
If field does not start with any of the characters above it is taken as a name of an incoming connector.
If the value of the field contains any of the characters “*.?[” it is considered a regular expression.

Outgoing connector(s)
If more than one connector is specified fail-over and optionally load-balancing will take place for the specified connectors.

Extra options:
LB, KEYWORD, KEYWORDSESSION, PLUGINARG, SET, USERNAME, or URL

LB is used to specify load-balancing between the outgoing connectors.

KEYWORD is used for keyword-based routing and specifies a source address/keyword pair combination where source address and keyword can be “*” used as wildcard.
Example: KEYWORD=*:BALANCE

KEYWORDSESSION Specifies that keyword sessions should be used enabling routing of subsequent messages from the same sender to the same destination even if they do not contain a valid keyword.

PLUGINARG A string that will be set as the PLUGINARG option on the message which can be used by external plugins.

SET Set message option(s). Please see Routing chapter for more info.

USERNAME=user Specifies that only specified user can receive the message over the connector to which the message is routed.

URL Specifies that a specific URL should be used when message is routed to a connector that uses a HTTP-based protocol.

SERVERNAME

Syntax: SERVERNAME=<string>

Specifies the server name as passed to MGP clients upon login.

Default value is “EMG”.

Introduced in EMG 2.5

SHMKEY

Syntax: SHMKEY=<integer>

Each EMG server uses a shared memory segment. In order to be able to run multiple servers on the same machine each EMG server needs a unique shared memory key.

You can run the command “ipcs -m” to see what share memory keys are in use. Values are presented in hex.

Default value is 2555674929 (decimal), 0x98548131 (hex).

Introduced in EMG 2.3

SPOOLDIR

Syntax: SPOOLDIR=<directory>

Directory to use for spool files. This include queue entries, SAT entries and various other information.

Default: $EMGDIR/spool

Introduced in EMG 3

SSL_KEYFILE

Syntax: SSL_KEYFILE=<filename>

Specifies the server-wide PEM-file where key and certificate is stored for use by SSL connectors.

Introduced in EMG 2.0

See also: Connector option SSL_KEYFILE

SSL_MIN_PROTO

Syntax: SSL_MIN_PROTO=[SSL3 | TLS | TLS1 | TLS1_1 | TLS1_2 | TLS1_3]

Specifies the minimum SSL version accepted on incoming connections.

Introduced in EMG 7.1.14 and 7.2.5.

SSL_PASSWORD

Syntax: SSL_PASSWORD=<string>

Specifies the password, if any, used for the key file.

Introduced in EMG 2.0

See also: SSL_KEYFILE

TABLE_PREFIX

Syntax: TABLE_PREFIX=<string>

Use specified prefix when referencing DB tables.

If prefix is defined as “emg30_”, the connector log table will be referenced as “emg30_connectorlog”. Please note that the schema SQL file needs to be edited in order for the schema to be created accordingly.

Introduced in EMG 3.0

TIME_OFFSET

Syntax: TIME_OFFSET=<integer>

Specifies an offset, in minutes, to be added to the current time. Negative values are allowed. Useful, for example, when the server time is in UTC and log files etc should reflect the local time instead.

Introduced in EMG 3.0

WHITELIST

Syntax: WHITELIST=<filename>

Specifies which file contains the system-wide whitelist. The format of the file is one entry per row where each entry consists of two or optionally three tab-separated fields. The first field is the sender or source address, the second field the action and the third optional field is either SOURCEADDR or DESTADDR to specify the type of address to be whitelisted. If the type of address is omitted it defaults to SOURCEADDR.

Possible values for action are: OK or LOG. Lines beginning with “#” are not processed.

Example:

070123456<TAB>OK<TAB>DESTADDR
070654321<TAB>LOG

Introduced in EMG 2.0

Connector options

ACCESS

Syntax: ACCESS=<string>

Access control

Only valid for incoming connectors. Specifies which host(s) or subnet(s) are allowed to make connections to the connector.

Example:

# Only permit connections from the host 192.168.0.1
ACCESS=192.168.0.1/32
# Only permit connections from the subnets 10.2 and 10.3.1 ACCESS=10.2.0.0/16,10.3.1.0/24

ADDRESS

Syntax: ADDRESS=<string>

For protocol EBE, the value is the program to be executed (including the full path to the program).

For protocol HTTP, the value is a URL to be called.

For all other protocols, the value is the IP address (IPv4 or IPv6) host and port separated with a “:”. IPv6 addresses must be surrounded by brackets.

Starting with EMG 7.2.0, for URLs and IP addresses, multiple addresses can be given by separating them by a pipe character.

Examples:

ADDRESS=/opt/emg/bin/report.sh
ADDRESS=localhost:7186
ADDRESS=[::1]:80
ADDRESS=http://www.example.com/sender/

IPv6 support introduced in EMG 5.5.

ADDRESSRANGE

Syntax: ADDRESSRANGE=<integer>

Specifies the address_range parameter for SMPP bind operations.

Applies to: SMPP (Outgoing)

See also: AUTHNPI, AUTHTON

ALLOW_INJECT_DLR

Syntax: ALLOW_INJECT_DLR

Specifies that delivery reports are allowed to be injected via the connector.

Applies to: MGP, HTTP, SMTP (Incoming)

ALLOW_MULTIPLE_RECIPIENTS

Keep MMS with multiple recipients as a single message.

Introduced in EMG 7.2.7.

ALLOW_QPRIORITY

Syntax: ALLOW_QPRIORITY

Specifies that QPRIORITY MGP option is allowed on the connector.

Applies to: MGP, HTTP (Incoming)

Introduced in EMG 7.1.8.

ALLOWROUTE

Syntax: ALLOWROUTE

When specified, non-admin users will be allowed to specify a message-specific route via the ROUTE keyword.

Applies to: MGP, HTTP, SMTP (Incoming)

AUTHCODE

Syntax: AUTHCODE=<string>

Sets the field AC (authentication code originator) in the UCP submit operation.

Applies to: UCP (Outgoing, operation 51)

AUTHNPI

Syntax: AUTHTON=<integer>

Number-Plan Indicator (NPI) for the authentication operation.

Applies to: SMPP (Outgoing), UCP (Outgoing, operation 60)

See also: AUTHTON

AUTHTON

Syntax: AUTHTON=<integer>

Type Of Number (TON) for the authentication operation.

Applies to: SMPP (Outgoing), UCP (Outgoing, operation 60)

See also: AUTHNPI

AUTOMATICTONNPI

Syntax: AUTOMATICTONNPI

When specified EMG will try to determine correct TON and NPI for source address based on the address format.

TON/NPI is determined according to the following rules:

If any character is not numeric or “+”, then it’s alphanumeric.
If address length <=5 then it’s a shortcode.
Otherwise it’s “unknown”, which will then fall back on default values if defined.

Alphanumeric TON/NPI = 5/0
Shortcode TON/NPI = 3/0
Default TON/NPI = 1/0

The TON/NPI value used by this option can be modified using the AUTOMATICTONNPI_*_TON/NPI keywords.

Applies to: Outgoing messages

AUTOMATICTONNPI_ALPHANUMERIC_NPI

Syntax: AUTOMATICTONNPI_ALPHANUMERIC_NPI=<integer>

Introduced in EMG 3.0.

AUTOMATICTONNPI_ALPHANUMERIC_TON

Syntax: AUTOMATICTONNPI_ALPHANUMERIC_TON=<integer>

Introduced in EMG 3.0.

AUTOMATICTONNPI_DEFAULT_NPI

Syntax: AUTOMATICTONNPI_DEFAULT_NPI=<integer>

Introduced in EMG 3.0.

AUTOMATICTONNPI_DEFAULT_TON

Syntax: AUTOMATICTONNPI_DEFAULT_TON=<integer>

Introduced in EMG 3.0.

AUTOMATICTONNPI_SHORTCODE_NPI

Syntax: AUTOMATICTONNPI_SHORTCODE_NPI=<integer>

Introduced in EMG 3.0.

AUTOMATICTONNPI_SHORTCODE_TON

Syntax: AUTOMATICTONNPI_SHORTCODE_TON=<integer>

Introduced in EMG 3.0.

BATCH_USER_UPDATES

Tells EMG to update the entries in the emguser table at most once per second, or when the SQL command would get longer than about 1024 characters.

Introduced in EMG 7.2.6.

BINARYMAPPING

Syntax: BINARYMAPPING

Specifies that MAPPING files should be applied to binary messages. This is generally a bad idea.

Introduced in EMG 5.

BILLING_PREFIX

Syntax: BILLING_PREFIX=<string>

Specifies a prefix to be added to the SMPP field “billing_id”, when present.

Applies to: SMPP

Introduced in EMG 6.

BLACKLIST

Syntax: BLACKLIST=<filename>

Specifies which file contains the connector-specific blacklist.

The format is same as for the general keyword BLACKLIST.

Introduced in EMG 2.0

CACHE_USER_READS

Tells EMG to only reload the data for each user from the emguser table at most once per second.

Introduced in EMG 7.2.6.

CDMA

Syntax: CDMA

When specified, contatenated message UDH will always be added to binary messages even if only they consist of only one part. This is required for correct functionality when using a CMDA SMSC.

CDMA_NO_PORTS

Syntax: CDMA_NO_PORTS

Suppress port information from the message payload.

CMR

Syntax: CMR

Enables Concatenated Message Routing (CMR) for the connector. CMR is used for ensuring that different parts of the same concatenated message is routed via the same connector. This is sometimes necessary in order for the receiving phone to be able to reassemble the message correctly.

CSM

Syntax: CSM, CSM=0, or CSM=1

Starting with EMG 7.2.0, the connectivity management was rewritten. It only uses one thread per connection instead of previously two, and uses much less CPU for incoming connectors with multiple instances.

Default: CSM=0

DCS_FOR_IA5

Syntax: DCS_FOR_IA5=n

Set the DCS value for IA5 messages. Default 1.

Introduced in EMG 7.1.10.

DCS_FOR_LATIN1

Syntax: DCS_FOR_LATIN1=n

Set the DCS value for Latin1 messages. Default 3.

Introduced in EMG 7.1.10.

DEFAULT_CHARCODE

Syntax: DEFAULT_CHARCODE=<string>

Default value for the character code. This is normally a bad idea, and using DEFAULT_CHARCODE_TEXT is often much better.

DEFAULT_CHARCODE_TEXT

Syntax: DEFAULT_CHARCODE_TEXT=<string>

Charcode used for incoming messages on the connector, when the value is specified as “default” or “unknown”. It is also used to select the encoding for outgoing text messages. This is a better method than using mapping files.

Valid values: LATIN1, IA5, UTF8 and UCS2. UTF8 is only valid for DLL, EBE and HTTP, and UCS2 is only valid for DLL and EBE.

Introduced in EMG 7.1.

DEFAULT_DESTADDRNPI

Syntax: DEFAULT_DESTADDRNPI=<integer>

Default value for destination address (recipient) NPI.

DEFAULT_DESTADDRNPI_IN

Syntax: DEFAULT_DESTADDRNPI_IN=<integer>

Same as DEFAULT_DESTADDRNPI but applies to recieved messages.

DEFAULT_DESTADDRTON

Syntax: DEFAULT_DESTADDRTON=<integer>

Default value for destination address (recipient) TON

DEFAULT_DESTADDRTON_IN

Syntax: DEFAULT_DESTADDRTON_IN=<integer>

Same as DEFAULT_DESTADDRTON but applies to recieved messages.

DEFAULT_DLR

Syntax: DEFAULT_DLR=<integer>

Default value for delivery receipt (DLR)

DEFAULT_DLR_IN

Syntax: DEFAULT_DLR_IN=<integer>

Default value for delivery receipt (DLR) for received messages.

DEFAULT_DLR_OUT

Syntax: DEFAULT_DLR_OUT=<integer>

Default value for delivery receipt (DLR) for sent messages.

DEFAULT_DLRADDRESS

Syntax: DEFAULT_DLRADDRESS=<string>

Specifies a default address for delivering DLRs.

Applies to: MM7

Introduced in EMG 3

DEFAULT_MSGTYPE

Syntax: DEFAULT_MSGTYPE=<string>

Specifies the default message type for messages received over the connector.

Valid values are “NORMAL” (for SMS), “EMAIL” and “MMS”.

Default value is NORMAL.

DEFAULT_NT

Syntax: DEFAULT_NT=<integer>

Set default value for UCP option NT when the field is empty in the received UCP pdu.

DEFAULT_PROTOCOLID

Syntax: DEFAULT_PROTOCOLID=<integer>

Set default value for protocol id (GSM 3.40 TP-PID).

DEFAULT_QPRIORITY

Syntax: DEFAULT_QPRIORITY=<integer, 1-5>

Default queue priority for messages in EMG. The lower the value the higher priority. When queued messages are processed, a message with higher priority is always transmitted before messages with lower priority. If no priority is specified a priority of 3 is assigned.

DEFAULT_SMSCOP

Syntax: DEFAULT_SMSCOP=<string>

Default value for SMSC operation

ProtocolValueOperation used
SMPP1submit_sm (default for SMPP 3.3)
SMPP2data_sm (default for SMPP 3.4)
HTTP1GET
HTTP3POST (default)

DEFAULT_SOURCEADDR

Syntax: DEFAULT_SOURCEADDR=<string>

Default value for source address (sender)

DEFAULT_SOURCEADDRNPI

Syntax: DEFAULT_SOURCEADDRNPI=<integer>

Default value for source address (sender) number plan indicator (NPI).

DEFAULT_SOURCEADDRNPI_IN

Syntax: DEFAULT_SOURCEADDRNPI_IN=<integer>

Same as DEFAULT_SOURCEADDRNPI but applies to received messages.

DEFAULT_SOURCEADDRTON

Syntax: DEFAULT_SOURCEADDRTON=<integer>

Default value for source address (sender) type of number (TON).

DEFAULT_SOURCEADDRTON_IN

Syntax: DEFAULT_SOURCEADDRTON_IN=<integer>

Same as DEFAULT_SOURCEADDRTON but applies to received messages.

DEFAULT_VP

Syntax: DEFAULT_VP=<integer>

Default value for validity period (in seconds).

See also: FORCE_VP

DELAYFIRSTMESSAGE

Syntax: DELAYFIRSTMESSAGE=<integer>

Specifies a delay (in seconds) to be imposed before first message is sent over a connection.

Introduced in EMG 3.0.5.

DESTFULLNAME

Syntax: DESTFULLNAME=<string>

Specifies a default full name for destination address.

Applies to: SMTP (outgoing)

DISABLE_UCS2_DOWNGRADE

Syntax: DISABLE_UCS2_DOWNGRADE

If possible, EMG will downgrade message from USC2 to IA5 before sending message. This keyword will prevent the downgrade and make EMG use UCS2 for the message.

DLL_IGNORE_TRANSPORT_STATUS

Make dll connectors always run second pass regardless of transport (http) status.

Introduced in EMG 7.1.6.

DLR_ERR_HEX

Syntax: DLR_ERR_HEX

Treat the error code “err” in SMPP delivery receipts as a hex value.

Applies to both sent and received delivery reports.

DLREXPIRES

Syntax: DLREXPIRES=<integer>

Specifies the time, in seconds, before a DLR entry expires.

Default: 262800 (73 hours)

DLR_EXPIRES_ERROR

Syntax: DLR_EXPIRES_ERROR=<integer>

Connector-specific version of general keyword DLR_EXPIRES_ERROR.

DLR_EXPIRES_STATUS

Syntax: DLR_EXPIRES_STATUS=<string>

Connector-specific version of general keyword DLR_EXPIRES_STATUS.

DLR_FAILOVER

Syntax: DLR_FAILOVER=<connector name>

Forward a received delivery report to another EMG node if the dlr lookup fails on the current node. This is used by the High Availability setup number 2.

Introduced in EMG 6.0.8.

DLR_IDSTRIP

Syntax: DLR_IDSTRIP=<integer>

Specified number of characters to strip from dlr id in a received delivery report.

Introduced in EMG 6.0.8.

DLR_IGNORE_RECEIPTED_MESSAGE_ID

Syntax: DLR_IGNORE_RECEIPTED_MESSAGE_ID=<integer>

By default, or if this option is explicitly set to 0, the SMPP field receipted_message_id (tag 0x001e) in a delivery report takes priority over the message id found in the message body. When this option is present or set to 1, the receipted_message_id field is ignored. This is useful in situations where the format of these two fields differ, and the message body contains the correct id.

Applies to: SMPP

Introduced in EMG 7.1.4.

DLR_SUPPORT

Syntax: DLR_SUPPORT=<integer>

Specifies whether remote entity is expected to send back delivery reports. If not supported (DLR_SUPPORT=0), EMG will generate a delivery report even if the message is forwarded successfully.

Default: 0 (EBE, HTTP, MGP, SMTP, incoming UCP), 1 (other protocols)

Introduced in EMG 5.2.19.

DLR_TEXT_FORMAT

Syntax: DLR_TEXT_FORMAT=<integer>

Specifies the format used for delivery reports sent by EMG. All formats are automatically recognized by EMG, for incoming delivery reports.

ValueFormat
0id, sub, dlvrd, submit date, done date, stat:, err:, text:
1id, submit date, done date, stat, err
2id, submit date, done date, stat, err, text
3id, submit date, done date, stat
4id, submit date, done date, stat, text
5id, sub, dlvrd, done date, stat, err
6id, sub, dlvrd, done date, stat, err, text
7same as 2, but year as YYYY, and the times include seconds

Applies to: SMPP

Default: 0

Introduced in EMG 5.5.

DLRIGNOREKEYWORD

Syntax: DLRIGNOREKEYWORD

Ignore message id and only compare source and destination address when searching for DLR.

Use of this keyword is stronly disencouraged since it will cause a linear search and have a severe impact on performance.

DLRMINMATCHLENGTH

Syntax: DLRMINMATCHLENGTH=<integer>

Minimum number of characters of address (starting from the end) that must match when matching DLRs.

Default value: 3

Introduced in EMG 2.5b.

DLR_TO_SAME_IP

Send delivery reports back to the IP address the original message arrived from. It requires CSM to be set for the connector.

Introduced in EMG 7.2.3.

DOMAIN

Syntax: DOMAIN=<string>

If an address does not contain a domain part when being sent out over an SMTP connector the specified domain name is added.

Applies to: SMTP (outgoing)

ENABLE_MESSAGEBODY

Override the global DISABLE_MESSAGEBODY option, for this particular connector.

Introduced in EMG 7.2.7.

ENABLE_MESSAGEOPTION

Override the global DISABLE_MESSAGEOPTION option, for this particular connector.

Introduced in EMG 7.2.7.

ERRORCODE_MAP

Syntax: ERRORCODE_MAP=<filename>

Used to map error/reason codes in delivery reports to custom values.

It must point to a file with from and to value specified in two columns separated by tab. Values must be decimal values (base 10).

Introduced in EMG 5.5.1

ESMCLASS_CLEARMASK

Syntax: ESMCLASS_CLEARMASK=<integer>

A bitmask corresponding to the bits that should be cleared in the esm_class field in incoming messages.

Applies to: SMPP.

Example: ESMCLASS_CLEARMASK=3. This clears the message mode bits, indicating datagram, transaction, or store-and-forward.

Default value: 0.

FAILOVER

Syntax: FAILOVER=<string>

Specifies an alternate connector to use if an error is received for a specific message in response to the submit operation. The message is then re-routed to the specified connector.

Applies to: All protocols

Introduced in EMG 3.0.16

FAILOVER_ALL

Syntax: FAILOVER_ALL=<string>

Specifies an alternate connector to use if connector goes into “error” state. All messages in queue will be re-routed to the specified connector.

Applies to: All protocols

Introduced in EMG 3.0.17

FAILOVER_ALL_TO_SELF

Syntax: FAILOVER_ALL_TO_SELF

Prevent message from being re-routed to another connector when connector goes into “error” state. This can be useful if address-based routing is used but address is rewritten after routing has been performed and a re-route therefore would cause the message to be re-routed incorrectly.

Applies to: All protocols

Introduced in EMG 5.2.19

FIRST_TRN

Syntax: FIRST_TRN=<integer>

Specifies that another transaction number should be used instead of the default. Applies to SMPP connectors that connect to a remote entity that requires a certain transaction number for the first transaction.

FORCE_CHARCODE

Syntax: FORCE_CHARCODE=<integer>

Replaces character code on the message with the specified value. The message contents itself is not changed, so it mostly lead to incorrectly shown messages. Its usage is therefore highly discouraged. Please consider using DEFAULT_CHARCODE_TEXT instead.

Values:

0SMSC specific
1GSM 7 bit, IA5.
28 bit binary data
3ISO-8859-1, LATIN1
4UCS2

FORCECLOSE

Syntax: FORCECLOSE

Specifies that the connection should be closed after the current request.

Applies to: HTTP

FORCE_DCS

Syntax: FORCE_DCS=<integer>

This option should most likely not be used. To set the DCS used for text messages only, use FORCE_DCS_TEXT.

FORCE_DCS_TEXT

Syntax: FORCE_DCS_TEXT=<integer>

Force the DCS value for outgoing messages with CHARCODE set to IA5 (1) or LATIN1 (3).

FORCE_DESTADDR

Syntax: FORCE_DESTADDR=<string>

If present, the specified message destination address will be set to this value even if already present in the message.

FORCE_DESTADDR_IN

Syntax: FORCE_DESTADDR_IN=<string>

Same as FORCE_DESTADDR but applies to received messages.

FORCE_DESTADDRNPI

Syntax: FORCE_DESTADDRNPI=<integer>

If present the specified message destination address number plan indicator (NPI) will be set to this value even if already present in the message.

Introduced in EMG 2.4b.

FORCE_DESTADDRNPI_IN

Syntax: FORCE_DESTADDRNPI_IN=<string>

Same as FORCE_DESTADDRNPI but applies to received messages.

FORCE_DESTADDRTON

Syntax: FORCE_DESTADDRTON=<integer>

If present the specified message destination address type of number (TON) will be set to this value even if already present in the message.

Introduced in EMG 2.4b.

FORCE_DESTADDRTON_IN

Syntax: FORCE_DESTADDRTON_IN=<string>

Same as FORCE_DESTADDRTON but applies to received messages.

FORCE_DESTPORT_IN

Syntax: FORCE_DESTPORT_IN=<integer>

Set destination port (UDH) of received messages to the specified value.

Introduced in EMG 3.0.16

FORCE_DLR

Syntax: FORCE_DLR=<integer>

Specifies that DLRs should always be requested regardless what is set in the message received.

FORCE_DLR_IN

Syntax: FORCE_DLR_IN=<integer>

Specifies that DLRs should always be requested regardless what is set in the message received.

Applies to received messages.

FORCE_DLR_OUT

Syntax: FORCE_DLR_OUT=<integer>

Specifies that DLRs should always be requested regardless what is set in the message received.

Applies to sent messages.

FORCE_MESSAGE

Syntax: FORCE_MESSAGE=<string>

Replaces message body with the specified string.

FORCE_PRIORITY

Syntax: FORCE_PRIORITY=<integer>

Replaces message priority with the specified value.

FORCE_PROTOCOLID

Syntax: FORCE_PROTOCOLID=<integer>

Replaces message protocol id (GSM 3.40 TP-PID) with the specified value.

FORCE_REPLACEIFPRESENT

Syntax: FORCE_REPLACEIFPRESENT=<integer>

Override SMPP field “replace_if_present”.

Introduced in EMG 7.1.4.

FORCE_SERVICETYPE

Syntax: FORCE_SERVICETYPE=<string>

Replaces message service type with the specified service type on messages sent over the connector.

FORCE_SERVICETYPE_IN

Syntax: FORCE_SERVICETYPE_IN=<string>

Same as FORCE_SERVICETYPE but applies to messages received over the connector.

FORCE_SOURCEADDR

Syntax: FORCE_SOURCEADDR=<string>

If present the specified message source address will be set to this value even if already present in the message.

FORCE_SOURCEADDR_IN

Syntax: FORCE_SOURCEADDR_IN=<string>

Same as FORCE_SOURCEADDR but applies to received messages.

FORCE_SOURCEADDRNPI

Syntax: FORCE_SOURCEADDRNPI=<integer>

If present the specified message source address number plan indicator (NPI) will be set to this value even if already present in the message.

Introduced in EMG 2.4b.

FORCE_SOURCEADDRNPI_IN

Syntax: FORCE_SOURCEADDRNPI_IN=<integer>

Same as FORCE_SOURCEADDRNPI but applies to received messages.

FORCE_SOURCEADDRTON

Syntax: FORCE_SOURCEADDRTON=<integer>

If present the specified message source address type of number (TON) will be set to this value even if already present in the message.

Introduced in EMG 2.4b.

FORCE_SOURCEADDRTON_IN

Syntax: FORCE_SOURCEADDRTON_IN=<integer>

Same as FORCE_SOURCEADDRTON but applies to received messages.

FORCE_SOURCEPORT_IN

Syntax: FORCE_SOURCEPORT_IN=<integer>

Set source port (UDH) of received messages to the specified value.

Introduced in EMG 3.0.16

FORCE_VP

Syntax: FORCE_VP=<integer> or blank

Force the validity period to be set to the specified value (seconds) for all messages received through the connector. To compare with the DEFAULT_VP which sets the validity period for the message only if it is missing.

From EMG 5.2.8, if no value is specified (“FORCE_VP=”) any existing VP information on the message received will be removed.

Introduced in EMG 1.0n as VP, changed to FORCE_VP in EMG 2.4.

See also: DEFAULT_VP

GSMNOSCA

Syntax: GSMNOSCA

SCA (Service Center Address) should not be included in PDU. Needed for some GSM devices.

GSMNOSCA_IN

Tell EMG that there is no SCA in the incoming PDU.

Introduced in EMG 7.1.7.

GSMSTORE

Syntax: GSMSTORE=<string>

Specifies what kind of storage should be used for messages. Ericsson devices store messages in memory and require GSMSTORE=ME.

HEXID

Syntax: HEXID=<integer, 0 or 1>

In SMPP 3.3 message ids are returned in submit_sm_resp operations as a hexadecimal value while in SMPP 3.4 message ids are alphanumeric. However, some SMSCs do not comply with that or are configurable. Using this behavior it is possible to toggle how EMG should treat the message ids.

Applies to: SMPP

Introduced in EMG 3.

IDLETIMEOUT

IDLETIMEOUT=<integer>

Idle timeout (in seconds). When connector has been idle for the specified period of time the connector is disconnected. If a value of 0 is specified this feature is disabled and the connector will not timeout. Please note however that the connector will detect if the remote peer is disconnected by for example a network timeout.

Default values:
10 seconds (outgoing)
60 seconds (incoming)

IGNOREMAXTOTALQUEUESIZE

Syntax: IGNOREMAXTOTALQUEUESIZE

INHERIT

Syntax: INHERIT=<string>

Used to specify that connector options should be inherited from another connector (parent). A connector is only allowed to inherit from one other connector. If a connector option is present for the child connector then the parent is ignored for that keyword. Options which can occur multiple times, for example PLUGIN, are instead taken from both the current connector and all parents it inherits from.

Introduced in EMG 3.

See also: VIRTUAL

INITSTRING

Syntax: INITSTRING=<string>

Modem initialization string (AT-command sequence).

For dial-up connectors using a modem, this keyword can be used to specify a command string to be sent to the modem before the AT dial command is sent.

INSTANCES

Syntax: INSTANCES=<integer, 0-999>

Number of instances for connector

A connector can exist in zero or more instances. Zero instances means the connector is dead. When a message is being sent via a connector any of the instances can be used. Normally you would specify 1 to get one instance of an outgoing connector until there is a specific reason to change this. Incoming connectors need to be available in more than one instance if you want to be able accept multiple connections simultaneously.

Please note that each connector instance will use one or two threads each, and that the total number of threads available in the operating system will be limited.

INTERFACEVERSION

Syntax: INTERFACEVERSION=<string>

Protocol version for the interface.

Values:
SMPP: “33”, “34” or “50” for SMPP 3.3, 3.4 and 5.0 respectively.

Default values:
SMPP: “34”
MM7: “REL-5-MM7-1-2”.

KEEPALIVE

Syntax: KEEPALIVE=<integer>

Time (in seconds) between keepalive packets.

Only valid for outgoing connections. Specifies how often keepalive packets should be sent to avoid connection timeout on a static connection. The value must be smaller than the IDLETIMEOUT value.

See also: STATIC

LIBRARY

Syntax: LIBRARY=<filename>

Used for customized connector implementations.

Applies to: Protocol DLL

Introduced in EMG 3.

LOCALDOMAINS

Syntax: LOCALDOMAINS=<string>

Specifies one or more domains handled by EMG and will be used together with keyword LOCALIPS to determine whether relaying is allowed or not.

Multiple occurrences are allowed.

Applies to: SMTP (incoming)

Introduced in EMG 3.

LOCALIPS

Syntax: LOCALIPS=<string>

Specifies one or more IP addresses to be considered local and will be used together with keyword LOCALDOMAINS to determine whether relaying is allowed or not.

Multiple occurrences allowed.

Applies to: SMTP (incoming)

Introduced in EMG 3.

LOGLEVEL

Syntax: LOGLEVEL=<string>

Log level for connector-specific entries in general log file.

Values: DEBUG2, DEBUG, INFO, WARNING, ERROR, CRITICAL

See also: LOGPDU

LOGMESSAGE

Syntax: LOGMESSAGE=<integer>

Specifies that the message data, or part of the message data, should be logged to the connector log file. By default only the length of message is logged to the connector log file, not the contents.

The message data is hex encoded in the log file.

LOGPDU

Syntax: LOGPDU

At log level DEBUG or DEBUG2, the protocol data units that are sent and received by the connectors are logged to files with the names pdu.<connectorname>, in the log directory. Set the LOGPDU option to enable this log at other log levels.

Introduced in EMG 3.

LONGMESSAGE

Syntax: LONGMESSAGE=<integer, 0-255>

Number of messages a long message (longer than MESSAGELENGTH, default 160 septets) can be split into.

Default value: 4

Only valid for outgoing connectors.

LONGMODE

Syntax: LONGMODE=<string>

How to handle messages that exceed the maximum message length.

The maximum length of a message is the value of MESSAGELENGTH times the value of LONGMESSAGE. If a message exceeds that length it can either be truncated or rejected.

Values: REJECT, TRUNCATE

Default value: TRUNCATE

Only valid for outgoing connectors.

MAPPING

Syntax: MAPPING=<filename>

Specifies a file containing a character mapping. Most of the time, using DEFAULT_CHARCODE_TEXT is a better solution.

MASQUERADE

Syntax: MASQUERADE=<string>

Introduced in EMG 3.

MAX_VP

Syntax: MAX_VP=<integer>

The maximum value for the validity period on outgoing messages. Lower values are not affected.

Introduced in EMG 7.1.

MAXFAILEDCONNECTS

Syntax: MAXFAILEDCONNECTS=<integer>

Number of connection attempts before the connector changes to state ERROR.

See also: RETRYTIME, MAXFAILEDSLEEP

MAXFAILEDSLEEP

Syntax: MAXFAILEDSLEEP=<integer>

Time (in seconds) to sleep in state ERROR.

Default: 60

See also: RETRYTIME, MAXFAILEDCONNECTS

MAXMESSAGELENGTH

Syntax: MAXMESSAGELENGTH=<integer>

Specifies the maximum length of a message that will be accepted. Messages longer will be rejected with the SMTP error code 552.

Default value: 30000 bytes

Applies to: SMTP (incoming)

MAXQUEUESIZE

Syntax: MAXQUEUESIZE=<integer>

Specifies the maximum number of entries in queue for a connector before it is considered unavailable.

Introduced in EMG 7.

MAXQUEUESIZE_SOFT

Syntax: MAXQUEUESIZE_SOFT=<integer>

Specifies the maximum number of entries in queue for a connector before new entries are throttled (response delayed).

Introduced in EMG 7.

MAXTRIES

Syntax: MAXTRIES=<integer>

Specifies the maximum number of times delivery may fail before message is considered undeliverable.

Default value: 0 (unlimited tries)

Introduced in EMG 2.5.

MERGE

Syntax: MERGE

Tells EMG to merge parts of a concatenated message into a long message when it’s being sent.

Introduced in EMG 4.0.

MERGE_IN

Syntax: MERGE_IN

Tells EMG to merge messages when they are being received.

Introduced in EMG 7.2.2.

MESSAGEID_PREFIX

Syntax: MESSAGEID_PREFIX=<string>

Specifies which message id prefix will be handled by remote entity. Used in raw multi-proxy mode to route cancel/delete/replace operations to the correct SMSC.

Applies to: Outgoing SMPP connector in raw proxy mode

MESSAGELENGTH

Syntax: MESSAGELENGTH=<integer>

Specifies the length of a message.

Default value: 160

Applies to: CIMD2, SMPP, UCP/EMI, only valid for outgoing connectors.

See also: LONGMESSAGE, LONGMODE

MESSAGEMODE

Syntax: MESSAGEMODE=<string>

Introduced in EMG 3.

MESSAGES_PER_REQUEST

Syntax: MESSAGES_PER_REQUEST=<integer>

Only used for outgoing HTTP.

Introduced in EMG 3.

MIMEBOUNDARY

Syntax: MIMEBOUNDARY=<string>

Introduced in EMG 3.

MMS_TEXT_CHARSET

Syntax: MMS_TEXT_CHARSET=<string>

Introduced in EMG 3.

MODE

Syntax: MODE=<string>

Specifies whether a connector should be allowed to transmit (TX), receive (RX) or both transmit and receive (TRX) messages.

A connector that receives a message but is only permitted to transmit messages will reject the operation.

If a message is put in the connector queue for a connector that is only allowed to receive message the message will simply remain in the queue.

For SMPP 3.3 connectors this keyword determines whether a bind_transmitter or bind_receiver will be issued during login. For TX and TRX bind_transmitter will be used, for RX bind_receiver.

Values: RX, TX, TRX

Default value: TRX

Introduced in EMG 1.0l.

MODEM

Syntax: MODEM=<string>

Used for outgoing, dial-up connectors. Specifies the tty (without the leading `/dev/’) to use for dialing when making a connection.

MODEM_BPS

Syntax: MODEM_BPS=<integer>

Bit rate (bps) between server and GSM modem.

Default value: 9600

Introduced in EMG 3.0.17.

MSGDELAY

Syntax: MSGDELAY=<integer>

Delay between messages (in tenth of a second).

Used to specify that a delay should be applied after a message has been sent. This can be useful or even required for low-performance links, modem connections etc.

MSGRETRYTIME

Syntax: MSGRETRYTIME=<integer>

Introduced in EMG 3.

NOBINARYMAPPING

Syntax: NOBINARYMAPPING

Suppresses messages being applied to binary messages.

See also: NOUCS2MAPPING, BINARYMAPPING, UCS2MAPPING

Introduced in EMG 2.5. From EMG 5 this is the default behaviour.

NOCHARGEFAILED

Syntax: NOCHARGEFAILED

Forces the cost for failed messages to 0. Only valid on outgoing connectors.

Introduced in EMG 3.1.

NOTIFY

for automatic notification of flooding, connection state changes and large queue sizes. Notification messages are sent using the normal EMG connectors. Examples, where “smtp-out” is an outgoing connector:

  • NOTIFY=STATECHANGE:1m:smtp-out: user@example.se
  • NOTIFY=QUEUESIZE>0:1m:smtp-out: user@example.se:SUBJECT=EMG notification
  • NOTIFY=FLOOD:1m:smtp-out: user@example.se which also needs FLOOD=5s:2 (at most 2 messages per 5 seconds).

Introduced in EMG 7.2.0.

NOUCS2MAPPING

Syntax: NOUCS2MAPPING

Suppresses messages being applied to UCS2 (Unicode 16-bit) messages.

See also: NOUCS2MAPPING, BINARYMAPPING, USC2MAPPING

Introduced in EMG 2.5. From EMG 5 this is the default behaviour.

NOUSERMESSAGEREFERENCE

Syntax: NOUSERMESSAGEREFERENCE

Suppress adding SMPP optional parameter user_message_reference when using SMPP 3.4.

Introduced in EMG 3.

OPSENTEXPIRES

Syntax: OPSENTEXPIRES=<integer>

Specifies the number of seconds to wait for a response to a sent operation before expiring the operation.

Default value: 30

OPS_MAXEXPIRED

Syntax: OPS_MAXEXPIRED=<integer>

Maximum number of operations that are allowed to expire before EMG closes the connection.

Default value: 0 (disconnect on the first expired operation).

Applies to: CIMD2, OIS, SMPP, UCP

OPS_MAXOUTSTANDING

Syntax: OPS_MAXOUTSTANDING=<integer>

Obsoleted in EMG 5. Use WINDOWSIZE instead.

OPS_MAXPENDING

Syntax: OPS_MAXPENDING=<integer>

Obsoleted in EMG 5. Use WINDOWSIZE instead.

OPS_MAXPERSESSION

Syntax: OPS_MAXPERSESSION=<integer>

Maximum number of operations to send per session. When this limit has been reached the connector will disconnect.

Applies to: CIMD2, OIS, SMPP, UCP

ORIGIN

Syntax: ORIGIN=<string>

Adds MGP option MGP_OPTION_ORIGIN with the specified value to messages received on the connector.

Introduced in EMG 3.

PARSEMESSAGE

Syntax: PARSEMESSAGE=<string>

Used to parse a message for message options. The format for the supplied string is <message option>[<separator><message option>[…]]. The message is always expected to be the last option and indicates that the rest of the message contains the message body.

Example:

PARSEMESSAGE=DESTADDR MESSAGE

When a message is received it will be expected to contain the destination address followed by a space, ` `, and then the message body. In this case the destination address in the message will override any destination address supplied in other ways. The special keyword KEYWORD can be used for keyword-based routing and will be used together with keywords optionally specified in the routing table.

Applies to: All protocols (incoming)

PASSWORD

Syntax: PASSWORD=<string>

Used for outgoing connector authentication via the connector protocol.

Applies to: All protocols (outgoing)

PLUGIN

Syntax: PLUGIN=<string>

Specifies plugins to be used for connector.

The string identifies a plugin name from a plugin definition in the configuration file.

Multiple occurrences of the PLUGIN keyword are allowed and plugins will be applied in the order they are specified. Any inherited plugin definitions will be applied before the plugins specified on the specific connector are applied.

From EMG 7.0.4 it is possible to specify multiple plugins on a single line using this syntax: PLUGIN=plugin1:arg,plugin2,plugin3

Introduced in EMG 3.

POLLRECEIVE

Syntax: POLLRECEIVE=<integer>

Time (in seconds) between message polls.

Indicates that the connector should connect periodically to allow for messages to be received over the incoming connector. This is used when EMG needs to connect to the SMSC in order to receive messages and the connection cannot be static.

Applies to: CIMD2 and SMPP (outgoing)

PRE_SPLIT

Syntax: PRE_SPLIT

Split long messages before they are processed by EMG. This will in effect cause one long message to be split into multiple messages where each message part will be assigned its own EMG message id.

If message credit handling is used messages for pre-paid customers will only be accepted if credit balance allows all message parts to be received. That is, if credits balance is 3 and a message which will be split into 2 message parts is received, and 2 recipients are specified only the message for the first recipient will be received and the other will be rejected.

Applies to: HTTP and SMTP (incoming)

Introduced in EMG 5.2.8.

PREFIX

Syntax: PREFIX=<string>

Introduced in EMG 3.

PRESERVESAR

Syntax: PRESERVESAR

Introduced in EMG 3.

PROMPT

Syntax: PROMPT=<string>

Specifies a string to be sent to the client side after connect before the protocol server starts. A newline will be added after the string.

Applies to: All protocols (incoming)

PROTOCOL

Syntax: PROTOCOL=<string>

Protocol used by the connector.

Values: CIMD2, DLL, EBE, GSM, HTTP, HTTPS, MGP, MM1, MM7, OIS, PAP, ROUTE, SMPP, SMTP, UCP

PROXY

Syntax: PROXY=<connector1>[,<connector2>[/LB|/MULTI]]

Specifies that the connector should operate in proxy mode.

Applies to: UCP or SMPP incoming, must map to SMPP outgoing

Introduced in EMG 5.2.

PROXYRAW

Syntax: PROXYRAW=<connector1>[,<connector2>[/LB|/MULTI]]

Specifies that the connector should operate in raw proxy mode.

Applies to: SMPP incoming, must map to SMPP outgoing

Introduced in EMG 5.4.

QUOTEDREPLY_SEPARATOR

Syntax: QUOTEDREPLY_SEPARATOR=<string>

Specifies separator to be used between reply and original message when using the quoted reply option.

Default: “— Original message below —“

Introduced in EMG 3.0.

QUOTEDSUBJECT

Syntax: QUOTEDSUBJECT=<string>

Indicates that when a message is going to be sent out using SMTP the message subject is part of the message. The supplied string must consist of 2 characters.

Example:

QUOTEDSUBJECT=()

Message: “(This is the subject) And here comes the message body”

Will extract the string within parenthesis from the message above and use it as the subject of the message.

Applies to: SMTP (outgoing)

Introduced in EMG 2.0

REDIRECT

Syntax: REDIRECT=<connector>

All messages routed to this connector, are instead queued on the name connector. This can be useful for redirecting delivery reports for messages received on an MGP connector.

Introduced in EMG 3.

REGEXP_DESTADDR

Syntax: REGEXP_DESTADDR=<regexp>

Rewrite destination address using a PCRE (Perl Compatible Regular Expression). Only applies to messages sent over the connector.

Introduced in EMG 3.

REGEXP_DESTADDR_IN

Syntax: REGEXP_DESTADDR_IN=<regexp>

Rewrite destination address using a PCRE (Perl Compatible Regular Expression). Only applies to messages received over the connector.

Introduced in EMG 3.

REGEXP_KEYWORD

Syntax: REGEXP_KEYWORD=<regexp>

Introduced in EMG 3.

REGEXP_MESSAGE

Syntax: REGEXP_MESSAGE=<regexp>

Rewrite message body using a PCRE (Perl Compatible Regular Expression). Only applies to messages sent over the connector.

Introduced in EMG 3.

REGEXP_SOURCEADDR

Syntax: REGEXP_SOURCEADDR=<regexp>

Rewrite source address using a PCRE (Perl Compatible Regular Expression). Only applies to messages sent over the connector.

Introduced in EMG 3.

REGEXP_SOURCEADDR_IN

Syntax: REGEXP_SOURCEADDR_IN=<regexp>

Rewrite source address using a PCRE (Perl Compatible Regular Expression). Only applies to messages received over the connector.

Introduced in EMG 3.

REJECT_EMPTY

Syntax: REJECT_EMPTY

Reject messages with an empty message body.

Introduced in EMG 3.0.3.

RELATIVE_VP

Syntax: RELATIVE_VP

Force relative time to be used in validity periods to be used (default is using absolute time).

Applies to: CIMD2, SMPP

Introduced in EMG 3.1.4.

REMOVEPREFIX

Syntax: REMOVEPREFIX=<string>

Removes prefix for destination address (DESTADDR).

The specified prefix will be removed if it exists in the destination address. It can be combined with REQUIREPREFIX and is applied before REQUIREPREFIX.

For example if REMOVEPREFIX=+ and REQUIREPREFIX=00 and the destination address is +4612345678 the `+’ will be removed and the destination address will be padded with “00”, the final destination address being 004612345678

Applies to messages sent via the connector..

REMOVEPREFIX_SOURCEADDR

Syntax: REMOVEPREFIX_SOURCEADDR=<string>

Same as REMOVEPREFIX but applies to source addresses.

Applies to messages sent via the connector.

Introduced in EMG 2.5.

REPLACEPREFIX

Syntax: REPLACEPREFIX=<string>

Specifies a sequence of source/target address rewrite patterns.

Applies to messages sent via the connector.

REPLACEPREFIX_IN

Syntax: REPLACEPREFIX_IN=<string>

Same as REPLACEPREFIX but applies to messages received.

Introduced in EMG 3.

REPLACEPREFIX_SOURCEADDR

Syntax: REPLACEPREFIX_SOURCEADDR=<string>

Same as REPLACEPREFIX but applies to source addresses.

Introduced in EMG 2.5.

REPLACEPREFIX_SOURCEADDR_IN

Syntax: REPLACEPREFIX_SOURCEADDR_IN=<string>

Same as REPLACEPREFIX_SOURCEADDR but applies to messages received.

Introduced in EMG 3.

REQUIREPREFIX

Syntax: REQUIREPREFIX=<string>

Required prefix for destination address (DESTADDR).

If specified this prefix will be added to destination addresses that do not have the prefix.

For example if REQUIREPREFIX=00 and the destination address is 4612345678 the destination address will be padded with “00”, the final destination address being 004612345678.

Only applies to messages sent via the connector.

DEPRECATION NOTICE
It is recommended to use keyword REPLACEPREFIX instead.

REQUIREPREFIX_SOURCEADDR

Syntax: REQUIREPREFIX_SOURCEADDR=<string>

Same as REQUIREPREFIX but applies to source addresses.

Only applies to messages sent via the connector.

Introduced in EMG 2.5.

DEPRECATION NOTICE
It is recommended to use keyword REPLACEPREFIX instead.

REROUTE_ON_FAIL

Syntax: REROUTE_ON_FAIL=<integer>

If sending the message fails on a connector where this option is set with a non-zero value, the message is sent back to the routing logic.

Introduced in EMG 6.0.8.

RETRYSCHEME

Syntax: RETRYSCHEME=<string>

This parameters specifies a file where a custom retry scheme can be defined for connectors. The file should contain seven columns (tab-separated):

TypeC for connector, M for message. Can be followed by a command which is either “*” (any), a numeric value or a range
ErrorError code (* = any)
RetrytimeRetry time between connect attempts (in seconds), type C
ConnectsMax connects, type C
MaxsleepMax sleep when max connects is reached (in seconds), type C
Hold delayDelay before next message try (in seconds, decimal values allowed)
Flags1 = Good message, 2 = Bad domain, 4 = Bad connector

Introduced in EMG 3.

RETRYTIME

Syntax: RETRYTIME=<integer>

Specifies the time (in seconds) to wait before trying a reconnect after a connect failure.

Default: 30

Applies to: All protocols (outgoing)

See also: MAXFAILEDCONNECTS, MAXFAILEDSLEEP

REVDLR

Syntax: REVDLR

Reverse order of source address and destination address for DLRs sent out over the connector.

Introduced in EMG 3.

REVDLR_IN

Syntax: REVDLR_IN

Reverse order of source address and destination address for DLRs received over the connector. This may sometime be necessary for DLR matching to work when remote entity sends addresses in reversed order.

Introduced in EMG 3.

ROUTE

Syntax: ROUTE=<string, connector name>

Primary connector to route messages to. This option only applies to incoming messages via that connector.

ROUTEDLR

Syntax: ROUTEDLR=<string, connector name>

Specifies to which connector DLRs should be routed.

ROUTING

Syntax: ROUTING=<filename>

Specifies a connector-specific routing file to be used.

Introduced in EMG 3.

SAT_LOGLEVEL

Set the log level for SAT related information.

Introduced in EMG 7.1.10.

SATPOOL_CREATE

Syntax: SATPOOL_CREATE=<string>

Create a SAT entry for messages being sent over the connector.

Introduced in EMG 3.

SATPOOL_CREATE_IN

Syntax: SATPOOL_CREATE_IN=<string>

Same as SATPOOL_CREATE but applies to messages received over the connector.

Introduced in EMG 3.

SATPOOL_LOOKUP

Syntax: SATPOOL_LOOKUP=<string>

Specifies one or more SAT pools to be used for SAT lookups for messages being sent over the connector.

Multiple occurances allowed.

Introduced in EMG 3.

SATPOOL_LOOKUP_IN

Syntax: SATPOOL_LOOKUP_IN=<string>

Same as SATPOOL_LOOKUP but applies to messages received over the connector.

Multiple occurances allowed.

Introduced in EMG 3.

SAVE_SMSCIDS

Syntax: SAVE_SMSCIDS

Required on sending SMPP connector for protocol conversion from UCP to SMPP when support for UCP operation 54 (modify) is required.

Introduced in EMG 5.

SCAADDR

Syntax: SCAADDR=<msisdn>

Set Service Center (SMSC) address in message PDU.

Applies to: GSM

Introduced in EMG 3.0.3.

SCAADDRNPI

Syntax: SCAADDRNPI=<integer>

Set Service Center (SMSC) address NPI in message PDU.

Applies to: GSM

Introduced in EMG 3.0.3.

SCAADDRTON

Syntax: SCAADDRTON=<integer>

Set Service Center (SMSC) address TON in message PDU.

Applies to: GSM

Introduced in EMG 3.0.3.

SENDERADDRESS

Syntax: SENDERADDRESS=<string>

Applies to: MM7

Introduced in EMG 3.

SERVICETYPE

Syntax: SERVICETYPE=<string>

Defines the default servicetype for SMPP submit_sm and data_sm operations, unless specified in the message or by FORCE_SERVICETYPE.

Applies to: SMPP

SET_DLR_TEXT

Syntax: SET_DLR_TEXT

If this connector option is set, the first 20 characters of the original message or the “text:” part of the incoming delivery report, is added as the “text:” part of the outgoing delivery report.

It can also be set by a plugin. In C:

qe_option_replace(qe, MGP_OPTION_SMPP_DLR_TEXT, "dlr text");

In Perl:

$q->{'SMPP_DLR_TEXT'} = "dlr text";

Applies to: SMPP

Introduced in EMG 5.5.

SIMULATE

Syntax: SIMULATE

Simulate connector operation. No operations are actually sent.

SMPP_ESME_TO_UCP_EC_MAP

Syntax: SMPP_ESME_TO_UCP_EC_MAP=<file>

Acision mode configuration.

For more information, please visit:
https://docs.nordicmessaging.se/emg-5-2-acision-mode/

SMPP_ESME_TO_UCP_MAP

Syntax: SMPP_ESME_TO_UCP_MAP=<file>

Acisision mode configuration.

For more information, please visit:
https://docs.nordicmessaging.se/emg-5-2-acision-mode/

SMPP_NEC_TO_UCP_MAP

Syntax: SMPP_NEC_TO_UCP_MAP=<file>

Acisision mode configuration.

For more information, please visit:
https://docs.nordicmessaging.se/emg-5-2-acision-mode/

SMPPTZ

Syntax: SMPPTZ=<string>

If specified overrides any specified timezone for SMPP time fields.

Applies to: SMPP (outgoing)

Introduced in EMG 3.

SOURCEADDR_GSM

Syntax: SOURCEADDR_GSM

Indicates that alphanumeric source addresses should be GSM encoded before used in SMPP.

Applies to: SMPP

Introduced in EMG 3.

SOURCEFULLNAME

Syntax: SOURCEFULLNAME=<string>

Specifies a “full name” to be used in “From:” address field for SMTP.

Applies to: SMTP

Introduced in EMG 3.

SSL

Syntax: SSL

Specifies that Secure Socket Layer (SSL) should be used for the connector.

Introduced in EMG 2.0

SSL_CAFILE

Syntax: SSL_CAFILE=<filename>

Specifies a file with certificates for CAs to trust for inbound SSL connections. If present, a client using a certificate issued by a CA certificate not present in the file will be rejected.

This keyword enables certificate-based authentication. The client certificate fingerprint (SHA1) can also be specified on the user (in the users file or on the user entry in database) in which case the fingerprint must also match.

The CA file is reloaded when a client connects if the file has been modified since the last connect.

Applies to: Incoming SSL connectors

SSL_KEYFILE

Syntax: SSL_KEYFILE=<filename>

Specifies the connector-specific PEM-file where key and certificate is stored for use by SSL connectors initiating connections.

Applies to: Outgoing SSL connectors

See also: Server-wide option SSL_KEYFILE

SSL_MIN_PROTO

Syntax: SSL_MIN_PROTO=[SSL3 | TLS | TLS1 | TLS1_1 | TLS1_2 | TLS1_3]

Specifies the minimum SSL version accepted on incoming connections.

Introduced in EMG 7.1.14 and 7.2.5.

SSL_PASSWORD

Syntax: SSL_PASSWORD=<string>

Specifies the password, if any, used for the key file.

See also: SSL_KEYFILE

STATIC

Syntax: STATIC

Only valid for outgoing connectors. Specifies that the connector should connect on startup and stay connected. This will usually require that keepalive packets is sent periodically to avoid connection timeout.

See also: IDLETIMEOUT, KEEPALIVE

SUBADDRESS

Syntax: SUBADDRESS=<string>

Defines the URL to use for the GET or POST operation. This keyword is no longer needed since the ADDRESS parameter understands and parses full URLs for addresses.

Example:

ADDRESS=localhost:8080
SUBADDRESS=http://localhost/cgi-bin/report.sh

Applies to: HTTP (outgoing)

SUBJECT

Syntax: SUBJECT=<string>

Sets the default subject.

Applies to: SMTP (outgoing)

SUPPRESS_EMGHEADERS

Syntax: SUPPRESS_EMGHEADERS

EMG will add “Received” headers to incoming SMTP messages unless this keyword is specified.

Applies to: SMTP (incoming)

Introduced in EMG 3

SYSTEMTYPE

Syntax: SYSTEMTYPE=<string>

Identifies the SMPP system_type field for a connector. May be involved in the authentication process for the connector.

Applies to: SMPP

TCPSOURCEIP

Syntax: TCPSOURCEPORT=<IP address>

For outgoing connectors the source IP address is set to the specified address. May be needed on a host with multiple addresses on network interfaces.

Applies to: All protocols

Introduced in EMG 3

TCPSOURCEPORT

Syntax: TCPSOURCEPORT=<integer, 0-65535>

For outgoing connectors the source port is set to the specified port. May be needed when for example an SMSC requires a specific source port for authentication.

Applies to: All protocols

THROUGHPUT

Syntax: THROUGHPUT=<integer, 1-1000>

Limits throughput for the connector in question. The value specified is the number of messages per second. A value of 0 means 0.5 messages per second.

Applies to: All protocols

Introduced in EMG 2.0

THROUGHPUT_IN

The same as THROUGHPUT, but only for incoming traffic.

THROUGHPUT_OUT

The same as THROUGHPUT, but only for outgoing traffic.

TYPE

Syntax: TYPE=<string, INCOMING | OUTGOING>

This indicates whether the connector should accept incoming connections or initiate outgoing connections. It does not tell anything about the direction of the message flow. A message can be received on an outgoing connector and vice versa. This depends on the protocol used.

UCS2MAPPING

Syntax: UCS2MAPPING

Specifies that mappings should be applied to Unicode messages. This is generally a bad idea.

Introduced in EMG 5.

UDHVIAOPTIONAL

Syntax: UDHVIAOPTIONAL

Usually UDH parameters for source port, destination port and concatenated messages is encoded into the UDH and is sent as part of the message data with the UDH indicator (UDHI) set.

However, when this option is used on a SMPP 3.4 connector these UDH parameters will be sent as optional parameters instead. Some applications that implement SMPP 3.4 require this.

Applies to: SMPP 3.4 (outgoing)

URLHANDLER

Syntax: URLHANDLER=<string>

Maps an HTTP request path to a specific function in a plugin.

The format of the string is “/prefix:/path/to/file.pl:functionname”. The keyword can be used multiple times to add multiple mappings for same connector.

Example:

CONNECTOR http-custom <
PROTOCOL=HTTP
TYPE=INCOMING
ADDRESS=127.0.0.1:8080
URLHANDLER=/receiver:/etc/emg/plugins/http_receiver.pl:do_receive 
>

This will cause a request to “http://127.0.0.1:8080/receiver” to invoke the function “do_receive” in the Perl plugin file referenced.

Introduced in EMG 5.5.

USEDELTIME

Syntax: USEDELTIME

When specified message delivery times (scheduled messages) will be enforced within the EMG server rather than passed through to the SMSC. That is, if a message has a delivery time in the future the message will be kept in the EMG queue until the time for delivery is reached, rather than the message being passed to the SMSC with a scheduled delivery time set.

USEPRIORITY

Syntax: USEPRIORITY

Indicates that the X-Priority message header should be considered for setting the priority of the message.

Applies to: SMTP (incoming)

Introduced in EMG 2.0

USERDB

Syntax: USERDB=<string>

Specifies that user information for authentication incoming connections should be retrieved using the specified database profile.

USERNAME

Syntax: USERNAME=<string>

Used for outgoing connector authentication via the connector protocol.

Applies to: All protocols (outgoing)

USERS

Syntax: USERS=<filename>

The users file is used for authentication of incoming connections. If the filename starts with a slash `/’ it is considered to be absolute, otherwise it is relative to $EMGDIR.

Applies to: All protocols (incoming).

The format of the file is one username/password combination per row with the fields tab-separated plus an extra optional field used as follows.

For MGP connectors:

ADMIN
User is an administrator.
CLIENTCONFIG=<string>
String will be sent to client and can be used to affect client configuration from the server side. The client does not need to respect this field.

For all connectors:

AUTHIP=<IPv4 address string>
Authenticate user based on IP address (UCP-style).
CERT_FINGERPRINT=<string>
Certificate fingerprint to match when using certificate-based authentication.
FORCE_SOURCEADDR_IN=<string>
Force the source address for all messages to the specified address.
MAXSESSIONS=<integer>
Limit maximum number of session for the specific user.
MODE=<string>
If set to “RX” for user then the connector will only receive messages from the user and not send messages.
ROUTE=<connector name>
Specify a connector that is the default route for the user.
ROUTEDLR=<connector name>
Specify a connector to which to route DLRs requested by the user.
ROUTESAT=<connector name>
Specify a connector to which to route messages after a successful SAT lookup has been performed.
ROUTING=<filename>
Specify a file containing a user-specific routing table.
SATPOOL_CREATE=<SAT pool name>
Use specified SAT pool for messages received.
THROUGHPUT=<integer>
Limit throughput (in and out) for the specific user.
THROUGHPUT_IN=<integer>
Limit throughput (in) for the specific user.
THROUGHPUT_OUT=<integer>
Limit throughput (out) for the specific user.

USESENDER

Syntax: USESENDER

Indicates that the message sender should be used as part of the message. The sender will be inserted before the message subject and body.

Applies to: SMTP (incoming)

Introduced in EMG 3

USESUBJECT

Syntax: USESUBJECT

Indicates that the message subject should be used as part of the message. The subject will be inserted before the message body but after the sender (if used).

Applies to: SMTP (incoming)

Introduced in EMG 2.0

VASID

Syntax: VASID=<string>

Used for MM7 SenderIdentification.

Applies to: MM7 (outgoing)

Introduced in EMG 3

VASPID

Syntax: VASPID=<string>

Used for MM7 SenderIdentification.

Applies to: MM7 (outgoing)

Introduced in EMG 3

VIRTUAL

Syntax: VIRTUAL

Specifies that the connector should not be instantiated in EMG but only used as a template for inheritance.

See also: INHERIT

Introduced in EMG 3

WAITBEFORECONNECT

Syntax: WAITBEFORECONNECT=<integer>

The number of tenths of a second to wait before connecting.

Introduced in EMG 3

WAITDELAY

Syntax: WAITDELAY=<integer>

Delay after connect (in seconds).

Applies to: All protocols (outgoing)

WAITFOR

Syntax: WAITFOR=<string>

Wait for specified prompt after connect.

Applies to: All protocols (outgoing)

WHITELIST

Syntax: WHITELIST=<filename>

Specifies which file contains the connector-specific whitelist.

Format is same as for general keyword WHITELIST.

Introduced in EMG 2.0

WINDOWSIZE

Syntax: WINDOWSIZE=<integer>

Specifies how many operations can be sent before a response is required. For connections with high latency this can greatly improve performance.

Default value: 1

Applies to: CIMD2, OIS, SMPP, UCP

Introduced in EMG 5.

XAUTH

Syntax: XAUTH=<mechanism>

Specifies the protocol mechanism to be used for authentication.

For the HTTP based protocols, the only valid value is BASIC. If this option is missing, options USERNAME and PASSWORD are taken from the request instead.

For SMTP, the valid values are PLAIN and LOGIN. If the EMG binaries are compiled with SSL support, you can also set CRAM-MD5.

Applies to: HTTP and SMTP.

Introduced in EMG 2.5.

XAUTHPASSWORD

Syntax: XAUTHPASSWORD=<string>

Specifies a password for protocol authentication.

Applies to: Outgoing HTTP (basic auth) and SMTP (plain/login/cram-md5)

Introduced in EMG 2.5.

XAUTHUSERNAME

Syntax: XAUTHUSERNAME=<string>

Specifies a username for protocol authentication.

Applies to: Outgoing HTTP (basic auth) and SMTP (plain/login/cram-md5)

Introduced in EMG 2.5.

Database options

Options used when specifying database profiles.

Example:

DB mysql-db1 <
TYPE=MYSQL
HOST=localhost
PORT=3306
DBNAME=emgdb
USERNAME=emguser
PASSWORD=secret
INSTANCES=4
>

ADDRESS

A more compact way of telling EMG where the database is, making it possible to use the ADDRESS=|address1|address2|…| syntax.

Example: username:password@host:port/dbname

Introduced in EMG 7.2.0.

CREDIT_SERVICE

Tells EMG to do credit updates by making a HTTP POST request to the named microservice instead of directly updating the database.

Introduced in EMG 7.2.6.

DBNAME

Syntax: DBNAME=<string>

Database name

HOST

Syntax: HOST=<string>

Hostname used when connector to database.

INSTANCES

Syntax: INSTANCES=<integer>

Specifies how many instances should be created. Each instance represents one static connection to the database server.

PASSWORD

Syntax: PASSWORD=<string>

Password used for authentication when connecting to the database.

PORT

Syntax: PORT=<integer>

Port used when connecting to database.

SOCKET

Syntax: SOCKET=<string>

Specified a socket file to be used, when using a local MySQL database without TCP/IP.

TYPE

Syntax: TYPE=<string>

Type of database.

Values:

MYSQLMySQL, used for auth and logging
MONGODBMongoDB, used for distributed message store

USERNAME

Syntax: USERNAME=<string>

Username used for authentication when connecting to the database

SAT pool options

Options used when defining SAT pools.

Example:

SATPOOL sat1 <
ADDRESSRANGE=4670001-4670010
THREADED
>

ADDRESSRANGE

Syntax: ADDRESSRANGE=<string>

The addresses to use for the pool. You can specify a comma separated list of individual numbers, a range of numbers with identical prefixes and lengths, a file name prefixed by “@”, or any combination of these. When a range is specified, the lower and the upper limit must have the exact same number of digits.

Example: ADDRESSRANGE=460001-460010,460015

EXPIRE

Syntax: EXPIRE=<integer>

The numer of minutes a source address will be reserved for a specific SAT entry. After the specified time it can be reused.

Default: 4320 (3 days)

QUOTEDREPLY

Syntax: QUOTEDREPLY=<integer>

Specifies that original message should be quoted when a reply is received via SAT. Values can be 0 (off) or 1 (on).

Default: 0 (off)

RANDOM

Syntax: RANDOM

Specifies that pool addresses should be randomized before use. The numbers are still picked in the same order, so the first message to each recipient will always use the same number, but for different recipients the pool number allocation order will be random.

THREADED

Syntax: THREADED

Indicates that SAT pool should keep track of separate message threads between same sender and receiver.

Domain options

Options used for domain-specific behavior. Can be used to minimize risk of being classified as a spammer when delivering large amount of e-mails to recipients in specific domains.

Only applies to SMTP #MX connectors.

Example:

DOMAIN yahoo.com <
MAILSPERMINUTE=10
SESSION=1
>

MAILSPERMINUTE

Syntax: MAILSPERMINUTE=<integer>

Maximum number of e-mail to send per minute for domain.

Default: 0 (unlimited)

MAILSPERSESSION

Syntax: MAILSPERSESSION=<integer>

Maximum number of e-mails to send per SMTP session.

Default: 0 (unlimited)

PORT

Syntax: PORT=<integer>

Port to use when connecting to SMTP server for domain.

Default: 25

RETRYTIME

Syntax: RETRYTIME=<integer>

Time (in seconds) to wait if the DNS lookup does not find any valid MX hosts or if it is not possible to connect to the hosts found.

Default: 300 seconds

SESSIONS

Syntax: SESSIONS=<integer>

Maximum number of simultaneous SMTP sessions for domain.

Default: 1

Plugin options

Options used when defining plugins.

Example:

PLUGIN billing <
LIBRARY=/etc/emg/plugins/billing.so
INSTANCES=2
CONFIG=/etc/emg/plugins/billing.cfg
>

CONFIG

Syntax: CONFIG=<string>

The value to be used for the second argument to create_config(). Usually it is the name of the configuration file to be used by the plugin.

CONNECTORS

Syntax: CONNECTORS=connector1, connector2, …

The string should be a list of connectors to send to the plugin hooks.

Introduced in EMG 7.2.4.

DBPROFILE

Syntax: CONFIG=<string>

Pass the information for the referenced database profile as argument 3 to create_config() method in plugin.

Sample us in a perl plugin:

my $dbname;
my $dbuser;
my $dbpasswd;
my $dbhost;
 
sub create_config
{
  my ($name, $config_param, $dbprofile) = @_;
  if(defined($dbprofile)) {
    $dbname = $dbprofile->{'dbname'};
    $dbuser = $dbprofile->{'username'};
    $dbpasswd = $dbprofile->{'password'};
    $dbhost = $dbprofile->{'host'};
  }
}

Introduced in EMG 7.1.

GENERATE_TPDU

Include a GSM encoded pdu as $request->{‘tpdu’}.

Introduced in EMG 7.1.8.

INSTANCES

Syntax: INSTANCES=<integer>

The number of threads to be used. If the plugin functions are not thread-safe set this to 1 which will make all calls serialized.

LIBRARY

Syntax: LIBRARY=<string>

The name of the shared library that implements the plugin.

If the name ends in “.pl” the plugin is considered a Perl plugin.

OFFSET

Syntax: OFFSET=<integer>

Offset for numeric result and error codes.

For result codes the specified value will be added and for error codes 2 x the value will be added.

URL

Syntax: URL=http://…, https://…, |url1|url2|…|, etc.

The URL where another application is running. This could be a microservice written in any programming language.

Connector group options

Connector groups can make routing easier, but are not yet supported by EMG Portal. Their configuration must therefore be done in the server.cfg file, and their use as routing target must be done by custom plugins.

CONNECTOR

Syntax: CONNECTOR=connectorname[:weight]

Adds a connector to the group.

For groups with TYPE=LB, the amount of traffic routed to each connector is proportional to its weight, divided by the total weight of all connectors in the group. The default weight is 1, giving equal load to each connector.

TYPE

Syntax: TYPE=[FAILOVER|LB]

The default type is FAILOVER.