Re: SMPP deliver_sm arrives before submit_sm_resp
Hi Mario, Please confirm if this is a bug with the current SVN revision? If so, please submit this patch that worked for you to the developer list, otherwise everyone using the current SVN will have this problem. rgds -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of users-requ...@kannel.org Sent: 29 October 2011 12:00 PM To: users@kannel.org Subject: users Digest, Vol 62, Issue 49 Date: Fri, 28 Oct 2011 18:03:58 -0500 From: Mario Noboa mnobo...@gmail.com To: Sixto L Santos si...@smscpr.com Cc: us...@vm1.kannel.org Subject: Re: SMPP deliver_sm arrives before submit_sm_resp Message-ID: CACE+JM=zwwytqxjehuogdweimht7v2xvvvqnm_r_6ceoa+2...@mail.gmail.com Content-Type: text/plain; charset=windows-1252 Thanks Sixto, it works like a charm... Regards, Mario 2011/10/27 Sixto L Santos si...@smscpr.com Hello there, ** ** You can get the patch for the current SVN revision here: ** ** http://smscpr.com/kannel-dlr-retry_4937.patch ** ** This is the exact same patch as Alejandro?s, only ported to the latest revision. ** ** Regards, Sixto ** ** ** ** ** ** *From:* users-boun...@vm1.kannel.org [mailto:users-boun...@vm1.kannel.org] *On Behalf Of *Otandeka Simon Peter *Sent:* Thursday, October 27, 2011 4:37 PM *To:* Mario Noboa *Cc:* us...@vm1.kannel.org *Subject:* Re: SMPP deliver_sm arrives before submit_sm_resp ** ** Am also faced with them the same problem with the latest svn. Apart from that am also getting SMPP[smsc1]: SMSC sent submit_sm_resp with wrong sequence number 0x0015 error. ** ** Anyone who can assist? ** ** P. On Thu, Oct 27, 2011 at 11:26 PM, Mario Noboa mnobo...@gmail.com wrote:* *** Hi Guys, glad to write you again. I have this problem. When I send an submit_sm, i get a deliver_sm with dlr before than submit_sm_resp... and this errror message appears: got DLR but could not find message or was not interested in it id i wanted to apply Alex' Patch kannel-dlr-retry ( http://www.blogalex.com/archives/132) on the version that i runnig svn-r4936M... but it didn't work. Somebody knows some upgrade about this topic? Thanking you in advance, Mario ** ** -- next part -- An HTML attachment was scrubbed... URL: http://www.kannel.org/pipermail/users/attachments/20111028/f6876ee9/attachm ent-0001.html --
question on using XML admin interface
Hi, We have been using the admin interface http://localhost:13000/status.xml?password=x But the response is not in xml format. For http://localhost:13000/store-status.xml?password=x the response is just blank lines. In both cases there are no XML tags. Is this a bug or are we using it incorrectly? Thanks for any assistance.
Re: routing from cgi via loopback to opensmppbox
Hi Semion, Why don't you send your patches to the devel group with the subject Patch? Then we can all benefit if it's accepted. You would have the advantage of the experts looking through your code and commenting. thanks From: Semion Spivak sem...@smscoin.com To: users@kannel.org Subject: Re: routing from cgi via loopback to opensmppbox Message-ID: 4db9857e.4010...@smscoin.com Content-Type: text/plain; charset=iso-8859-1; Format=flowed Update - Solved. Added meta-data support to generic http smsc and used the previous routing setup. If anyone is interested, here's the patch attached. On 04/27/2011 01:08 AM, Semion Spivak wrote: Hi All, I have a service that needs to pass MO messages via HTTP to SMPP clients. I've managed to configure the following setup: MO -- generic http smsc -- bearerbox -- opensmppbox -- esme but there is a set of meta-data params to be passed along with the message, and generic http smsc doesn't handle meta-data parameter of incoming request. So, I guess, the setup that uses smsbox cgi handler, would look like MO -- smsbox (cgi-bin/sendsms handler) -- loopback smsc -- bearerbox -- opensmppbox -- esme Can anyone suggest the routing-related settings for smsbox and the loopback, please? Thank you in advance for your help, -- Regards, Semion Spivak Smscoin.com Technical support.
RE: Opensmppbox segfault on login
Hi, Please confirm if the patch has worked as this is a serious problem with Opensmppbox? If it has worked, then Rene please will you commit this as a patch as it will help everyone. thanks Date: Tue, 5 Apr 2011 11:28:42 +0200 From: Rene Kluwen rene.klu...@chimit.nl To: 'XEN-Housing s.r.o.' i...@xen-housing.sk, users@kannel.org Subject: RE: Opensmppbox segfault on login Message-ID: 01ed01cbf373$dab49f10$901ddd30$@klu...@chimit.nl Content-Type: text/plain; charset=us-ascii Here's a patch. Please test. -Original Message- From: users-boun...@kannel.org [mailto:users-boun...@kannel.org] On Behalf Of XEN-Housing s.r.o. Sent: Tuesday, 29 March, 2011 12:38 To: users@kannel.org Subject: Opensmppbox segfault on login Hello there, one of mine clients at login (bind) did not fill system_type and opensmppbox crashed. I told him to fill it and everything is ok, but enyone can send this way opensmppbox to lala land. LOG: 2011-03-29 11:07:18 [1088] [41] INFO: Connected to bearerbox at localhost port 13001. 2011-03-29 11:07:18 [1088] [41] DEBUG: Started thread 42 (opensmppbox.c:smpp_to_bearerbox) 2011-03-29 11:07:18 [1088] [42] DEBUG: Thread 42 (opensmppbox.c:smpp_to_bearerbox) maps to pid 1088. 2011-03-29 11:07:19 [1088] [42] DEBUG: SMPP[abcd]: Got PDU: 2011-03-29 11:07:19 [1088] [42] DEBUG: SMPP PDU 0x7e8e00 dump: 2011-03-29 11:07:19 [1088] [42] DEBUG: type_name: bind_transceiver 2011-03-29 11:07:19 [1088] [42] DEBUG: command_id: 9 = 0x0009 2011-03-29 11:07:19 [1088] [42] DEBUG: command_status: 0 = 0x 2011-03-29 11:07:19 [1088] [42] DEBUG: sequence_number: 1 = 0x0001 2011-03-29 11:07:19 [1088] [42] DEBUG: system_id: pokus 2011-03-29 11:07:19 [1088] [42] DEBUG: password: tester 2011-03-29 11:07:19 [1088] [42] DEBUG: system_type: NULL 2011-03-29 11:07:19 [1088] [42] DEBUG: interface_version: 52 = 0x0034 2011-03-29 11:07:19 [1088] [42] DEBUG: addr_ton: 0 = 0x 2011-03-29 11:07:19 [1088] [42] DEBUG: addr_npi: 0 = 0x 2011-03-29 11:07:19 [1088] [42] DEBUG: address_range: NULL 2011-03-29 11:07:19 [1088] [42] DEBUG: SMPP PDU dump ends. 2011-03-29 11:07:19 [1088] [42] PANIC: gwlib/octstr.c:2488: seems_valid_real: Assertion `ostr != NULL' failed. (Called from gwlib/octstr.c:875:octstr_compare.) 2011-03-29 11:07:19 [1088] [42] PANIC: /usr/local/sbin/opensmppbox(gw_panic+0x15b) [0x44133b] 2011-03-29 11:07:19 [1088] [42] PANIC: /usr/local/sbin/opensmppbox [0x441bb9] 2011-03-29 11:07:19 [1088] [42] PANIC: /usr/local/sbin/opensmppbox(octstr_compare+0x20) [0x446780] 2011-03-29 11:07:19 [1088] [42] PANIC: /usr/local/sbin/opensmppbox(check_login+0x29b) [0x40dcab] 2011-03-29 11:07:19 [1088] [42] PANIC: /usr/local/sbin/opensmppbox [0x40e0c8] 2011-03-29 11:07:19 [1088] [42] PANIC: /usr/local/sbin/opensmppbox [0x4380a5] 2011-03-29 11:07:19 [1088] [42] PANIC: /lib64/libpthread.so.0 [0x2c086367] 2011-03-29 11:07:19 [1088] [42] PANIC: /lib64/libc.so.6(clone+0x6d) [0x2c909f7d] Slavoj. -- next part -- A non-text attachment was scrubbed... Name: empty_systemtype_patch.patch Type: application/octet-stream Size: 3584 bytes Desc: not available URL: http://www.kannel.org/pipermail/users/attachments/20110405/ca2b9cc9/attachm ent.obj -- next part -- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 6333 bytes Desc: not available URL: http://www.kannel.org/pipermail/users/attachments/20110405/ca2b9cc9/attachm ent.bin -- *
RE: [bug] clickatell unicode HTTP code for Kannel
Hi, Our message is: Mr. João Seu seguro automóvel MM3A308720 caduca hoje. Contacte-nos 227280210/220 ou visite-nos numa de nossas agências para activar a nova apólice. (147 characters) Our goal is to send it as concatenated Unicode and use UTF-8 as that is what Clickatell accepts. Questions - do we use padding? The only case of (Sent. Message splits: 3) is from Sending to Kannel not using padding, leave out charset below. But it arrives *some text missing* 2061206E6F7661206170C3B36C963652E and not a Unicode message. Is there a bug in Kannel code for Clickatell or are we doing something incorrect? Result is: 4D722E204A6FC3A36F205365752073656775726F206175746F6DC3B376656C204D4D33413330 383732302063616475636120686F6A652E20436F6E74616374652D6E6F732032323732383032 31302F323230206F75207669736974652D6E6F73206E756D61206465206E6F73736173206167 C3AA6E63696173207061726120616374697661722061206E6F7661206170C3B36C6963652E If we use padding: 004d0072002e0020004a006f00e3006f0020005300650075002000730065006700750072006f 0020006100750074006f006d00f300760065006c0020004d004d003300410033003000380037 00320030002000630061006400750063006100200068006f006a0065002e00200043006f006e 00740061006300740065002d006e006f00730020003200320037003200380030003200310030 002f0032003200300020006f00750020007600690073006900740065002d006e006f00730020 006e0075006d00610020006400650020006e006f007300730061007300200061006700ea006e 0063006900610073002000700061007200610020006100630074006900760061007200200061 0020006e006f0076006100200061007000f3006c006900630065002e Sending to Kannel not using padding, leave out charset: [root@messaging ~]# lynx -dump 'http://localhost:13013/cgi-bin/sendsms?username=password=to=24492 347from=Companytext=4D722E204A6FC3A36F205365752073656775726F206175746F 6DC3B376656C204D4D33413330383732302063616475636120686F6A652E20436F6E74616374 652D6E6F73203232373238303231302F323230206F75207669736974652D6E6F73206E756D61 206465206E6F73736173206167C3AA6E63696173207061726120616374697661722061206E6F 7661206170C3B36C6963652Ecoding=2smsc=clickatell' Sent. Message splits: 3 Sending to Kannel not using padding, put in charset: [root@messaging ~]# lynx -dump 'http://localhost:13013/cgi-bin/sendsms?username=password=to=24492 347from=Companytext=4D722E204A6FC3A36F205365752073656775726F206175746F 6DC3B376656C204D4D33413330383732302063616475636120686F6A652E20436F6E74616374 652D6E6F73203232373238303231302F323230206F75207669736974652D6E6F73206E756D61 206465206E6F73736173206167C3AA6E63696173207061726120616374697661722061206E6F 7661206170C3B36C6963652Echarset=utf-8coding=2smsc=clickatell' Sent. Message splits: 5 Sending to Kannel using padding, leave out charset: [root@messaging ~]# lynx -dump 'http://localhost:13013/cgi-bin/sendsms?username=password=to=24492 347from=Companytext=004d0072002e0020004a006f00e3006f002000530065007500 2000730065006700750072006f0020006100750074006f006d00f300760065006c0020004d00 4d00330041003300300038003700320030002000630061006400750063006100200068006f00 6a0065002e00200043006f006e00740061006300740065002d006e006f007300200032003200 37003200380030003200310030002f0032003200300020006f00750020007600690073006900 740065002d006e006f00730020006e0075006d00610020006400650020006e006f0073007300 61007300200061006700ea006e00630069006100730020007000610072006100200061006300 740069007600610072002000610020006e006f0076006100200061007000f3006c0069006300 65002ecoding=2smsc=clickatell' Sent. Message splits: 5 Sending to Kannel using padding, include charset: [root@messaging ~]# lynx -dump 'http://localhost:13013/cgi-bin/sendsms?username=password=to=24492 347from=Companytext=004d0072002e0020004a006f00e3006f002000530065007500 2000730065006700750072006f0020006100750074006f006d00f300760065006c0020004d00 4d00330041003300300038003700320030002000630061006400750063006100200068006f00 6a0065002e00200043006f006e00740061006300740065002d006e006f007300200032003200 37003200380030003200310030002f0032003200300020006f00750020007600690073006900 740065002d006e006f00730020006e0075006d00610020006400650020006e006f0073007300 61007300200061006700ea006e00630069006100730020007000610072006100200061006300 740069007600610072002000610020006e006f0076006100200061007000f3006c0069006300 65002echarset=utf-8coding=2smsc=clickatell' Sent. Message splits: 9 -Original Message- From: Alexander Malysh [mailto:malys...@googlemail.com] On Behalf Of Alexander Malysh Sent: 28 January 2011 11:01 AM To: Hillel Cc: de...@kannel.org Subject: Re: [bug] clickatell unicode HTTP code for Kannel Hi Hillel, I don't see any bug at this point in time because you just wrong submitted UTF16 message to Kannel. if you send message via sendsms interface and tell kannel that coding=2 that kannel expects to see message body encoded as UTF16. If I look at your example with lynx this is not a case. Please try with coding=2 and text encoded as UTF16... Thanks, Alexander Malysh Am 27.01.2011 um 16:52 schrieb Hillel: Hi, We
top priority queue
Hi Nikos, If you look at the latest SVN of the Kannel docs http://www.kannel.org/download/kannel-userguide-snapshot/userguide.html you will see that under the section Using the HTTP interface to send SMS messages it mentions: priority number Optional. Sets the Priority value (range 0-3 is allowed) but does not say if 0 or 3 is the top priority. Then under the section SM/ASI (for CriticalPath InVoke SMS Center 4.x) the user guide mentions: priority number Optional, sets the default priority of messages transmitted over this smsc link. (Defaults to 0, which is the highest priority) This would imply that Kannel sets 0 to be the highest priority queue, as why would Kannel have a 0 as top priority for one service and not for the others. You mention below in your email that being 3 the highest and 0 the lowest Please confirm what is the top and the lowest priority queue? thanks - Original Message - From: Alejandro Guerrieri To: Nikos Balkanas Cc: Waqas Farooq ; users@kannel.org Sent: Tuesday, July 20, 2010 4:11 PM Subject: Re: Kannel queue with same priority is unpredictable That's not correct. At least on SVN for a good time now, Kannel honors priorities, being 3 the highest and 0 the lowest. That means that if you have a big queue of priority-1 messages and send one priority-2 or 3 message, it will get delivered before the rest of the queue. The priority is also passed to the SMSC by means of SMPP's priority flag, but afaik most carriers ignore ESME settings for priority so do not expect it to work. Regards, Alex
Re: Setting up wappush
Hi Michael, I'm testing with WAP Push and tried to download the code you put on the Internet from Juan Nin. Unfortunately if you try and download it via the Kannel User mailing list from http://www.mail-archive.com/users@kannel.org/msg11736.html you get the error: Fatal error: Call to undefined function curl_init() in /data1/archive/users@kannel.org/msg11736/wappush.php on line 46 If you click on save from the website you get: br / bFatal error/b: Call to undefined function curl_init() in b/data1/archive/users@kannel.org/msg11736/wappush.php/b on line b46/bbr / Please will you resend it and save the file as .txt with instructions for the reader to save it as wappush.php as it's trying to run on the server when you try save it or open it. Thanks
Any suggestions to get a GSM Modem to work on Kannel
Hi, The bearerbox gives the errors below, I've also included the configuration we are using. With Minicom we can get a response using /dev/ttyS0 Any suggestions to get this to work are appreciated. We are using the latest Kannel CVS with a Wavecom WMOD2, dual band. I was told the Pin code is disabled. Any help appreciated. Errors from bearerbox.log: 2007-10-24 00:51:10 [14510] [15] INFO: AT2[gsmmodem1]: opening device 2007-10-24 00:51:10 [14510] [15] ERROR: AT2[gsmmodem1]: open failed! ERRNO=13 2007-10-24 00:51:10 [14510] [15] ERROR: System error 13: Permission denied 2007-10-24 00:51:10 [14510] [15] ERROR: AT2[gsmmodem1]: at2_device_thread: open_at2_device failed. 2007-10-24 00:51:10 [14510] [15] ERROR: System error 13: Permission denied 2007-10-24 00:51:10 [14510] [15] ERROR: AT2[gsmmodem1]: Couldn't connect (retrying in 10 seconds). /etc/kannel.conf group = core admin-port = 13000 smsbox-port = 13001 wapbox-port = 13002 admin-interface = localhost admin-password = xx status-password = y admin-deny-ip = *.*.*.* admin-allow-ip = 127.0.0.1 log-level = 0 log-file = /var/log/kannel/bearerbox.log access-log = /var/log/kannel/bearerboxaccess.log store-type = file store-location = /var/log/kannel/storefile box-allow-ip = *.*.*.* dlr-storage = mysql udp-allow-ip = *.*.*.* wdp-interface-name = * sms-resend-retry = 5 group = sms-service keyword = default #max-messages= 10 #concatenation = true omit-empty= true text = Default service specified get-url = http://localhost/smsservice/service?from=%q http://localhost/smsservice/service?from=%25qto=%25Pmessage=%25atimesent =%25tsmsc=%25i to=%Pmessage=%atimesent=%tsmsc=%i include = /etc/kannelconfigs /etc/kannelconfigs/gsmmodem1.conf group = smsc smsc = at smsc-id = gsmmodem1 allowed-smsc-id = gsmmodem1 modemtype = wavecom validityperiod = 167 sms-center = +27831000113 #sim-buffering = true keepalive= 120 device = /dev/ttyS0 speed = 9600 /etc/kannelconfigs/modems.conf group = modems id = wavecom name = wavecom detect-string = WAVECOM need-sleep = true
How to Stop/Start Kannel using a script
Hi Stephane and Kannel Users, Stephane we have been using your great script below as /etc/init.d/kannel for a while now on Centos. Thanks for providing a great script to work with. About a month ago, we moved to the latest CVS and now we can only stop the wapbox and sometimes the smsbox with it, but to stop the bearerbox we need to always stop it manually. (The actual configurations we use are stored in /etc/configurations and this is reflected in the script below.) Any advice appreciated. [gateway]# ps -auxwww|grep kannel kannel 28660 0.0 0.0 8076 1420 ?Ss 18:49 0:00 /usr/local/sbin/bearerbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/bearerbox.pid -- /etc/kannel.conf kannel 28661 0.0 0.1 285432 3456 ? Sl 18:49 0:00 /usr/local/sbin/bearerbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/bearerbox.pid -- /etc/kannel.conf kannel 28690 0.0 0.0 9124 1428 ?Ss 18:49 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf kannel 28691 0.0 0.1 102080 2764 ? Sl 18:49 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf kannel 28704 0.0 0.0 9260 1424 ?Ss 18:49 0:00 /usr/local/sbin/wapbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/wapbox.pid -- /etc/kannel.conf kannel 28705 0.0 0.1 163812 2892 ? Sl 18:49 0:00 /usr/local/sbin/wapbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/wapbox.pid -- /etc/kannel.conf After running: [gateway]# service kannel stop Shutting down Mobile Gateway cvs-20070826: [ OK ] [gateway]# ps -auxwww|grep kannel kannel 28661 0.0 0.1 121528 3284 ? Sl 18:49 0:00 /usr/local/sbin/bearerbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/bearerbox.pid -- /etc/kannel.conf kannel 28690 0.0 0.0 9124 1428 ?Ss 18:49 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf kannel 28691 0.0 0.1 102080 2764 ? Sl 18:49 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf [gateway]# service kannel status bearerbox (pid 28661) is running... smsbox is stopped wapbox is stopped You need to manually kill the bearerbox! [gateway]# kill -9 28661 [gateway]# service kannel status bearerbox is stopped smsbox is stopped wapbox is stopped -- # This shell script takes care of starting and stopping # the Kannel SMS WAP gateway # Original version Fabrice Gatille [EMAIL PROTECTED] # Modified by Stephane Rosa ([EMAIL PROTECTED]) for RedHat9 # chkconfig: 2345 97 03 # description: Kannel is an SMS and WAP gateway VERSION=`/usr/local/bin/gw-config --version` OPTIONS=--daemonize --parachute --user kannel --pid-file /var/run/kannel/ KANNELPATH=/usr/local/sbin CONF=/etc/kannel.conf CONFDIR=/etc/configurations # Source function library networking conf. . /etc/init.d/functions [ -f /etc/sysconfig/network ] . /etc/sysconfig/network # Check that we are root ... so non-root users stop here [ `id -u` = 0 ] || exit 1 # Various other checks [ ${NETWORKING} = yes ] || exit 0 [ -x $KANNELPATH/bearerbox ] || exit 0 [ -x $KANNELPATH/smsbox ] || exit 0 [ -x $KANNELPATH/wapbox ] || exit 0 [ -f $CONF ] || exit 0 RETVAL=0; RETVAL1=0; RETVAL2=0; RETVAL3=0 prog=Kannel start() { # Check that at least one group is defined for sms # and/or wap to start the bearer. Then start boxes # as needed. # startsms=`egrep -se '^[ \t]*group *= *smsbox' $CONF` # startwap=`egrep -se '^[ \t]*group *= *wapbox' $CONF` startsms=`egrep -hse '^[ \t]*group *= *smsbox' $CONF ${CONFDIR}/*` startwap=`egrep -hse '^[ \t]*group *= *wapbox' $CONF ${CONFDIR}/*` if [ -n $startsms$startwap ]; then echo -n Starting Mobile Gateway Service 1 ($VERSION): daemon /usr/local/sbin/bearerbox ${OPTIONS}bearerbox.pid -- $CONF RETVAL1=$? echo sleep 15 else exit 0 fi if [ -n $startsms ]; then echo -n Starting Mobile Gateway Service 2 ($VERSION): daemon /usr/local/sbin/smsbox ${OPTIONS}smsbox.pid -- $CONF RETVAL2=$? echo fi if [ -n $startwap ]; then echo -n Starting Mobile Gateway Wap service ($VERSION): daemon /usr/local/sbin/wapbox ${OPTIONS}wapbox.pid -- $CONF RETVAL3=$? echo fi let RETVAL=$REVAL1+$RETVAL2+$RETVAL3 if [ $RETVAL -eq 0 ]; then sleep 2 touch /var/lock/subsys/gateway cat /var/run/kannel/*.pid /var/run/kannel.pid fi return $RETVAL } stop() { echo -n Shutting down Mobile Gateway $VERSION: killproc kannel RETVAL=$? echo if [ $RETVAL
Can't stop Kannel using the script
Hi Stephane, We have been using your great script for a while on Centos. Thanks for providing a great script to work with. About a month ago, we moved to the latest CVS and now we can only stop the wapbox and smsbox with it, but to stop the bearerbox we need to stop it manually. The actual configurations we use are stored in /etc/configurations Any advice appreciated. [gateway]# ps -auxwww|grep kannel kannel 28660 0.0 0.0 8076 1420 ?Ss 18:49 0:00 /usr/local/sbin/bearerbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/bearerbox.pid -- /etc/kannel.conf kannel 28661 0.0 0.1 285432 3456 ? Sl 18:49 0:00 /usr/local/sbin/bearerbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/bearerbox.pid -- /etc/kannel.conf kannel 28690 0.0 0.0 9124 1428 ?Ss 18:49 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf kannel 28691 0.0 0.1 102080 2764 ? Sl 18:49 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf kannel 28704 0.0 0.0 9260 1424 ?Ss 18:49 0:00 /usr/local/sbin/wapbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/wapbox.pid -- /etc/kannel.conf kannel 28705 0.0 0.1 163812 2892 ? Sl 18:49 0:00 /usr/local/sbin/wapbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/wapbox.pid -- /etc/kannel.conf After running: [gateway]# service kannel stop Shutting down Mobile Gateway cvs-20070826: [ OK ] [gateway]# ps -auxwww|grep kannel kannel 28661 0.0 0.1 121528 3284 ? Sl 18:49 0:00 /usr/local/sbin/bearerbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/bearerbox.pid -- /etc/kannel.conf kannel 28690 0.0 0.0 9124 1428 ?Ss 18:49 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf kannel 28691 0.0 0.1 102080 2764 ? Sl 18:49 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf [gateway]# service kannel status bearerbox (pid 28661) is running... smsbox is stopped wapbox is stopped [gateway]# kill -9 28661 [gateway]# service kannel status bearerbox is stopped smsbox is stopped wapbox is stopped -- # This shell script takes care of starting and stopping # the Kannel SMS WAP gateway # Original version Fabrice Gatille [EMAIL PROTECTED] # Modified by Stephane Rosa ([EMAIL PROTECTED]) for RedHat9 # chkconfig: 2345 97 03 # description: Kannel is an SMS and WAP gateway VERSION=`/usr/local/bin/gw-config --version` OPTIONS=--daemonize --parachute --user kannel --pid-file /var/run/kannel/ KANNELPATH=/usr/local/sbin CONF=/etc/kannel.conf CONFDIR=/etc/configurations # Source function library networking conf. . /etc/init.d/functions [ -f /etc/sysconfig/network ] . /etc/sysconfig/network # Check that we are root ... so non-root users stop here [ `id -u` = 0 ] || exit 1 # Various other checks [ ${NETWORKING} = yes ] || exit 0 [ -x $KANNELPATH/bearerbox ] || exit 0 [ -x $KANNELPATH/smsbox ] || exit 0 [ -x $KANNELPATH/wapbox ] || exit 0 [ -f $CONF ] || exit 0 RETVAL=0; RETVAL1=0; RETVAL2=0; RETVAL3=0 prog=Kannel start() { # Check that at least one group is defined for sms # and/or wap to start the bearer. Then start boxes # as needed. # startsms=`egrep -se '^[ \t]*group *= *smsbox' $CONF` # startwap=`egrep -se '^[ \t]*group *= *wapbox' $CONF` startsms=`egrep -hse '^[ \t]*group *= *smsbox' $CONF ${CONFDIR}/*` startwap=`egrep -hse '^[ \t]*group *= *wapbox' $CONF ${CONFDIR}/*` if [ -n $startsms$startwap ]; then echo -n Starting Mobile Gateway Service 1 ($VERSION): daemon /usr/local/sbin/bearerbox ${OPTIONS}bearerbox.pid -- $CONF RETVAL1=$? echo sleep 15 else exit 0 fi if [ -n $startsms ]; then echo -n Starting Mobile Gateway Service 2 ($VERSION): daemon /usr/local/sbin/smsbox ${OPTIONS}smsbox.pid -- $CONF RETVAL2=$? echo fi if [ -n $startwap ]; then echo -n Starting Mobile Gateway Wap service ($VERSION): daemon /usr/local/sbin/wapbox ${OPTIONS}wapbox.pid -- $CONF RETVAL3=$? echo fi let RETVAL=$REVAL1+$RETVAL2+$RETVAL3 if [ $RETVAL -eq 0 ]; then sleep 2 touch /var/lock/subsys/gateway cat /var/run/kannel/*.pid /var/run/kannel.pid fi return $RETVAL } stop() { echo -n Shutting down Mobile Gateway $VERSION: killproc kannel RETVAL=$? echo if [ $RETVAL -eq 0 ]; then sleep 2 rm -f /var/lock/subsys/gateway rm /var/run/kannel/*.pid fi return $RETVAL } # See how we were called. case $1 in
How capture a blank SMS sent to a short code with a non-default sms-service
Hi, To make my previous question clearer, we have a sms-service with the default keyword that collects the incoming SMSs for all short codes. However, we want SMSs to certain short codes to not go to the default get-url. We have tried the configuration below, but blank SMSs still go to the default get-url. Some competitions ask entrants to send in a blank SMS (where there is no content in the SMS). (As the keyword field is mandatory, we've had to leave it in and put in some arbitrary value. We've set the keyword-regex to try catching everything that comes in.) Is this possible with the current Kannel CVS or do you need to use the default sms-service to receive blank SMSs? Any suggestions appreciated. group = sms-service accepted-smsc=smsc1 allowed-receiver-prefix=1 get-url = http://localhost/app?sender=%ptext=%atime=%tappaddress=%P; omit-empty= true keyword= any_keyword_will_do keyword-regex =. catch-all = true group = sms-service keyword = default omit-empty= true text = Default service specified get-url = http://localhost/defaultapp?sender=%ptext=%atime=%tappaddress=%P; Thanks.
Re: best way to send all SMSs for a short code to a get-url
Hi Juan, Thanks for the great reply. It's working. It's not clear from the documentation that you can use the default keyword many times without interfering with other default sms-service groups. I've cut out the accepted-smsc=smsc1 as the other short codes may be from the same SMSC and using the denied-receiver-prefix to prevent other short codes using this get-url. group = sms-service allowed-receiver-prefix=1 denied-receiver-prefix=2;3;5 get-url = http://localhost/app?sender=%ptext=%atime=%tappaddress=%P; omit-empty= true keyword= default max-messages = 0 Rgds
Re: concatenation woes
Hi Iain, We have found that we have 154 chars per SMS when using concatenation. So far the only answer I've received to explain why we can get 154 chars per SMS and not 153 chars per SMS is, if you are connecting directly to the SMSC, they may not keep to the spec exactly and some SMSCs allow more chars per concatenated SMS. We are using the Kannel variable concatenation = true and max-messages and its working well. So I'd be interested to know for your Mobile Operators if you can get 154 chars per concatenated SMS or just 153 chars? Rgds
compile with GMT+2
Hi, Kannel is giving us submit_sm responses at a time 2 hours earlier than our current time. What you use as a compile option to set Kannel to use GMT+2.? I've used --disable-localtime and it does not help. Any help appreciated. Rgds
resending SMSs
Hi, If you are sending SMSs and run out of credits at the operator, can Kannel resend them you have put in the credits. In our Kannel Config we have: http-queue-delay=30 http-request-retry=20160 #3 days = 7 * 24 * 60 * 2 (2 retries per minute) = 20160 But this is only for failing HTTP requests from sms-service Is there a config paramater to ensure Kannel will try to send the SMSs, for a configurable number of times? Thanks for any advise
Java Code
Hi, Yes, please send the Java code. Do you know were you can find specifications on the headers. Thanks
sending blank SMSs
Hi, Recently we were testing sending blank SMSs which is an SMS with no content as the message i.e message =; We were surprised that we got back an SMS with the message Empty reply from service provider. We are using the latest CVS. Any ideas on what to set in the configuration file to enable blank SMSs? Or should this work by default? Thanks
RE:daily snapshot link 404
Hi, Yes all the links under http://www.kannel.org/download.shtml for the Daily Snapshots are not linked correctly. This problem recently occurred when the Kannel Server went through maintenance. Please see http://www.kannel.org/download/kannel-userguide-snapshot/userguide.html You used to see the latest User Guide from CVS, now you see the Fedora default page. I hope someone who has access to the Kannel Server, can kindly restore this. Thanks
Kannel snap shots on website are unavailable
Hi, With the server upgrade if you look at: http://www.kannel.org/download/kannel-userguide-snapshot/userguide.html You get Fedore Core Test Page. Please can someone fix the links so they point to the snap shots. Thanks
sms-resend-freq
Thanks Alex for your response. To try understand it better, in our case in the smsbox we have set the http-request-retry and http-queue-delay in the smsbox, and have set the http-queue-delay to 30 seconds. We have not used the sms-resend-freq which according to the CVS user guide defaults to 60 seconds. Could it be that if the sms-resend-freq is not set, the http-queue-delay takes over as the two keywords seem to provide a similar service? The reason it seems Kannel is listening to http-queue-delay, is if kannel re-tried the SMSs, we get in the bearerbox log: 2006-05-24 19:49:28 [21778] [9] DEBUG: sms_router: time to sleep 30.00 secs. If no SMSs are re-tried we don't see sms_router messages in the bearerbox log From the CVS user guide: --- sms-resend-freq seconds Frequency for the SMS resend thread in which temporarily failed or queued messages will be resent. Defaults to 60 seconds. http-queue-delayinteger If set, specifies how many seconds should pass within the HTTP queuing thread for retrying a failed HTTP request. Defaults to 10 sec and is only obeyed if http-request-retry is set to a non-zero value.
sms_router
Hi, What configuration option causes sms_router: time to sleep 30.00 secs and is this the default? 2006-05-24 09:37:22 [4854] [9] DEBUG: sms_router: time to sleep 30.00 secs. Is there anyway to decrease the sleep time? Thanks
DEBUG: sms_router: time to sleep 30.00 secs.
Hi, What causes sms_router: time to sleep 30.00 secs? Is there anyway to decrease the sleep time? Thanks
SMS box is not starting with the parachute option set
Hi, We are running cvs-20060326, After starting the bearerbox and smsbox, the bearerbox came up, but the smsbox did not. We did not realize this and then only after a few minutes later realized it. [EMAIL PROTECTED] ~]# service kannel status bearerbox (pid 2874 2873) is running... smsbox is stopped wapbox is stopped We are using parachute: If you do a: ps -auxwww|grep kannel kannel3730 0.5 0.1 132392 3116 ? Sl 12:18 0:00 /usr/local/sbin/bearerbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/bearerbox.pid -- /etc/kannel.conf kannel3750 0.0 0.1 8344 2288 ?Ss 12:18 0:00 /usr/local/sbin/smsbox --daemonize --parachute --user kannel --pid-file /var/run/kannel/smsbox.pid -- /etc/kannel.conf Any idea why the parachute option does not enable re-starting the smsbox, if it does not come up the first time. Rgds
modified udh to send wap push messages
Hi, I've recently got a request to send wap push messages and would like to test using sendsms with a modified udh. Does anyone have any examples or a good reference on how to modify the udh to request a JAR from a server? Thanks
Question on post
Dear Stripe, I try read your posts where ever you write them, as I usually find a gem. In your post today in response to the Second question you wrote: The message is in the store file as long as it could not be transported by any of the smsc-id channels. So if A is disconnected, Kannel will use B, if B fails, the message remains in the store and retry is done after restart. You don't mean you need to restart the Kannel binds (A and B) or Kannel in total to get the SMSs to be sent, once they are in the store? If I understood your post correctly the word restart can be misunderstood here, as it's referring to A and/or B. As, if either A or B come up, the SMS will be sent to the first that comes up. I suppose if A and B come up almost simultaneously, then A will take preference. Please confirm? Thanks
How to send @ chars
Dear Kannel Users, According to the spec Table 6-3 SMSC driver internal features, Kannel can correctly send and receive the chars @ ä {. http://kannel.org/download/kannel-userguide-snapshot/userguide.html How does one achieve this using Kannel? Thanks any help appreciated.
how to send various coding types in Kannel
Dear Kannel Users. 1)From the user guide is my understanding correct? http://kannel.org/download/kannel-userguide-snapshot/userguide.html#AEN4179 For GSM alphabet which has coding of 7bits - use coding = 0 charset = ISO-8859-1 For ISO-8859-1 (Latin1) which has coding of 7bits - use coding = 0 charset = ISO-8859-1 For Unicode which has coding of 8bits - use coding = 1 charset = UTF-16BE For UCS2 which has coding UCS-2 - use coding = 2 charset = UTF-16BE 2)For ringtones or Logos is this correct? set udh for the ringtone and logo and coding is set to 8bits - use coding = 1 charset = UTF-16BE 3)From Spec Optional. If unset, Kannel uses the alt-dcs defined on smsc configuration, or 0X per default. If equals to 1, uses FX. If equals to 0, force 0X. When do you use alt-dcs? When do you use FX and 0X? I'd like learn to send these coding types using Kannel. Any help on understanding the spec correctly appreciated. Wishing all the Kannel users list seasons greetings and a prosperious 2006 Rgds
bug in CVS
Hi, I've just reported a bug to the Kannel devel group that in the latest CVS code the example below does not work according to the latest CVS user guide unless you remove the mysql prefix. group = mysql-connection id = dlr-db host = localhost mysql-username = foo mysql-password = bar database = dlr max-connections = 1 This works: group = mysql-connection id = dlr-db host = localhost username = foo password = bar database = dlr max-connections = 1 I hope this helps. Rgds
WAP Java Class to list
Hi, I saw from your Kannel users post that you are using a Java class to send WAP push messages to mobile phones. Please would you be so kind as to send to the Kannel user list your Java class to enable WAP push or information on where to get a standard WAP Java class and according to your experience what to change in the standard class. We would like to test Kannel WAP Push with Java, which is our development environment. Thanks
RE: WAP Java Class to list
Thanks for sharing. -Original Message- From: Sakellariou Spyros ([EMAIL PROTECTED]) [mailto:[EMAIL PROTECTED] Sent: 22 December 2005 11:45 To: [EMAIL PROTECTED]; Kannel Users Subject: RE: WAP Java Class to list Hi, Here is an example Java Class that I've used in the past to send a WAP Push message via Kannel. Hope it helps, Spyros -Original Message- From: Hillel [mailto:[EMAIL PROTECTED] Sent: Thursday, December 22, 2005 10:23 AM To: cool planet; Kannel Users Subject: WAP Java Class to list Hi, I saw from your Kannel users post that you are using a Java class to send WAP push messages to mobile phones. Please would you be so kind as to send to the Kannel user list your Java class to enable WAP push or information on where to get a standard WAP Java class and according to your experience what to change in the standard class. We would like to test Kannel WAP Push with Java, which is our development environment. Thanks
new CVS adds + to numbers in senderid
Dear Kannel Users, The new CVS adds a + to numbers in the senderid. Is there any way to prevent the plus being sent as part of the senderid? Rgds
RE: How to set the TON and NPI setting dynamically
No via a modem you can't. Technically you can do this via a SMSC but in practice some SMSCs block it to prevent SPAM. -Original Message- From: TecExperts.com [mailto:[EMAIL PROTECTED] Sent: 18 November 2005 10:05 To: [EMAIL PROTECTED] Cc: users@kannel.org Subject: Re: How to set the TON and NPI setting dynamically Hillel, I dont think so there is a bind time setting but source-addr-autodetect is the choice.. One more thing are u able to set source address (alphanum) using GSM modem...??? I mean if u send SMS from GSM modem can u send sender is Tcorp or anytext like that... If u can help .. ThanX, TecExperts Hillel [EMAIL PROTECTED] wrote: Dear Kannel Users, I would like to set the ton and npi values when sending an SMS as the source ton and npi values should be 1 and 1 for numeric source address, but for alphanumeric source address the TON = 5 NPI = 0. Is there any way of setting this besides in the group = smsc which is set once only when binding? There is the option of source-addr-autodetect boolean, but I'd prefer to be able to set it myself. By being able to set this you can also set the source-addr-ton=2 or source-addr-ton=1 which can switch off and on respectively, the plus in front of the receiving numeric source address. Thanks for any help. TecExperts We make you compatible! Nothing is impossible!! Mob: +91-9886191636 Web: www.tecexperts.com MSN: [EMAIL PROTECTED] Enjoy this Diwali with Y! India Click here
How to set the TON and NPI setting dynamically
Dear Kannel Users, I would like to set the ton and npi values when sending an SMS as the source ton and npi values should be 1 and 1 for numeric source address, but for alphanumeric source address the TON = 5 NPI = 0. Is there any way of setting this besides in the group = smsc which is set once only when binding? There is the option of source-addr-autodetect boolean, but I'd prefer to be able to set it myself. By being able to set this you can also set the source-addr-ton=2 or source-addr-ton=1 which can switch off and on respectively, the plus in front of the receiving numeric source address. Thanks for any help.
How to deal with multithreading
Hi, I'm running Kannel cvs-20050615 and when sending many SMSs at almost the same time using multithreading Kannel starts to spawn more bearerboxes. The command ps -auxwww|grep kannel , shows me more than one bearerbox. I'm concerned how to prevent Kannel trying to connect twice to the same SMSC as I only have one allowed instance. How can you set in the configuration files how many instances are allowed when multithreading. Rgds
RE:How to deal with multithreading
Hi, I'm running on kernel 2.6.9-11.ELsmp #1. Rgds I'm running Kannel cvs-20050615 and when sending many SMSs at almost the same time using multithreading Kannel starts to spawn more bearerboxes. The command ps -auxwww|grep kannel , shows me more than one bearerbox. I'm concerned how to prevent Kannel trying to connect twice to the same SMSC as I only have one allowed instance. How can you set in the configuration files how many instances are allowed when multithreading. Are you running on a Linux 2.4.x kernel ? If so, ps shows you the threads within the process as separate entries.
How to log per SMSC connection?
Dear Kannel Users, If I have different configurations for different SMSC information I connect to how do you have different logs per SMSC connection. I've tried with the logs: group = core log-level = 0 log-file = /var/log/kannel/bearerbox.log access-log = /var/log/kannel/access.log store-file = /var/log/kannel/storeFile.log For SMSC1: group = smsbox log-level = 0 access-log = /var/log/kannel/accessSMSC1.log log-file = /var/log/kannel/smsboxSMSC1.log For SMSC2: group = smsbox log-level = 0 access-log = /var/log/kannel/accessSMSC2.log log-file = /var/log/kannel/smsboxSMSC2.log After Kannel starts it creates. access.log kannel.log storeFile.log accessSMSC1.log smsboxSMSC1.log How do I get logs for SMSC2? Also storeFile.log is empty any ideas why? Any help appreciated helping me understand the logging. Rgds
immediate-sendsms-reply = true
Hi, Wilfried Goesgens recommended strongly to use in the SMSbox configuration immediate-sendsms-reply = true when using the latest CVS, to prevent running out of file descriptors. Have others found this to be true, as otherwise the CVS maintainers userguide should put it in as it will help many people. He also recommended changing the source by removing the config options from cfg.dev, and removing the if conditions from source, and just do what would have been done if its enabled. (there is no else case in any of these if's.) Is both the immediate-sendsms-reply = true configuration option and the change in the source necessary? Rgds -Original Message- From: Wilfried Goesgens [mailto:[EMAIL PROTECTED] Sent: 08 August 2005 14:05 To: Hillel Subject: Re: immediate-sendsms-reply = true On Mon, Aug 08, 2005 at 10:47:36AM +0200, Hillel wrote: Hi, The immediate-sendsms-reply = true option in the smsbox for large load is interesting. But you also mentioned I would suggest to remove this config option and its if's from smsbox, as i 've experienced too, that it makes kannel extremely unreliable. Are you saying this option makes the system more unreliable? And if so, what do you suggest? it really does. smsbox doesn't close inbound http connections anymore, and runs out of file descriptors. This wasn't that extreme with kannel CVS versions prior to last x-mas. But now, a kannel not configured with that options renders allmost unusable. The scripts feeding kannel block because of kannel not closing the connection. and if you add a timeout in the http connection, smsbox doesn't close the fd. I suggest to remove the config options from cfg.dev, and remove the if conditions from source, and just do what whould have been done if its enabled. (there is no else case in any of these if's.) Thanks for the insight. --
restart kannel
Dear Peter, I read you post on Kannel Users titled RE: Out of Memory and wanted to know your opinion if you are using Kannel with MYSQL to store DLR's. Would you still suggest restarting Kannel every few days to clean out the memory used by Kannel? Rgds
Stale Binds help
Dear Kannel Users, I'm running Kannel 1.4.0 from CVS end of last year and I had a problem today that I sent SMSs to a SMSC and non of the SMSs went through. After I restarted the bind all the SMSs that were supposed to go through went through. So you could say the bind went stale. Before restarting the bind the enquirelink messages were going through but no SMSs could be sent. I don't know why this happened, but do you recommend restarting the binds every day to prevent this? Any ideas what to look for appreciated. Here is my Kannel config: # SMSC CONNECTIONS group = smsc smsc = smpp smsc-id = smscid allowed-smsc-id = smscid host = x.y.z.w port = a #transceiver-mode = true receive-port = a smsc-username = x smsc-password = y system-type = SMPP # default is 10 reconnect-delay=40 # default is 30 enquire-link-interval=30 source-addr-ton=5 source-addr-npi=0 dest-addr-ton=1 dest-addr-npi=1 #dlr-mask = 31 # SMSBOX SETUP group = smsbox bearerbox-host = localhost #bearerbox-is-sqlbox = true/false sendsms-port = 13013 http-queue-delay=30 http-request-retry=10 log-level = 0 access-log = /var/log/kannel/access.log log-file = /var/log/kannel/smsbox.log ##access-log = /tmp/access.log # SEND-SMS USERS group = sendsms-user username = xy password = wz # SERVICES # there should be default always group = sms-service keyword = default text = No service specified
RE: [Kannel-Devel] SMS message ids in DLR reports generated by Kannel
Hi, Would you still keep the sms.id as a DLR parameter as it's useful independent of the message_id, and add another parameter like the sms.id such as messageId, which can be used for the actual message_ids. Thanks -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Matthew Hixson Sent: Friday, January 28, 2005 9:46 PM To: users@kannel.org; Alexander Malysh Subject: Re: [Kannel-Devel] SMS message ids in DLR reports generated by Kannel On Jan 28, 2005, at 5:19 AM, Alexander Malysh wrote: What needs to be done is either: 1) Make the bearerbox add the dlr-ts field into the SMS Msg structure which is passed to the smsbox. Then the smsbox can forward that information via the dlr-url. OR 2) Link the sms.id (the newly added UUID for each SMS) to the dlr-ts by storing the sms.id in the dlr_entry. Then, when a DLR SMS is received that matches the message-id (i.e. dlr-ts), the DLR SMS sms.id is replace with the sms.id coming from the dlr_entry. Add a new function to the bearerbox (or create another box) which provides the sms.id - dlr-ts functionality and then the smsbox can now return the message-id (or dlr-ts as referenced by the source code). The first option is easiest to implement but provides less future functionality (I'll get to that in a minute) as well as increases the size of the SMS Msg structure. The second option would provide alot more flexibility by creating a new function that could be used by external systems to lookup the mapping of sms.id to their message-id. At the same time, performance would not be hindered since the looks would only occur if the dlr-url requested the message-id information. For, option 2, I envision a system that could return the sms.id for an MT SMS. Then, the person holding the sms.id can query an xxxbox that can return the current status of the SMS because it can be mapped to the DLR. I've started outlining the necessary changes to implement option 2 already. If everyone thinks it's a bad idea and wants to implement option 1 then I can reverse gears and start working on that one. Opinions? I'm +1 for option 2 and it's already implemented in my private tree. so I would propose not to do double work and just be a bit patient... Hi Alex, when do you think you might check this in and what would you like on your pizza? Thanks, -M@
RE: [Kannel-Users] Re: SMS message ids
Hi, This is something that I'd also find very useful. The message_id is available in some Kannel variable, so you should be able to pass it back. I wonder if someone who is reading this and has had experience in programming for kannel, would add this to CVS. Regards -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Peter Beckman Sent: Thursday, January 27, 2005 4:20 PM To: Davy Chan Cc: users@kannel.org Subject: Re: [Kannel-Users] Re: SMS message ids On Thu, 27 Jan 2005, Davy Chan wrote: **2005-01-26 09:02:43 [394] [7] DEBUG: SMPP[wsc_wireless_services]: Got **PDU: **2005-01-26 09:02:43 [394] [7] DEBUG: SMPP PDU 0x81a00a0 dump: **2005-01-26 09:02:43 [394] [7] DEBUG: type_name: submit_sm_resp **2005-01-26 09:02:43 [394] [7] DEBUG: command_id: 2147483652 = **0x8004 **2005-01-26 09:02:43 [394] [7] DEBUG: command_status: 0 = 0x **2005-01-26 09:02:43 [394] [7] DEBUG: sequence_number: 1154 = **0x0482 **2005-01-26 09:02:43 [394] [7] DEBUG: message_id: F39E35D ** **I was hoping that Kannel 1.4.0 would send me the message_id value when **I used the escape code %I, however I'm seeing this instead. ** **/notification?smsc-id=wsc_wireless_servicessmsid=da03662a-731a-4e22 **-8a18 **-2d982663eb4fmsg=ACK%2Fstatus=8answer=ACK%2Fto=55416from=4252837796 **time=2005-01-26+17:02:43 ** **What is da03662a-731a-4e22-8a18-2d982663eb4f from? I can't find it **anywhere in bearerbox.log. ** Is there a way to get Kannel to send me the message_id value of **F39E35D? Kannel's dlr-url will only return the message-id embedded in the deliver_sm, not from the submit_sm_resp. Kannel's bearerbox will use the message-id from the submit_sm_resp to generate and entry in its own dlr-url lookup table. But, again, this information is not forwarded to you via the dlr-url. That's the question. Why, if the in submit_sm_resp does the message_id come over in, does the generated URL by kannel for the dlr report (type=8 is generated by kannel, NOT the SMSC) not include the message_id, passed exactly how the SMSC passed it? Let the user handle the conversion from hex to decimal, or a string or whatnot. Why does kannel not pass it then if it stores it in the DLR db? Therefore, if your SMPP operator is not returning the message-id in the short_message part of the deliver_sm (i.e. message body of a regular SMS...I call it the old embedded method), then the information must be conveyed through the Tag-Length-Value (TLV) optional parameters (specifically TLV 0x001E [receipted_message_id]). This problem has NOTHING to do with the SMPP operator. Kannel in version 1.3.2 and later calls the DLR URL with type=8 when the SMPP operator accepts (ACK/'s) the message. KANNEL generates the above message, not the SMPP operator. If you can also post to the list the deliver_sm decoding, then we can get a better idea what happened. It appears to me that your provider might be generating non-standard DLRs (hence the message-id of da03662a-731a-4e22-8a18-2d982663eb4f). I don't know where that message ID comes from... I assume it is kannel's primary key for the store table (internal storage I assume, since the primary key would be an int). Or it could be an MD5 hash of something. Whatever it is, it seems to be useless. I, too, would find getting the remote SMSC message ID in the kannel-generated DLR report at submit_sm_resp success very useful and handy, since not all SMSC's and carriers in the US do further delivery receipts, unlike Europe. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
RE: Stouf.com
Hi, There is a company called Ecommunicate. They can offer a reliable, decent, cost-effective SMS service. You can call the company on +27 11 443 6164 for their office in South Africa. By the way,what cost per SMS are you looking for? Thanks -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Gavin McDougall Sent: Tuesday, December 21, 2004 2:50 PM To: kannel users list Subject: Stouf.com Hello again, Just two questions this time Has anyone used Kannel in conjunction with the sms services of Stouf.com ?? Secondly, can anyone recommend a decent, 'cost-effective' service provider ? Thanks again, Gavin
RE: Retrieving the SMSC Message ID for a queued message
Hi, I agree that would be very useful as if anything goes wrong with the SMS you can go back to the mobile operator and ask for an explanation for that specific SMS. The mobile operator tracks their SMSs via the message_id which is unique per SMSC. Is their anyway to retrieve the message_id given back by the SMSC after the SMS is sent? Or is anyone looking at developing code to retrieve this? Thanks -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Peter Beckman Sent: Tuesday, November 16, 2004 4:16 PM To: kannel users list Subject: Retrieving the SMSC Message ID for a queued message There's been a lot of talk on the list about DLRs, delivery reports, dlr-urls, dlrurls, etc. One thing I find sorely missing from the functionality of the delivery report is the SMSC's message ID. I give you an example: 2004-11-16 xx:xx:xx [x] [x] DEBUG: SMPP PDU 0x8122a00 dump: 2004-11-16 xx:xx:xx [x] [x] DEBUG: type_name: submit_sm_resp 2004-11-16 xx:xx:xx [x] [x] DEBUG: command_id: 2147483652 = 0x8004 2004-11-16 xx:xx:xx [x] [x] DEBUG: command_status: 0 = 0x 2004-11-16 xx:xx:xx [x] [x] DEBUG: sequence_number: 63 = 0x003f 2004-11-16 xx:xx:xx [x] [x] DEBUG: message_id: 1234abcd 2004-11-16 xx:xx:xx [x] [x] DEBUG: SMPP PDU dump ends. 2004-11-16 xx:xx:xx [x] [x] DEBUG: DLR[internal]: Adding DLR smsc=x, ts=1234abcd, src=12345, dst=12345678910, mask=31, boxc=default 2004-11-16 xx:xx:xx [x] [x] DEBUG: SMSC[x]: creating DLR message 2004-11-16 xx:xx:xx [x] [x] DEBUG: SMSC[x]: DLR = http://xxx.xxx/dlr.php?smsid=xxxtime=%tto=%Ptype=%dsmscr=%Amsgno=%Ires p=%a I want 1234abcd to be passed back to be. In this message, I didn't see anything that would lead me to believe that the message_id passed back by my SMPP friend is able to be grabbed via DLR. Am I wrong? Or doesn't it exist? Internally I'm tracking my messages via smsid that I pass via the DLR. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
RE: Retrieving the SMSC Message ID for a queued message
How would you pass the message_id received by Kannel in the submit_sm_resp, used to send the SMS, to the dlr_url for processing? Does anyone have a hack for this? Thanks -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Rodrigo A. Cremaschi Sent: Wednesday, November 17, 2004 5:46 AM To: kannel users list Subject: Re: Retrieving the SMSC Message ID for a queued message I support the idea of retrieving the message_id as a proof the message was handled to the SMSC. When we cannot use DLR's, due to an added traffic cost for the SMSC, this is a near perfect solution for an ESME. I suggest simply logging the message_id, no need to be part of the DLR mechanism. Rodrigo Cremaschi - Original Message - From: Peter Beckman [EMAIL PROTECTED] To: kannel users list [EMAIL PROTECTED] Sent: Tuesday, November 16, 2004 9:15 PM Subject: Retrieving the SMSC Message ID for a queued message There's been a lot of talk on the list about DLRs, delivery reports, dlr-urls, dlrurls, etc. One thing I find sorely missing from the functionality of the delivery report is the SMSC's message ID. I give you an example: 2004-11-16 xx:xx:xx [x] [x] DEBUG: SMPP PDU 0x8122a00 dump: 2004-11-16 xx:xx:xx [x] [x] DEBUG: type_name: submit_sm_resp 2004-11-16 xx:xx:xx [x] [x] DEBUG: command_id: 2147483652 = 0x8004 2004-11-16 xx:xx:xx [x] [x] DEBUG: command_status: 0 = 0x 2004-11-16 xx:xx:xx [x] [x] DEBUG: sequence_number: 63 = 0x003f 2004-11-16 xx:xx:xx [x] [x] DEBUG: message_id: 1234abcd 2004-11-16 xx:xx:xx [x] [x] DEBUG: SMPP PDU dump ends. 2004-11-16 xx:xx:xx [x] [x] DEBUG: DLR[internal]: Adding DLR smsc=x, ts=1234abcd, src=12345, dst=12345678910, mask=31, boxc=default 2004-11-16 xx:xx:xx [x] [x] DEBUG: SMSC[x]: creating DLR message 2004-11-16 xx:xx:xx [x] [x] DEBUG: SMSC[x]: DLR = http://xxx.xxx/dlr.php?smsid=xxxtime=%tto=%Ptype=%dsmscr=%Amsgno=%Ires p=%a I want 1234abcd to be passed back to be. In this message, I didn't see anything that would lead me to believe that the message_id passed back by my SMPP friend is able to be grabbed via DLR. Am I wrong? Or doesn't it exist? Internally I'm tracking my messages via smsid that I pass via the DLR. Beckman -- - Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ -- - Este mensaje se dirige exclusivamente a su destinatario y puede contener información CONFIDENCIAL sometida a secreto profesional o cuya divulgación esté prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía o por teléfono (54.11 5776-5000) y proceda a su destrucción. Nótese que el correo electrónico vía Internet no permite asegurar ni la confidencialidad de los mensajes que se transmiten ni la correcta recepción de los mismos. En caso de que el destinatario de este mensaje no consintiera la utilización de correo electrónico vía Internet rogamos lo ponga en nuestro conocimiento de manera inmediata.
RE: Re-Assemble Long SMS
I'm interested in how to send operator logos and ringtones *to* subscribers using Kannel, does anyone have a working example that can send through so I can test and see how it works with Kannel. Thanks -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Rafael 'Dido' Sevilla Sent: Friday, November 05, 2004 5:52 PM To: Guillaume Cottenceau; [EMAIL PROTECTED] Subject: Re: Re-Assemble Long SMS On Fri, Nov 05, 2004 at 03:37:06PM +0100, Guillaume Cottenceau wrote: Really? So what happens for nokia logo/ringtone and/or EMS, which all are carried by UDH? Impossible to use? This is very surprising. Should the SMSC not just route the binary contents without messing with actual UDH/UD contents? We can send operator logos and ringtones *to* subscribers, and naturally concatenated SMS. Any inbound concat messages *from* subscribers though, seem to have any UDH they originally came with stripped. If this is being done intentionally by the mobile carriers, I can think of no good reason why they would do so. It seems to be true of all three of the mobile carriers in my country. I have no idea whether they would also eliminate UDH/UD contents from other kinds of inbound messages, as I have never needed to make a service that accepted such messages from mobile subscribers. -- dido We pledge allegiance to the Penguin, and to the software for which it stands. One nation, under Linux, with Free software and unlimited bandwidth for all.
RE: kannel 1.3.2 - kannel confounds DLRs - how can i make sure that iget the correct dlr-status for sms?
Hi, I have created a pkey column that is set to autoincrement in my mysql dlr table. When I send the SMS the pkey is automatically incremented. The problem is the autoincrement in the latest mysql usually increments by 1, but sometimes by 2. I would like to set a smsid in my dlr-url that I can then use to update the correct row when the delivery receipt arrives. So how can I correctly set my smsid when - To send an SMS I have to use a http get with a predefined smsid, which Kannel uses to creates the new row in the mysql database with a new pkey. I only know what the new pkey value is after the sms has been sent, but then it's to late to find out, to what I should have set my smsid. Has anyone solved this and found how to correctly predict what the next pkey will be or is my approach incorrect. Thanks for any help. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Ivars Jukams Sent: Wednesday, September 01, 2004 4:43 PM To: [EMAIL PROTECTED] Subject: Re: kannel 1.3.2 - kannel confounds DLRs - how can i make sure that iget the correct dlr-status for sms? -- Why couldn't we ? it's just a question of inserting the DLR /before /sending, looking at the last inserted ID and use it instead of the couple timestamp / smsc ... -- Of course, there is no problem, maybe with making the patch, but I don't believe so. There can be such sending process: 1) comes request to send SMS; 2) write info in to DB about SMS to be sent (with status 'not sent'); 3) get autoincrement ID (mysql returns it automaticly); 4) try to send SMS and use this autoincrement ID instead of timestamp; 5) after sending change status to 'waiting for SMSC' response or 'not sent' if it crashes in kannel because of any reason; 6) after receiving a status message from SMSC do the same process like it is now, only use this unque ID to find right message. One more advice - not simply delete records from dlr table, but 'move' them to dlr_archieve (the same structure as dlr, only ID is not autoincrement) - so we would not lose info about sent messages. copy means: insert into dlr_archieve...select...from dlr... and then: delete... (i can write queries for MySQL, but not for other dlr DB types) So - some more queries, but with autoincrement ID it will work faster anyway. Sorry for my english :) Ivars
WAP gateway
Dear WAP Kannel Uses, Does anyone know of a WAP gateway that I can use? Thanks
Anyone solved how to extract more than %d using the dlr-url?
Dear Kannel friends, 1)How do your receive back in the dlr-url the information found in the access.log [msg:%L:%b] about the dlr According to the user guide: If you set the dlr-mask=7 and dlr-url=http://www.xyz.com/cgi/dlr.php?type=%d; You only get the %d back so how do you get back the full msg part as seen in the access.log i.e. [msg:107:id:0039677088 sub:001 dlvrd:001 submit date:040713233645 done date:040713233720 stat:DELIVRD err:000 Text: ] especially the code after the err: parameter. In this case it's 000 I've got a requirement to extract the error codes for each SMS sent to enable me to find out the reason the SMS was not delivered so I'd need to extract from the DLR the error code part after the err: parameter. The SMSC provider will give me the reason the SMS was not delivered based on the error code. Then I would place this information in a mysql database corresponding to that SMS based on the msgid. Any idea how to do this as from the documentation the access log format is: access-log-format string String defining a custom log file line format. May use escape codes as defined later on to substitute values of the messages into the log entry. If no custom log format is used the standard format will be: %t %l [SMSC:%i] [SVC:%n] [ACT:%A] [BINF:%B] [from:%p] [to:%P] [flags:%m:%c:%M:%C:%d] [msg:%L:%b] [udh:%U:%u] How can you extract from [msg:%L:%b] %L and %b using the dlr-url or any other means. If I have to, I can change the kannel code and submit it, only which c file pulls out the information %d to use in the dlr-url and maybe I can also pull out the %L and %b as well. 2)A further related question is the codes used in the access.log are not all defined in the table Table 6-9. Parameters (Escape Codes) so what these mean? %l %m %M %L %U Eg access.log 2004-07-14 19:41:29 Sent SMS [SMSC:mob] [SVC:tester] [ACT:] [BINF:] [from:Bos] [to:27824496273] [flags:-1:0:-1:-1:7] [msg:5:test3] [udh:0:] 2004-07-14 20:47:33 DLR SMS [SMSC:mob] [SVC:tester] [ACT:] [BINF:] [from:Bos] [to:27824496273] [flags:-1:-1:-1:-1:1] [msg:107:id:0039719965 sub:001 dlvrd:001 submit date:040714194238 done date:040714194322 stat:DELIVRD err:000 Text: ] [udh:0:] Thanks any help appreciated.
How to use the error codes?
The Error codes are very useful as they can tell you why a SMS has not been delivered. How do you extract them from the Kannel DLR without manually extracting them from the access.log? I have a requirement to extract the error code such as err:000, as each SMS is delivered. Has any one achieved this and can give advise? Thanks any help appreciated. From the access.log 2004-07-14 01:03:43 DLR SMS [SMSC:mob] [SVC:tester] [ACT:] [BINF:] [from:Bost] [to:2783232] [flags:-1:-1:-1:-1:1] [msg:107:id:0039677088 sub:001 dlvrd:001 submit date:040713233645 done date:040713233720 stat:DELIVRD err:000 Text: ] [udh:0:] 2004-07-14 01:03:43 DLR SMS [SMSC:mob] [SVC:tester] [ACT:] [BINF:] [from:Bost] [to:2783232] [flags:-1:-1:-1:-1:1] [msg:107:id:0039677289 sub:001 dlvrd:001 submit date:040713234227 done date:040713234316 stat:DELIVRD err:000 Text: ] [udh:0:] 2004-07-14 01:03:43 DLR SMS [SMSC:mob] [SVC:tester] [ACT:] [BINF:] [from:Bost] [to:2783232] [flags:-1:-1:-1:-1:1] [msg:107:id:0039678369 sub:001 dlvrd:001 submit date:040714000747 done date:040714000842 stat:DELIVRD err:000 Text: ] [udh:0:]