telcel mexico
Hello community, I'm researching about setting up a smpp connection with telcel (mexico), can anyone provide with an approximate figure ($). regards
Re: Kannel performance benchmarking
Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know some of these questions are a bit like how long is a piece of string but I really do value all and any of your feedback. Regards, 2010/8/10 Nikos Balkanas nbalka...@gmail.com Try valgrind in linux. BR, Nikos - Original Message - From: sangprabv sangpr...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: brett skinner tatty.dishcl...@gmail.com; kannel users users@kannel.org Sent: Tuesday, August 10, 2010 3:35 AM Subject: Re: Kannel performance benchmarking Yeah I understand that. But when the there is no traffic. Kannel doesn't release the cached or buffered memory it used. Do you have any solution? What command to list down or trace the memory usage by Kannel? So maybe we can investigate which function or module in Kannel is eating the memory. Thanks sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 11:19 PM, Nikos Balkanas wrote: No memory problems. It is reasonable that kannel will use more memory in higher traffic, since all queues are in memory, as long as it drops to nominal levels once the traffic is gone. BR, Nikos - Original Message - From: sangprabv To: brett skinner Cc: Nikos Balkanas ; kannel users Sent: Monday, August 09, 2010 5:59 PM Subject: Re: Kannel performance benchmarking Hi Nikos, Do you experience memory problem? In my case Kannel is eating the memory on high load traffics. I always need to restart the box to get more memory. I even give 3 on /proc/sys/vm/drop_caches but still Kannel eat the memory :( sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 9:42 PM, brett skinner wrote: Hi Nikos Out of curiosity can you go into more detail regarding what hardware you were running and your setup for MySql? Were you using Innodb or MyIsam. If you were using Innodb did you make any other configuration changes to MySql to accommodate Innodb. From the user guide it is implied that the bottle neck for Kannel is the number of messages that the SMSC can accommodate per second. Is this still the case? Regards, 2010/8/8 Nikos Balkanas nbalka...@gmail.com Hi, I have run some benchmarking for a client using fakesmpp. Using the default service for MO's I got: MO's: 1400 SMS/s MT + DLRs (internal): 747 SMS/s MT + DLRs (MySql): 434 SMS/s BR, Nikos - Original Message - From: ha...@aeon.pk To: kannel users Sent: Sunday, August 08, 2010 4:22 PM Subject: Kannel performance benchmarking Hi, I am interested to know about the kannel performance benchmarking, especially in terms of speed (msgs/sec), MO or MT. I assume that multiple smsboxes does not have any effect over kannel performance, since the front-end talking to SMSC is the main bearerbox. What is the max speed that could be attained by kannel and/or bearerbox? Regards, Hamza
Re: Kannel performance benchmarking
Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allí donde estés está tu oficin@ -Original Message- From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know some of these questions are a bit like how long is a piece of string but I really do value all and any of your feedback. Regards, 2010/8/10 Nikos Balkanas nbalka...@gmail.com Try valgrind in linux. BR, Nikos - Original Message - From: sangprabv sangpr...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: brett skinner tatty.dishcl...@gmail.com; kannel users users@kannel.org Sent: Tuesday, August 10, 2010 3:35 AM Subject: Re: Kannel performance benchmarking Yeah I understand that. But when the there is no traffic. Kannel doesn't release the cached or buffered memory it used. Do you have any solution? What command to list down or trace the memory usage by Kannel? So maybe we can investigate which function or module in Kannel is eating the memory. Thanks sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 11:19 PM, Nikos Balkanas wrote: No memory problems. It is reasonable that kannel will use more memory in higher traffic, since all queues are in memory, as long as it drops to nominal levels once the traffic is gone. BR, Nikos - Original Message - From: sangprabv To: brett skinner Cc: Nikos Balkanas ; kannel users Sent: Monday, August 09, 2010 5:59 PM Subject: Re: Kannel performance benchmarking Hi Nikos, Do you experience memory problem? In my case Kannel is eating the memory on high load traffics. I always need to restart the box to get more memory. I even give 3 on /proc/sys/vm/drop_caches but still Kannel eat the memory :( sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 9:42 PM, brett skinner wrote: Hi Nikos Out of curiosity can you go into more detail regarding what hardware you were running and your setup for MySql? Were you using Innodb or MyIsam. If you were using Innodb did you make any other configuration changes to MySql to accommodate Innodb. From the user guide it is implied that the bottle neck for Kannel is the number of messages that the SMSC can accommodate per second. Is this still the case? Regards, 2010/8/8 Nikos Balkanas nbalka...@gmail.com Hi, I have run some benchmarking for a client using fakesmpp. Using the default service for MO's I got: MO's: 1400 SMS/s MT + DLRs (internal): 747 SMS/s MT + DLRs (MySql): 434 SMS/s BR, Nikos - Original Message - From: ha...@aeon.pk To: kannel users Sent: Sunday, August 08, 2010 4:22 PM Subject: Kannel performance benchmarking Hi, I am interested to know about the kannel performance benchmarking, especially in terms of speed (msgs/sec), MO or MT. I assume that multiple smsboxes does not have any effect over kannel performance, since the front-end talking to SMSC is the main bearerbox. What is the max speed that could be attained by kannel and/or bearerbox? Regards, Hamza
ADMIN HTTP AND SEND SMS HTTP INTERFACES FAIL AFTER REBOOTING FEDORA 10 KANNEL SMS GATEWAY SERVER
Hi Experts, I am having issue with the HTTP interfaces for admin and send sms for kannel when i restart Fedora. The gateway can send and receive sms so well (sending sms and admin function) after installing kannel, but when i restart Fedora server, the http interfaces cannot be used. The gateway is running on Fedora 10. I am using Sony Ericsson C702 as the Modem ##Below it the /etc/kannel.conf file #CORE group = core admin-port = 13000 smsbox-port = 13001 admin-password = bar #status-password = foo admin-deny-ip = *.*.*.* admin-allow-ip = 127.0.0.1 log-file = /var/log/kannel/bearerbox.log log-level = 1 box-deny-ip = *.*.*.* box-allow-ip = 127.0.0.1 #unified-prefix = +358,00358,0;+,00 #access-log = /tmp/access.log #store-file = kannel.store #ssl-server-cert-file = cert.pem #ssl-server-key-file = key.pem #ssl-certkey-file = mycertandprivkeyfile.pem #- # SMSC CONNECTIONS #Duncan 's smsc configs of the sony ericsson c702 as the modem group = smsc smsc = at modemtype = auto device = /dev/ttyACM0 my-number = 3543870236903270 log-level = 1 #Duncan's modems groups configs as per /etc/wvdialconf file group = modems id = Sony Ericsson name = Sony Ericsson C702 detect-string = Sony init-string=ATZ init-string=ATQ0 V1 E1 S0=0 C1 D2 +FCLASS=0 #- # SMSBOX SETUP # # Smsbox(es) do higher-level SMS handling after they have been received from # SMS centers by bearerbox, or before they are given to bearerbox for delivery group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 #duncan -- the sender number to be used in text messages global-sender = +254738967285 #sendsms-chars = 0123456789 +- log-file = /var/log/kannel/smsbox.log log-level = 1 #access-log = /tmp/access.log #- # SEND-SMS USERS # # These users are used when Kannel smsbox sendsms interface is used to # send PUSH sms messages, i.e. calling URL like # http://kannel.machine:13013/cgi-bin/sendsms?username=testerpassword=foobar... group = sendsms-user username = tester password = foobar concatenation = true max-messages = 3 #user-deny-ip = #user-allow-ip = #- # SERVICES # # These are 'responses' to sms PULL messages, i.e. messages arriving from # handsets. The response is based on message content. Only one sms-service is # applied, using the first one to match. group = sms-service keyword = nop text = You asked nothing and I did it! # There should be always a 'default' service. This service is used when no # other 'sms-service' is applied. group = sms-service keyword = default text = No service specified The bearerbox and smsbox start well. see below logs: BEARER BOX STARTS UP SUCESSFULLY## [r...@fedora10 owino]# bearerbox -v 1 /etc/kannel.conf [1] 3287 [r...@fedora10 owino]# 2010-08-10 03:45:53 [3287] [0] INFO: Debug_lvl = 1, log_file = none, log_lvl = 0 2010-08-10 03:45:53 [3287] [0] WARNING: DLR: using default 'internal' for storage type. 2010-08-10 03:45:53 [3287] [0] INFO: DLR using storage type: internal 2010-08-10 03:45:53 [3287] [0] INFO: Added logfile `/var/log/kannel/bearerbox.log' with level `1'. 2010-08-10 03:45:53 [3287] [0] INFO: HTTP: Opening server at port 13000. 2010-08-10 03:45:53 [3287] [0] INFO: BOXC: 'smsbox-Tmax-pending' not set, using default (100). 2010-08-10 03:45:53 [3287] [0] INFO: Set SMS resend frequency to 60 seconds. 2010-08-10 03:45:53 [3287] [0] INFO: SMS resend retry set to unlimited. 2010-08-10 03:45:53 [3287] [0] INFO: DLR rerouting for smsc id (null) disabled. 2010-08-10 03:45:53 [3287] [0] INFO: AT2[/dev/ttyACM0]: configuration doesn't show modemtype. will autodetect 2010-08-10 03:45:53 [3287] [6] INFO: AT2[/dev/ttyACM0]: opening device 2010-08-10 03:45:53 [3287] [0] INFO: 2010-08-10 03:45:53 [3287] [0] INFO: Kannel bearerbox II version 1.4.3 starting 2010-08-10 03:45:53 [3287] [0] INFO: MAIN: Start-up done, entering mainloop 2010-08-10 03:45:54 [3287] [6] INFO: AT2[/dev/ttyACM0]: speed set to 115200 2010-08-10 03:45:56 [3287] [6] INFO: AT2[/dev/ttyACM0]: Closing device 2010-08-10 03:45:56 [3287] [6] INFO: AT2[/dev/ttyACM0]: detect speed is 115200 2010-08-10 03:45:56 [3287] [6] INFO: AT2[/dev/ttyACM0]: opening device 2010-08-10 03:45:57 [3287] [6] INFO: AT2[/dev/ttyACM0]: speed set to 115200 2010-08-10 03:45:59 [3287] [6] INFO: AT2[/dev/ttyACM0]: Closing device 2010-08-10 03:45:59 [3287] [6] INFO: AT2[/dev/ttyACM0]: opening device 2010-08-10 03:45:59 [3287] [6] INFO: AT2[/dev/ttyACM0]: Logging in 2010-08-10 03:46:00 [3287] [6] INFO: AT2[/dev/ttyACM0]: init device 2010-08-10 03:46:00 [3287] [6] INFO: AT2[/dev/ttyACM0]: speed set to 115200 2010-08-10 03:46:01 [3287] [6] INFO: AT2[/dev/ttyACM0]: AT SMSC successfully opened. ## SMSBOX STARTS UP SUCESSFULLY
Re: Life without smsbox
Nope. It disrupts architecture. Once a box receives a Msg *, it must generate an ACK, so that bearerbox knows that it is the other box's responsibility how to handle it and delete it from its own queue. ACK should be returned whenever it is accepted, indepenedent of the logic thereafter. It is now sqlbox's responsibility and it should figure out whether to send it upstream, or handle it itself. smsbox-route should be even if there is only 1 connected box. I don't follow you saying that without it you get no warnings. Did you change the sources? BR, Nikos - Original Message - From: Toby Phipps toby.phi...@nexmedia.com.sg To: 'Rene Kluwen' rene.klu...@chimit.nl; 'Nikos Balkanas' nbalka...@gmail.com; users@kannel.org Sent: Tuesday, August 10, 2010 8:14 AM Subject: RE: Life without smsbox Rene, As the subject line suggests, I'm not actually running a smsbox, and the smsbox-id in both sqlbox and smsbox groups is set to the same value as recommended by Nikos (below) in order to force the routing. Maybe I misunderstood his directions? In any case, the smsbox_list empty warning turned out to be a red herring. It turns out that it appeared in the logs only a couple of times when I was tweaking the configuration and sqlbox wasn't running. With the current configuration (with the smsbox-route group removed), DLRs are routing correctly to sqlbox, and I've confirmed this with traces in the sqlbox code, the lack of the smsbox_list empty warning, and 100% MT-to-DLR matching in the sqlbox tables. I'm guessing this routing is happening either because I'm forcing the routing (setting boxc_id in every MT submitted), or because there's only one box connected, and bearerbox routes it there. So, with the new ACK code I've added to sqlbox, things appear to be running very smoothly. I'm seeing both MT submission notification and true DLRs coming through to sqlbox, and the bearerbox logs and status output show that they're being properly ACKed and purged from the local store. I'm quite happy with this config. With regards to the sqlbox ACK generation patch, I've been thinking about what should trigger the sqlbox-originated ACK. I originally coded it to generate the ACK if there was no smsbox connected to it, but on second thought this doesn't seem like a great idea as there could be situations where smsbox should be running but isn't, so the ACKs SHOULD be delegated and messages queued. My next thought was to use the presence of the smsbox-port config parameter (sqlbox group) to trigger the ACK (sqlbox generates the ACK if sqlbox-port is not present in the config and it delegates the ACK if it is present). However, looking at the code, the smsbox-port parameter is defaulted to 13005 if not present, so this would break backwards compatibility. So, I'm thinking of adding a new config parameter instead - something like run-without-smsbox or sqlbox-generates-ack. Any suggestions or thoughts? Thanks, Toby. -Original Message- From: Rene Kluwen [mailto:rene.klu...@chimit.nl] Sent: Tuesday, 10 August 2010 3:56 AM To: 'Nikos Balkanas'; 'Toby Phipps'; users@kannel.org Subject: RE: Life without smsbox True. You have the same smsbox-id for both smsbox and sqlbox. It should be different. But... probably sqlbox isn't going to send an ACK. At least I didn't put it in the code. Maybe someone else. == Rene -Original Message- From: Nikos Balkanas [mailto:nbalka...@gmail.com] Sent: Monday, 09 August, 2010 19:07 To: Toby Phipps; 'Rene Kluwen'; users@kannel.org Subject: Re: Life without smsbox I reiterate. SQLbox shouldn't have such an error. Your smsbox-route is not correct, you need to specify smsc-id. Read User's guide about it. You should still be getting that WARNING. Solve that, and you should be set. BR, Nikos - Original Message - From: Toby Phipps toby.phi...@nexmedia.com.sg To: 'Nikos Balkanas' nbalka...@gmail.com; 'Rene Kluwen' rene.klu...@chimit.nl; users@kannel.org Sent: Monday, August 09, 2010 7:59 PM Subject: RE: Life without smsbox Hmm, OK. Interesting. I've reverted to the SVN head of sqlbox and configured the following: group = smsbox bearerbox-host = localhost smsbox-id = sqlbox group = smsbox-route smsbox-id = sqlbox group = sqlbox id = sqlbox smsbox-id = sqlbox bearerbox-port = 13100 bearerbox-host = localhost # smsbox-port = 13200 sql-log-table = smsgw_kannel_sms_result sql-insert-table = smsgw_kannel_sms_queue log-file = /usr/local/kannel/log/sqlbox.log log-level = 0 Now, I see the following in bearerbox.log: 2010-08-10 00:53:11 [1691] [13] DEBUG: boxc_receiver: sms received 2010-08-10 00:53:11 [1691] [13] DEBUG: send_msg: sending msg to boxc: sqlbox 2010-08-10 00:53:11 [1691] [14] DEBUG: send_msg: sending msg to boxc: sqlbox 2010-08-10 00:53:11 [1691] [14] DEBUG: boxc_sender: sent message to 127.0.0.1 2010-08-10 00:53:17 [1691] [14] DEBUG: send_msg: sending msg to boxc: sqlbox 2010-08-10 00:53:17 [1691] [14] DEBUG: boxc_sender: sent
Re: Kannel performance benchmarking
Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel. us...@kannel. Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re: Kannel performance benchmarking Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allν donde estιs estα tu oficin@ From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 +0200 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know some of these questions are a bit like how long is a piece of string but I really do value all and any of your feedback. Regards, 2010/8/10 Nikos Balkanas nbalka...@gmail.com Try valgrind in linux. BR, Nikos - Original Message - From: sangprabv sangpr...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: brett skinner tatty.dishcl...@gmail.com; kannel users users@kannel.org Sent: Tuesday, August 10, 2010 3:35 AM Subject: Re: Kannel performance benchmarking Yeah I understand that. But when the there is no traffic. Kannel doesn't release the cached or buffered memory it used. Do you have any solution? What command to list down or trace the memory usage by Kannel? So maybe we can investigate which function or module in Kannel is eating the memory. Thanks sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 11:19 PM, Nikos Balkanas wrote: No memory problems. It is reasonable that kannel will use more memory in higher traffic, since all queues are in memory, as long as it drops to nominal levels once the traffic is gone. BR, Nikos - Original Message - From: sangprabv To: brett skinner Cc: Nikos Balkanas ; kannel users Sent: Monday, August 09, 2010 5:59 PM Subject: Re: Kannel performance benchmarking Hi Nikos, Do you experience memory problem? In my case Kannel is eating the memory on high load traffics. I always need to restart the box to get more memory. I even give 3 on /proc/sys/vm/drop_caches but still Kannel eat the memory :( sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 9:42 PM, brett skinner wrote: Hi Nikos Out of curiosity can you go into more detail regarding what hardware you were running and your setup for MySql? Were you using Innodb or MyIsam. If you were using Innodb did you make any other configuration changes to MySql to accommodate Innodb. From the user guide it is implied that the bottle neck for Kannel is the number of messages that the SMSC can accommodate per second. Is this still the case? Regards, 2010/8/8 Nikos Balkanas nbalka...@gmail.com Hi, I have run some benchmarking for a client using fakesmpp. Using the default service for MO's I got: MO's: 1400 SMS/s MT + DLRs (internal): 747 SMS/s MT + DLRs (MySql): 434 SMS/s BR, Nikos - Original Message - From: ha...@aeon.pk To: kannel users Sent: Sunday, August 08, 2010 4:22 PM Subject: Kannel performance benchmarking Hi, I am interested to know about the kannel performance benchmarking, especially in terms of speed (msgs/sec), MO or MT. I assume that multiple smsboxes does not have any effect over kannel performance, since the front-end talking to SMSC is the main bearerbox. What is the max speed that could be attained by kannel and/or bearerbox? Regards, Hamza
Re: Kannel performance benchmarking
Hi Alex That is why I have chosen Innodb for the tables we use for the application that surround Kannel. MyISAM definitely beat Innodb out the box but Innodb does seem to be better in terms of the issues you have pointed out. The other thing that I have read is that Innodb is incredibly slow with the stock standard configuration. I read through the following blog and followed their advice which increased its performance quite drastically. http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/If you have a moment you can give that a read. Or if you have any other good references please send them a long. I am still rather new to MySql. Thanks :) Regards, On Tue, Aug 10, 2010 at 10:56 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Well, if it weren't for the SELECT COUNT(*) slowness would be my preferred option here as well. Despite seeming slower at first (specially on small tables) InnoDB performs row-locking on index-based queries, which indeed improves things quite a bit on big tables with lots of simultaneous reads and writes. Regards, Alex 2010/8/10 Nikos Balkanas nbalka...@gmail.com Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel.users@Kannel.Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re: Kannel performance benchmarking Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allν donde estιs estα tu oficin@ From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 +0200 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know some of these questions are a bit like how long is a piece of string but I really do value all and any of your feedback. Regards, 2010/8/10 Nikos Balkanas nbalka...@gmail.com Try valgrind in linux. BR, Nikos - Original Message - From: sangprabv sangpr...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: brett skinner tatty.dishcl...@gmail.com; kannel users users@kannel.org Sent: Tuesday, August 10, 2010 3:35 AM Subject: Re: Kannel performance benchmarking Yeah I understand that. But when the there is no traffic. Kannel doesn't release the cached or buffered memory it used. Do you have any solution? What command to list down or trace the memory usage by Kannel? So maybe we can investigate which function or module in Kannel is eating the memory. Thanks sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 11:19 PM, Nikos Balkanas wrote: No memory problems. It is reasonable that kannel will use more memory in higher traffic, since all queues are in memory, as long as it drops to nominal levels once the traffic is gone. BR, Nikos - Original Message - From: sangprabv To: brett skinner Cc: Nikos Balkanas ; kannel users Sent: Monday, August 09, 2010 5:59 PM Subject: Re: Kannel performance benchmarking Hi Nikos, Do you experience memory problem? In my case Kannel is eating the memory on high load traffics. I always need to restart the box to get more memory. I even give 3 on /proc/sys/vm/drop_caches but still Kannel eat the memory :( sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 9:42 PM, brett skinner wrote: Hi Nikos Out of curiosity can you go into more detail regarding what hardware you were running and your setup for MySql? Were you using Innodb or MyIsam. If you were using Innodb did you make any other configuration changes to MySql to accommodate Innodb. From the
Re: Kannel performance benchmarking
Well, if it weren't for the SELECT COUNT(*) slowness would be my preferred option here as well. Despite seeming slower at first (specially on small tables) InnoDB performs row-locking on index-based queries, which indeed improves things quite a bit on big tables with lots of simultaneous reads and writes. Regards, Alex 2010/8/10 Nikos Balkanas nbalka...@gmail.com Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel. Users@Kannel.Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re: Kannel performance benchmarking Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allν donde estιs estα tu oficin@ From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 +0200 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know some of these questions are a bit like how long is a piece of string but I really do value all and any of your feedback. Regards, 2010/8/10 Nikos Balkanas nbalka...@gmail.com Try valgrind in linux. BR, Nikos - Original Message - From: sangprabv sangpr...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: brett skinner tatty.dishcl...@gmail.com; kannel users users@kannel.org Sent: Tuesday, August 10, 2010 3:35 AM Subject: Re: Kannel performance benchmarking Yeah I understand that. But when the there is no traffic. Kannel doesn't release the cached or buffered memory it used. Do you have any solution? What command to list down or trace the memory usage by Kannel? So maybe we can investigate which function or module in Kannel is eating the memory. Thanks sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 11:19 PM, Nikos Balkanas wrote: No memory problems. It is reasonable that kannel will use more memory in higher traffic, since all queues are in memory, as long as it drops to nominal levels once the traffic is gone. BR, Nikos - Original Message - From: sangprabv To: brett skinner Cc: Nikos Balkanas ; kannel users Sent: Monday, August 09, 2010 5:59 PM Subject: Re: Kannel performance benchmarking Hi Nikos, Do you experience memory problem? In my case Kannel is eating the memory on high load traffics. I always need to restart the box to get more memory. I even give 3 on /proc/sys/vm/drop_caches but still Kannel eat the memory :( sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 9:42 PM, brett skinner wrote: Hi Nikos Out of curiosity can you go into more detail regarding what hardware you were running and your setup for MySql? Were you using Innodb or MyIsam. If you were using Innodb did you make any other configuration changes to MySql to accommodate Innodb. From the user guide it is implied that the bottle neck for Kannel is the number of messages that the SMSC can accommodate per second. Is this still the case? Regards, 2010/8/8 Nikos Balkanas nbalka...@gmail.com Hi, I have run some benchmarking for a client using fakesmpp. Using the default service for MO's I got: MO's: 1400 SMS/s MT + DLRs (internal): 747 SMS/s MT + DLRs (MySql): 434 SMS/s BR, Nikos - Original Message - From: ha...@aeon.pk To: kannel users Sent: Sunday, August 08, 2010 4:22 PM Subject: Kannel performance benchmarking Hi, I am interested to know about the kannel performance benchmarking, especially in terms of speed (msgs/sec), MO or MT. I assume that multiple smsboxes does not have any effect over kannel performance, since the front-end talking to SMSC is the main bearerbox. What is the max speed that could be attained by
Re: Kannel performance benchmarking
Oh yes, I read that blog quite frequently :) There's a lot of stuff to say about optimizing InnoDB, but it's definitely off-topic here and wouldn't fit on a single email of course. We've gone thru a series of optimization cycles on our platform and, with respect to Kannel, ended up using MyIsam for DLR's. We don't have any locking issues, the only detail is we need to be careful when expiring old entries to do it in small batches and not on peak hours. For the rest of our applications, except for small and mostly read-only tables, we use InnoDB and while seems slower when you do a couple of requests, it's a _lot_ faster if you are under heavy traffic because of the row locking instead of table locking. Anyway, there's no a one-size-fits-all solution and if you really need to sustain heavy traffic I'd recommend you do a lot of profiling and find the bottlenecks either on the DB and the rest of your platform. Regards, Alex On Tue, Aug 10, 2010 at 11:15 AM, brett skinner tatty.dishcl...@gmail.comwrote: Hi Alex That is why I have chosen Innodb for the tables we use for the application that surround Kannel. MyISAM definitely beat Innodb out the box but Innodb does seem to be better in terms of the issues you have pointed out. The other thing that I have read is that Innodb is incredibly slow with the stock standard configuration. I read through the following blog and followed their advice which increased its performance quite drastically. http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/If you have a moment you can give that a read. Or if you have any other good references please send them a long. I am still rather new to MySql. Thanks :) Regards, On Tue, Aug 10, 2010 at 10:56 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Well, if it weren't for the SELECT COUNT(*) slowness would be my preferred option here as well. Despite seeming slower at first (specially on small tables) InnoDB performs row-locking on index-based queries, which indeed improves things quite a bit on big tables with lots of simultaneous reads and writes. Regards, Alex 2010/8/10 Nikos Balkanas nbalka...@gmail.com Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel.users@Kannel.Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re: Kannel performance benchmarking Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allν donde estιs estα tu oficin@ From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 +0200 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know some of these questions are a bit like how long is a piece of string but I really do value all and any of your feedback. Regards, 2010/8/10 Nikos Balkanas nbalka...@gmail.com Try valgrind in linux. BR, Nikos - Original Message - From: sangprabv sangpr...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: brett skinner tatty.dishcl...@gmail.com; kannel users users@kannel.org Sent: Tuesday, August 10, 2010 3:35 AM Subject: Re: Kannel performance benchmarking Yeah I understand that. But when the there is no traffic. Kannel doesn't release the cached or buffered memory it used. Do you have any solution? What command to list down or trace the memory usage by Kannel? So maybe we can investigate which function or module in Kannel is eating the memory. Thanks sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 9, 2010, at 11:19 PM, Nikos Balkanas
Re: Kannel performance benchmarking
Thanks for your feedback. Guess it is the age old tao of computer science. Space vs Time, always space vs time. :) Regards, On Tue, Aug 10, 2010 at 11:52 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Oh yes, I read that blog quite frequently :) There's a lot of stuff to say about optimizing InnoDB, but it's definitely off-topic here and wouldn't fit on a single email of course. We've gone thru a series of optimization cycles on our platform and, with respect to Kannel, ended up using MyIsam for DLR's. We don't have any locking issues, the only detail is we need to be careful when expiring old entries to do it in small batches and not on peak hours. For the rest of our applications, except for small and mostly read-only tables, we use InnoDB and while seems slower when you do a couple of requests, it's a _lot_ faster if you are under heavy traffic because of the row locking instead of table locking. Anyway, there's no a one-size-fits-all solution and if you really need to sustain heavy traffic I'd recommend you do a lot of profiling and find the bottlenecks either on the DB and the rest of your platform. Regards, Alex On Tue, Aug 10, 2010 at 11:15 AM, brett skinner tatty.dishcl...@gmail.com wrote: Hi Alex That is why I have chosen Innodb for the tables we use for the application that surround Kannel. MyISAM definitely beat Innodb out the box but Innodb does seem to be better in terms of the issues you have pointed out. The other thing that I have read is that Innodb is incredibly slow with the stock standard configuration. I read through the following blog and followed their advice which increased its performance quite drastically. http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/If you have a moment you can give that a read. Or if you have any other good references please send them a long. I am still rather new to MySql. Thanks :) Regards, On Tue, Aug 10, 2010 at 10:56 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Well, if it weren't for the SELECT COUNT(*) slowness would be my preferred option here as well. Despite seeming slower at first (specially on small tables) InnoDB performs row-locking on index-based queries, which indeed improves things quite a bit on big tables with lots of simultaneous reads and writes. Regards, Alex 2010/8/10 Nikos Balkanas nbalka...@gmail.com Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel.users@Kannel.Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re: Kannel performance benchmarking Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allν donde estιs estα tu oficin@ From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 +0200 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know some of these questions are a bit like how long is a piece of string but I really do value all and any of your feedback. Regards, 2010/8/10 Nikos Balkanas nbalka...@gmail.com Try valgrind in linux. BR, Nikos - Original Message - From: sangprabv sangpr...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: brett skinner tatty.dishcl...@gmail.com; kannel users users@kannel.org Sent: Tuesday, August 10, 2010 3:35 AM Subject: Re: Kannel performance benchmarking Yeah I understand that. But when the there is no traffic. Kannel doesn't release the cached or buffered memory it used. Do you have any solution? What command to list down or trace
Re: Problem with gw_gethostbyname in Stable version 1.4.3
Nikos is right. I get this problem resolved by adding line in /etc/hosts 127.0.0.1 localhost.localdomain localhost yourhostnamehere or add line 2.2.2.2 yourhostname 2010/8/10 Nikos Balkanas nbalka...@gmail.com Hi, Always use users list for such questions. Add your server to /etc/hosts. I don't know to which variable name you are referring to. Try: telnet 9201 from a shell to see if you have connectivity to HTTP smsc. That address 2.2.2.2 in your send-url looks mighty suspicious. BR, Nikos - Original Message - From: Brian Rathman br...@telrite.com To: de...@kannel.org Sent: Tuesday, August 10, 2010 12:49 AM Subject: Problem with gw_gethostbyname in Stable version 1.4.3 Hi, I am attempting to connect two Kannel servers at two different locations via the smsc group using smsc = http. I have tried this on three different server and I am getting the same bevahior on all three (system 1: debian 5.0.5, system 2: Ubuntu 9.04, system 3: Ubuntu 10.04). In all three cases, when I send a message via the sendsms-user group, I get the following error: 2010-08-09 10:13:47 [9636] [17] ERROR: Error while gw_gethostbyname occurs. 2010-08-09 10:13:47 [9636] [17] ERROR: System error 3: No such process 2010-08-09 10:13:47 [9636] [17] ERROR: gethostbyname failed 2010-08-09 10:13:47 [9636] [17] ERROR: error connecting to server ` 2.2.2.2:9001' at port `9001' I googled several things before bothering you guys, and even tried adding some code to the protected.c file in the gw_gethostbyname function to try and figure out what was going on. What I found, was that the name variable is showing up as 2.2.2.2:9001 instead of just 2.2.2.2. I'm not sure if this correct or not. Anyways, here is my config and my logs: # HTTP administration is disabled by default. Make sure you set the # password if you enable it. group = core admin-port = 13000 admin-password = bar admin-deny-ip = *.*.*.* admin-allow-ip = smsbox-port = 13001 #wapbox-port = 13002 wdp-interface-name = * log-file = /var/log/kannel/bearerbox.log log-level = 0 # Testing #log-level = 1 # Production box-deny-ip = *.*.*.* box-allow-ip = 127.0.0.1 #group = wapbox #bearerbox-host = localhost #log-file = /var/log/kannel/wapbox.log group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = XXX smsc-password = XXX port = 9001 send-url = http://2.2.2.2:9001; #connect-allow-ip = 127.0.0.1 group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 log-file = /var/log/kannel/smsbox.log log-level = 0 group = sendsms-user username = kustc password = XX #default-smsc = ATTSTC concatenation= true max-messages = 10 group = sms-service #keyword = keyword-regex = .* catch-all = yes max-messages = 0 get-url = http://10.20.10.10/test/sms?phone=%ptext=%a; Logs: /var/logs/kannel/bearerbox: 2010-08-09 17:42:23 [17821] [0] INFO: Added logfile `/var/log/kannel/bearerbox.log' with level `0'. 2010-08-09 17:42:23 [17821] [0] INFO: HTTP: Opening server at port 13000. 2010-08-09 17:42:23 [17821] [1] DEBUG: Thread 1 (gwlib/fdset.c:poller) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 1 (gwlib/fdset.c:poller) 2010-08-09 17:42:23 [17821] [2] DEBUG: Thread 2 (gwlib/http.c:server_thread) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 2 (gwlib/http.c:server_thread) 2010-08-09 17:42:23 [17821] [3] DEBUG: Thread 3 (gw/bb_http.c:httpadmin_run) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 3 (gw/bb_http.c:httpadmin_run) 2010-08-09 17:42:23 [17821] [0] DEBUG: starting smsbox connection module 2010-08-09 17:42:23 [17821] [0] INFO: BOXC: 'smsbox-max-pending' not set, using default (100). 2010-08-09 17:42:23 [17821] [4] DEBUG: Thread 4 (gw/bb_boxc.c:sms_to_smsboxes) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 4 (gw/bb_boxc.c:sms_to_smsboxes) 2010-08-09 17:42:23 [17821] [5] DEBUG: Thread 5 (gw/bb_boxc.c:smsboxc_run) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 5 (gw/bb_boxc.c:smsboxc_run) 2010-08-09 17:42:23 [17821] [0] INFO: Set SMS resend frequency to 60 seconds. 2010-08-09 17:42:23 [17821] [0] INFO: SMS resend retry set to unlimited. 2010-08-09 17:42:23 [17821] [0] DEBUG: smsbox MO concatenated message handling enabled 2010-08-09 17:42:23 [17821] [0] INFO: DLR rerouting for smsc id LBSMS1 disabled. 2010-08-09 17:42:23 [17821] [0] INFO: HTTP: Opening server at port 9001. 2010-08-09 17:42:23 [17821] [6] DEBUG: Thread 6 (gw/smsc/smsc_http.c:httpsmsc_receiver) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 6 (gw/smsc/smsc_http.c:httpsmsc_receiver) 2010-08-09 17:42:23 [17821] [7] DEBUG: Thread 7 (gw/smsc/smsc_http.c:httpsmsc_send_cb) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 7 (gw/smsc/smsc_http.c:httpsmsc_send_cb) 2010-08-09
RE: Life without smsbox
Hi Nikos, Not sure what part of my message your Nope applies to. With regards to the architecture, sqlbox as it stands today is definitely not compliant. It has no ACK generation at ALL and acts just as a go-between, intercepting messages from bearerbox, processing them then passing them to smsbox, and vice-versa. ACKs (if any) must come from a connected smsbox. My proposed patch fixes that, by generating the ACK if there's no smsbox configured. However, based on your description of the architecture is does little to bring sqlbox into compliance. That would take quite a bit more re-work - sqlbox would need to ACK all messages and then decide which messages from smsbox it should pass back to bearerbox. I'm likely not the right person to take on that task given my limited exposure to the code to date. On the smsbox-route issue, this is new for me. I've been running Kannel for a long time and have never had this group in the config. My reading of the users' guide is that this section is only needed if you want to override the default round-robin behaviour. In my case, each message has its msgc_id set to the specific smsbox (sqlbox) where it needs to route to. Looking at bb_boxc.c/route_incoming_to_boxc, the routing of incoming messages looks to me like this order of events: - If no smsbox is connected then store the message - If the message's boxc_id is set, then route it direct to that box - If there's a smsbox-route config section, then follow the rules there - Pick a random box from the list of connected boxes Having a hard time seeing why smsbox-route is mandatory. My main objection to setting it anyway is that I have a lot of SMSC connections and I'd prefer not to maintain a list of them in a string in this section. Leads to configuration issues down the track if updating that line is missed while adding/removing a SMSC. My code is vanilla from the svn head, except the new ACK changes I've made to sqlbox. Thanks, Toby -Original Message- From: Nikos Balkanas [mailto:nbalka...@gmail.com] Sent: Tuesday, 10 August 2010 4:40 PM To: Toby Phipps; 'Rene Kluwen'; users@kannel.org Subject: Re: Life without smsbox Nope. It disrupts architecture. Once a box receives a Msg *, it must generate an ACK, so that bearerbox knows that it is the other box's responsibility how to handle it and delete it from its own queue. ACK should be returned whenever it is accepted, indepenedent of the logic thereafter. It is now sqlbox's responsibility and it should figure out whether to send it upstream, or handle it itself. smsbox-route should be even if there is only 1 connected box. I don't follow you saying that without it you get no warnings. Did you change the sources? BR, Nikos - Original Message - From: Toby Phipps toby.phi...@nexmedia.com.sg To: 'Rene Kluwen' rene.klu...@chimit.nl; 'Nikos Balkanas' nbalka...@gmail.com; users@kannel.org Sent: Tuesday, August 10, 2010 8:14 AM Subject: RE: Life without smsbox Rene, As the subject line suggests, I'm not actually running a smsbox, and the smsbox-id in both sqlbox and smsbox groups is set to the same value as recommended by Nikos (below) in order to force the routing. Maybe I misunderstood his directions? In any case, the smsbox_list empty warning turned out to be a red herring. It turns out that it appeared in the logs only a couple of times when I was tweaking the configuration and sqlbox wasn't running. With the current configuration (with the smsbox-route group removed), DLRs are routing correctly to sqlbox, and I've confirmed this with traces in the sqlbox code, the lack of the smsbox_list empty warning, and 100% MT-to-DLR matching in the sqlbox tables. I'm guessing this routing is happening either because I'm forcing the routing (setting boxc_id in every MT submitted), or because there's only one box connected, and bearerbox routes it there. So, with the new ACK code I've added to sqlbox, things appear to be running very smoothly. I'm seeing both MT submission notification and true DLRs coming through to sqlbox, and the bearerbox logs and status output show that they're being properly ACKed and purged from the local store. I'm quite happy with this config. With regards to the sqlbox ACK generation patch, I've been thinking about what should trigger the sqlbox-originated ACK. I originally coded it to generate the ACK if there was no smsbox connected to it, but on second thought this doesn't seem like a great idea as there could be situations where smsbox should be running but isn't, so the ACKs SHOULD be delegated and messages queued. My next thought was to use the presence of the smsbox-port config parameter (sqlbox group) to trigger the ACK (sqlbox generates the ACK if sqlbox-port is not present in the config and it delegates the ACK if it is present). However, looking at the code, the smsbox-port parameter is defaulted to 13005 if not present, so this would break backwards
Re: ADMIN HTTP AND SEND SMS HTTP INTERFACES FAIL AFTER REBOOTING FEDORA 10 KANNEL SMS GATEWAY SERVER
Please post logs at debug level |-| Envíe y Reciba Datos y mensajes de Texto (SMS) hacia y desde cualquier celular y Nextel en el Perú, México y en mas de 180 paises. Use aplicaciones 2 vias via SMS y GPRS online Visitenos en www.perusms.NET www.smsglobal.com.mx y www.pravcom.com On Tue, Aug 10, 2010 at 3:38 AM, mwamba duncan.ow...@gmail.com wrote: Hi Experts, I am having issue with the HTTP interfaces for admin and send sms for kannel when i restart Fedora. The gateway can send and receive sms so well (sending sms and admin function) after installing kannel, but when i restart Fedora server, the http interfaces cannot be used. The gateway is running on Fedora 10. I am using Sony Ericsson C702 as the Modem ##Below it the /etc/kannel.conf file #CORE group = core admin-port = 13000 smsbox-port = 13001 admin-password = bar #status-password = foo admin-deny-ip = *.*.*.* admin-allow-ip = 127.0.0.1 log-file = /var/log/kannel/bearerbox.log log-level = 1 box-deny-ip = *.*.*.* box-allow-ip = 127.0.0.1 #unified-prefix = +358,00358,0;+,00 #access-log = /tmp/access.log #store-file = kannel.store #ssl-server-cert-file = cert.pem #ssl-server-key-file = key.pem #ssl-certkey-file = mycertandprivkeyfile.pem #- # SMSC CONNECTIONS #Duncan 's smsc configs of the sony ericsson c702 as the modem group = smsc smsc = at modemtype = auto device = /dev/ttyACM0 my-number = 3543870236903270 log-level = 1 #Duncan's modems groups configs as per /etc/wvdialconf file group = modems id = Sony Ericsson name = Sony Ericsson C702 detect-string = Sony init-string=ATZ init-string=ATQ0 V1 E1 S0=0 C1 D2 +FCLASS=0 #- # SMSBOX SETUP # # Smsbox(es) do higher-level SMS handling after they have been received from # SMS centers by bearerbox, or before they are given to bearerbox for delivery group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 #duncan -- the sender number to be used in text messages global-sender = +254738967285 #sendsms-chars = 0123456789 +- log-file = /var/log/kannel/smsbox.log log-level = 1 #access-log = /tmp/access.log #- # SEND-SMS USERS # # These users are used when Kannel smsbox sendsms interface is used to # send PUSH sms messages, i.e. calling URL like # http://kannel.machine:13013/cgi-bin/sendsms?username=testerpassword=foobar... group = sendsms-user username = tester password = foobar concatenation = true max-messages = 3 #user-deny-ip = #user-allow-ip = #- # SERVICES # # These are 'responses' to sms PULL messages, i.e. messages arriving from # handsets. The response is based on message content. Only one sms-service is # applied, using the first one to match. group = sms-service keyword = nop text = You asked nothing and I did it! # There should be always a 'default' service. This service is used when no # other 'sms-service' is applied. group = sms-service keyword = default text = No service specified The bearerbox and smsbox start well. see below logs: BEARER BOX STARTS UP SUCESSFULLY## [r...@fedora10 owino]# bearerbox -v 1 /etc/kannel.conf [1] 3287 [r...@fedora10 owino]# 2010-08-10 03:45:53 [3287] [0] INFO: Debug_lvl = 1, log_file = none, log_lvl = 0 2010-08-10 03:45:53 [3287] [0] WARNING: DLR: using default 'internal' for storage type. 2010-08-10 03:45:53 [3287] [0] INFO: DLR using storage type: internal 2010-08-10 03:45:53 [3287] [0] INFO: Added logfile `/var/log/kannel/bearerbox.log' with level `1'. 2010-08-10 03:45:53 [3287] [0] INFO: HTTP: Opening server at port 13000. 2010-08-10 03:45:53 [3287] [0] INFO: BOXC: 'smsbox-Tmax-pending' not set, using default (100). 2010-08-10 03:45:53 [3287] [0] INFO: Set SMS resend frequency to 60 seconds. 2010-08-10 03:45:53 [3287] [0] INFO: SMS resend retry set to unlimited. 2010-08-10 03:45:53 [3287] [0] INFO: DLR rerouting for smsc id (null) disabled. 2010-08-10 03:45:53 [3287] [0] INFO: AT2[/dev/ttyACM0]: configuration doesn't show modemtype. will autodetect 2010-08-10 03:45:53 [3287] [6] INFO: AT2[/dev/ttyACM0]: opening device 2010-08-10 03:45:53 [3287] [0] INFO: 2010-08-10 03:45:53 [3287] [0] INFO: Kannel bearerbox II version 1.4.3 starting 2010-08-10 03:45:53 [3287] [0] INFO: MAIN: Start-up done, entering mainloop 2010-08-10 03:45:54 [3287] [6] INFO: AT2[/dev/ttyACM0]: speed set to 115200 2010-08-10 03:45:56 [3287] [6] INFO: AT2[/dev/ttyACM0]: Closing device 2010-08-10 03:45:56 [3287] [6] INFO: AT2[/dev/ttyACM0]: detect speed is 115200 2010-08-10 03:45:56 [3287] [6]
Kannel configuration and Logs
Hi ALL This is my kannel configuration. As mentioned before Iam new to kannel and I am still trying to send an sms and my Nokia N73 PHONE IS NOT WORKING. The log s you asked are below.Any MISTAKES I HAVE MADE. The gateway is running on RED HAT 9. ##Below it the /etc/kannel.conf file #CORE group = core admin-port = 13000 smsbox-port = 13001 admin-password = hard2guess #status-password = hard2guess #admin-deny-ip = *.*.*.* admin-allow-ip = #log-file = /tmp/kannel.log log-level = 0 box-deny-ip = *.*.*.* box-allow-ip = 127.0.0.1 #unified-prefix = +358,00358,0;+,00 #access-log = /tmp/access.log #store-file = kannel.store #ssl-server-cert-file = cert.pem #ssl-server-key-file = key.pem #ssl-certkey-file = mycertandprivkeyfile.pem #- # SMSC CONNECTIONS group = smsc smsc = at smsc-id = GSMModem modem type = auto device = /dev/ttyUSB0 my-number = 26876049970 speed = 460800 log = 0 group = modems id = nokia name = Nokia N73 detect-string = Nokia init-string=ATZ init-string=ATQ0 V1 E1 S0=0 C1 D2 +FCLASS=0 Modem Type = USB Modem #- # SMSBOX SETUP # # Smsbox(es) do higher-level SMS handling after they have been received from # SMS centers by bearerbox, or before they are given to bearerbox for delivery group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 global-sender = 26876049970 #sendsms-chars = 0123456789 +- log-file = /tmp/smsbox.log log-level = 1 #access-log = /tmp/access.log #- # SEND-SMS USERS # # These users are used when Kannel smsbox sendsms interface is used to # send PUSH sms messages, i.e. calling URL like # http://kannel.machine:13013/cgi-bin/sendsms?username=testerpassword=foo bar... group = sendsms-user username = kannel password = hard2guess concatenation = true max-messages = 2 #user-deny-ip = #user-allow-ip = #- # SERVICES # # These are 'responses' to sms PULL messages, i.e. messages arriving from # handsets. The response is based on message content. Only one sms-service is # applied, using the first one to match. group = sms-service keyword = default catch = all # There should be always a 'default' service. This service is used when no # other 'sms-service' is applied. group = sms-service keyword = default text = No service specified The bearerbox and smsbox start well. see below logs: BEARER BOX STARTS UP LIKE THIS ## [r...@langa root]# bearerbox -v 1 /home/gateway-1.4.3/gw/smskannel.conf 2010-08-10 03:45:53 [3287] [0] INFO: Debug_lvl = 1, log_file = none, log_lvl = 0 2010-08-10 03:45:53 [3287] [0] WARNING: DLR: using default 'internal' for storage type. 2010-08-10 03:45:53 [3287] [0] INFO: DLR using storage type: internal 2010-08-10 03:45:53 [3287] [0] INFO: HTTP: Opening server at port 13000. 2010-08-10 03:45:53 [3287] [0] ERROR: bind failed 2010-08-10 03:45:53 [3287] [0] ERROR: System error 98: Address already in use 2010-08-10 03:45:53 [3287] [0] INFO: BOXC: 'smsbox-max-pending' not set, using default (100). 2010-08-10 03:45:53 [3287] [0] INFO: Set SMS resend frequency to 60 seconds. 2010-08-10 03:45:53 [3287] [0] INFO: SMS resend retry set to unlimited. 2010-08-10 03:45:53 [3287] [0] INFO: DLR rerouting for smsc id (FAKE) disabled. 2010-08-10 03:45:53 [3287] [0] INFO: 2010-08-10 03:45:53 [3287] [0] INFO: Kannel bearerbox II version 1.4.1 starting 2010-08-10 03:45:53 [3287] [0] INFO: MAIN: Start-up done,entering mainloop 2010-08-10 03:45:53 [3287] [0] INFO: Client connected from127.0.0.1 ## SMSBOX STARTS UP LIKE THIS ### [[r...@langa root]# smsbox -v 1 /home/gateway-1.4.3/gw/smskannel.conf 2010-08-10 03:47:24 [3297] [0] INFO: Debug_lvl = 1, log_file = none, log_lvl = 0 2010-08-10 03:47:24 [3297] [0] INFO: Starting to log to file 2010-08-10 2010-08-10 03:47:24 [3297] [0] INFO: HTTP: Opening server at port 13013. 2010-08-10 03:47:24 [3297] [0] INFO: Set up send sms service at port 13013 03:47:24 [3297] [0] INFO: Connected to bearerbox at 127.0.0.1 port 13001. DISCLAIMER This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the administra...@sptc.co.sz, then delete the email and destroy any copies of it. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Swaziland Posts Telecommunication Corporation
Re: Problem with gw_gethostbyname in Stable version 1.4.3
Nikos, Thanks for the reply and sorry about the incorrect list. The variable is called name in the function gw_gethostbyname in gwlib/protected.c. Line 186: int gw_gethostbyname(struct hostent *ent, const char *name, char **buff) If I print this variable before it is passed to: while ((res=gethostbyname_r(name, hp, *buff, bufflen, tmphp, herr)) == ERANGE) { it prints out 2.2.2.2:9001 instead of just 2.2.2.2 Here is my /etc/hosts file: 127.0.0.1 localhost 10.20.10.6 Amstel.telrite.com Amstel 2.2.2.2smstest.laborbridge.com # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts I am able to telnet to port 9001 on 2.2.2.2 but not port 9201? Was that a typo? Thanks, Brian Original Message Subject: Re:Problem with gw_gethostbyname in Stable version 1.4.3 From: Nikos Balkanas nbalka...@gmail.com To: Brian Rathman br...@telrite.com, users@kannel.org Date: Monday, August 09, 2010 7:10:37 PM Hi, Always use users list for such questions. Add your server to /etc/hosts. I don't know to which variable name you are referring to. Try: telnet 9201 from a shell to see if you have connectivity to HTTP smsc. That address 2.2.2.2 in your send-url looks mighty suspicious. BR, Nikos - Original Message - From: Brian Rathman br...@telrite.com To: de...@kannel.org Sent: Tuesday, August 10, 2010 12:49 AM Subject: Problem with gw_gethostbyname in Stable version 1.4.3 Hi, I am attempting to connect two Kannel servers at two different locations via the smsc group using smsc = http. I have tried this on three different server and I am getting the same bevahior on all three (system 1: debian 5.0.5, system 2: Ubuntu 9.04, system 3: Ubuntu 10.04). In all three cases, when I send a message via the sendsms-user group, I get the following error: 2010-08-09 10:13:47 [9636] [17] ERROR: Error while gw_gethostbyname occurs. 2010-08-09 10:13:47 [9636] [17] ERROR: System error 3: No such process 2010-08-09 10:13:47 [9636] [17] ERROR: gethostbyname failed 2010-08-09 10:13:47 [9636] [17] ERROR: error connecting to server `2.2.2.2:9001' at port `9001' I googled several things before bothering you guys, and even tried adding some code to the protected.c file in the gw_gethostbyname function to try and figure out what was going on. What I found, was that the name variable is showing up as 2.2.2.2:9001 instead of just 2.2.2.2. I'm not sure if this correct or not. Anyways, here is my config and my logs: # HTTP administration is disabled by default. Make sure you set the # password if you enable it. group = core admin-port = 13000 admin-password = bar admin-deny-ip = *.*.*.* admin-allow-ip = smsbox-port = 13001 #wapbox-port = 13002 wdp-interface-name = * log-file = /var/log/kannel/bearerbox.log log-level = 0 # Testing #log-level = 1 # Production box-deny-ip = *.*.*.* box-allow-ip = 127.0.0.1 #group = wapbox #bearerbox-host = localhost #log-file = /var/log/kannel/wapbox.log group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = XXX smsc-password = XXX port = 9001 send-url = http://2.2.2.2:9001; #connect-allow-ip = 127.0.0.1 group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 log-file = /var/log/kannel/smsbox.log log-level = 0 group = sendsms-user username = kustc password = XX #default-smsc = ATTSTC concatenation= true max-messages = 10 group = sms-service #keyword = keyword-regex = .* catch-all = yes max-messages = 0 get-url = http://10.20.10.10/test/sms?phone=%ptext=%a; Logs: /var/logs/kannel/bearerbox: 2010-08-09 17:42:23 [17821] [0] INFO: Added logfile `/var/log/kannel/bearerbox.log' with level `0'. 2010-08-09 17:42:23 [17821] [0] INFO: HTTP: Opening server at port 13000. 2010-08-09 17:42:23 [17821] [1] DEBUG: Thread 1 (gwlib/fdset.c:poller) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 1 (gwlib/fdset.c:poller) 2010-08-09 17:42:23 [17821] [2] DEBUG: Thread 2 (gwlib/http.c:server_thread) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 2 (gwlib/http.c:server_thread) 2010-08-09 17:42:23 [17821] [3] DEBUG: Thread 3 (gw/bb_http.c:httpadmin_run) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 3 (gw/bb_http.c:httpadmin_run) 2010-08-09 17:42:23 [17821] [0] DEBUG: starting smsbox connection module 2010-08-09 17:42:23 [17821] [0] INFO: BOXC: 'smsbox-max-pending' not set, using default (100). 2010-08-09 17:42:23 [17821] [4] DEBUG: Thread 4 (gw/bb_boxc.c:sms_to_smsboxes) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 4 (gw/bb_boxc.c:sms_to_smsboxes) 2010-08-09 17:42:23 [17821] [5] DEBUG: Thread 5 (gw/bb_boxc.c:smsboxc_run) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 5 (gw/bb_boxc.c:smsboxc_run)
Re: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3
Here is my /etc/hosts file: 127.0.0.1 localhost 10.20.10.6 Amstel.telrite.com Amstel 2.2.2.2smstest.laborbridge.com I can ping and resolve all of these fine. 2.2.2.2 is not the actual IP address obviously, but I believe the problem is that function in protected.c is trying to resolve 2.2.2.2:9001 instead of just 2.2.2.2 Original Message Subject: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3 From: Abdul Basit basit.e...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: Brian Rathman br...@telrite.com, users@kannel.org Date: Tuesday, August 10, 2010 6:27:27 AM Nikos is right. I get this problem resolved by adding line in /etc/hosts 127.0.0.1 localhost.localdomain localhost yourhostnamehere or add line 2.2.2.2 yourhostname 2010/8/10 Nikos Balkanas nbalka...@gmail.com mailto:nbalka...@gmail.com Hi, Always use users list for such questions. Add your server to /etc/hosts. I don't know to which variable name you are referring to. Try: telnet 9201 from a shell to see if you have connectivity to HTTP smsc. That address 2.2.2.2 in your send-url looks mighty suspicious. BR, Nikos - Original Message - From: Brian Rathman br...@telrite.com mailto:br...@telrite.com To: de...@kannel.org mailto:de...@kannel.org Sent: Tuesday, August 10, 2010 12:49 AM Subject: Problem with gw_gethostbyname in Stable version 1.4.3 Hi, I am attempting to connect two Kannel servers at two different locations via the smsc group using smsc = http. I have tried this on three different server and I am getting the same bevahior on all three (system 1: debian 5.0.5, system 2: Ubuntu 9.04, system 3: Ubuntu 10.04). In all three cases, when I send a message via the sendsms-user group, I get the following error: 2010-08-09 10:13:47 [9636] [17] ERROR: Error while gw_gethostbyname occurs. 2010-08-09 10:13:47 [9636] [17] ERROR: System error 3: No such process 2010-08-09 10:13:47 [9636] [17] ERROR: gethostbyname failed 2010-08-09 10:13:47 [9636] [17] ERROR: error connecting to server `*MailScanner warning: numerical links are often malicious:* 2.2.2.2:9001 http://2.2.2.2:9001' at port `9001' I googled several things before bothering you guys, and even tried adding some code to the protected.c file in the gw_gethostbyname function to try and figure out what was going on. What I found, was that the name variable is showing up as *MailScanner warning: numerical links are often malicious:* 2.2.2.2:9001 http://2.2.2.2:9001 instead of just 2.2.2.2. I'm not sure if this correct or not. Anyways, here is my config and my logs: # HTTP administration is disabled by default. Make sure you set the # password if you enable it. group = core admin-port = 13000 admin-password = bar admin-deny-ip = *.*.*.* admin-allow-ip = smsbox-port = 13001 #wapbox-port = 13002 wdp-interface-name = * log-file = /var/log/kannel/bearerbox.log log-level = 0 # Testing #log-level = 1 # Production box-deny-ip = *.*.*.* box-allow-ip = 127.0.0.1 #group = wapbox #bearerbox-host = localhost #log-file = /var/log/kannel/wapbox.log group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = XXX smsc-password = XXX port = 9001 send-url = *MailScanner warning: numerical links are often malicious:* http://2.2.2.2:9001; #connect-allow-ip = 127.0.0.1 group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 log-file = /var/log/kannel/smsbox.log log-level = 0 group = sendsms-user username = kustc password = XX #default-smsc = ATTSTC concatenation= true max-messages = 10 group = sms-service #keyword = keyword-regex = .* catch-all = yes max-messages = 0 get-url = *MailScanner warning: numerical links are often malicious:* http://10.20.10.10/test/sms?phone=%ptext=%a http://10.20.10.10/test/sms?phone=%ptext=%a Logs: /var/logs/kannel/bearerbox: 2010-08-09 17:42:23 [17821] [0] INFO: Added logfile `/var/log/kannel/bearerbox.log' with level `0'. 2010-08-09 17:42:23 [17821] [0] INFO: HTTP: Opening server at port 13000. 2010-08-09 17:42:23 [17821] [1] DEBUG: Thread 1 (gwlib/fdset.c:poller) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 1 (gwlib/fdset.c:poller) 2010-08-09 17:42:23 [17821] [2] DEBUG: Thread 2
Re: Problem with gw_gethostbyname in Stable version 1.4.3
Have you tried adding a slash at the end of your send-url? I'm not telling it's not broken, but maybe that solves your problem. I remember the url parser was broken time ago, it should work fine on latest SVN. Regards, Alex 2010/8/10 Brian Rathman br...@telrite.com Nikos, Thanks for the reply and sorry about the incorrect list. The variable is called name in the function gw_gethostbyname in gwlib/protected.c. Line 186: int gw_gethostbyname(struct hostent *ent, const char *name, char **buff) If I print this variable before it is passed to: while ((res=gethostbyname_r(name, hp, *buff, bufflen, tmphp, herr)) == ERANGE) { it prints out 2.2.2.2:9001 instead of just 2.2.2.2 Here is my /etc/hosts file: 127.0.0.1 localhost 10.20.10.6 Amstel.telrite.com Amstel 2.2.2.2smstest.laborbridge.com # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts I am able to telnet to port 9001 on 2.2.2.2 but not port 9201? Was that a typo? Thanks, Brian Original Message Subject: Re:Problem with gw_gethostbyname in Stable version 1.4.3 From: Nikos Balkanas nbalka...@gmail.com To: Brian Rathman br...@telrite.com, users@kannel.org Date: Monday, August 09, 2010 7:10:37 PM Hi, Always use users list for such questions. Add your server to /etc/hosts. I don't know to which variable name you are referring to. Try: telnet 9201 from a shell to see if you have connectivity to HTTP smsc. That address 2.2.2.2 in your send-url looks mighty suspicious. BR, Nikos - Original Message - From: Brian Rathman br...@telrite.com To: de...@kannel.org Sent: Tuesday, August 10, 2010 12:49 AM Subject: Problem with gw_gethostbyname in Stable version 1.4.3 Hi, I am attempting to connect two Kannel servers at two different locations via the smsc group using smsc = http. I have tried this on three different server and I am getting the same bevahior on all three (system 1: debian 5.0.5, system 2: Ubuntu 9.04, system 3: Ubuntu 10.04). In all three cases, when I send a message via the sendsms-user group, I get the following error: 2010-08-09 10:13:47 [9636] [17] ERROR: Error while gw_gethostbyname occurs. 2010-08-09 10:13:47 [9636] [17] ERROR: System error 3: No such process 2010-08-09 10:13:47 [9636] [17] ERROR: gethostbyname failed 2010-08-09 10:13:47 [9636] [17] ERROR: error connecting to server ` 2.2.2.2:9001' at port `9001' I googled several things before bothering you guys, and even tried adding some code to the protected.c file in the gw_gethostbyname function to try and figure out what was going on. What I found, was that the name variable is showing up as 2.2.2.2:9001 instead of just 2.2.2.2. I'm not sure if this correct or not. Anyways, here is my config and my logs: # HTTP administration is disabled by default. Make sure you set the # password if you enable it. group = core admin-port = 13000 admin-password = bar admin-deny-ip = *.*.*.* admin-allow-ip = smsbox-port = 13001 #wapbox-port = 13002 wdp-interface-name = * log-file = /var/log/kannel/bearerbox.log log-level = 0 # Testing #log-level = 1 # Production box-deny-ip = *.*.*.* box-allow-ip = 127.0.0.1 #group = wapbox #bearerbox-host = localhost #log-file = /var/log/kannel/wapbox.log group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = XXX smsc-password = XXX port = 9001 send-url = http://2.2.2.2:9001; #connect-allow-ip = 127.0.0.1 group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 log-file = /var/log/kannel/smsbox.log log-level = 0 group = sendsms-user username = kustc password = XX #default-smsc = ATTSTC concatenation= true max-messages = 10 group = sms-service #keyword = keyword-regex = .* catch-all = yes max-messages = 0 get-url = http://10.20.10.10/test/sms?phone=%ptext=%a; Logs: /var/logs/kannel/bearerbox: 2010-08-09 17:42:23 [17821] [0] INFO: Added logfile `/var/log/kannel/bearerbox.log' with level `0'. 2010-08-09 17:42:23 [17821] [0] INFO: HTTP: Opening server at port 13000. 2010-08-09 17:42:23 [17821] [1] DEBUG: Thread 1 (gwlib/fdset.c:poller) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 1 (gwlib/fdset.c:poller) 2010-08-09 17:42:23 [17821] [2] DEBUG: Thread 2 (gwlib/http.c:server_thread) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 2 (gwlib/http.c:server_thread) 2010-08-09 17:42:23 [17821] [3] DEBUG: Thread 3 (gw/bb_http.c:httpadmin_run) maps to pid 17821. 2010-08-09 17:42:23 [17821] [0] DEBUG: Started thread 3 (gw/bb_http.c:httpadmin_run) 2010-08-09 17:42:23 [17821] [0] DEBUG: starting smsbox connection module 2010-08-09 17:42:23 [17821] [0] INFO: BOXC: 'smsbox-max-pending' not set, using default (100).
Re: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3
Ah, or you could use: send-url = http://smstest.laborbridge.com:9001/; Tthat should work (I think it gets confused with the IP + port, should work fine with a regular fqdn). Regards, Alex On Tue, Aug 10, 2010 at 4:20 PM, Brian Rathman br...@telrite.com wrote: Here is my /etc/hosts file: 127.0.0.1 localhost 10.20.10.6 Amstel.telrite.com Amstel 2.2.2.2smstest.laborbridge.com I can ping and resolve all of these fine. 2.2.2.2 is not the actual IP address obviously, but I believe the problem is that function in protected.c is trying to resolve 2.2.2.2:9001 instead of just 2.2.2.2 Original Message Subject: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3 From: Abdul Basit basit.e...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: Brian Rathman br...@telrite.com, users@kannel.org Date: Tuesday, August 10, 2010 6:27:27 AM Nikos is right. I get this problem resolved by adding line in /etc/hosts 127.0.0.1 localhost.localdomain localhost yourhostnamehere or add line 2.2.2.2 yourhostname 2010/8/10 Nikos Balkanas nbalka...@gmail.com mailto:nbalka...@gmail.com Hi, Always use users list for such questions. Add your server to /etc/hosts. I don't know to which variable name you are referring to. Try: telnet 9201 from a shell to see if you have connectivity to HTTP smsc. That address 2.2.2.2 in your send-url looks mighty suspicious. BR, Nikos - Original Message - From: Brian Rathman br...@telrite.com mailto:br...@telrite.com To: de...@kannel.org mailto:de...@kannel.org Sent: Tuesday, August 10, 2010 12:49 AM Subject: Problem with gw_gethostbyname in Stable version 1.4.3 Hi, I am attempting to connect two Kannel servers at two different locations via the smsc group using smsc = http. I have tried this on three different server and I am getting the same bevahior on all three (system 1: debian 5.0.5, system 2: Ubuntu 9.04, system 3: Ubuntu 10.04). In all three cases, when I send a message via the sendsms-user group, I get the following error: 2010-08-09 10:13:47 [9636] [17] ERROR: Error while gw_gethostbyname occurs. 2010-08-09 10:13:47 [9636] [17] ERROR: System error 3: No such process 2010-08-09 10:13:47 [9636] [17] ERROR: gethostbyname failed 2010-08-09 10:13:47 [9636] [17] ERROR: error connecting to server `*MailScanner warning: numerical links are often malicious:* 2.2.2.2:9001 http://2.2.2.2:9001' at port `9001' I googled several things before bothering you guys, and even tried adding some code to the protected.c file in the gw_gethostbyname function to try and figure out what was going on. What I found, was that the name variable is showing up as *MailScanner warning: numerical links are often malicious:* 2.2.2.2:9001 http://2.2.2.2:9001 instead of just 2.2.2.2. I'm not sure if this correct or not. Anyways, here is my config and my logs: # HTTP administration is disabled by default. Make sure you set the # password if you enable it. group = core admin-port = 13000 admin-password = bar admin-deny-ip = *.*.*.* admin-allow-ip = smsbox-port = 13001 #wapbox-port = 13002 wdp-interface-name = * log-file = /var/log/kannel/bearerbox.log log-level = 0 # Testing #log-level = 1 # Production box-deny-ip = *.*.*.* box-allow-ip = 127.0.0.1 #group = wapbox #bearerbox-host = localhost #log-file = /var/log/kannel/wapbox.log group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = XXX smsc-password = XXX port = 9001 send-url = *MailScanner warning: numerical links are often malicious:* http://2.2.2.2:9001; #connect-allow-ip = 127.0.0.1 group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 log-file = /var/log/kannel/smsbox.log log-level = 0 group = sendsms-user username = kustc password = XX #default-smsc = ATTSTC concatenation= true max-messages = 10 group = sms-service #keyword = keyword-regex = .* catch-all = yes max-messages = 0 get-url = *MailScanner warning: numerical links are often malicious:* http://10.20.10.10/test/sms?phone=%ptext=%a http://10.20.10.10/test/sms?phone=%ptext=%a Logs: /var/logs/kannel/bearerbox: 2010-08-09 17:42:23 [17821] [0] INFO: Added logfile `/var/log/kannel/bearerbox.log' with level `0'. 2010-08-09 17:42:23 [17821] [0] INFO: HTTP: Opening server at port 13000.
How does Kannel handle DLR for concatenated sms
Hi I have sent through a couple of long messages. Looking through the logs I can see multiple messages submitted to the SMSC via submit_sm PDUs. However these is only one deliver_sm coming back from the SMSC (at least according to the logs). Is the number of deliver_sm PDUs implementation specific and differ between SMSCs? Is this expected behavior? Or has Kannel done some behind the scenes magic because I have the concatenated flag set to true? Regards,
Re: {Disarmed} Re: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3
Alejandro, Success!!! When I added the FQDN and the trailing forward slash, it seems to be working now with the Stable 1.4.3 version. I had tried the FQDN yesterday without success so I believe that the trailing forward slash may be the key (Just FYI for anyone else frantically googling like I was yesterday). One final semi related question: What is the format of the IP list for the connect-allow-ip parameter? I had 3.3.3.3,127.0.0.1 but it told me that 3.3.3.3 was denied. When I changed it to just 3.3.3.3 it works, but I would like to add multiple addresses into that list. Thanks to everyone who responded. I really appreciate all of your help. Brian Original Message Subject: {Disarmed} Re: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3 From: Alejandro Guerrieri alejandro.guerri...@gmail.com To: Brian Rathman br...@telrite.com Cc: users@kannel.org Date: Tuesday, August 10, 2010 10:29:38 AM Ah, or you could use: send-url = http://smstest.laborbridge.com http://smstest.laborbridge.com:9001/ Tthat should work (I think it gets confused with the IP + port, should work fine with a regular fqdn). Regards, Alex On Tue, Aug 10, 2010 at 4:20 PM, Brian Rathman br...@telrite.com mailto:br...@telrite.com wrote: Here is my /etc/hosts file: 127.0.0.1 localhost 10.20.10.6 Amstel.telrite.com http://Amstel.telrite.com Amstel 2.2.2.2smstest.laborbridge.com http://smstest.laborbridge.com I can ping and resolve all of these fine. 2.2.2.2 is not the actual IP address obviously, but I believe the problem is that function in protected.c is trying to resolve *MailScanner warning: numerical links are often malicious:* 2.2.2.2:9001 http://2.2.2.2:9001 instead of just 2.2.2.2 Original Message Subject: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3 From: Abdul Basit basit.e...@gmail.com mailto:basit.e...@gmail.com To: Nikos Balkanas nbalka...@gmail.com mailto:nbalka...@gmail.com Cc: Brian Rathman br...@telrite.com mailto:br...@telrite.com, users@kannel.org mailto:users@kannel.org Date: Tuesday, August 10, 2010 6:27:27 AM Nikos is right. I get this problem resolved by adding line in /etc/hosts 127.0.0.1 localhost.localdomain localhost yourhostnamehere or add line 2.2.2.2 yourhostname 2010/8/10 Nikos Balkanas nbalka...@gmail.com mailto:nbalka...@gmail.com mailto:nbalka...@gmail.com mailto:nbalka...@gmail.com Hi, Always use users list for such questions. Add your server to /etc/hosts. I don't know to which variable name you are referring to. Try: telnet 9201 from a shell to see if you have connectivity to HTTP smsc. That address 2.2.2.2 in your send-url looks mighty suspicious. BR, Nikos - Original Message - From: Brian Rathman br...@telrite.com mailto:br...@telrite.com mailto:br...@telrite.com mailto:br...@telrite.com To: de...@kannel.org mailto:de...@kannel.org mailto:de...@kannel.org mailto:de...@kannel.org Sent: Tuesday, August 10, 2010 12:49 AM Subject: Problem with gw_gethostbyname in Stable version 1.4.3 Hi, I am attempting to connect two Kannel servers at two different locations via the smsc group using smsc = http. I have tried this on three different server and I am getting the same bevahior on all three (system 1: debian 5.0.5, system 2: Ubuntu 9.04, system 3: Ubuntu 10.04). In all three cases, when I send a message via the sendsms-user group, I get the following error: 2010-08-09 10:13:47 [9636] [17] ERROR: Error while gw_gethostbyname occurs. 2010-08-09 10:13:47 [9636] [17] ERROR: System error 3: No such process 2010-08-09 10:13:47 [9636] [17] ERROR: gethostbyname failed 2010-08-09 10:13:47 [9636] [17] ERROR: error connecting to server `*MailScanner warning: numerical links are often malicious:* *MailScanner warning: numerical links are often malicious:* 2.2.2.2:9001 http://2.2.2.2:9001 *MailScanner warning: numerical links are often malicious:* http://2.2.2.2:9001' at port `9001' I googled several things before bothering you guys, and even tried adding some code to the protected.c file in the gw_gethostbyname function to try and figure out what was going on. What I found, was that the name variable is showing up as *MailScanner warning: numerical links are often malicious:*
RE: Life without smsbox
IMHO, You have two solutions. Preferable to be implemented both. 1. Smsbox with id: smsbox Sqlbox with id: sqlbox Now if you sent messages via sqlbox with the boxc_id field to smsbox, then acks will be sent to smsbox and handled upon accordingly (not tested). 2. Implement acks in sqlbox. Do not look if any smsbox is connected, but instead only generate an ack if boxc_id is the same as the id that you give to sqlbox. This means that messages are only stored in the sent_sms table and no smsbox is there to give an ack, so it should be generated by sqlbox. == Rene -Original Message- From: Toby Phipps [mailto:toby.phi...@nexmedia.com.sg] Sent: Tuesday, 10 August, 2010 07:14 To: 'Rene Kluwen'; 'Nikos Balkanas'; users@kannel.org Subject: RE: Life without smsbox Rene, As the subject line suggests, I'm not actually running a smsbox, and the smsbox-id in both sqlbox and smsbox groups is set to the same value as recommended by Nikos (below) in order to force the routing. Maybe I misunderstood his directions? In any case, the smsbox_list empty warning turned out to be a red herring. It turns out that it appeared in the logs only a couple of times when I was tweaking the configuration and sqlbox wasn't running. With the current configuration (with the smsbox-route group removed), DLRs are routing correctly to sqlbox, and I've confirmed this with traces in the sqlbox code, the lack of the smsbox_list empty warning, and 100% MT-to-DLR matching in the sqlbox tables. I'm guessing this routing is happening either because I'm forcing the routing (setting boxc_id in every MT submitted), or because there's only one box connected, and bearerbox routes it there. So, with the new ACK code I've added to sqlbox, things appear to be running very smoothly. I'm seeing both MT submission notification and true DLRs coming through to sqlbox, and the bearerbox logs and status output show that they're being properly ACKed and purged from the local store. I'm quite happy with this config. With regards to the sqlbox ACK generation patch, I've been thinking about what should trigger the sqlbox-originated ACK. I originally coded it to generate the ACK if there was no smsbox connected to it, but on second thought this doesn't seem like a great idea as there could be situations where smsbox should be running but isn't, so the ACKs SHOULD be delegated and messages queued. My next thought was to use the presence of the smsbox-port config parameter (sqlbox group) to trigger the ACK (sqlbox generates the ACK if sqlbox-port is not present in the config and it delegates the ACK if it is present). However, looking at the code, the smsbox-port parameter is defaulted to 13005 if not present, so this would break backwards compatibility. So, I'm thinking of adding a new config parameter instead - something like run-without-smsbox or sqlbox-generates-ack. Any suggestions or thoughts? Thanks, Toby. -Original Message- From: Rene Kluwen [mailto:rene.klu...@chimit.nl] Sent: Tuesday, 10 August 2010 3:56 AM To: 'Nikos Balkanas'; 'Toby Phipps'; users@kannel.org Subject: RE: Life without smsbox True. You have the same smsbox-id for both smsbox and sqlbox. It should be different. But... probably sqlbox isn't going to send an ACK. At least I didn't put it in the code. Maybe someone else. == Rene -Original Message- From: Nikos Balkanas [mailto:nbalka...@gmail.com] Sent: Monday, 09 August, 2010 19:07 To: Toby Phipps; 'Rene Kluwen'; users@kannel.org Subject: Re: Life without smsbox I reiterate. SQLbox shouldn't have such an error. Your smsbox-route is not correct, you need to specify smsc-id. Read User's guide about it. You should still be getting that WARNING. Solve that, and you should be set. BR, Nikos - Original Message - From: Toby Phipps toby.phi...@nexmedia.com.sg To: 'Nikos Balkanas' nbalka...@gmail.com; 'Rene Kluwen' rene.klu...@chimit.nl; users@kannel.org Sent: Monday, August 09, 2010 7:59 PM Subject: RE: Life without smsbox Hmm, OK. Interesting. I've reverted to the SVN head of sqlbox and configured the following: group = smsbox bearerbox-host = localhost smsbox-id = sqlbox group = smsbox-route smsbox-id = sqlbox group = sqlbox id = sqlbox smsbox-id = sqlbox bearerbox-port = 13100 bearerbox-host = localhost # smsbox-port = 13200 sql-log-table = smsgw_kannel_sms_result sql-insert-table = smsgw_kannel_sms_queue log-file = /usr/local/kannel/log/sqlbox.log log-level = 0 Now, I see the following in bearerbox.log: 2010-08-10 00:53:11 [1691] [13] DEBUG: boxc_receiver: sms received 2010-08-10 00:53:11 [1691] [13] DEBUG: send_msg: sending msg to boxc: sqlbox 2010-08-10 00:53:11 [1691] [14] DEBUG: send_msg: sending msg to boxc: sqlbox 2010-08-10 00:53:11 [1691] [14] DEBUG: boxc_sender: sent message to 127.0.0.1 2010-08-10 00:53:17 [1691] [14] DEBUG: send_msg: sending msg to boxc: sqlbox 2010-08-10 00:53:17 [1691] [14] DEBUG: boxc_sender: sent message to 127.0.0.1 The
RE: telcel mexico
Why don't you ask them instead of us? I know it's not cheap, for sure. And they have heavy requirements, like the need of an advertisement budget from your side. This was one or two years ago. Not sure what they ask for now. == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Zhnupy Gonzalez Sent: Tuesday, 10 August, 2010 09:35 To: users@kannel.org Subject: telcel mexico Hello community, I'm researching about setting up a smpp connection with telcel (mexico), can anyone provide with an approximate figure ($). regards
sqlbox problem with utf-8 coding
Hello All, I am using kannel-1.4.3 with sqlbox-0.7.2. Sqlbox works fine except that I encounter a coding pb when sending char like ', I receive /' on my cell phone. I know this is known pb and looked for solutions online, but no success. ex: I send an http request with text = d'utilesssql. If I check my logs I have: access_smsbox_server.log: 2010-08-09 15:09:22 send-SMS request added - sender:tester:parameter 127.0.0.1 target: request: 'd'utilesssql' sqlbox: | sql_id | momt | sender| receiver| udhdata | msgdata | time | smsc_id | service | account | id | sms_type | mclass | mwi | coding | compress | validity | deferred | dlr_mask | dlr_url | pid | alt_dcs | rpi | charset | boxc_id | binfo | +-+--+---+-+-+--++---+-+-+--+--++--++--+--+--+--+-+--+-+--+-+-+---+ | 3422777 | MT | parameter | xx | NULL| d'utilesssql | 1281359362 | group_all | tester | NULL| NULL |2 | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL| NULL |NULL | NULL | NULL | NULL| NULL | access_server.log: 2010-08-09 15:59:11 Sent SMS [SMSC:xx] [SVC:tester] [ACT:] [BINF:] [FID:] [META:] [from:parameter] [to:xxx] [flags:-1:0:-1:-1:-1] [msg:14:d./'utilesssql] [udh:0:] I 've set everything in utf-8 from kannel (.conf files) to mysql and linux (env). Magic quotes on mysql are off too. Please help meon that subject. I think the solution would go through php or C dev but I am not really a specialist on these points. Rgds Adams -- View this message in context: http://old.nabble.com/sqlbox-problem-with-utf-8-coding-tp29397830p29397830.html Sent from the Kannel - User mailing list archive at Nabble.com.
RE: sqlbox problem with utf-8 coding
Your solution exists already. Update sqlbox to latest svn (later than 2010-08-02). The quote bug is solved in that version. == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of adams0 Sent: Tuesday, 10 August, 2010 16:56 To: users@kannel.org Subject: sqlbox problem with utf-8 coding Hello All, I am using kannel-1.4.3 with sqlbox-0.7.2. Sqlbox works fine except that I encounter a coding pb when sending char like ', I receive /' on my cell phone. I know this is known pb and looked for solutions online, but no success. ex: I send an http request with text = d'utilesssql. If I check my logs I have: access_smsbox_server.log: 2010-08-09 15:09:22 send-SMS request added - sender:tester:parameter 127.0.0.1 target: request: 'd'utilesssql' sqlbox: | sql_id | momt | sender| receiver| udhdata | msgdata | time | smsc_id | service | account | id | sms_type | mclass | mwi | coding | compress | validity | deferred | dlr_mask | dlr_url | pid | alt_dcs | rpi | charset | boxc_id | binfo | +-+--+---+-+-+--+--- -+---+-+-+--+--++--+ +--+--+--+--+-+--+-+ --+-+-+---+ | 3422777 | MT | parameter | xx | NULL| d'utilesssql | 1281359362 | group_all | tester | NULL| NULL |2 | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL| NULL |NULL | NULL | NULL | NULL| NULL | access_server.log: 2010-08-09 15:59:11 Sent SMS [SMSC:xx] [SVC:tester] [ACT:] [BINF:] [FID:] [META:] [from:parameter] [to:xxx] [flags:-1:0:-1:-1:-1] [msg:14:d./'utilesssql] [udh:0:] I 've set everything in utf-8 from kannel (.conf files) to mysql and linux (env). Magic quotes on mysql are off too. Please help meon that subject. I think the solution would go through php or C dev but I am not really a specialist on these points. Rgds Adams -- View this message in context: http://old.nabble.com/sqlbox-problem-with-utf-8-coding-tp29397830p29397830.h tml Sent from the Kannel - User mailing list archive at Nabble.com.
RE: Kannel performance benchmarking
Why don’t you try it on your own system. Test with a MyIsam table and with InnoDB. It will be easy to determine which one works faster for you. == Rene From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of brett skinner Sent: Tuesday, 10 August, 2010 11:56 To: Alejandro Guerrieri Cc: Users Subject: Re: Kannel performance benchmarking Thanks for your feedback. Guess it is the age old tao of computer science. Space vs Time, always space vs time. :) Regards, On Tue, Aug 10, 2010 at 11:52 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Oh yes, I read that blog quite frequently :) There's a lot of stuff to say about optimizing InnoDB, but it's definitely off-topic here and wouldn't fit on a single email of course. We've gone thru a series of optimization cycles on our platform and, with respect to Kannel, ended up using MyIsam for DLR's. We don't have any locking issues, the only detail is we need to be careful when expiring old entries to do it in small batches and not on peak hours. For the rest of our applications, except for small and mostly read-only tables, we use InnoDB and while seems slower when you do a couple of requests, it's a _lot_ faster if you are under heavy traffic because of the row locking instead of table locking. Anyway, there's no a one-size-fits-all solution and if you really need to sustain heavy traffic I'd recommend you do a lot of profiling and find the bottlenecks either on the DB and the rest of your platform. Regards, Alex On Tue, Aug 10, 2010 at 11:15 AM, brett skinner tatty.dishcl...@gmail.com wrote: Hi Alex That is why I have chosen Innodb for the tables we use for the application that surround Kannel. MyISAM definitely beat Innodb out the box but Innodb does seem to be better in terms of the issues you have pointed out. The other thing that I have read is that Innodb is incredibly slow with the stock standard configuration. I read through the following blog and followed their advice which increased its performance quite drastically. http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ If you have a moment you can give that a read. Or if you have any other good references please send them a long. I am still rather new to MySql. Thanks :) Regards, On Tue, Aug 10, 2010 at 10:56 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Well, if it weren't for the SELECT COUNT(*) slowness would be my preferred option here as well. Despite seeming slower at first (specially on small tables) InnoDB performs row-locking on index-based queries, which indeed improves things quite a bit on big tables with lots of simultaneous reads and writes. Regards, Alex 2010/8/10 Nikos Balkanas nbalka...@gmail.com Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel. us...@kannel. Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re: Kannel performance benchmarking Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allν donde estιs estα tu oficin@ From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 +0200 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know some of these questions are a bit like how long is a piece of string but I really do value all and any of your feedback. Regards, 2010/8/10 Nikos Balkanas nbalka...@gmail.com Try valgrind in linux. BR, Nikos - Original Message - From: sangprabv sangpr...@gmail.com To: Nikos Balkanas nbalka...@gmail.com Cc: brett skinner tatty.dishcl...@gmail.com; kannel users
RE: {Disarmed} Re: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3
Brian, Use 3.3.3.3;127.0.0.1 instead of a comma. == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Brian Rathman Sent: Tuesday, 10 August, 2010 16:45 To: users@kannel.org Subject: Re: {Disarmed} Re: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3 Alejandro, Success!!! When I added the FQDN and the trailing forward slash, it seems to be working now with the Stable 1.4.3 version. I had tried the FQDN yesterday without success so I believe that the trailing forward slash may be the key (Just FYI for anyone else frantically googling like I was yesterday). One final semi related question: What is the format of the IP list for the connect-allow-ip parameter? I had 3.3.3.3,127.0.0.1 but it told me that 3.3.3.3 was denied. When I changed it to just 3.3.3.3 it works, but I would like to add multiple addresses into that list. Thanks to everyone who responded. I really appreciate all of your help. Brian Original Message Subject: {Disarmed} Re: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3 From: Alejandro Guerrieri alejandro.guerri...@gmail.com To: Brian Rathman br...@telrite.com Cc: users@kannel.org Date: Tuesday, August 10, 2010 10:29:38 AM Ah, or you could use: send-url = http://smstest.laborbridge.com http://smstest.laborbridge.com:9001/ Tthat should work (I think it gets confused with the IP + port, should work fine with a regular fqdn). Regards, Alex On Tue, Aug 10, 2010 at 4:20 PM, Brian Rathman br...@telrite.com mailto:br...@telrite.com wrote: Here is my /etc/hosts file: 127.0.0.1 localhost 10.20.10.6 Amstel.telrite.com http://Amstel.telrite.com Amstel 2.2.2.2smstest.laborbridge.com http://smstest.laborbridge.com I can ping and resolve all of these fine. 2.2.2.2 is not the actual IP address obviously, but I believe the problem is that function in protected.c is trying to resolve *MailScanner warning: numerical links are often malicious:* 2.2.2.2:9001 http://2.2.2.2:9001 instead of just 2.2.2.2 Original Message Subject: {Disarmed} Re: Problem with gw_gethostbyname in Stable version 1.4.3 From: Abdul Basit basit.e...@gmail.com mailto:basit.e...@gmail.com To: Nikos Balkanas nbalka...@gmail.com mailto:nbalka...@gmail.com Cc: Brian Rathman br...@telrite.com mailto:br...@telrite.com, users@kannel.org mailto:users@kannel.org Date: Tuesday, August 10, 2010 6:27:27 AM Nikos is right. I get this problem resolved by adding line in /etc/hosts 127.0.0.1 localhost.localdomain localhost yourhostnamehere or add line 2.2.2.2 yourhostname 2010/8/10 Nikos Balkanas nbalka...@gmail.com mailto:nbalka...@gmail.com mailto:nbalka...@gmail.com mailto:nbalka...@gmail.com Hi, Always use users list for such questions. Add your server to /etc/hosts. I don't know to which variable name you are referring to. Try: telnet 9201 from a shell to see if you have connectivity to HTTP smsc. That address 2.2.2.2 in your send-url looks mighty suspicious. BR, Nikos - Original Message - From: Brian Rathman br...@telrite.com mailto:br...@telrite.com mailto:br...@telrite.com mailto:br...@telrite.com To: de...@kannel.org mailto:de...@kannel.org mailto:de...@kannel.org mailto:de...@kannel.org Sent: Tuesday, August 10, 2010 12:49 AM Subject: Problem with gw_gethostbyname in Stable version 1.4.3 Hi, I am attempting to connect two Kannel servers at two different locations via the smsc group using smsc = http. I have tried this on three different server and I am getting the same bevahior on all three (system 1: debian 5.0.5, system 2: Ubuntu 9.04, system 3: Ubuntu 10.04). In all three cases, when I send a message via the sendsms-user group, I get the following error: 2010-08-09 10:13:47 [9636] [17] ERROR: Error while gw_gethostbyname occurs. 2010-08-09 10:13:47 [9636] [17] ERROR: System error 3: No such process 2010-08-09 10:13:47 [9636] [17] ERROR: gethostbyname failed 2010-08-09 10:13:47 [9636] [17] ERROR: error connecting to server `*MailScanner warning: numerical links are often malicious:* *MailScanner warning: numerical links are often malicious:* 2.2.2.2:9001 http://2.2.2.2:9001 *MailScanner warning: numerical links are often malicious:*
Re: Kannel performance benchmarking
Regarding this performance benchmarking. I still got memory problem. Kannel fails to release buffered or cached memory. Does anybody has tips to avoid this problem? Thanks. sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 10, 2010, at 10:12 PM, Rene Kluwen wrote: Why don’t you try it on your own system. Test with a MyIsam table and with InnoDB. It will be easy to determine which one works faster for you. == Rene From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of brett skinner Sent: Tuesday, 10 August, 2010 11:56 To: Alejandro Guerrieri Cc: Users Subject: Re: Kannel performance benchmarking Thanks for your feedback. Guess it is the age old tao of computer science. Space vs Time, always space vs time. :) Regards, On Tue, Aug 10, 2010 at 11:52 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Oh yes, I read that blog quite frequently :) There's a lot of stuff to say about optimizing InnoDB, but it's definitely off-topic here and wouldn't fit on a single email of course. We've gone thru a series of optimization cycles on our platform and, with respect to Kannel, ended up using MyIsam for DLR's. We don't have any locking issues, the only detail is we need to be careful when expiring old entries to do it in small batches and not on peak hours. For the rest of our applications, except for small and mostly read-only tables, we use InnoDB and while seems slower when you do a couple of requests, it's a _lot_ faster if you are under heavy traffic because of the row locking instead of table locking. Anyway, there's no a one-size-fits-all solution and if you really need to sustain heavy traffic I'd recommend you do a lot of profiling and find the bottlenecks either on the DB and the rest of your platform. Regards, Alex On Tue, Aug 10, 2010 at 11:15 AM, brett skinner tatty.dishcl...@gmail.com wrote: Hi Alex That is why I have chosen Innodb for the tables we use for the application that surround Kannel. MyISAM definitely beat Innodb out the box but Innodb does seem to be better in terms of the issues you have pointed out. The other thing that I have read is that Innodb is incredibly slow with the stock standard configuration. I read through the following blog and followed their advice which increased its performance quite drastically. http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ If you have a moment you can give that a read. Or if you have any other good references please send them a long. I am still rather new to MySql. Thanks :) Regards, On Tue, Aug 10, 2010 at 10:56 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Well, if it weren't for the SELECT COUNT(*) slowness would be my preferred option here as well. Despite seeming slower at first (specially on small tables) InnoDB performs row-locking on index-based queries, which indeed improves things quite a bit on big tables with lots of simultaneous reads and writes. Regards, Alex 2010/8/10 Nikos Balkanas nbalka...@gmail.com Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel. us...@kannel. Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re: Kannel performance benchmarking Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allν donde estιs estα tu oficin@ From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 +0200 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel worked is that reading/writing to the DLR table would be interleaved. I may be quite badly mistaken and might perhaps need to switch to MyISAM as a few others have recommended. In your opinion what should Kannel be able to handle sustained (assuming normal business hours)? And what should Kannel be able to burst to? I know
Re: Kannel performance benchmarking
Are you completely _sure_ that it's held by Kannel and not the underlying OS? Linux doesn't free unused memory unless needed by other processes. Also, if you have in-memory DLR's or a huge retry queue, it could consume lots of memory. Unless you get OOM errors, I wouldn't be concerned by the amount of memory being used. Regards, Alex On Tue, Aug 10, 2010 at 5:26 PM, sangprabv sangpr...@gmail.com wrote: Regarding this performance benchmarking. I still got memory problem. Kannel fails to release buffered or cached memory. Does anybody has tips to avoid this problem? Thanks. sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 10, 2010, at 10:12 PM, Rene Kluwen wrote: Why don’t you try it on your own system. Test with a MyIsam table and with InnoDB. It will be easy to determine which one works faster for you. == Rene *From:* users-boun...@kannel.org [mailto:users-boun...@kannel.org] *On Behalf Of *brett skinner *Sent:* Tuesday, 10 August, 2010 11:56 *To:* Alejandro Guerrieri *Cc:* Users *Subject:* Re: Kannel performance benchmarking Thanks for your feedback. Guess it is the age old tao of computer science. Space vs Time, always space vs time. :) Regards, On Tue, Aug 10, 2010 at 11:52 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Oh yes, I read that blog quite frequently :) There's a lot of stuff to say about optimizing InnoDB, but it's definitely off-topic here and wouldn't fit on a single email of course. We've gone thru a series of optimization cycles on our platform and, with respect to Kannel, ended up using MyIsam for DLR's. We don't have any locking issues, the only detail is we need to be careful when expiring old entries to do it in small batches and not on peak hours. For the rest of our applications, except for small and mostly read-only tables, we use InnoDB and while seems slower when you do a couple of requests, it's a _lot_ faster if you are under heavy traffic because of the row locking instead of table locking. Anyway, there's no a one-size-fits-all solution and if you really need to sustain heavy traffic I'd recommend you do a lot of profiling and find the bottlenecks either on the DB and the rest of your platform. Regards, Alex On Tue, Aug 10, 2010 at 11:15 AM, brett skinner tatty.dishcl...@gmail.com wrote: Hi Alex That is why I have chosen Innodb for the tables we use for the application that surround Kannel. MyISAM definitely beat Innodb out the box but Innodb does seem to be better in terms of the issues you have pointed out. The other thing that I have read is that Innodb is incredibly slow with the stock standard configuration. I read through the following blog and followed their advice which increased its performance quite drastically. http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ If you have a moment you can give that a read. Or if you have any other good references please send them a long. I am still rather new to MySql. Thanks :) Regards, On Tue, Aug 10, 2010 at 10:56 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Well, if it weren't for the SELECT COUNT(*) slowness would be my preferred option here as well. Despite seeming slower at first (specially on small tables) InnoDB performs row-locking on index-based queries, which indeed improves things quite a bit on big tables with lots of simultaneous reads and writes. Regards, Alex 2010/8/10 Nikos Balkanas nbalka...@gmail.com Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel. Users@Kannel.Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re: Kannel performance benchmarking Brett, The DLR engine uses SELECT COUNT(*) from the admin interface, which is painfully slow on InnoDB for moderately big tables. While InnoDB would theoretically be the best option, MyIsam performs quite better in this case. Regards, Alex BlackBerry de movistar, allν donde estιs estα tu oficin@ From: brett skinner tatty.dishcl...@gmail.com Sender: users-boun...@kannel.org Date: Tue, 10 Aug 2010 10:13:54 +0200 To: Usersusers@kannel.org Subject: Re: Kannel performance benchmarking Hi Nikos Thanks for the extra information. What was the motivation for using MyISAM? My reading lead me to believe that MyISAM was not that well suited for interleaved reads and writes due to table locking which is why I opted to use InnoDB. From what I assumed about how Kannel
Re: Life without smsbox
#1. It works, I've tested it time ago. #2. Should work, but could get messy: what about an sqlbox in the middle setup with an smsbox dying? Messages received while smsbox is down would be stored on sqlbox and smsbox wouldn't know about it. I think the original purpose of sqlbox was to act as a man in the middle writing messages into an database and also being able to read messages from it and inject them into bearerbox. Adding ACK's and extra logic into it would move the focus towards a more full-fledged box solution. I'm not saying it's wrong, but it's a change from the original paradigm and it should be analyzed further imho. Regards, Alex On Tue, Aug 10, 2010 at 4:48 PM, Rene Kluwen rene.klu...@chimit.nl wrote: IMHO, You have two solutions. Preferable to be implemented both. 1. Smsbox with id: smsbox Sqlbox with id: sqlbox Now if you sent messages via sqlbox with the boxc_id field to smsbox, then acks will be sent to smsbox and handled upon accordingly (not tested). 2. Implement acks in sqlbox. Do not look if any smsbox is connected, but instead only generate an ack if boxc_id is the same as the id that you give to sqlbox. This means that messages are only stored in the sent_sms table and no smsbox is there to give an ack, so it should be generated by sqlbox. == Rene -Original Message- From: Toby Phipps [mailto:toby.phi...@nexmedia.com.sg] Sent: Tuesday, 10 August, 2010 07:14 To: 'Rene Kluwen'; 'Nikos Balkanas'; users@kannel.org Subject: RE: Life without smsbox Rene, As the subject line suggests, I'm not actually running a smsbox, and the smsbox-id in both sqlbox and smsbox groups is set to the same value as recommended by Nikos (below) in order to force the routing. Maybe I misunderstood his directions? In any case, the smsbox_list empty warning turned out to be a red herring. It turns out that it appeared in the logs only a couple of times when I was tweaking the configuration and sqlbox wasn't running. With the current configuration (with the smsbox-route group removed), DLRs are routing correctly to sqlbox, and I've confirmed this with traces in the sqlbox code, the lack of the smsbox_list empty warning, and 100% MT-to-DLR matching in the sqlbox tables. I'm guessing this routing is happening either because I'm forcing the routing (setting boxc_id in every MT submitted), or because there's only one box connected, and bearerbox routes it there. So, with the new ACK code I've added to sqlbox, things appear to be running very smoothly. I'm seeing both MT submission notification and true DLRs coming through to sqlbox, and the bearerbox logs and status output show that they're being properly ACKed and purged from the local store. I'm quite happy with this config. With regards to the sqlbox ACK generation patch, I've been thinking about what should trigger the sqlbox-originated ACK. I originally coded it to generate the ACK if there was no smsbox connected to it, but on second thought this doesn't seem like a great idea as there could be situations where smsbox should be running but isn't, so the ACKs SHOULD be delegated and messages queued. My next thought was to use the presence of the smsbox-port config parameter (sqlbox group) to trigger the ACK (sqlbox generates the ACK if sqlbox-port is not present in the config and it delegates the ACK if it is present). However, looking at the code, the smsbox-port parameter is defaulted to 13005 if not present, so this would break backwards compatibility. So, I'm thinking of adding a new config parameter instead - something like run-without-smsbox or sqlbox-generates-ack. Any suggestions or thoughts? Thanks, Toby. -Original Message- From: Rene Kluwen [mailto:rene.klu...@chimit.nl] Sent: Tuesday, 10 August 2010 3:56 AM To: 'Nikos Balkanas'; 'Toby Phipps'; users@kannel.org Subject: RE: Life without smsbox True. You have the same smsbox-id for both smsbox and sqlbox. It should be different. But... probably sqlbox isn't going to send an ACK. At least I didn't put it in the code. Maybe someone else. == Rene -Original Message- From: Nikos Balkanas [mailto:nbalka...@gmail.com] Sent: Monday, 09 August, 2010 19:07 To: Toby Phipps; 'Rene Kluwen'; users@kannel.org Subject: Re: Life without smsbox I reiterate. SQLbox shouldn't have such an error. Your smsbox-route is not correct, you need to specify smsc-id. Read User's guide about it. You should still be getting that WARNING. Solve that, and you should be set. BR, Nikos - Original Message - From: Toby Phipps toby.phi...@nexmedia.com.sg To: 'Nikos Balkanas' nbalka...@gmail.com; 'Rene Kluwen' rene.klu...@chimit.nl; users@kannel.org Sent: Monday, August 09, 2010 7:59 PM Subject: RE: Life without smsbox Hmm, OK. Interesting. I've reverted to the SVN head of sqlbox and configured the following: group = smsbox bearerbox-host = localhost smsbox-id = sqlbox group =
RE: Problem with spool store - missing sms_type
Where exactly in the http admin page do you see that msg_type is empty? -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Tomasz Sent: Tuesday, 10 August, 2010 18:21 To: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, I don't know for sure if this is openSMPPBOX issue or not but if messages are submitted via openSMPPBOX the msg_type is empty and this makes that Bearerbox crashes during restart when we have some messages queued in the spool. When submitting messages by SMSBOX (CGI push), the problem didn't exists - msg_type is set correctly. I can check if msg_type exists or not using http admin store-status command (when there are some queued messages). Messages submitted via openSMPPBOX have empty fields in Type column. Rene, I can provide more details with the issue, but I can't see in logs any revelant information - only PANICs during start of Bearerbox. Only at http admin page I can see that msg_type is empty. But if you need please let me know what information would be helpful. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (17:01:52) można przeczytać: In the smppbox code, I don’t see anywhere where a msg is created without msg_type. We use the msg_create() function and dlr_find functions to create messages. If this is an smppbox issue, I would like to get more information about it. == Rene From: Alejandro Guerrieri [mailto:alejandro.guerri...@gmail.com] Sent: Monday, 09 August, 2010 23:27 To: Rene Kluwen Cc: Nikos Balkanas; users@kannel.org Subject: Re: Problem with spool store - missing sms_type Exactly. The point is: during normal operation, kannel of course it doesn't panic and will accept messages without a valid sms type. However, they're kept on the store with an invalid format, so if you shutdown the service with messages pending on the store, and just one of them happens to have an invalid sms type, the service panics at startup. This is less than desirable of course, specially when you have a ton of completely valid messages and just a bunch of invalid. IMHO, kannel should reject messages with invalid sms type during regular operation (with a WARN logged). It _shouldn't_ try to fix them. That would take care of the problem in a proper way. Apart from that, a way to discard invalid messages at bootup without panicking would also be desirable Regards, Alex On Mon, Aug 9, 2010 at 11:11 PM, Rene Kluwen rene.klu...@chimit.nl wrote: Yes, open smppbox should correctly fill in the correct type. If it doesn't it is an error. But at the same time: If one particular message has an incorrent sms_type. Why panic? It can just discard the message and go on with normal operation. == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Nikos Balkanas Sent: Monday, 09 August, 2010 22:34 To: Alejandro Guerrieri Cc: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, The behaviour in store is the only correct one. sms_type could be an MO (0), MT (2) or DLR (3). Different logic and routing is applied in each case. During startup it doesn't know which one is and correctly panics. During operation, maybe bb can tell more, but I am not sure it is always safe to do so. It has to discriminate between an MT, a reroute_dlr (report_mt) and an mt_reply (from an MO). Or between an MO and a report_mo. Anyway, it should at least be consistent, and it should check for sms_type and if missing and absolutely sure it knows what it is, fill it in, else discard with an error. This is an opensmppbox issue. It should set the correct sms_type according to gw/msg.h. BR, Nikos - Original Message - From: Alejandro Guerrieri To: Nikos Balkanas Cc: Tomasz ; users@kannel.org Sent: Monday, August 09, 2010 9:12 PM Subject: Re: Problem with spool store - missing sms_type Yep, smsbox doesn't. Sqlbox, if you're not careful, does. The problem is with the way messages are checked. When messages are received from a box, they go to memory first _and_ the store later. In that case, bearerbox doesn't perform any sanity checks on the sms type field. Now, when messages are retrieved from the store during boot, a sanity check is performed and the whole system panics if it encounter a single invalid message. I think two things would be needed here: 1. Perform the same sanity checks when getting messages from boxes and reject anything that would cause a problem when retrieved from the store. 2. Add an option to boot kannel discarding those corrupted messages. A few hundred corrupted messages in the store could mean a nightmare when trying to restart a crashed server. Regards, Alex 2010/8/9 Nikos Balkanas nbalka...@gmail.com Hi, I can verify to the thousands of kannel users all over the wold, that smsbox doesn't
dlr smppbox
Dear all, What happens if I will request Delivery report from smppbox ? Thanks
RE: dlr smppbox
You will get a deliver_sm for every message that you request a delivery report for. From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Imran Aghayev Sent: Tuesday, 10 August, 2010 19:12 To: users@kannel.org Subject: dlr smppbox Dear all, What happens if I will request Delivery report from smppbox ? Thanks
SMSBox Routing Question
Ok, I have proceed a little further and I am now confused on the routing setup. I'm having trouble understanding exactly how the smsbox-route groups work along with the smsbox group. I currently have three SMSCs configured. Two are to my upstream carrier and they are smpp connections: # SMSC 1: group = smsc smsc = smpp smsc-id = ATTSTC host = 20.10.5.100 port = 9000 receive-port = 9000 smsc-username = TE smsc-password = TE system-type = VMA address-range = reconnect-delay = 50 msg-id-type = 1 # SMSC 2: group = smsc smsc = smpp smsc-id = ATTVTC host = 20.10.6.100 port = 9000 receive-port = 9000 smsc-username = TE smsc-password = TE system-type = VMA address-range = reconnect-delay = 50 msg-id-type = 1 I am able to bind to both of these and send and receive without any problems. The third smsc is my customer running Kannel at another location: # SMSC 3: group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = TE smsc-password = TE port = 9001 send-url = http://smstest.lb.com:9001/; connect-allow-ip = 20.8.8.10;127.0.0.1 I would like to route anything that is coming TO either of two short codes (ie, and 1112) to SMSC #3. So basically anything inbound from my upstream provider SMSC #1 and SMSC #2 and also anything from my local sendsms-user: group = sendsms-user username = ku password = x concatenation= true max-messages = 10 that is destined for or 1112 will be sent to SMSC3. Anything else needs to be sent to SMSC #1 first and then if that is unavailable send to SMSC #2. Any help on this would be greatly appreciated. Thanks, Brian
RE: SMSBox Routing Question
For inter-smsc routing, check the reroute-receiver option of group = smsc. =+= Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Brian Rathman Sent: Tuesday, 10 August, 2010 22:01 To: users@kannel.org Subject: SMSBox Routing Question Ok, I have proceed a little further and I am now confused on the routing setup. I'm having trouble understanding exactly how the smsbox-route groups work along with the smsbox group. I currently have three SMSCs configured. Two are to my upstream carrier and they are smpp connections: # SMSC 1: group = smsc smsc = smpp smsc-id = ATTSTC host = 20.10.5.100 port = 9000 receive-port = 9000 smsc-username = TE smsc-password = TE system-type = VMA address-range = reconnect-delay = 50 msg-id-type = 1 # SMSC 2: group = smsc smsc = smpp smsc-id = ATTVTC host = 20.10.6.100 port = 9000 receive-port = 9000 smsc-username = TE smsc-password = TE system-type = VMA address-range = reconnect-delay = 50 msg-id-type = 1 I am able to bind to both of these and send and receive without any problems. The third smsc is my customer running Kannel at another location: # SMSC 3: group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = TE smsc-password = TE port = 9001 send-url = http://smstest.lb.com:9001/; connect-allow-ip = 20.8.8.10;127.0.0.1 I would like to route anything that is coming TO either of two short codes (ie, and 1112) to SMSC #3. So basically anything inbound from my upstream provider SMSC #1 and SMSC #2 and also anything from my local sendsms-user: group = sendsms-user username = ku password = x concatenation= true max-messages = 10 that is destined for or 1112 will be sent to SMSC3. Anything else needs to be sent to SMSC #1 first and then if that is unavailable send to SMSC #2. Any help on this would be greatly appreciated. Thanks, Brian
Re: Problem with spool store - missing sms_type
Hi Rene, I added following line after 1485 line to smppbox.c (is case submit_sm section): msg-sms.sms_type = mt_push; to check if this time msg_type will be filled and it seems to be. Bearerbox now see MT_PUSH as Type in admin page. But I don't know if submit_sm is used only to send MT messages so this is not final clear solution I think. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (21:49:05) można przeczytać: Looking into the msg.c source code (function msg_pack()) it is not even possible for smppbox to send a message with an invalid msg-type to bearerbox. I wonder what might be wrong. == Rene -Original Message- From: Tomasz [mailto:ad...@impexrur.pl] Sent: Tuesday, 10 August, 2010 20:22 To: Rene Kluwen Subject: Re: Problem with spool store - missing sms_type When I call http://domain.pl:13000/store-status I can see the table of all queued messages (if any). And all those messages which were submitted via openSMPPBOX have Type field empty there. However all messages submitted by SMSBOX have this value filled correctly. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (19:06:21) można przeczytać: Where exactly in the http admin page do you see that msg_type is empty? -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Tomasz Sent: Tuesday, 10 August, 2010 18:21 To: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, I don't know for sure if this is openSMPPBOX issue or not but if messages are submitted via openSMPPBOX the msg_type is empty and this makes that Bearerbox crashes during restart when we have some messages queued in the spool. When submitting messages by SMSBOX (CGI push), the problem didn't exists - msg_type is set correctly. I can check if msg_type exists or not using http admin store-status command (when there are some queued messages). Messages submitted via openSMPPBOX have empty fields in Type column. Rene, I can provide more details with the issue, but I can't see in logs any revelant information - only PANICs during start of Bearerbox. Only at http admin page I can see that msg_type is empty. But if you need please let me know what information would be helpful. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (17:01:52) można przeczytać: In the smppbox code, I don’t see anywhere where a msg is created without msg_type. We use the msg_create() function and dlr_find functions to create messages. If this is an smppbox issue, I would like to get more information about it. == Rene From: Alejandro Guerrieri [mailto:alejandro.guerri...@gmail.com] Sent: Monday, 09 August, 2010 23:27 To: Rene Kluwen Cc: Nikos Balkanas; users@kannel.org Subject: Re: Problem with spool store - missing sms_type Exactly. The point is: during normal operation, kannel of course it doesn't panic and will accept messages without a valid sms type. However, they're kept on the store with an invalid format, so if you shutdown the service with messages pending on the store, and just one of them happens to have an invalid sms type, the service panics at startup. This is less than desirable of course, specially when you have a ton of completely valid messages and just a bunch of invalid. IMHO, kannel should reject messages with invalid sms type during regular operation (with a WARN logged). It _shouldn't_ try to fix them. That would take care of the problem in a proper way. Apart from that, a way to discard invalid messages at bootup without panicking would also be desirable Regards, Alex On Mon, Aug 9, 2010 at 11:11 PM, Rene Kluwen rene.klu...@chimit.nl wrote: Yes, open smppbox should correctly fill in the correct type. If it doesn't it is an error. But at the same time: If one particular message has an incorrent sms_type. Why panic? It can just discard the message and go on with normal operation. == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Nikos Balkanas Sent: Monday, 09 August, 2010 22:34 To: Alejandro Guerrieri Cc: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, The behaviour in store is the only correct one. sms_type could be an MO (0), MT (2) or DLR (3). Different logic and routing is applied in each case. During startup it doesn't know which one is and correctly panics. During operation, maybe bb can tell more, but I am not sure it is always safe to do so. It has to discriminate between an MT, a reroute_dlr (report_mt) and an mt_reply (from an MO). Or between an MO and a report_mo. Anyway, it should at least be consistent, and it should check for sms_type and if missing and absolutely sure it knows what it is, fill it in, else discard with an error. This is an opensmppbox issue. It should set the correct sms_type according to gw/msg.h. BR, Nikos -
RE: dlr smppbox
Thanks, I have 2 more questions: 1. When I set registered_delivery flag to 1 kannel writes to dlr table but when I set registed_delivery flag to 31 (1f in hex) it does not write anything. Why and what is wrong ? 2. I use php esme client and after submit_sm I got only submit_sm_resp. Then I wait for next PDU but never got deliver_sm pdu. Why ? Thanks From: rene.klu...@chimit.nl To: imran.agha...@hotmail.co.uk; users@kannel.org Subject: RE: dlr smppbox Date: Tue, 10 Aug 2010 20:02:59 +0200 You will get a deliver_sm for every message that you request a delivery report for. From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Imran Aghayev Sent: Tuesday, 10 August, 2010 19:12 To: users@kannel.org Subject: dlr smppbox Dear all, What happens if I will request Delivery report from smppbox ? Thanks
Re: SMSBox Routing Question
Ok, getting closer. Basically just about everything is working except that only one of my short codes is being routed to SMSC #3. I have the parameter: allowed-prefix = ;1112 under SMSC #3, but only short code is being delivered to it. Anything going to 1112 is being sent back out SMSC #1 or SMSC #2. Also, how to prioritize messages to be sent to SMSC #1 over SMSC #2? Thanks, Brian Original Message Subject: Re:SMSBox Routing Question From: Rene Kluwen rene.klu...@chimit.nl To: 'Brian Rathman' br...@telrite.com, users@kannel.org Date: Tuesday, August 10, 2010 4:08:09 PM For inter-smsc routing, check the reroute-receiver option of group = smsc. =+= Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Brian Rathman Sent: Tuesday, 10 August, 2010 22:01 To: users@kannel.org Subject: SMSBox Routing Question Ok, I have proceed a little further and I am now confused on the routing setup. I'm having trouble understanding exactly how the smsbox-route groups work along with the smsbox group. I currently have three SMSCs configured. Two are to my upstream carrier and they are smpp connections: # SMSC 1: group = smsc smsc = smpp smsc-id = ATTSTC host = 20.10.5.100 port = 9000 receive-port = 9000 smsc-username = TE smsc-password = TE system-type = VMA address-range = reconnect-delay = 50 msg-id-type = 1 # SMSC 2: group = smsc smsc = smpp smsc-id = ATTVTC host = 20.10.6.100 port = 9000 receive-port = 9000 smsc-username = TE smsc-password = TE system-type = VMA address-range = reconnect-delay = 50 msg-id-type = 1 I am able to bind to both of these and send and receive without any problems. The third smsc is my customer running Kannel at another location: # SMSC 3: group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = TE smsc-password = TE port = 9001 send-url = http://smstest.lb.com:9001/; connect-allow-ip = 20.8.8.10;127.0.0.1 I would like to route anything that is coming TO either of two short codes (ie, and 1112) to SMSC #3. So basically anything inbound from my upstream provider SMSC #1 and SMSC #2 and also anything from my local sendsms-user: group = sendsms-user username = ku password = x concatenation= true max-messages = 10 that is destined for or 1112 will be sent to SMSC3. Anything else needs to be sent to SMSC #1 first and then if that is unavailable send to SMSC #2. Any help on this would be greatly appreciated. Thanks, Brian
Unsubscribe
Please unsubscribe me from this service at once. Regards, Srikanth J -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Brian Rathman Sent: Tuesday, August 10, 2010 4:58 PM To: users@kannel.org Subject: Re: SMSBox Routing Question Ok, getting closer. Basically just about everything is working except that only one of my short codes is being routed to SMSC #3. I have the parameter: allowed-prefix = ;1112 under SMSC #3, but only short code is being delivered to it. Anything going to 1112 is being sent back out SMSC #1 or SMSC #2. Also, how to prioritize messages to be sent to SMSC #1 over SMSC #2? Thanks, Brian Original Message Subject: Re:SMSBox Routing Question From: Rene Kluwen rene.klu...@chimit.nl To: 'Brian Rathman' br...@telrite.com, users@kannel.org Date: Tuesday, August 10, 2010 4:08:09 PM For inter-smsc routing, check the reroute-receiver option of group = smsc. =+= Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Brian Rathman Sent: Tuesday, 10 August, 2010 22:01 To: users@kannel.org Subject: SMSBox Routing Question Ok, I have proceed a little further and I am now confused on the routing setup. I'm having trouble understanding exactly how the smsbox-route groups work along with the smsbox group. I currently have three SMSCs configured. Two are to my upstream carrier and they are smpp connections: # SMSC 1: group = smsc smsc = smpp smsc-id = ATTSTC host = 20.10.5.100 port = 9000 receive-port = 9000 smsc-username = TE smsc-password = TE system-type = VMA address-range = reconnect-delay = 50 msg-id-type = 1 # SMSC 2: group = smsc smsc = smpp smsc-id = ATTVTC host = 20.10.6.100 port = 9000 receive-port = 9000 smsc-username = TE smsc-password = TE system-type = VMA address-range = reconnect-delay = 50 msg-id-type = 1 I am able to bind to both of these and send and receive without any problems. The third smsc is my customer running Kannel at another location: # SMSC 3: group = smsc smsc = http system-type = kannel smsc-id = LBSMS1 smsc-username = TE smsc-password = TE port = 9001 send-url = http://smstest.lb.com:9001/; connect-allow-ip = 20.8.8.10;127.0.0.1 I would like to route anything that is coming TO either of two short codes (ie, and 1112) to SMSC #3. So basically anything inbound from my upstream provider SMSC #1 and SMSC #2 and also anything from my local sendsms-user: group = sendsms-user username = ku password = x concatenation= true max-messages = 10 that is destined for or 1112 will be sent to SMSC3. Anything else needs to be sent to SMSC #1 first and then if that is unavailable send to SMSC #2. Any help on this would be greatly appreciated. Thanks, Brian SASKEN BUSINESS DISCLAIMER: This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited (Sasken) unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email. Read Disclaimer at http://www.sasken.com/extras/mail_disclaimer.html
RE: Problem with spool store - missing sms_type
I see in gw/msg.h: enum { mo = 0, mt_reply = 1, mt_push = 2, report_mo = 3, report_mt = 4 }; Are these the message types? Because msg_create() uses the value sms in gw/msg-decl.h. Can somebody shine a light on this? == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Tomasz Sent: Tuesday, 10 August, 2010 22:26 To: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi Rene, I added following line after 1485 line to smppbox.c (is case submit_sm section): msg-sms.sms_type = mt_push; to check if this time msg_type will be filled and it seems to be. Bearerbox now see MT_PUSH as Type in admin page. But I don't know if submit_sm is used only to send MT messages so this is not final clear solution I think. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (21:49:05) można przeczytać: Looking into the msg.c source code (function msg_pack()) it is not even possible for smppbox to send a message with an invalid msg-type to bearerbox. I wonder what might be wrong. == Rene -Original Message- From: Tomasz [mailto:ad...@impexrur.pl] Sent: Tuesday, 10 August, 2010 20:22 To: Rene Kluwen Subject: Re: Problem with spool store - missing sms_type When I call http://domain.pl:13000/store-status I can see the table of all queued messages (if any). And all those messages which were submitted via openSMPPBOX have Type field empty there. However all messages submitted by SMSBOX have this value filled correctly. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (19:06:21) można przeczytać: Where exactly in the http admin page do you see that msg_type is empty? -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Tomasz Sent: Tuesday, 10 August, 2010 18:21 To: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, I don't know for sure if this is openSMPPBOX issue or not but if messages are submitted via openSMPPBOX the msg_type is empty and this makes that Bearerbox crashes during restart when we have some messages queued in the spool. When submitting messages by SMSBOX (CGI push), the problem didn't exists - msg_type is set correctly. I can check if msg_type exists or not using http admin store-status command (when there are some queued messages). Messages submitted via openSMPPBOX have empty fields in Type column. Rene, I can provide more details with the issue, but I can't see in logs any revelant information - only PANICs during start of Bearerbox. Only at http admin page I can see that msg_type is empty. But if you need please let me know what information would be helpful. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (17:01:52) można przeczytać: In the smppbox code, I don’t see anywhere where a msg is created without msg_type. We use the msg_create() function and dlr_find functions to create messages. If this is an smppbox issue, I would like to get more information about it. == Rene From: Alejandro Guerrieri [mailto:alejandro.guerri...@gmail.com] Sent: Monday, 09 August, 2010 23:27 To: Rene Kluwen Cc: Nikos Balkanas; users@kannel.org Subject: Re: Problem with spool store - missing sms_type Exactly. The point is: during normal operation, kannel of course it doesn't panic and will accept messages without a valid sms type. However, they're kept on the store with an invalid format, so if you shutdown the service with messages pending on the store, and just one of them happens to have an invalid sms type, the service panics at startup. This is less than desirable of course, specially when you have a ton of completely valid messages and just a bunch of invalid. IMHO, kannel should reject messages with invalid sms type during regular operation (with a WARN logged). It _shouldn't_ try to fix them. That would take care of the problem in a proper way. Apart from that, a way to discard invalid messages at bootup without panicking would also be desirable Regards, Alex On Mon, Aug 9, 2010 at 11:11 PM, Rene Kluwen rene.klu...@chimit.nl wrote: Yes, open smppbox should correctly fill in the correct type. If it doesn't it is an error. But at the same time: If one particular message has an incorrent sms_type. Why panic? It can just discard the message and go on with normal operation. == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Nikos Balkanas Sent: Monday, 09 August, 2010 22:34 To: Alejandro Guerrieri Cc: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, The behaviour in store is the only correct one. sms_type could be an MO (0), MT (2) or DLR (3). Different logic and routing is applied in each case. During startup it doesn't know which one is and correctly panics. During operation,
RE: dlr smppbox
1. Registered_delivery flag is not a Kannel variable. It can be set to 1 or 0. For its designated purposes, I refer to the SMPP specifications. 2. If you set registered_delivery flag to 1, you should get a delivery report (deliver_sm), once upon Kannel receives it. Do you see anything in your bearerbox logs indicating about that? == Rene From: Imran Aghayev [mailto:imran.agha...@hotmail.co.uk] Sent: Tuesday, 10 August, 2010 22:47 To: rene.klu...@chimit.nl; users@kannel.org Subject: RE: dlr smppbox Thanks, I have 2 more questions: 1. When I set registered_delivery flag to 1 kannel writes to dlr table but when I set registed_delivery flag to 31 (1f in hex) it does not write anything. Why and what is wrong ? 2. I use php esme client and after submit_sm I got only submit_sm_resp. Then I wait for next PDU but never got deliver_sm pdu. Why ? Thanks _ From: rene.klu...@chimit.nl To: imran.agha...@hotmail.co.uk; users@kannel.org Subject: RE: dlr smppbox Date: Tue, 10 Aug 2010 20:02:59 +0200 You will get a deliver_sm for every message that you request a delivery report for. From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Imran Aghayev Sent: Tuesday, 10 August, 2010 19:12 To: users@kannel.org Subject: dlr smppbox Dear all, What happens if I will request Delivery report from smppbox ? Thanks
RE: Kannel performance benchmarking
It would be interesting to use valgrind over a period over those 6 days. On all the boxes (bearerbox-sqlbox-smsbox). == Rene From: sangprabv [mailto:sangpr...@gmail.com] Sent: Tuesday, 10 August, 2010 23:21 To: Alejandro Guerrieri Cc: Rene Kluwen; brett skinner; Users Subject: Re: Kannel performance benchmarking Currently I apply bearerbox-sqlbox-smsbox and use mysql as my dlr engine. On Delll R710 Quadcore 2.2 Intel Xeon 16GB RAM it usually reduce to 5GB available memory in just 6 days and must be restarted to gain more memory. The server only used by Kannel. My daily traffics for that server is only 800 thousands MT/day. sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 10, 2010, at 10:53 PM, Alejandro Guerrieri wrote: Are you completely _sure_ that it's held by Kannel and not the underlying OS? Linux doesn't free unused memory unless needed by other processes. Also, if you have in-memory DLR's or a huge retry queue, it could consume lots of memory. Unless you get OOM errors, I wouldn't be concerned by the amount of memory being used. Regards, Alex On Tue, Aug 10, 2010 at 5:26 PM, sangprabv sangpr...@gmail.com wrote: Regarding this performance benchmarking. I still got memory problem. Kannel fails to release buffered or cached memory. Does anybody has tips to avoid this problem? Thanks. sangprabv sangpr...@gmail.com http://www.petitiononline.com/froyo/ On Aug 10, 2010, at 10:12 PM, Rene Kluwen wrote: Why don’t you try it on your own system. Test with a MyIsam table and with InnoDB. It will be easy to determine which one works faster for you. == Rene From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of brett skinner Sent: Tuesday, 10 August, 2010 11:56 To: Alejandro Guerrieri Cc: Users Subject: Re: Kannel performance benchmarking Thanks for your feedback. Guess it is the age old tao of computer science. Space vs Time, always space vs time. :) Regards, On Tue, Aug 10, 2010 at 11:52 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Oh yes, I read that blog quite frequently :) There's a lot of stuff to say about optimizing InnoDB, but it's definitely off-topic here and wouldn't fit on a single email of course. We've gone thru a series of optimization cycles on our platform and, with respect to Kannel, ended up using MyIsam for DLR's. We don't have any locking issues, the only detail is we need to be careful when expiring old entries to do it in small batches and not on peak hours. For the rest of our applications, except for small and mostly read-only tables, we use InnoDB and while seems slower when you do a couple of requests, it's a _lot_ faster if you are under heavy traffic because of the row locking instead of table locking. Anyway, there's no a one-size-fits-all solution and if you really need to sustain heavy traffic I'd recommend you do a lot of profiling and find the bottlenecks either on the DB and the rest of your platform. Regards, Alex On Tue, Aug 10, 2010 at 11:15 AM, brett skinner tatty.dishcl...@gmail.com wrote: Hi Alex That is why I have chosen Innodb for the tables we use for the application that surround Kannel. MyISAM definitely beat Innodb out the box but Innodb does seem to be better in terms of the issues you have pointed out. The other thing that I have read is that Innodb is incredibly slow with the stock standard configuration. I read through the following blog and followed their advice which increased its performance quite drastically. http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ If you have a moment you can give that a read. Or if you have any other good references please send them a long. I am still rather new to MySql. Thanks :) Regards, On Tue, Aug 10, 2010 at 10:56 AM, Alejandro Guerrieri alejandro.guerri...@gmail.com wrote: Well, if it weren't for the SELECT COUNT(*) slowness would be my preferred option here as well. Despite seeming slower at first (specially on small tables) InnoDB performs row-locking on index-based queries, which indeed improves things quite a bit on big tables with lots of simultaneous reads and writes. Regards, Alex 2010/8/10 Nikos Balkanas nbalka...@gmail.com Indeed. InnoDB is much slower overall compared to MyIsam. However, it has its use for some jobs (archive_logs, hot backups, etc.) The figures I gave were sustained rates simulated with a 1-SMS batch. Count was sufficient to reach sustainability and reproducibility, yet short enough to get results fast. When i submitted fakesmpp, I also released similar data from a 64bit Solaris 10 server. BR, Nikos - Original Message - From: alejandro.guerri...@gmail.com To: brett skinner ; users-boun...@kannel.org ; us...@kannel. us...@kannel. Org Sent: Tuesday, August 10, 2010 11:21 AM Subject: Re:
Re: Problem with spool store - missing sms_type
What you are referring to is msg-type. This should be sms. This is different than msg.sms-sms_type, which is the enum. Maybe this is your problem. In msg_create you specify the type of msg you want. In sms_type you specify the category of the sms msg. What you are missing is sms_type. Hope this helps. Nikos - Original Message - From: Rene Kluwen rene.klu...@chimit.nl To: 'Tomasz' ad...@impexrur.pl; users@kannel.org Sent: Wednesday, August 11, 2010 1:23 AM Subject: RE: Problem with spool store - missing sms_type I see in gw/msg.h: enum { mo = 0, mt_reply = 1, mt_push = 2, report_mo = 3, report_mt = 4 }; Are these the message types? Because msg_create() uses the value sms in gw/msg-decl.h. Can somebody shine a light on this? == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Tomasz Sent: Tuesday, 10 August, 2010 22:26 To: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi Rene, I added following line after 1485 line to smppbox.c (is case submit_sm section): msg-sms.sms_type = mt_push; to check if this time msg_type will be filled and it seems to be. Bearerbox now see MT_PUSH as Type in admin page. But I don't know if submit_sm is used only to send MT messages so this is not final clear solution I think. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (21:49:05) można przeczytać: Looking into the msg.c source code (function msg_pack()) it is not even possible for smppbox to send a message with an invalid msg-type to bearerbox. I wonder what might be wrong. == Rene -Original Message- From: Tomasz [mailto:ad...@impexrur.pl] Sent: Tuesday, 10 August, 2010 20:22 To: Rene Kluwen Subject: Re: Problem with spool store - missing sms_type When I call http://domain.pl:13000/store-status I can see the table of all queued messages (if any). And all those messages which were submitted via openSMPPBOX have Type field empty there. However all messages submitted by SMSBOX have this value filled correctly. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (19:06:21) można przeczytać: Where exactly in the http admin page do you see that msg_type is empty? -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Tomasz Sent: Tuesday, 10 August, 2010 18:21 To: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, I don't know for sure if this is openSMPPBOX issue or not but if messages are submitted via openSMPPBOX the msg_type is empty and this makes that Bearerbox crashes during restart when we have some messages queued in the spool. When submitting messages by SMSBOX (CGI push), the problem didn't exists - msg_type is set correctly. I can check if msg_type exists or not using http admin store-status command (when there are some queued messages). Messages submitted via openSMPPBOX have empty fields in Type column. Rene, I can provide more details with the issue, but I can't see in logs any revelant information - only PANICs during start of Bearerbox. Only at http admin page I can see that msg_type is empty. But if you need please let me know what information would be helpful. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (17:01:52) można przeczytać: In the smppbox code, I don’t see anywhere where a msg is created without msg_type. We use the msg_create() function and dlr_find functions to create messages. If this is an smppbox issue, I would like to get more information about it. == Rene From: Alejandro Guerrieri [mailto:alejandro.guerri...@gmail.com] Sent: Monday, 09 August, 2010 23:27 To: Rene Kluwen Cc: Nikos Balkanas; users@kannel.org Subject: Re: Problem with spool store - missing sms_type Exactly. The point is: during normal operation, kannel of course it doesn't panic and will accept messages without a valid sms type. However, they're kept on the store with an invalid format, so if you shutdown the service with messages pending on the store, and just one of them happens to have an invalid sms type, the service panics at startup. This is less than desirable of course, specially when you have a ton of completely valid messages and just a bunch of invalid. IMHO, kannel should reject messages with invalid sms type during regular operation (with a WARN logged). It _shouldn't_ try to fix them. That would take care of the problem in a proper way. Apart from that, a way to discard invalid messages at bootup without panicking would also be desirable Regards, Alex On Mon, Aug 9, 2010 at 11:11 PM, Rene Kluwen rene.klu...@chimit.nl wrote: Yes, open smppbox should correctly fill in the correct type. If it doesn't it is an error. But at the same time: If one particular message has an incorrent sms_type. Why panic? It can just discard the message and go on with normal operation.
Re: Problem with spool store - missing sms_type
Hi, You shouldn't just hardcode the type in there. It could be an mt_reply (second leg of an MO). You should check the logic about it. AFAIK with some fancy routing, opensmppbox could be used for MOs as well. BR, Nikos - Original Message - From: Tomasz ad...@impexrur.pl To: users@kannel.org Sent: Tuesday, August 10, 2010 11:25 PM Subject: Re: Problem with spool store - missing sms_type Hi Rene, I added following line after 1485 line to smppbox.c (is case submit_sm section): msg-sms.sms_type = mt_push; to check if this time msg_type will be filled and it seems to be. Bearerbox now see MT_PUSH as Type in admin page. But I don't know if submit_sm is used only to send MT messages so this is not final clear solution I think. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (21:49:05) można przeczytać: Looking into the msg.c source code (function msg_pack()) it is not even possible for smppbox to send a message with an invalid msg-type to bearerbox. I wonder what might be wrong. == Rene -Original Message- From: Tomasz [mailto:ad...@impexrur.pl] Sent: Tuesday, 10 August, 2010 20:22 To: Rene Kluwen Subject: Re: Problem with spool store - missing sms_type When I call http://domain.pl:13000/store-status I can see the table of all queued messages (if any). And all those messages which were submitted via openSMPPBOX have Type field empty there. However all messages submitted by SMSBOX have this value filled correctly. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (19:06:21) można przeczytać: Where exactly in the http admin page do you see that msg_type is empty? -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Tomasz Sent: Tuesday, 10 August, 2010 18:21 To: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, I don't know for sure if this is openSMPPBOX issue or not but if messages are submitted via openSMPPBOX the msg_type is empty and this makes that Bearerbox crashes during restart when we have some messages queued in the spool. When submitting messages by SMSBOX (CGI push), the problem didn't exists - msg_type is set correctly. I can check if msg_type exists or not using http admin store-status command (when there are some queued messages). Messages submitted via openSMPPBOX have empty fields in Type column. Rene, I can provide more details with the issue, but I can't see in logs any revelant information - only PANICs during start of Bearerbox. Only at http admin page I can see that msg_type is empty. But if you need please let me know what information would be helpful. Tomasz W Twoim liście datowanym 10 sierpnia 2010 (17:01:52) można przeczytać: In the smppbox code, I don’t see anywhere where a msg is created without msg_type. We use the msg_create() function and dlr_find functions to create messages. If this is an smppbox issue, I would like to get more information about it. == Rene From: Alejandro Guerrieri [mailto:alejandro.guerri...@gmail.com] Sent: Monday, 09 August, 2010 23:27 To: Rene Kluwen Cc: Nikos Balkanas; users@kannel.org Subject: Re: Problem with spool store - missing sms_type Exactly. The point is: during normal operation, kannel of course it doesn't panic and will accept messages without a valid sms type. However, they're kept on the store with an invalid format, so if you shutdown the service with messages pending on the store, and just one of them happens to have an invalid sms type, the service panics at startup. This is less than desirable of course, specially when you have a ton of completely valid messages and just a bunch of invalid. IMHO, kannel should reject messages with invalid sms type during regular operation (with a WARN logged). It _shouldn't_ try to fix them. That would take care of the problem in a proper way. Apart from that, a way to discard invalid messages at bootup without panicking would also be desirable Regards, Alex On Mon, Aug 9, 2010 at 11:11 PM, Rene Kluwen rene.klu...@chimit.nl wrote: Yes, open smppbox should correctly fill in the correct type. If it doesn't it is an error. But at the same time: If one particular message has an incorrent sms_type. Why panic? It can just discard the message and go on with normal operation. == Rene -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of Nikos Balkanas Sent: Monday, 09 August, 2010 22:34 To: Alejandro Guerrieri Cc: users@kannel.org Subject: Re: Problem with spool store - missing sms_type Hi, The behaviour in store is the only correct one. sms_type could be an MO (0), MT (2) or DLR (3). Different logic and routing is applied in each case. During startup it doesn't know which one is and correctly panics. During operation, maybe bb can tell more, but I am not sure it is always safe to do so. It has to
Kannel and mods design question
I post this question just to get feedback from you experts about the best way to design a kannel system where needs are: - unitary SMS ( CGI script from smsbox in this case is recommended ?) - batch/mailling SMS (MT injection in sqlbox-mt in this case ?) - MOs and DLRs to receives (sqlbox-mo and smsbox in this case ?) Traffic is not high for MO (1 SMS / minute) , a little bit more for MT mailling ( batch of 5000 per day, so DLRs comming back have to be handled) My actuel config: * HTTP CGI script -- SMSBOX --- SQLBOX-MO --- BEARERBOX --- MODEM/SMS-C | * * ** | ** ** | HTTP SCRIPT for MT Injection - SQLBOX-MT---* Question is this relevant to configure Kannel like this for my purposes ? Best Regards, -- Emmanuel