www.nordicmessaging.se

EMG 5.5.1 - User's Guide

Table of ContentsPreviousNextIndex

15. Proxy mode

EMG 5.2 introduced the possibility to use EMG in proxy mode when using UCP ESMEs toward one or more SMPP SMSC. In EMG 5.4 we added SMPP-SMPP raw proxy mode and "multi-proxy" functionality.

Proxy mode cannot currently be used with any other protocols than UCP and SMPP.

15.1 Overview

The default behavior of EMG is to receive a message, acknowledge it to the client, and then route and forward it. That is, the client receives the response before the message is forwarded and therefore whether the message could be forwarded is not known. Usually the final status of a message is reported back by requesting a delivery report.

In proxy mode an outgoing SMPP connector will follow the state of an incoming UCP (or SMPP) connector (session tracking). When a client connects via UCP the UCP instance allocated will be mapped to a corresponding SMPP instance.

15.1.1 SMPP raw proxy

In SMPP raw proxy mode the SMPP pdus are forwarded transparently from an incoming SMPP connector to an outgoing SMPP connector. Only the "trn" field in the pdu header is rewritten to ensure unique and sequential transaction numbers throughout the session.

Keepalives (using enquire_link) are not forwarded transparently.

15.1.2 Multi-proxy

A normal proxy setup can load-balance from one incoming connector to multiple outgoing connectors on connection-level. In "multi-proxy" mode load-balancing takes place on message level. That is, when an incoming connection opens up a session on the incoming connector one connection per outgoing connector is created and the messages received are load-balanced over the connector.

If one outgoing connection fails the connection is still considered "BOUND" as long as there are other active connections. If all outgoing connections fail then the incoming will be disconnected as well.

The number of instances on each outgoing connector must be equal to or greater than the number of instances on the incoming connector.

The load-balancing mechanism is overriden by concatenated message routing (CMR) and "more messages to send" field in SMPP pdu.

In order to be able to route inbound query/cancel/replace operations to the right outgoing connector a message id prefix can be defined for the outgoing connector using keyword "MESSAGEID_PREFIX".

15.2 Scenarios

15.2.1 Normal mode

The diagram below shows how EMG handles submit operations in normal mode.

15.2.2 Proxy mode

The diagram below shows how EMG handles submit operations in proxy mode.

15.3 Configuration

In order to enable proxy mode you simply add the connector keyword "PROXY" to the incoming UCP (or SMPP) connector. The keyword must specify the SMPP connector(s) that will be used in proxy mode.

Connectors used in proxy mode should not be defined as static connectors as that will break the session tracking. The number of instances on the SMPP connector must not be less than the number of instances on the UCP connector.

15.3.1 One-to-one mapping

CONNECTOR ucp-in1 <
...
TYPE=INCOMING
INSTANCES=5
PROXY=smpp-out1
...
>

CONNECTOR smpp-out1 <
...
TYPE=OUTGOING
INSTANCES=5
...
>

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

CONNECTOR ucp-in1 <
...
INSTANCES=10
PROXY=smpp-out1,smpp-out2
...
>

CONNECTOR smpp-out1 <
...
TYPE=OUTGOING
INSTANCES=10
...
>

CONNECTOR smpp-out2 <
...
TYPE=OUTGOING
INSTANCES=10
...
>

15.3.3 One-to-many mapping (load balancing)

CONNECTOR ucp-in1 <
...
PROXY=smpp-out1,smpp-out2/LB
...
>

15.3.4 SMPP raw proxy

CONNECTOR smpp-in1 <
...
PROXYRAW=smpp-out1
...
>

15.3.5 SMPP raw multi-proxy

CONNECTOR smpp-in1 <
...
PROXYRAW=smpp-out1,smpp-out2/MULTI
...
>

CONNECTOR smpp-out1 <
...
# This SMSC uses a id prefix "1"
# Used to route query/cancel/replace operations
MESSAGEID_PREFIX=1
...
>

CONNECTOR smpp-out2 <
...
MESSAGEID_PREFIX=2
...
>

Table of ContentsPreviousNextIndex