how to allow our clients to bind Tx & Rx with same system ID

.NET library for SMPP protocol
Locked
mubarak
Posts: 13
Joined: Sat Aug 11, 2012 10:04 am
Contact:

how to allow our clients to bind Tx & Rx with same system ID

Post by mubarak » Mon Dec 17, 2012 5:42 am

Hi,

one our client system is designed to connect using Tx (for submission) and Rx (to receive deliveries) separately. Hence they need two binds (one for Tx and one for Rx).

Currently they can connect Tx bind, the Rx does not connect.? how to allow our clients to bind Tx & Rx with same system ID.?

Please help me to resolved this issue.
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: how to allow our clients to bind Tx & Rx with same syste

Post by alt » Wed Dec 19, 2012 8:39 am

Hello Mubarak,

You need to return ESME_ROK in evClientBind event handler for both connections

Code: Select all

 void server_evClientBind(object sender, SmppServerClient client, Bind data)
            {
                if (data.SystemId == "test" && data.Password == "test")
                {
                    data.Response.Status = CommandStatus.ESME_ROK;
                }
                else
                {
                    data.Response.Status = CommandStatus.ESME_RBINDFAIL;
                }
            }
mubarak
Posts: 13
Joined: Sat Aug 11, 2012 10:04 am
Contact:

Re: how to allow our clients to bind Tx & Rx with same syste

Post by mubarak » Tue Jan 22, 2013 6:36 am

Dear Alex,

I already did the same, but our client asking for separate IP. so, they can connect one IP with TX, another IP for Rx.

As they request, i given two shared IP to connect our SMPP. after that they replied like,

Using Two IP's, Tx and Rx connecting fine separately, but are failing to connect simultaneously.

Please advise, they said before we connected same with Two different IP's for Tx and Rx separately.
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: how to allow our clients to bind Tx & Rx with same syste

Post by alt » Fri Jan 25, 2013 6:34 pm

Dear mubarak,

As far as i understood you need to create two SmppServer applications and run them on two different IP.
One server will allow only BindingMode == ConnectionMode.Transmitter and another BindingMode == ConnectionMode.Receiver.
Both servers should work with one database.
I can say that this is possible too.

But i don't see any advantages when you start one server and allow two connections with one SMPP access, but different BindingMode.
You just need to ask customer to bind one session using BIND_TRANSMITTER and second session with BIND_RECEIVER.
First session will be able to send messages and second one only receive delivery receipt and incoming messages.

Yes, in case of huge amount of traffic first solution with several IPs can help for load distribution.
Locked