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
- Connector options
- DB options
- SAT pool options
- Domain options
- Plugin options
- Connector group options
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 TC | Use TokyoCabinet. This was the default up to EMG 7.1. |
LEVELDB | Use LevelDB. This is the default in EMG 7.2. |
A database profile name | Use 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.
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:
DEBUG2 | Lowest level, volume affects performance |
DEBUG | Volume affects performance |
INFO | Default level |
WARNING | |
ERROR | Only 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
Protocol | Value | Operation used |
---|---|---|
SMPP | 1 | submit_sm (default for SMPP 3.3) |
SMPP | 2 | data_sm (default for SMPP 3.4) |
HTTP | 1 | GET |
HTTP | 3 | POST (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.
Value | Format |
0 | id, sub, dlvrd, submit date, done date, stat:, err:, text: |
1 | id, submit date, done date, stat, err |
2 | id, submit date, done date, stat, err, text |
3 | id, submit date, done date, stat |
4 | id, submit date, done date, stat, text |
5 | id, sub, dlvrd, done date, stat, err |
6 | id, sub, dlvrd, done date, stat, err, text |
7 | same 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:
0 | SMSC specific |
1 | GSM 7 bit, IA5. |
2 | 8 bit binary data |
3 | ISO-8859-1, LATIN1 |
4 | UCS2 |
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):
Type | C for connector, M for message. Can be followed by a command which is either “*” (any), a numeric value or a range |
Error | Error code (* = any) |
Retrytime | Retry time between connect attempts (in seconds), type C |
Connects | Max connects, type C |
Maxsleep | Max sleep when max connects is reached (in seconds), type C |
Hold delay | Delay before next message try (in seconds, decimal values allowed) |
Flags | 1 = 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:
| User is an administrator. |
| 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:
| Authenticate user based on IP address (UCP-style). |
| Certificate fingerprint to match when using certificate-based authentication. |
| Force the source address for all messages to the specified address. |
| Limit maximum number of session for the specific user. |
| If set to “RX” for user then the connector will only receive messages from the user and not send messages. |
| Specify a connector that is the default route for the user. |
| Specify a connector to which to route DLRs requested by the user. |
| Specify a connector to which to route messages after a successful SAT lookup has been performed. |
| Specify a file containing a user-specific routing table. |
| Use specified SAT pool for messages received. |
| Limit throughput (in and out) for the specific user. |
| Limit throughput (in) for the specific user. |
| 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:
MYSQL | MySQL, used for auth and logging |
MONGODB | MongoDB, 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.