Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
[[_esme_settings]]
= External Short Messaging Entities (ESMEs)
{this-platform} {this-application} can now act as ESME (initiate bind to remote SMSC - Client type ESME) or can also act as SMSC (accept bind from remote ESME - Server type ESME). While defining an ESME (SMPP connection), you can optionally pass the Cluster name.
If it is not passed, cluster name is same as ESME name.
As the name suggests, its now possible to group different ESMEs in the same cluster.
This is useful only when SMS is suppose to be routed out of {this-platform} {this-application} to ESME. If there are multiple ESME's in a cluster, the load is shared in a round robin fashion to send out SMS. In case if one of the ESME is in `UNBOUND` state, the next `BOUND` smpp connection (within same cluster) will be used.
The current algo for routing is the following. We have two steps:
* 1 step - selecting ESME cluster for delivering. Each cluster can contain one or more ESME. The idea of cluster usage is to have load sharing between nodes (ESMEs) inside a cluster and/or if some cluster node is unbound then SMSC GW will send messages to another cluster. SMSC GW selects the first cluster that ESME(s) fits to the conditions:
** bindType==transiever or receiver (for SERVER type) or transmitter (for CLIENT type)
** the ESME is not the ESME from which the message has come to SMSC GW
** networkID of a message == networkID of an ESME
** dest address, ton and npi of a message fit to routing address, ton and npi of ESME. The fact if this ESME is bound or not is not taken into account at this step
* 2 step - selecting of ESME in the cluster:
** selecting of ESME in the cluster that is bound (and not stopped) now. If all ESMEs are not bound in the cluster then the message will be dropped (temporary delivery failure)
In order to this algo works properly we need to specify same "routing-ton", "routing-npi" and "routing-range" parameters for all ESMEs in a cluster.
Below diagram explains the load-balancing between SMPP connections
.SMPP Load Balancing
image::images/smsc-SMPP-Loadbalancing.png[]
You can define multiple ESMEs, each with a unique name but the same `systemId` and declare their `host-ip` and `port` values as -1 (only for SMPP type Server). The SMSC will now accept multiple incoming BIND requests from any `IP` and any `port` as far as the `systemId` and `Password` matches.
Alternatively, if you declare a real value for `host-ip` (say for example 10.199.7.23) and `port` as -1, the SMSC will accept as many BINDS as ESMEs defined from the specified IP but any port as far as the `systemId` and `Password` matches.
[[_esme_settings_create]]
== Create new ESME
[[_esme_settings_create_cli]]
=== Using CLI
You can configure a new ESME by issuing the command ` smpp esme create` with appropriate parameters as described below.
----
Name
smpp esme create
SYNOPSIS
smpp esme create name password networkid
split-long-messages system-type
interface-version <3.3 | 3.4 | 5.0> esme-ton
esme-npi esme-range
cluster-name window-size
connect-timeout request-expiry-timeout
client-bind-timeout window-monitor-interval
window-wait-timeout counters-enabled
enquire-link-delay <30000> enquire-link-delay-server <0> link-drop-server <0> charging-enabled
source-ton source-npi
source-range routing-ton
routing-npi routing-range
ratelimit-second ratelimit-minute
ratelimit-hour ratelimit-day
national-language-single-shift
national-language-locking-shift
min-message-length
max-message-length
DESCRIPTION
This command is used to configure a new ESME.
PARAMETERS
Standard Parameters
Name - A unique name for this ESME configuration. You can
define as many ESMEs as you want as far as the name is
unique and the combination of
SystemId:host-ip:port:SmppBindType is unique.
System Id - This is used to identify an ESME or an SMSC at bind
time. An 'ESME system_id' identifies the ESME or ESME
agent to the SMSC. The 'SMSC system_id' provides an
identification of the SMSC to the ESME. You can define
multiple ESMEs, each with a unique name but the same
systemId to allow anonymous incoming
binds and multiple binds from the same IP depending on
the values specified for host-ip and port.
host-ip & port - If the SMSC is acting as an ESME, the BIND request will
be sent to the configured IP and Port. If the SMSC is
acting as a Server, it will accept incoming BIND
requests from the specified IP and Port.
If the port is unknown, you must pass '-1' as wild
character.
When you define multiple ESMEs with the same systemId,if
host-ip and port values are -1 (for SMPP type Server),
the SMSC will accept multiple incoming BIND requests
from any IP:port as long as the systemId and password
match.
When you define multiple ESMEs with the same systemId,if
host-ip is a real value (a specific IP) and port value
is -1, the SMSC will accept as many BINDS as ESMEs
defined from the specified IP but any port as long as
the systemId and password match.
SmppBindType - Possible values: TRANSCEIVER, TRANSMITTER or RECEIVER.
If the SMSC is acting as an ESME, it will initiate
corresponding bind. If the SMSC is acting as a Server,
it will accept corresponding bind from a remote ESME.
SmppSession.Type - Possible values: SERVER or CLIENT.
If the value is 'SERVER', the SMSC acts as a Server
listening for incoming SMPP binds.
If the value is 'CLIENT', the SMSC will initiate
SMPP bind to a remote Server.
Optional Parameters
Password - It is used by the SMSC to authenticate the identity of
the binding ESME. The Service Provider may require
ESME’s to provide a password when binding to the SMSC.
networkId - indicates virtual subnetwork that this ESME belongs. SMS
flows within same netwrokId, unless changed using mproc
(this is for multi-tenancy support). If this parameter is
skipped - networkId will be set to "0" when ESME creation.
If you do not use multi-tenancy support - set this value
to 0 or skip.
split-long-messages - long messages will be split before sending to this
ESME destination. Default value is false.
system-type - Default value is null.
This is used to categorize the type of ESME that is
binding to the SMSC.
interface-version - Default value is 3.4.
It is used to indicate the version of the SMPP protocol.
It is set in 'SMPPServer Settings'.
esme-ton - Defines ESME TON. If the SMPP Session Type is CLIENT,
this TON will be used in the BIND request. If the SMPP
Session Type is SERVER, the incoming BIND request should
have the same TON as configured here. If the configured
value is null (-1), SMSC will ignore it in both cases.
esme-npi - Defines ESME NPI. If the SMPP Session Type is CLIENT,
this NPI will be used in the BIND request. If the SMPP
Session Type is SERVER, the incoming BIND request should
have the same NPI as configured here. If the configured
value is null (-1), SMSC will ignore it in both cases.
esme-range - Defines ESME Address Range. If the SMPP Session Type is
CLIENT, this Address Range will be used in the BIND
request. If the SMPP Session Type is SERVER, the
incoming BIND request should have the same Address Range
as configured here. If the configured value is
null (-1), SMSC will ignore it in both cases.
cluster-name - If it is not specified then its same as the name.
It is possible to group different SMPP connections
together by specifying the same cluster-name.
All the SMPP connection's that are capable of sending
out SMS are candidates for grouping.
window-size - Default value is 1.
The window size is the amount of unacknowledged requests
that are permitted to be outstanding/unacknowledged at
any given time. If more requests are added, the
underlying stack will throw an exception.
This value is set only when ESME is defined as Client
side. For Server side this value is taken from the
'SMPP Server Settings'.
connect-timeout - Default value is 10000 milli seconds.
This parameter is used to specify the time within which
the connection to a remote SMSC server should be
established.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
request-expiry-timeout - Default value is -1 (disabled).
This parameter is used to specify the time to wait in
milli seconds for an endpoint to respond to before it
expires.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
client-bind-timeout - Default value is 5000 milli seconds.
This parameter is used to specify the length of time
to wait for a bind response when the client connecting.
This is useful only when ESME is defined as Client Side.
window-monitor-interval - Default value is -1 (disabled).
This parameter is used to specify the time between
executions of monitoring the window for requests that
expire. It is recommended that this value, generally,
either matches or is half the value of
'request-expiry-timeout'. Therefore, in the worst case
scenario, a request could take upto 1.5 times the
'requestExpiryTimeout' to clear out.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
window-wait-timeout - Default value is 60000 milli seconds.
This parameter is used to specify the time to wait
until a slot opens up in the 'sendWindow'.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
counters-enabled - Default value is true.
When this is enabled, SMSC exposes the statistics for
SMPP connections.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
enquire-link-delay - Default value is 30000 milli seconds.
When SMSC connects to a remote server as CLIENT, it
sends an 'ENQUIRE_LINK' after every configured
enquire-link-delay.
0 means disabled. SMSC will not send ENQUIRE_LINK.
enquire-link-delay-server - Default value is 0 milli seconds.
When SMSC connects to a remote server as SERVER, it
sends an 'ENQUIRE_LINK' after every configured
enquire-link-delay-server.
0 means disabled. SMSC will not send ENQUIRE_LINK.
link-drop-server - Default value is 0 milli seconds means disabled.
When SMSC connects to a remote server as SERVER, if it
isn't received any data after configured link-drop-server,
it will drop the esme session.
0 means disabled, SMSC will not drop smpp session.
If enquire-link-delay-server is enabled then link-drop-server
always disabled.
charging-enabled - Flag to enable or disable charging for every SMS
arriving from SIP.
source-ton - Every SMS coming into the SMSC via this ESME should have
the same 'source_addr_ton' as the value configured here.
If this configured value is null(-1) or not null and
matches, the SMSC will compare the
'source_addr_npi' and 'source_addr_range' as explained
below.
If it doesn't match, the SMSC will reject this SMS with
an error code '0x0000000A' indicating
Invalid Source Address.
source-npi - Every SMS coming into the SMSC via this ESME should have
the same 'source_addr_npi' as the value configured here.
configured here.
If this configured value is null(-1)
or not null and matches, the SMSC will compare the
'source_addr_range' as below.
If it doesn't match, the SMSC will reject this
SMS with an error code '0x0000000A' indicating
Invalid Source Address.
source-range - Every SMS coming into the SMSC via this ESME should have
the same 'source_addr_range' as the value configured
here.This is a regular java expression and
default value is ^[0-9a-zA-Z]*.
If it matches, the SMSC will accept the incoming SMS
and process further.
If it doesn't match, the SMSC will reject this
SMS with an error code '0x0000000A' indicating
Invalid Source Address.
routing-ton - The DefaultSmsRoutingRule will try to match the
'dest_addr_ton' of outgoing SMS with the value
configured here. If this configured value is null(-1)
or not null and matches, the SMSC will compare the
'dest_addr_npi' and 'destination_addr' as explained
below. If it doesn't match, the SMSC will select the
next ESME in the list for matching routing rule.
DefaultSmsRoutingRule will consider ESME for routing
only if
1) SmppBindType is TRANSCEIVER
2) SmppBindType is RECEIVER and
SmppSession.Type is SERVER
3) SmppBindType is TRANSMITTER and
SmppSession.Type is CLIENT
routing-npi - The DefaultSmsRoutingRule will try to match the
'dest_addr_npi' of outgoing SMS with the value
configured here. If this configured value is null(-1)
or not null and matches, the SMSC will compare the
'destination_addr' as below. If it doesn't match, the
SMSC will select the next ESME in the list for matching
routing rule.
DefaultSmsRoutingRule will consider ESME for routing
only if
1) SmppBindType is TRANSCEIVER
2) SmppBindType is RECEIVER and
SmppSession.Type is SERVER
3) SmppBindType is TRANSMITTER and
SmppSession.Type is CLIENT
routing-range - The DefaultSmsRoutingRule will try to match the
'destination_addr' of outgoing SMS with the value
configured here. This is a regular java expression and
default value is ^[0-9a-zA-Z]*. If it matches, the SMSC
will send the SMS out over this SMPP connection. If it
doesn't match, the SMSC will select the next ESME in
the list for matching routing rule.
DefaultSmsRoutingRule will consider ESME for routing
only if
1) SmppBindType is TRANSCEIVER
2) SmppBindType is RECEIVER and
SmppSession.Type is SERVER
3) SmppBindType is TRANSMITTER and
SmppSession.Type is CLIENT
ratelimit_second - This parameter is used to specify a maximum limit
of messages that the SMSC will accept from this ESME
during any one second.
If the ESME sends more messages (per second)
than the maximum limit specified by 'ratelimit_second',
these additional messages will be rejected by the
SMSC GW along with an error code - "throttled".
The default value for this parameter is "0" and it
implies "no restrictions". If this parameter is not
specified it implies "no restrictions".
ratelimit_minute - This parameter is used to specify a maximum limit
of messages that the SMSC will accept from this ESME
during any one minute.
If the ESME sends more messages (per minute)
than the maximum limit specified by 'ratelimit_minute',
these additional messages will be rejected by the
SMSC GW along with an error code - "throttled".
The default value for this parameter is "0" and it
implies "no restrictions". If this parameter is not
specified it implies "no restrictions".
ratelimit_hour - This parameter is used to specify a maximum limit
of messages that the SMSC will accept from this ESME
during any one hour.
If the ESME sends more messages (per hour)
than the maximum limit specified by 'ratelimit_hour',
these additional messages will be rejected by the
SMSC GW along with an error code - "throttled".
The default value for this parameter is "0" and it
implies "no restrictions". If this parameter is not
specified it implies "no restrictions".
ratelimit_day - This parameter is used to specify a maximum limit
of messages that the SMSC will accept from this ESME
during any one day.
If the ESME sends more messages (per day)
than the maximum limit specified by 'ratelimit_day',
these additional messages will be rejected by the
SMSC GW along with an error code - "throttled".
The default value for this parameter is "0" and it
implies "no restrictions". If this parameter is not
specified it implies "no restrictions".
national-language-single-shift - National language single shift table can be
configured for messages that have come via SMPP (ESME) that
do not have UDHs inside and have GSM7 encoding (DCS==0). The
default GSM data coding table is mostly used. Possible values:
= 0 : default GSM data coding table
= 13 : urdu (arabic) national language shift table
= 1 : the national language locking shift value must be
obtained from the option national-language-single-shift
that is defined at SMSC GW general level.
national-language-locking-shift - National language locking shift table can be
configured for messages that have come via SMPP (ESME) that
do not have UDHs inside and have GSM7 encoding (DCS==0). The
default GSM data coding table is mostly used. Possible values:
= 0 : default GSM data coding table
= 13 : urdu (arabic) national language shift table
= 1 : the national language locking shift value must be
obtained from the option national-language-locking-shift
that is defined at SMSC GW general level.
min-message-length - This paramter is used to specify the minimum
message length (in characters) acceptable to
the SMSC GW, for messages coming from this ESME.
If an incoming message length is less than the
min-message-length it will be rejected by SMSC GW.
The default value for this parameter is "-1" and it
implies "no limitations". Any other negative value
also implies "no limitations".
max-message-length - This paramter is used to specify the maximum
message length (in characters) acceptable to
the SMSC GW, for messages coming from this ESME.
If an incoming message length is more than the
max-message-length it will be rejected by SMSC GW.
The default value for this parameter is "-1" and it
implies "no limitations". Any other negative value
also implies "no limitations".
EXAMPLES
smpp esme create test test 127.0.0.1 -1 TRANSCEIVER SERVER password yyyy esme-range 6667
----
[[_esme_settings_create_gui]]
=== Using GUI
.Procedure: Create new ESME using GUI
. In the GUI Management Console for SMSC Gateway, click on 'ESMEs' in the left panel.
. The main panel will display the existing ESMEs (if any), one each in a row with corresponding actions (start, stop, delete, update) for each row.
Below this you will find the button 'Create ESME'.
. You can create a new ESME by launching the 'Create ESME' window by clicking on the blue coloured 'Create ESME' button.
The 'Create ESME' window will display all ESME paramters that must be defined by you.
For more details of these parameters please refer to the descriptions of the CLI commands for the same in the preceding section.
. Enter appropriate values for all the parameters and then click on the 'Create' button at the bottom of this 'Create ESME' window.
This action will create a new ESME with parameters as defined by you.
. If there is an error in defining the ESME, then you will find the details of the error in the Management Console Log section below.
[[_esme_settings_modify]]
== Modify ESME
[[_esme_settings_modify_cli]]
=== Using CLI
You can modify an existing ESME by issuing the command `smpp esme modify` with appropriate parameters as described below.
----
Name
smpp esme modify
SYNOPSIS
smpp esme modify password networkid
split-long-messages esme-ton
esme-npi esme-range window-size
connect-timeout request-expiry-timeout
client-bind-timeout window-monitor-interval
window-wait-timeout counters-enabled
enquire-link-delay <30000> enquire-link-delay-server <0> link-drop-server <0>
charging-enabled
source-ton source-npi
source-range routing-ton
routing-npi routing-range
ratelimit-second ratelimit-minute
ratelimit-hour ratelimit-day
national-language-locking-shift
national-language-single-shift
min-message-length
max-message-length
DESCRIPTION
This command is used to modify the settings of an existing ESME configuration.
PARAMETERS
Standard Parameters
Name - The name of the ESME that is being modified.
Optional Parameters
Password - Specify the new password.
It is used by the SMSC to authenticate the identity of
the binding ESME. The Service Provider may require
ESMEs to provide a password when binding to the SMSC.
The new value takes effect when SMPP is restarted.
networkId - indicates virtual subnetwork that this ESME belongs. SMS
flows within same netwrokId, unless changed using mproc
(this is for multi-tenancy support). If this parameter is
skipped - networkId will be set to "0" when ESME creation.
If you do not use multi-tenancy support - set this value
to 0 or skip.
split-long-messages - long messages will be split before sending to this
ESME destination. Default value is false.
esme-ton - Specify new ESME TON.
If the SMPP Session Type is CLIENT,
this TON will be used in the BIND request. If the SMPP
Session Type is SERVER, the incoming BIND request should
have the same TON as configured here. If the configured
value is null (-1), SMSC will ignore it in both cases.
The new value takes effect when SMPP is restarted.
esme-npi - Specify new ESME NPI.
If the SMPP Session Type is CLIENT,
this NPI will be used in the BIND request. If the SMPP
Session Type is SERVER, the incoming BIND request should
have the same NPI as configured here. If the configured
value is null (-1), SMSC will ignore it in both cases.
The new value takes effect when SMPP is restarted.
esme-range - Specify ESME Address Range.
If the SMPP Session Type is
CLIENT, this Address Range will be used in the BIND
request. If the SMPP Session Type is SERVER, the
incoming BIND request should have the same Address Range
as configured here. If the configured value is
null (-1), SMSC will ignore it in both cases.
The new value takes effect when SMPP is restarted.
window-size - Specify new window size.
Default value is 1.
The window size is the amount of unacknowledged requests
that are permitted to be outstanding/unacknowledged at
any given time. If more requests are added, the
underlying stack will throw an exception.
This value is set only when ESME is defined as Client
side. For Server side this value is taken from the
'SMPP Server Settings'.
The new value takes effect when SMPP is restarted.
connect-timeout - Default value is 10000 milli seconds.
This parameter is used to specify the time within which
the connection to a remote SMSC server should be
established.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
The new value takes effect when SMPP is restarted.
request-expiry-timeout - Default value is -1 (disabled).
This parameter is used to specify the time to wait in
milli seconds for an endpoint to respond to before it
expires.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
The new value takes effect when SMPP is restarted.
client-bind-timeout - Default value is 5000 milli seconds.
This parameter is used to specify the length of time
to wait for a bind response when the client connecting.
This is useful only when ESME is defined as Client Side.
The new value takes effect when SMPP is restarted.
window-monitor-interval - Default value is -1 (disabled).
This parameter is used to specify the time between
executions of monitoring the window for requests that
expire. It is recommended that this value, generally,
either matches or is half the value of
'request-expiry-timeout'. Therefore, in the worst case
scenario, a request could take upto 1.5 times the
'requestExpiryTimeout' to clear out.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
The new value takes effect when SMPP is restarted.
window-wait-timeout - Default value is 60000 milli seconds.
This parameter is used to specify the time to wait
until a slot opens up in the 'sendWindow'.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
The new value takes effect when SMPP is restarted.
counters-enabled - Default value is true.
When this is enabled, SMSC exposes the statistics for
SMPP connections.
This is useful only when ESME is defined as Client Side.
For Server side this value is taken from the
the 'SMPP Server Settings'.
The new value takes effect when SMPP is restarted.
enquire-link-delay - Default value is 30000 milli seconds.
When SMSC connects to a remote server as CLIENT, it
sends an 'ENQUIRE_LINK' after every configured
enquire-link-delay.
0 means disabled. SMSC will not send ENQUIRE_LINK.
The new value takes effect immediately.
enquire-link-delay-server - Default value is 0 milli seconds.
When SMSC connects to a remote server as SERVER, it
sends an 'ENQUIRE_LINK' after every configured
enquire-link-delay-server.
0 means disabled. SMSC will not send ENQUIRE_LINK.
The new value takes effect immediately.
link-drop-server - Default value is 0 milli seconds.
When SMSC connects to a remote server as SERVER, if it
isn't received any data after configured link-drop-server,
it will drop the esme session.
0 means disabled, SMSC will not drop smpp session.
If enquire-link-delay-server is enabled then link-drop-server
always disabled.
The new value takes effect immediately.
charging-enabled - Flag to enable or disable charging for every SMS
arriving from SIP.
The new value takes effect immediately.
source-ton - Every SMS coming into the SMSC via this ESME should have
the same 'source_addr_ton' as the value configured here.
If this configured value is null(-1) or not null and
matches, the SMSC will compare the
'source_addr_npi' and 'source_addr_range' as explained
below.
If it doesn't match, the SMSC will reject this SMS with
an error code '0x0000000A' indicating
Invalid Source Address.
The new value takes effect immediately.
source-npi - Every SMS coming into the SMSC via this ESME should have
the same 'source_addr_npi' as the value configured here.
configured here.
If this configured value is null(-1)
or not null and matches, the SMSC will compare the
'source_addr_range' as below.
If it doesn't match, the SMSC will reject this
SMS with an error code '0x0000000A' indicating
Invalid Source Address.
The new value takes effect immediately.
source-range - Every SMS coming into the SMSC via this ESME should have
the same 'source_addr_range' as the value configured
here.This is a regular java expression and
default value is ^[0-9a-zA-Z]*.
If it matches, the SMSC will accept the incoming SMS
and process further.
If it doesn't match, the SMSC will reject this
SMS with an error code '0x0000000A' indicating
Invalid Source Address.
The new value takes effect immediately.
routing-ton - The DefaultSmsRoutingRule will try to match the
'dest_addr_ton' of outgoing SMS with the value
configured here. If this configured value is null(-1)
or not null and matches, the SMSC will compare the
'dest_addr_npi' and 'destination_addr' as explained
below. If it doesn't match, the SMSC will select the
next ESME in the list for matching routing rule.
DefaultSmsRoutingRule will consider ESME for routing
only if
1) SmppBindType is TRANSCEIVER
2) SmppBindType is RECEIVER and
SmppSession.Type is SERVER
3) SmppBindType is TRANSMITTER and
SmppSession.Type is CLIENT
The new value takes effect immediately.
routing-npi - The DefaultSmsRoutingRule will try to match the
'dest_addr_npi' of outgoing SMS with the value
configured here. If this configured value is null(-1)
or not null and matches, the SMSC will compare the
'destination_addr' as below. If it doesn't match, the
SMSC will select the next ESME in the list for matching
routing rule.
DefaultSmsRoutingRule will consider ESME for routing
only if
1) SmppBindType is TRANSCEIVER
2) SmppBindType is RECEIVER and
SmppSession.Type is SERVER
3) SmppBindType is TRANSMITTER and
SmppSession.Type is CLIENT
The new value takes effect immediately.
routing-range - The DefaultSmsRoutingRule will try to match the
'destination_addr' of outgoing SMS with the value
configured here. This is a regular java expression and
default value is ^[0-9a-zA-Z]*. If it matches, the SMSC
will send the SMS out over this SMPP connection. If it
doesn't match, the SMSC will select the next ESME in
the list for matching routing rule.
DefaultSmsRoutingRule will consider ESME for routing
only if
1) SmppBindType is TRANSCEIVER
2) SmppBindType is RECEIVER and
SmppSession.Type is SERVER
3) SmppBindType is TRANSMITTER and
SmppSession.Type is CLIENT
The new value takes effect immediately.
ratelimit_second - This parameter is used to specify a maximum limit
of messages that the SMSC will accept from this ESME
during any one second.
If the ESME sends more messages (per second)
than the maximum limit specified by 'ratelimit_second',
these additional messages will be rejected by the
SMSC GW along with an error code - "throttled".
The default value for this parameter is "0" and it
implies "no restrictions". If this parameter is not
specified it implies "no restrictions".
ratelimit_minute - This parameter is used to specify a maximum limit
of messages that the SMSC will accept from this ESME
during any one minute.
If the ESME sends more messages (per minute)
than the maximum limit specified by 'ratelimit_minute',
these additional messages will be rejected by the
SMSC GW along with an error code - "throttled".
The default value for this parameter is "0" and it
implies "no restrictions". If this parameter is not
specified it implies "no restrictions".
ratelimit_hour - This parameter is used to specify a maximum limit
of messages that the SMSC will accept from this ESME
during any one hour.
If the ESME sends more messages (per hour)
than the maximum limit specified by 'ratelimit_hour',
these additional messages will be rejected by the
SMSC GW along with an error code - "throttled".
The default value for this parameter is "0" and it
implies "no restrictions". If this parameter is not
specified it implies "no restrictions".
ratelimit_day - This parameter is used to specify a maximum limit
of messages that the SMSC will accept from this ESME
during any one day.
If the ESME sends more messages (per day)
than the maximum limit specified by 'ratelimit_day',
these additional messages will be rejected by the
SMSC GW along with an error code - "throttled".
The default value for this parameter is "0" and it
implies "no restrictions". If this parameter is not
specified it implies "no restrictions".
national-language-single-shift - National language single shift table can be
configured for messages that have come via SMPP (ESME) that
do not have UDHs inside and have GSM7 encoding (DCS==0). The
default GSM data coding table is mostly used. Possible values:
= 0 : default GSM data coding table
= 13 : urdu (arabic) national language shift table
= 1 : the national language locking shift value must be
obtained from the option national-language-single-shift
that is defined at SMSC GW general level.
national-language-locking-shift - National language locking shift table can be
configured for messages that have come via SMPP (ESME) that
do not have UDHs inside and have GSM7 encoding (DCS==0). The
default GSM data coding table is mostly used. Possible values:
= 0 : default GSM data coding table
= 13 : urdu (arabic) national language shift table
= 1 : the national language locking shift value must be
obtained from the option national-language-locking-shift
that is defined at SMSC GW general level.
min-message-length - This paramter is used to specify the minimum
message length (in characters) acceptable to
the SMSC GW, for messages coming from this ESME.
If an incoming message length is less than the
min-message-length it will be rejected by SMSC GW.
The default value for this parameter is "-1" and it
implies "no limitations". Any other negative value
also implies "no limitations".
max-message-length - This paramter is used to specify the maximum
message length (in characters) acceptable to
the SMSC GW, for messages coming from this ESME.
If an incoming message length is more than the
max-message-length it will be rejected by SMSC GW.
The default value for this parameter is "-1" and it
implies "no limitations". Any other negative value
also implies "no limitations".
EXAMPLES
smpp esme modify test password yyyy
----
[[_esme_settings_modify_gui]]
=== Using GUI
.Procedure: Modify an existing ESME using GUI
. In the GUI Management Console for SMSC Gateway, click on 'ESMEs' in the left panel.
. The main panel will display the existing ESMEs (if any), one each in a row with corresponding actions (start, stop, delete, update) for each row.
. You can update an existing by launching the 'ESME properties' window by clicking on the blue coloured 'Update ESME' button.
The 'ESME properties' window will display all ESME paramters that can be updated by you.
For more details of these parameters please refer to the descriptions of the CLI commands for the same in the preceding section.
+
ESME can be setup for SSL so every connection request should first do SSL hand-shake.
Settingup SSL is only possible from GUI.
After creating the ESME, users can edit property and enable SSL.
+
NOTE: Only CLIENT ESME's (one that sends BIND request) can be enabled for SSL.
. Update appropriate values for all the parameters and then click on the 'Close' button.
This action will modify a new ESME with parameters as defined by you.
. If there is an error in defining the ESME, then you will find the details of the error in the Management Console Log section below.
[[_esme_settings_view]]
== View ESME Details
[[_esme_settings_view_view_cli]]
=== Using CLI
You can view the details of all or concrete configured ESMEs by issuing the command `smpp esme show` as described below.
----
Name
smpp esme show
SYNOPSIS
smpp esme show
PARAMETERS
esmeName - Name of the ESME to show.
This parameter is optional. All ESMEs will be displayed in case of
no esmeName is specified.
DESCRIPTION
This command is used to list all configured ESMEs.
----
[[_esme_settings_view_view_gui]]
=== Using GUI
.Procedure: View ESME using the GUI
. In the GUI Management Console for SMSC Gateway, click on 'ESMEs' in the left panel.
. The main panel will display the existing ESMEs (if any), one each in a row with corresponding actions (start, stop, delete) for each row.
. You can view the details of an ESME by clicking on the row corresponding to the ESME.
All relevant details of the ESME will be displayed in an expanded format.
[[_esme_settings_delete]]
== Delete an existing ESME
[[_esme_settings_delete_cli]]
=== Using CLI
You can delete any ESME by issuing the command `smpp esme delete` with appropriate parameters as described below.
----
Name
smpp esme delete
SYNOPSIS
smpp esme delete
DESCRIPTION
This command is used to delete an existing ESME.
PARAMETERS
esmeName - Name of the ESME to be destroyed.
----
[[_esme_settings_delete_gui]]
=== Using GUI
.Procedure: Delete ESME using the GUI
. In the GUI Management Console for SMSC Gateway, click on 'ESMEs' in the left panel.
. The main panel will display the existing ESMEs (if any), one each in a row with corresponding actions (start, stop, delete) for each row.
. To delete an existing ESME click on the delete icon marked 'x' in red, for the row corresponding to the ESME.
You can delete an ESME only if it is stopped.
[[_esme_settings_start]]
== Start ESME
[[_esme_settings_start_cli]]
=== Using CLI
You can start an ESME by issuing the command `smpp esme start` with appropriate parameters as described below.
----
Name
smpp esme start
SYNOPSIS
smpp esme start
DESCRIPTION
This command is used to start an existing ESME.
PARAMETERS
esmeName - Name of the ESME to be started.
----
[[_esme_settings_start_gui]]
=== Using GUI
.Procedure: Start ESME using the GUI
. In the GUI Management Console for SMSC Gateway, click on 'ESMEs' in the left panel.
. The main panel will display the existing ESMEs (if any), one each in a row with corresponding actions (start, stop, delete) for each row.
. To start an existing ESME click on the start icon lit in green, for the row corresponding to the ESME.
You can start an ESME only if it is currently stopped.
[[_esme_settings_stop]]
== Stop ESME
[[_esme_settings_stop_cli]]
=== Using CLI
You can stop an ESME by issuing the command `smpp esme stop` with appropriate parameters as described below.
----
Name
smpp esme stop
SYNOPSIS
DESCRIPTION
This command is used to stop an already running ESME.
PARAMETERS
esmeName - Name of the ESME to be stopped.
----
[[_esme_settings_stop_gui]]
=== Using GUI
.Procedure: Stop ESME using the GUI
. In the GUI Management Console for SMSC Gateway, click on 'ESMEs' in the left panel.
. The main panel will display the existing ESMEs (if any), one each in a row with corresponding actions (start, stop, delete) for each row.
. To stop an ESME click on the stop icon lit in red, for the row corresponding to the ESME.
You can stop an ESME only if it is currently running.
[[_others_esme]]
== Other ESME Operations
[[_others_esme_gui]]
=== Using GUI
You can perform more operations in the GUI for any configured ESME.
You can enable/disable Log Bytes and Log Pdu, dump window and reset counters.
.Procedure: Other ESME Operations using the GUI
. In the GUI Management Console for SMSC Gateway, click on 'ESMEs' in the left panel.
. The main panel will display the existing ESMEs (if any), one each in a row with corresponding actions (start, stop, delete) for each row.
. You can view the details of an ESME by clicking on the row corresponding to the ESME.
All relevant details of the ESME will be displayed in an expanded format.
. At the bottom of this expanded display you will find 6 buttons allowing you to perform the operations DisableLogBytes, DisableLogPdu, DumpWindow, EnableLogBytes, EnableLogPdu and ResetCounters.