Use case 1: SMPP load balancing
-
Better load distribution on servers, which translates to faster response time to end users
-
Server health monitoring and better failover capabilities
-
Quick and easy addition of new servers (message centers) without changing the client configuration
-
High availability
Introduction to SMPP
Architecture Overview of the Different SMPP Entities in a Mobile Network
How SMPP Load Balancing Works on the NetScaler
Messages Originating from the ESMEs
Messages Originating from a Message Center
-
ESME1 sends bind request to NetScaler®
-
NetScaler sends bind request to MC1
-
MC1 sends bind response to NetScaler
-
NetScaler sends bind response to ESME1
-
ESME1 sends submit_sm(1) to NetScaler
-
ESME1 sends submit_sm(2) to NetScaler
-
NetScaler forwards submit_sm(1) to MC1
-
NetScaler sends bind request to MC2
-
MC2 sends bind response to NetScaler
-
NetScaler forwards submit_sm(2) to MC2
-
MC1 sends submit_sm_resp(1) to NetScaler
-
MC2 sends submit_sm_resp(2) to NetScaler
-
NetScaler forwards submit_sm_resp(1) to ESME1
-
NetScaler forwards submit_sm_resp(2) to ESME1
-
ESME2 sends bind request to NetScaler
-
NetScaler sends bind response to ESME2
-
ESME2 sends submit_sm(3) to NetScaler
-
NetScaler forwards submit_sm(3) to MC1
-
MC2 sends deliver_sm to NetScaler (ESME2 serves the address range specified in the message)
-
MC1 sends submit_sm_resp(3) to NetScaler
-
NetScaler forwards submit_sm_resp(3) to ESME2
-
NetScaler forwards deliver_sm to ESME2
-
ESME2 sends deliver_sm_resp to NetScaler
-
MC1 sends alert_notification to NetScaler (ESME1 serves the address range specified in the message)
-
NetScaler forwards deliver_sm_resp to MC2
-
NetScaler forwards the alert_notification to ESME1
Health Monitoring of Message Centers
Content Switching on Message Centers
-
Based on the address range: In the following sample expression, the ADC selects a specific message center if the address range starts at 988.
-
Based the ESME ID: In the following sample expression, the ADC selects a specific message center if the ESME ID equals ESME1.
-
Based on the ESME type: In the following sample expression, the ADC selects a specific message center if the ESME type is VMS. VMS stands for voice mail system.
-
Based on the type of number (TON) of the ESME: In the following sample expression, the ADC selects a specific message center if TON equals 1 (1 stands for an international number.)
-
Based on the number plan indicator (NPI) of the ESME: In the following sample expression, the ADC selects a specific message center if NPI equals 0 (0 stands for an unknown connection.)
-
Based on the bind type: In the following sample expression, the ADC selects a specific message center if the bind type is TRANSCEIVER. (A transceiver can send and receive messages.)
Concatenated Message Handling
Limitation
Configuring SMPP Load Balancing on the NetScaler
-
Add an SMPP user. The ADC authenticates the user before it accepts a bind request from the user. The user is typically an ESME.
-
Add a load balancing virtual server, specifying the protocol as SMPP.
-
Add a service, specifying the protocol as SMPP, and a custom server ID that is unique for each server. Bind the service to the load balancing virtual server created earlier.
-
Optionally, create a service group and add services to the service group.
-
Optionally, add a monitor of type SMPP-ECV and bind it to the service. A TCP-default monitor is bound by default.
-
Set the SMPP parameters, such as client mode and message queue.
To configure SMPP load balancing by using the command line
add smpp user <username> -password <password>
add service <name> <IP> SMPP <port> –customserverID <customserverID>
add lb vserver <name> <IP> SMPP <port>
bind lb vserver <name> <service name>
set smpp param
Example
add smpp user smppclient1 -password c03ebb540695b6110eb31172f32245a1 -encrypted -encryptmethod ENCMTHD_2
add smpp user smppclient2 -password c03ebb540695b6110eb31172f32245a1 -encrypted -encryptmethod ENCMTHD_2
add service smmpsvc 10.102.84.140 SMPP 2775 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp ON -cltTimeout 180 -svrTimeout 360 -CustomServerID ab -CKA NO -TCPB NO -CMP NO
add service smmpsvc2 10.102.81.175 SMPP 2775 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp ON -cltTimeout 180 -svrTimeout 360 -CustomServerID xy -CKA NO -TCPB NO -CMP NO
add lb vserver smppvs SMPP 10.102.239.179 2775 -persistenceType NONE -cltTimeout 180
bind lb vserver smppvs smmpsvc2
bind lb vserver smppvs smmpsvc
set smpp param -addrrange "d*"
To configure SMPP load balancing by using the configuration utility
-
Navigate to System > User Administration > SMPP Users, and add an SMPP user.
-
Navigate to Traffic Management > Load Balancing > Configure SMPP Parameters, and set the parameters as required by your deployment.
-
Navigate to Traffic Management > Load Balancing > Virtual Servers, and add a virtual server of type SMPP.
-
Click in the Service section, add a service of type SMPP, and specify a Server ID.