All Downloads are FREE. Search and download functionalities are using the official Maven repository.

.smsc.docs.adminguide.restcomm-smsc-adminguide-sources-asciidoc.7.4.179.source-code.Section-Managing-ESME-Settings.adoc Maven / Gradle / Ivy

The newest version!

[[_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. 




© 2015 - 2025 Weber Informatics LLC | Privacy Policy