Dear all, This is the first time I am contributing to the Open Source project and I hope my code can make it to the CVS :)
The proposed changes are as follow:- 1. Internal SMSC Connections Load Balancer i) basic round robin (implemented) For example (FAKE1,FAKE2,FAKE3,FAKE4) <--- SMSC connection where smsc-id is specify using group name : test Sample configuration file . . # SMSC CONNECTIONS group = smsc smsc = fake smsc-id = FAKE1 preferred-smsc-id = FAKE1 port = 10001 connect-allow-ip = 127.0.0.1 group = smsc smsc = fake smsc-id = FAKE2 preferred-smsc-id = FAKE2 port = 10002 connect-allow-ip = 127.0.0.1 group = smsc smsc = fake smsc-id = FAKE3 preferred-smsc-id = FAKE3 port = 10003 connect-allow-ip = 127.0.0.1 group = smsc smsc = fake smsc-id = FAKE4 preferred-smsc-id = FAKE4 port = 10004 connect-allow-ip = 127.0.0.1 . . # FOR LOAD BALANCING group = load-balancer group-name = test group-list = FAKE1,FAKE2,FAKE3,FAKE4 The load balancer call "test" with the arrangement of FAKE1,FAKE2,FAKE3 and FAKE4. When the following URL is call:- http://localhost:13013/cgi-bin/sendsms?username=tester&password=foobar&to=0163655207&text=test&group=test The load balancer will first select SMSC connection (FAKE1) to send out SMS. When the above URL is call again, the load balancer will use SMSC connection (FAKE2) to send out SMS. The SMSC connection will use (FAKE3) and (FAKE4) when the URL is called twice. It will use back SMSC connection (FAKE1) when the URL is called the fifth time. Using this load balancing feature, the sending out SMS will improve as we can have more modems to send out SMS compare using one modem. ii) weighted round robin (not yet implemented) Will submit the patches within next few weeks. 2. Writing to a directory when failed to send SMS Configuration file group = core . . failed-dir = "/tmp/failed" the failed-dir parameter must be in the core group. The following format is used to write the file :- PNO<CR> - String connector info<CR> - String which user<CR> - String flag<CR> - all Integer udh<CR> - Integer : String message<CR> - String The following file naming convention is used :- (random number)_(phone number).err These file(s) can used to resend the failed mesage(s) by an external program. Finally Merry Chritsmas and Happy New Year to you guys and keep up the good work. Cheers, Hong Cheng __________________________________________________ Do You Yahoo!? Send your FREE holiday greetings online! http://greetings.yahoo.com