Re: [Kannel-Users] How stable is your kannel?
On Sun, 25 Dec 2005, Ady Wicaksono wrote: Please give me your uptime :) i've been tested kannel on my redhat 9 linux with SMSC ver 3.4 connection for about 2 months and found that this stuff is not really stable, i need to restart and restart again and finally i move to my custome tailor made SMSC Client application. I've heard my friend that, kannel is not stable on linux but in freebsd he said stable anybody could confirm it? I have run Kannel on FreeBSD, and the only thing that kills it is the internal DLR storage -- many messages never "complete" the cycle kannel believes is 100%: 8 Delivered to SMSC 4 Delivered to Carrier 1 or 2 Delivered or Failed to Handset Kannel, if it never sees a 1 or 2 or 16 for a DLR, never deletes the record from memory, and thus after a few days or weeks, runs out of memory. The solution is to move DLR storage to mysql, and if that was the case, I am confident that kannel would not crash. In a previous life I ran kannel on redhat linux with at least 90 days of uptime, probably more, just can't remember, or the box needed upgrades and a reboot before kannel died. I know kannel is still used and is stable for a company running at least 100,000 SMS messages per day. Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Why run your own SMS Gateway?
On Wed, 21 Dec 2005, James Ellis wrote: I am an SMS newbie and I was wondering if I understand this correctly: The SMS Gateway provides a way to send SMS messages to an SMSC who will ensure that the message is actually received at a mobile phone. Ensure? Guarantee? Doubtful. Attempt? Yes. In order to talk to an SMSC, you pretty much either need to go through a reseller (such as Clickatell) or have enough volume to justify a carrier's interest in you. If this is true...and I am sending messages through an SMSC reseller (Clickatell), don't all of them provide their own SMS gateways? If so, when/why would I run my own gateway such as Kannel? Kannel connects to SMSC's, it is not an SMSC itself. Kannel connects to Clickatell or a carrier, if you connect via SMPP. If you connect via HTTP, then you don't need kannel. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Re: Question about DLR
LR message that Mr. Beckman pointed out from the log file (mine is named access.log in /logs folder). It could be on the SMSC side not being able to send me back the DLR... or there's a problem with my configuration. I'll do further investigation on this and hopefully can figure this out soon. If anyone has any suggestion on what might be wrong with kannel configuration whatsoever that leads to this problem, please feel free to jump on in and share your thoughts. Again, thank you all. Best regards, -Andi From: Peter Beckman <[EMAIL PROTECTED]> To: Andi Taslim <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED], users@kannel.org Subject: Re: [Kannel-Users] Re: Question about DLR Date: Wed, 9 Nov 2005 10:28:58 -0500 (EST) MIME-Version: 1.0 Received: from thermonuclear.org ([209.31.146.80]) by mc10-f20.hotmail.com with Microsoft SMTPSVC(6.0.3790.211); Wed, 9 Nov 2005 07:28:46 -0800 Received: from thermonuclear.org ([EMAIL PROTECTED] [127.0.0.1])by thermonuclear.org (8.12.9/8.12.6) with ESMTP id jA9FT0cs034866;Wed, 9 Nov 2005 10:29:00 -0500 (EST)(envelope-from [EMAIL PROTECTED]) Received: from localhost ([EMAIL PROTECTED])by thermonuclear.org (8.12.9/8.12.6/Submit) with ESMTP id jA9FSxtL034863;Wed, 9 Nov 2005 10:28:59 -0500 (EST)(envelope-from [EMAIL PROTECTED]) X-Message-Info: JGTYoYF78jEHjJx36Oi8+Z3TmmkSEdPtfpLB7P/ybN8= X-Authentication-Warning: thermonuclear.org: beckman owned process doing -bs X-X-Sender: [EMAIL PROTECTED] References: <[EMAIL PROTECTED]> Return-Path: [EMAIL PROTECTED] X-OriginalArrivalTime: 09 Nov 2005 15:28:46.0605 (UTC) FILETIME=[46A99BD0:01C5E542] DLR = 31 means you'll get all the delivery receipts. Here's the process: You hand kannel an sms via sendsms -- now kannel has the message. Kannel gives the sms to the SMSC successfully (8) or fails (16) -- You get a DLR from KANNEL for this success or failure. All other DLRs come as a specially formatted SMS to kannel which kannel recognizes as a DLR sms and calls your dlr-url. If your SMSC does not hand back Delivery Receipts for sms messages, this is why you never see dlr-url called again. In kannel you would see messages like this that would indicate that kannel is receiving DLR messages in the bearer-access.log: 2005-05-03 00:02:15 DLR SMS [SMSC:smsc1] [SVC:smsc1] [ACT:] [BINF:] [from:12345] [to:1551212] [flags:-1:-1:-1:-1:4] [msg:103:id:703041200 sub:001 dlvrd:001 submit date:0505030502 done date:0505030502 stat:ACKED err:003 text: ] [udh:0:] That's a nice DLR SMS. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ------- --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: Question about DLR
DLR = 31 means you'll get all the delivery receipts. Here's the process: You hand kannel an sms via sendsms -- now kannel has the message. Kannel gives the sms to the SMSC successfully (8) or fails (16) -- You get a DLR from KANNEL for this success or failure. All other DLRs come as a specially formatted SMS to kannel which kannel recognizes as a DLR sms and calls your dlr-url. If your SMSC does not hand back Delivery Receipts for sms messages, this is why you never see dlr-url called again. In kannel you would see messages like this that would indicate that kannel is receiving DLR messages in the bearer-access.log: 2005-05-03 00:02:15 DLR SMS [SMSC:smsc1] [SVC:smsc1] [ACT:] [BINF:] [from:12345] [to:1551212] [flags:-1:-1:-1:-1:4] [msg:103:id:703041200 sub:001 dlvrd:001 submit date:0505030502 done date:0505030502 stat:ACKED err:003 text: ] [udh:0:] That's a nice DLR SMS. Beckman On Wed, 9 Nov 2005, Andi Taslim wrote: Dear Mr. Tjatur, I'm still struggling to have the DLR working on my Kannel gateway. Basically I could see the DLR entry on the database that I've specified. I set the dlr-mask=31 but the url that I've specified only got called once, that is when the sms got submitted to the SMSC (status=8). Other than that, the dlr-url never gets called again, even after the SMS is delivered successfully to the recipient. The DLR entry on the database still has status=0 and I've verified that the dlr-url never gets called again. If it's true that Kannel uses the timestamp as one of its variable to identify a unique SMS to be updated, then I suspect that it might have something to do with the timestamp field. I've followed your suggestion to change the ts to be DATETIME. However, now I don't see the timestamp at all. It becomes: "-00-00 00:00:00" while when I used VARCHAR(40) as per the example from Kannel, I had numbers such as 39, 1347, 1432, etc. I might be wrong though, timestamp might not have anything to do with my problem. Could it also be that the SMSC on the operator side doesn't work correctly? If I want to debug this from Kannel output, where should I start backtracking this issue? Any suggestion and help from anyone here will be greatly appreciated. Thanks much, -Andi ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: Black list functionality
On Tue, 4 Oct 2005, Alejandro Guerrieri wrote: That's the whole point: One of our providers supplied a huge list (about 200K ANIs) of blacklisted mobile numbers. We've loaded the full list using an URL and everything's fine, but we want to notify the blacklisted numbers when they try to use the service, not just discard the messages, and we cannot do that, at least following the user's guide directives. Loading the whole list on our PHP scripts for each and every request would pose a performance penalty we cannot afford. If there's a workaround, patch or alternative way of achieving this, I'm all ears! ;) Put the numbers in your database, and like the other guy said, write a wrapper. Put the numbers in as bigints and index the column for fast lookups. 'course you don't want to load a 200K list every time you send an sms! You could also look at sqlite or bdb as fast options as well; dunno about their performance vs in a table of bigints indexed... Beckman On 10/4/05, Rodrigo Cremaschi <[EMAIL PROTECTED]> wrote: Alejandro is pointing out that black-list within sms-service or smsbox is not behaving as expected. The directive is ignored. If this is so, it's a bug. Anyway, black-list directive cannot be used to send any reply to the black-listed mobile numbers. I think the following sentence (from the user guide, just above Table 6-8) may lead to some confusion: Service group black-list has a special meaning: if the incoming message is in service's black-list, this service is used to reply to user. If unset, message will be discarded. On 10/4/05, Rene Kluwen <[EMAIL PROTECTED]> wrote: I never use blacklists myself. But isn't this expected behaviour?? I think if you need black-lists working ASAP your best best is to wrap a simple test around your script that sends messages. Rene Kluwen Chimit -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Alejandro Guerrieri Sent: dinsdag 4 oktober 2005 13:45 To: users@kannel.org Subject: Fwd: Black list functionality Guys, Anyone have a hint about this? Is there any additional info I should post to get some help? Is this a known bug, shall I post it to the devel list instead? I need to have the black-list working asap, please I need help. Thank you in advance, Alejandro -- Forwarded message -- From: Alejandro Guerrieri <[EMAIL PROTECTED]> Date: Oct 3, 2005 5:02 PM Subject: Black list functionality To: "users@kannel.org" Dear List, I'm trying to use the black-list functionality for Kannel, but I'm having some problemas: 1. If I use the black-list directive on the core group, it works as expected (I mean: it REJECTS messages) but I cannot use the black-list group to send a custom message to the rejected addressess. 2. If I use the black-list directive on the sms-service or smsbox group, it just gets ignored and the messages pass as if there's not black-list directive. My kannel.conf "highlights": group = core admin-port = 13010 smsbox-port = 13011 wapbox-port = 13012 wdp-interface-name = "*" admin-password = 12345 status-password = 54321 dlr-storage = internal admin-allow-ip = "127.0.0.1;" box-deny-ip = "*.*.*.*" box-allow-ip = "127.0.0.1;" access-log = "/var/log/kannel/access.log" log-file = "/var/log/kannel/kannel.log" log-level = 2 store-file = "/home/kannel/kannel.store" #If I put the black-list here it DISCARDS messages but no notification is being sent to the client #black-list = http://my.url.com/bl/blacklist.txt ... group = sqlbox id = mydlr smsbox-id = sqlbox bearerbox-host = "127.0.0.1" smsbox-port = 13015 smsbox-port-ssl = false sql-log-table = sent_sms sql-insert-table = send_sms log-file = "/var/log/kannel/sqlbox.log" log-level = 2 ... group = smsbox bearerbox-host = localhost sendsms-port = 13013 log-file = "/var/log/kannel/smsbox.log" access-log = "/var/log/kannel/access.log" log-level = 2 http-request-retry = 5 #If I put the black-list directive here it gets ignored #black-list = http://my.url.com/bl/blacklist.txt ... group = sms-service keyword = default post-url = "http://my.url.com/inbound.php?from=%p&to=%P&msg=lm%20%a&date=%t&smsc=%i"; accepted-smsc = "smsc1;smsc2;" #If I put the black-list directive here it gets ignored #black-list = http://my.url.com/bl/blacklist.txt max-messages = 0 group = sms-service keyword = black-list text = "You are denied, go away!" accepted-smsc = "smsc1;smsc2;" max-messages = 1 BTW, I'm using Kannel 1.4.0 patched with SQLBox on CentOS 3.3. Thank you in advance, -- Alejandro Guerrieri Magicom http://www.magicom-bcn.net/ -- Alejandro Guerrieri Magicom http://www.magicom-bcn.net/ -- Alejandro Guerrieri Magicom http://www.magicom-bcn.net/ --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Off Topic Query Re Kannel Mailing List Information Security
mation security management. I apologise for this message but this subject is of extreme concern to myself and needs to be clearly and specifically addressed. Regards, Ben. -- B.D. Minton +61 234 144 234 Brisbane, QLD, AU Internet/WAP Geek open source, open standards, open web - ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Problem with $ and @ signs, amongst others
On Thu, 15 Sep 2005, Rob Kaper wrote: Hello, we're using Kannel 1.4.0 and are experiencing a problem with certain characters. One problem is that the @ sign doesn't correctly work when sending SMS messages. The access logs display the sign correctly, but the PDU dump shows character value 0. The $ sign has similar problems, in this case the PDU dump shows character value 30. Both are shown as a dot next to the binary dump. Has anyone had similar experiences? I've tried escaping these characters (\$ or $$, et cetera) but to no success, and I can't really find anything on-line (most search engines don't even allow searching for @, $ and the likes) whether this is a specific setting or configuration. Find out what character set your remote SMSC is expecting, then force your character set to that in your smsbox config. alt-charset=ISO-8859-1 (where ISO-8859-1 is the charset your SMSC is expecting. Could be UTF-8, UCS2, etc. I believe Kannel defaults to either UCS2 or ISO-8859-1, and if you are in the Netherlands, I could assume it would be UTF-8...) Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: Push-To-Talk (PTT) / PTT-over-Cellular (PoC)
Sprint (US), which recently purchased Nextel (which now will become Sprint Nextel, oh what genius came up with that name?), also provides a PTT function. The Sanyo 4920 includes this feature. I don't believe it took off as well as Nextel's service, but Sprint does provide it on some handsets. Not iDen based. I don't believe they market it heavily, but they do offer it as a service. I wonder if it is possible to do a voice-recognition application via PTT... probably not via kannel... Beckman On Wed, 31 Aug 2005 [EMAIL PROTECTED] wrote: The only vendor I know of who has profitably went with any type of PTT function is the US company NexTel with a motorola iDen service. There was an attempt by Verizon to market a similar product (I believe it was also iDen technology, but could be mistaken) but network provisioning was half-hearted and had lags that literally ranged to minutes for a message to be received. For something marketed as "Walkie-talkie", quite disastrous to sales and client retention. The Verizon package died a quick and horrible death leaving only NexTel as a vendor providing such a service (I've heard some rumors of Sprint toying with it, but since acquisition...) Of course the iDen standard is a bit different than the standard proposed by OMA. I DO know that I saved quite a bit using iDEN PTT comms at work and at home due to the flat rate, but the plans were substantially higher as there is no competition. In the US there is little incentive to substantially increase the levels of service to what is fairly standard elsewhere in the world. Vendors lock their phones to only be capable of operating on THEIR network, even if their competitor uses the same equipment, services are primitive compared to anything available on the Pacific rim and Europe, indeed primitive compared even to the middle east! That's what "one stop shopping" and "off the rack" purchasing does for you. ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] post-url in sms-service group
$sender = urlencode($_POST['sender']); On Sun, 7 Aug 2005, vampire janus wrote: hi! how do you send parameters in a post-url string? if in get, something like this would work get-url=http://localhost/test.php?sender=%p then inside the php script, $sender = $_GET["sender"]; so why won't a configuration like this post-url=http://localhost/test.php?sender=%p then doing $sender = $_POST["sender"] won't store the correct value? or maybe the post-url string is incorrect? thanks for all help! __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Send file over SMS
On Fri, 29 Jul 2005, Ricky Wibowo wrote: I wonder to know how to send a file (.jar , .mid, etc) into handphone using SMS? SMS is capable of sending binary and plain-text content to handsets. Binary content would be like monophonic ringtones (RTTTF) and WAP Push messages. Plain text is just that -- plain text. It could include a URL. WAP can be served by Apache without modification. Many folks use PHP or Perl to write a script that sends the WAP header so the phone knows to expect WAP instead of the default HTML. All larger (i.e. 1Kb+) binary files, .mid, .jar, .mmf, etc are delivered via the Internet. You can use WAP, though some phones can use HTML. There is a great PHP library to handle this called HawHaw. Google it. In order to deliver large binary files, you must be running a web server that contains the content. An SMS is sent to the handset (either a binary wap push, which contains a message + a URL and almost forces a phone to go to that URL, or a plain text SMS with the URL as part of the text) with the URL reference to the content you want to send them. Please note that WAP Push IS NOT supported by every carrier. Some support it, some do it differently, some don't do it. WAP Push is not guaranteed to work, while plain text almost always does. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] SMSC DLR Takes long time to arrive
On Fri, 29 Jul 2005, enzo labrador wrote: Is it normal that the dlr that came from smsc takes quite long to deliver back to kannel?I was thinking the DLR should be returned a couple of seconds after it was sent. I'm getting DLR of type 1 and sometime type 2. Is it an indication that the dlr came from smsc and not from kannel? Here's the process, as I understand it. sendSMS --> You (kannel) --> SMSC --> Carrier --> Handset "Sent." 16|8 4 2|1 DLR's occur upon every --> except the first, which is the http submit to kannel in the first place. Where do they come from? DLR ==16 Kannel --> DLR-URL DLR == 8 Kannel --> DLR-URL DLR == 4 SMSC --> Kannel --> DLR-URL DLR == 2 Carrier --> SMSC --> Kannel --> DLR-URL DLR == 1 Carrier --> SMSC --> Kannel --> DLR-URL At 16 & 8, Kannel gets a response from the SMSC upon the sm_submit. Either they accept (8) or reject (16). At 4, The SMSC submits the SMS to the Carrier, and the carrier either accepts (4) or rejects (??? I believe 2, but I don't know... it may be 16). At 2 and 1, the Carrier submits the message to the phone, and either the phone is available on the network and is sent (1), or it is not available (or the phone rejects it, or many other things) and you get a (2). Sometimes the handset will go off-network, and your SMS will get stuck at DLR == 4... then the handset comes back 3 hours/3 days later, and voila, you get an update to your message of DLR == 1. Sometimes the carrier will immediately accept then fail the message when the handset is roaming, and sometimes it will accept and hold until either it gets delivered, or fails. Sometimes the carrier doesn't tell you, because they don't know. Sometimes the carrier holds the message, but then expires them and doesn't tell you it failed. Sometimes the SMSC doesn't pass along messages from the carrier back to you. How's that? It's VERY inconsistent, especially carrier to carrier, but even within a carrier sometimes. Fun, eh? Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] RE: Out of Memory
The idea -- Kannel stores all DLR URLs in memory. It doesn't clean them out very well nor intelligently. If you leave bearerbox running long enough, it may never shed it's in-memory store of the DLR URLs, and thus eat up all your memory. This is different than the store-file, which stores messages, not DLRs. You could move DLRs into a DB such as MySQL. Read up the documentation on how to do that. It's a bit of a pain, so read the mailing list archives to find out how people got mysql compiled in properly and the hacks they used on some non-Linux-RPM mysql installs. I do not know if there is a flag to set for the BB that will clear out any DLR messages not requested after 24 hours... or some amount of time. That'd be nice... so maybe it already exists. Beckman On Tue, 26 Jul 2005, Alejandro J. Ramirez wrote: Thanx all.. This is mi top output concerning swap space 13:18:28 up 1 day, 21:30, 3 users, load average: 0.01, 0.03, 0.00 60 processes: 58 sleeping, 2 running, 0 zombie, 0 stopped CPU states: 0.0% user 0.8% system 0.0% nice 0.0% iowait 99.2% idle Mem: 1030892k av, 675004k used, 355888k free, 0k shrd, 78452k buff 359980k actv, 129764k in_d,6740k in_c Swap: 522104k av, 0k used, 522104k free 458496k cached I think its quite alright.. As for the memory consuming processes.. This are the only ones worth mentioning root 19021 0.1 0.3 327656 3972 ? S12:45 0:02 /home/alex/gateway-1.4.0/gw/bearerbox -d /home/alex/gateway-1.4 .0/gw/smskannel.conf root 19062 0.0 0.2 39124 2716 ?S12:45 0:00 /home/alex/gateway-1.4.0/gw/sqlbox -d /home/alex/gateway-1.4.0/ gw/smskannel.conf root 19072 0.0 0.3 80704 3416 ?S12:45 0:01 /home/alex/gateway-1.4.0/gw/smsbox -d /home/alex/gateway-1.4.0/ gw/smskannel.conf apache 19123 0.1 0.8 18464 8780 ?S12:57 0:02 /usr/sbin/httpd apache 19131 0.1 0.8 18472 8792 ?S13:05 0:01 /usr/sbin/httpd mysql 1912 0.6 1.1 15804 11432 ? SJul24 17:36 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking Im running this on a typical Redhat 9.0 installation. I've installed from sources. I've had this happen to me prior to the sqlbox installation. I upgraded to 1 Gb memory and it was quite for sometime.. But now it wants MORE? Do you think it might be wise to maybe install the smsbox on some other server?? Or the the sqlbox maybe? Can this even be done? Ideas welcome, Cheers, Alejandro -Mensaje original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Alejandro Guerrieri Enviado el: Martes, 26 de Julio de 2005 11:31 a.m. Para: users@kannel.org Asunto: Re: Out of Memory I don't think it's bearerbox's fault. It would involve major memory leaks and I don't think that's the case. It looks like you are not short of memory (360Mb out of 1 Gb is more than enough). Maybe you don't have swap space enabled? Please run "top" again and look for the a line like this: Swap: 1052248k av,3512k used, 1048736k free 304424k cached If it's not there or it shows 0k size, it's not activated or at least not working as expected. In that case, when you approach your memory limit, you'll start to experience problems. If swap is ok, then the problem should be elsewere, start with "ps auxw | more" and try to look who's eating all thos megabytes of RAM. Hope it helps, On 7/26/05, Alejandro J. Ramirez <[EMAIL PROTECTED]> wrote: Hello All!! This has happened to me quite a few times now: From message log: Jul 24 04:54:38 movil kernel: Out of Memory: Killed process 6186 (bearerbox). After this the whole system hangs, you cannot telnet SSH or even use the console. Only hard reboot works. Top command shows this normally: CPU states: 0.3% user 0.3% system 0.0% nice 0.0% iowait 99.2% idle Mem: 1030892k av, 662820k used, 368072k free, 0k shrd, 77780k buff 357484k actv, 121260k in_d,8232k in_c I have the feeling that his happens after the bearerbox,sqlbox,smsbox have being running for too long without a reset. What do you guys think? Should I have something in my crontab to reset this services on a daily basis?? Has anyone ran into this kind of problem before?? Thank you!! Alejandro -- Alejandro Guerrieri Magicom http://www.magicom-bcn.net/ --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Optional Parameters: TLV 0x1402
The mblox patches will. I Don't have them though. They only patch 1.3.2. Hmmm -- How many times have people asked for being able to get specific offsets in a PDU with the SMSC driver... hmmm? (I guess I could write it... but would it even get into the core code?) Beckman On Fri, 22 Jul 2005, David wrote: I am desperate here! Does anybody know how to parse the optional parameters from SMPP? I need to get the Carrier ID (TLV 0x1402). Are there ANY patches out there that will allow me to do this? MANY THANKS David Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] dlr status = 8 on delivered SMS ???
On Thu, 21 Jul 2005, aleksandar ivanovski wrote: This is new for me.(I guess this is kannel response not the SMSCs') How do I find out the originator of the delivery report? Just look at the %a (response). If it looks like: ACK/ or NACK/69/... it's from kannel. If it looks like id:283308380 sub:001 dlvrd:001 submit date:0501250428 done date:0501250428 stat:ACKED err:003 text: . it's from the SMSC. How would you comment that dlr-mask < 16 does not even trigger the DLR? I was receiving 16s when the number does not exist or similar... 16 == SMSC Rejected, response would be NACK/##/SOMETEXT 8 == SMSC Accepted, response would be ACK/ 4 == Carrier Accepted 2 == Handset Rejected/Failed 1 == Handset Delivered Beckman Peter Beckman wrote: Remember that Kannel itself generates the DLR for 8 (submitted successfully to SMSC), NOT the SMSC itself. The SMSC will generally send you DLR of 4, 2 and 1; Kannel generates DLRs for 8 and 16 (failed submit to SMSC). The DLR reports themselves also look different. Beckman On Thu, 21 Jul 2005, aleksandar ivanovski wrote: Hi all, A problem suddenly raised from nowhere :-( The dlr reporting works it is just that it always sends value %d=8. One other thing that i noticed is that the dlr is triggered only if I set dlr-mask=31. I don't remember that I have changed something in the conf file and I was able to receive 1s when the message was delivered. Any Idea what may be the cause of this problem. Have one more small problem: although I have read a lot on this forum, I was not able to realize how to track msg except with the phone# which is not always suitable. I cannot make it work with the uniqueID that I send in the sendsms URL. i.e. I cannot retrieve it back. thank you all Alex ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ --- ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] dlr status = 8 on delivered SMS ???
Remember that Kannel itself generates the DLR for 8 (submitted successfully to SMSC), NOT the SMSC itself. The SMSC will generally send you DLR of 4, 2 and 1; Kannel generates DLRs for 8 and 16 (failed submit to SMSC). The DLR reports themselves also look different. Beckman On Thu, 21 Jul 2005, aleksandar ivanovski wrote: Hi all, A problem suddenly raised from nowhere :-( The dlr reporting works it is just that it always sends value %d=8. One other thing that i noticed is that the dlr is triggered only if I set dlr-mask=31. I don't remember that I have changed something in the conf file and I was able to receive 1s when the message was delivered. Any Idea what may be the cause of this problem. Have one more small problem: although I have read a lot on this forum, I was not able to realize how to track msg except with the phone# which is not always suitable. I cannot make it work with the uniqueID that I send in the sendsms URL. i.e. I cannot retrieve it back. thank you all Alex --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Phone/device capabilities
On Thu, 7 Jul 2005, Ed Wiseman wrote: Peter, is it possible to send a WAP "link" via SMS so that you could then direct the mobile to some sort of WAP content? Yes -- though it depends on carrier and phone how the phone handles it. We currently send a URL to a wap page in an SMS, and let the user figure out (a) if their phone supports Internet connectivity, (b) if they have the Internet connectivity enabled via their service provider (ie paying $5-$15/month for it), and (c) how to get the URL into their phone's web browser. (ie Hi there! Go here: http://host.com/wap.wml ok Bye!) It works maybe 20% of the time, mostly because users aren't well educated on how it all works. There is also WAP push, but this is supported only on a subset of US carriers, some not at all, and some in a different-than-SMPP-standard of WAP push... WAP push basically sends a specially crafted SMS message + URL to the phone, and with one click you go right to the WAP page. Not all phones support WAP push either. And no, I don't have a compatibility list! :-) Wish I did... Beckman - Original Message - From: "Peter Beckman" <[EMAIL PROTECTED]> Via SMS? No. Via WAP? Yes. On Wed, 6 Jul 2005 [EMAIL PROTECTED] wrote: I new to the list so please go easy on me. :-) Is there a way to determine the capabilities of a mobile phone through SMS from a MO message? For example, can one determine if the phone supports MMS. ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Phone/device capabilities
Via SMS? No. Via WAP? Yes. On Wed, 6 Jul 2005 [EMAIL PROTECTED] wrote: Hi, I new to the list so please go easy on me. :-) Is there a way to determine the capabilities of a mobile phone through SMS from a MO message? For example, can one determine if the phone supports MMS. Thanks in advance. Ed --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] connected to mblox but no receiving sms (MO)
Transciever vs receiver and transmit ports maybe? On Thu, 9 Jun 2005, P K Kaushik wrote: Hi, I am successfully connected to mblox after patch, and able to send sms to mobile phone. But I am unable to receive sms from mblox. Can anyone please help me, what canbe the reason ? Thanks & Regards Pramod http://www.innovativesoftwares.com http://www.innovative-games.com --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: cpu load 99% by bearerbox
I'm running 1.3.2 on Redhat Enterprise 3 with no problems. On Wed, 25 May 2005, Stephane Rosa wrote: I just compiled the same sources on a dual-cpu Sun server and the behavior is exactly the same as on RedHat 9 (SE). How come is this happening ? Are we the only one experiencing this ?? Stephane -- Stephane Rosa IT Security & Network Specialist, EMEA Tel: +41 21 966-1238 Cell: +41 79 616-0828 Stryker EMEA Grand Rue 92 CH-1820 Montreux http://www.europe.stryker.com Stephane Rosa <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 25-05-05 11:34 To Julien Buratto <[EMAIL PROTECTED]> cc users@kannel.org Subject Re: cpu load 99% by bearerbox Fiddling with gdb, I found out that the high cpu load is caused by the call to gwthread_sleep(10.0); at line 605 of bearerbox.c. Tracing further, gwthread_sleep calls poll(), with a timeout of 10 seconds. When I step that line, gdb hangs for the entire 10 seconds and the cpu raises straight to 99%. poll() is supposed to sleep until something happend on an fd, I have no idea why this happens. Those two pieces of code seem not to have changed since 2003, so I'm surprised we are not all of us seeing the same issue. I will compile and run it on Solaris to see if it makes any difference. Maybe poll() behaves differently on RedHat SE. Cheers Stephane -- Stephane Rosa IT Security & Network Specialist, EMEA Tel: +41 21 966-1238 Cell: +41 79 616-0828 Stryker EMEA Grand Rue 92 CH-1820 Montreux http://www.europe.stryker.com Julien Buratto <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 24-05-05 17:49 To Stephane Rosa <[EMAIL PROTECTED]> cc users@kannel.org Subject Re: cpu load 99% by bearerbox Stephane Rosa wrote: Thanks Julien, I did that already and the gdb thing reveals a backtrace on gwthread_sleep like you were experiencing I guess. May I ask how you solved your problem ? Thanks Make this laught: I havent' :) I'm still using 1.4.0 because CVS goes into cpu overload so I've decided to manually patch the 1.4.0 and apply there my own code. J ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] RE: DLR Messages
On Wed, 20 Apr 2005, Nick Branson wrote: Thanks for your help. I'm already setting the number base that the SMSC is using (msg-id-type = 0x01). Not sure if I was clear enough in my original post. I'm receiving delivery reports. however, it would seem that I'm not receiving all of them. I discovered this when following up a query with MBlox. Anyone experiencing the same problem or got any other ideas? Well, you are not being entirely clear yet... Not all carriers provide to-the-handset delivery reports. What carriers and how detailed are the DLR reports? Do you get an 8 from kannel? a 4 from mblox? a 2 or a 1 from the carrier? Where does the DLR reports end? Are you SURE it's not your application that does the updating when you receive the DLR? Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] DLR Messages
On Tue, 19 Apr 2005, Nick Branson wrote: Hey guys, Having a problem with DLR messages. I'm currently using MBlox to send and receive SMS messages. Now, it would seem that Kannel is not receiving all DLR messages passed back by MBlox. MBlox have reassured me on more than one occasion that they are sending all DLR messages and that my system is responding to the messages. Problem is there is no sign of these reports. Anybody got any ideas? Thanks in advance for your help. Kind regards, Nick Add this to your conf for mblox: msg-id-type = 0x01 Then go read kannel documentation on msg-id-type and figure out why you need it. :-) Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Receiving MBlox operator code
Looks right. Look in your bearerbox.log for this: 2005-04-18 01:00:18 [20764] [15] DEBUG: Optional parameter tag (0x1402) 2005-04-18 01:00:18 [20764] [15] DEBUG: Optional parameter length read as 5 2005-04-18 01:00:18 [20764] [15] DEBUG: SMPP[x]: Got PDU: 2005-04-18 01:00:18 [20764] [15] DEBUG: SMPP PDU 0xae204d88 dump: 2005-04-18 01:00:18 [20764] [15] DEBUG: type_name: deliver_sm 2005-04-18 01:00:18 [20764] [15] DEBUG: command_id: 5 = 0x0005 2005-04-18 01:00:18 [20764] [15] DEBUG: command_status: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: sequence_number: 231 = 0x00e7 2005-04-18 01:00:18 [20764] [15] DEBUG: service_type: "1060" 2005-04-18 01:00:18 [20764] [15] DEBUG: source_addr_ton: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: source_addr_npi: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: source_addr: "xx" 2005-04-18 01:00:18 [20764] [15] DEBUG: dest_addr_ton: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: dest_addr_npi: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: destination_addr: "x" 2005-04-18 01:00:18 [20764] [15] DEBUG: esm_class: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: protocol_id: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: priority_flag: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: schedule_delivery_time: NULL 2005-04-18 01:00:18 [20764] [15] DEBUG: validity_period: NULL 2005-04-18 01:00:18 [20764] [15] DEBUG: registered_delivery: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: replace_if_present_flag: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: data_coding: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: sm_default_msg_id: 0 = 0x 2005-04-18 01:00:18 [20764] [15] DEBUG: sm_length: 3 = 0x0003 2005-04-18 01:00:18 [20764] [15] DEBUG: short_message: "xxx" 2005-04-18 01:00:18 [20764] [15] DEBUG: mblox_operator: "31004" 2005-04-18 01:00:18 [20764] [15] DEBUG: SMPP PDU dump ends. If you don't, then your patches didn't work. If you do, then your get-url isn't getting called, or that line-wrap you've got is messing things up. Also, make sure the patches you got were for the right version of kannel... Beckman On Mon, 18 Apr 2005, Derek Barber wrote: Hello, I've successfully configured kannel to work with Mblox and I can send and receive SMS messages successfully. However, I've run into a problem with receiving the operator code from the incoming SMS messages. Mblox has configured our account to work with over 5 different operators, each one with a 5 digit code. In order to successfully reply to an incoming SMS message I need to get the operator code from the incoming message and set that as the operator in the outgoing message. I have set up an sms-service group to handle all incoming SMS messages and I am trying to get kannel to pass the operator code to the script as a GET variable. It is my understanding from the MBlox kannel patch that %o should contain the operator code. Here is the relevant portion of my kannel config: group = sms-service keyword = default get-url = "http://abcd.pl?raw=%a&sender=%p&operator=%o&billing=% O&service_name=%n&billing_info=%B" max-messages = 3 concatenation = true Does any know if I am missing something here, or if I am able to get the operator code in this way? Or does anyone know a better way to do it? Many thanks, Derek --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Re: dlr mysql entries
You need to urlencode your dlr-url. That will change all of the & to %65 or something (can't remember what) so the sendsms script doesn't try and take &slid=8 as a parameter to itself. see http://php.net/urlencode Beckman On Mon, 18 Apr 2005, Anand Gupta wrote: Dear Naren, I have been following this thread (regarding DLR) for a while. I just want to know if i can get a sample script for handling the DLRs (the one u have mentioned above). I have started using kannel recently, i would be very much grateful if get this favour. From ur discussion i gained a good knowlege of that a DLR actually is and for what it is used. When calling sendsms, use the dlr-url to call any php/asp/perl/cf (basically any language you use to code) with the escape codes mentioned in the kannel docs (http://www.kannel.org/download/1.4.0/userguide-1.4.0/userguide.html, Table 6-9. Parameters). You can pass all those escape codes to the script, make the script send you a mail with the values of those parameters. Send a sms using the sendsms and call the script using dlr-url, see the response from the script and you will understand which all escape code is returning what values. Example: lynx --dump "http://127.0.0.1:13013/cgi-bin/sendsms?username=foo&password=bar&to=NUMBER&text=hello&from=anand&dlr-mask=31&dlr-url=http://x.x.x.x/dlr.php?type=%d&slid=8&k=%k&s=%s&s1=%S&r=%r&a=%a&b=%b&t=%t&t1=%T&p=%p&p1=%P&q=%q&q1=%Q&i=%i&i1=%I&a1=%A&n=%n&c=%c&c1=%C&u=%u&b1=%B&o=%o&mclass=1"; I just typed all the escape codes in the above link (please do check before using it as it is). Hope it helps. -- regards, Anand -- K Naren,MeTel Team. http://www.midascomm.com/ --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Re: dlr mysql entries
On Fri, 15 Apr 2005, Anand Gupta wrote: Thx for the nice explanation. I was trying to out ways to get to the ts field ;) If you recall my earlier message in which i mentioned about the script which is called in using dlr-url to check for the unique id in kannel table to get to the ts field ? There is one problem to it, if the message is delivered before my script gets to it then the script has no way to get the ts field hence i was trying to get something on that. Getting another insert was basically to get those values in another table for the same work and then remove them at leisure, says once a day or something. If you are having the problem of entries in your store being deleted, then you are probably recieving the message_id from the smsc in DLR reports. Look through your bearerbox.log (whatever has the most data) and look for a message that starts with " id:" -- these are delivery receipt messages, specialized SMS messages with delivery info. Here's what I do: Step 1. Put the contents of the message into a table. ie. phone number, message. This table has an auto-incrementing id. It also has a field for "dlr" which is a small int, defaults to 0. Step 2. I get the unique ID that the DB has given me for that row. THAT is my internal message ID. For example, this is ID 42. Step 3. I select the info from the DB for that row/ID, generate a DLR URL with one line that has this info in it: http://host/dlr.cgi?foo=%t&mysmsid=42&bar=%i Step 4. When my dlr.cgi is called, I see that the message referenced is #42. I go back to my DB, update that row with the type of message, as well as any other information. Step 5. Add ALL the %x escape codes you can and have your script email you the output when a DLR report is called so you can see what information is available to you when the DLR report is done. Try that out. Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: dlr mysql entries
On Fri, 15 Apr 2005, Anand Gupta wrote: is it possible (it should be actually for a kannel hacker) that when the mysql inserts are made, a second insert is made in another db which will probably be a clone of the dlr db of kannel except certain parameters will be kept in for further use ? I guess i should start looking for some kannel hacker or someone who could help in changing code inside ./gw/dlr_mysql.c where all this happens. Anyone ? The DLR store, either internal or mysql, is not intended for your use, only for kannel. The purpose is to keep an entry in the store until the message is either reported as successfully delivered OR absolutely failed (I believe). Once they are delivered or failed, the need for the entry in the store is no longer needed (no more calls to the DLR URL will occur, etc). The DLR URL has a purpose -- to give you as much information about the delivery of a message to a script you write. That script can do all sorts of things, like make an entry in a DB table that is a clone of the Kannel MYSQL Store table. That's why the script you write to handle DLRs is so important, IF you want to keep that information. So make your dlr url a script, and write it to do what you asked. I highly doubt the kannel code will ever do this natively, because it isn't really a core function of kannel, it's just a feature which can be implemented by you. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Re: Link DLR - SMS
On Fri, 15 Apr 2005, Anand Gupta wrote: What most people do in this situation is use a database to store information about a message with a unique ID (primary key, auto incremented). This way when they send the message to kannel with a DLR URL, they can include this in the DLR URL, ie: insert into log values (NULL, 2125551212, now(), "this is a test message"); get the insert_id dlr url: http://host/dlr.cgi?id=1234&t=%t&u=%u&i=%i This way your URL already has your internal tracking ID associated with it, so when it is called you can do whatever you need. I understand inside kannel.conf when mysql is defined as the storage area for dlr, they are all stored there. But how does one issue the insert like you mention above ? Is it inside the dlr.cgi we do this ? Instead of using dlr-url in the config file, use it per message. It can be passed as a parameter to sendsms -- Thx and regards, Anand On Fri, 15 Apr 2005, Julien Buratto wrote: Or is there a ready-to-use solution in Kannel that would permit to make a link between a sent SMS and the reception of a delivery report? And how should I proceed? Is there anyone who still resolved this problem? Did u set the DLR-URL ? In the URL you can include any id you want. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ --- ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: Link DLR - SMS
On Fri, 15 Apr 2005, Julien Buratto wrote: Or is there a ready-to-use solution in Kannel that would permit to make a link between a sent SMS and the reception of a delivery report? And how should I proceed? Is there anyone who still resolved this problem? Did u set the DLR-URL ? In the URL you can include any id you want. What most people do in this situation is use a database to store information about a message with a unique ID (primary key, auto incremented). This way when they send the message to kannel with a DLR URL, they can include this in the DLR URL, ie: insert into log values (NULL, 2125551212, now(), "this is a test message"); get the insert_id dlr url: http://host/dlr.cgi?id=1234&t=%t&u=%u&i=%i This way your URL already has your internal tracking ID associated with it, so when it is called you can do whatever you need. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Re: [Kannel-Users] Re: [Kannel-Users] logs
On Thu, 14 Apr 2005, Anand Gupta wrote: May i ask if you are a kannel code hacker as well, since you know so much on kannel ? I see the message_id feature is required by other users as well however no one seems to have gotten to it. I was kind of interested to explore the possibility of getting it done and then perhaps submit it to kannel development team for review. This way who so ever wants the feature will benefit from this. I am not, yet. I may need to become one to get this implemented, though there are many in the devel list that are more talented and better versed in the inner workings than I. There is a bit of a developer dispute on how to pass the message_id. Some feel that implementing the ts variable with the message_id will make the kannel code impure, since the ts variable is really for a timestamp, not an arbitrary message id. Evaluating the DLR URL at the time of storing the DLR for the message to replace an escape code with the message id has been poo-pooed as well as a hack. Adding a new variable that would not replace but be in addition to the ts variable has been suggested but sneered at since the bearerbox knows the message ID but the smsbox is responsible for calling the DLR url. The great thing about open source is that you can fuss with it yourself to make it work. The bad thing about open source is that when the core developers see a way around a problem (i.e. the DLR report from your SMSC give you the message ID without code modifications, so why modify the code that works just fine for both SMSC and direct phone connections), they don't regard the problem as highly. And usually the core developers are the heaviest users of their own code, and they haven't found a need to store the message ID (it seems, I'm presuming a lot here), so it hasn't been a priority. I wonder if cash thrown at the developers would maybe get a few arbitrary features put into kannel, done "the right way"... Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Re: [Kannel-Users] logs
On Thu, 14 Apr 2005, Anand Gupta wrote: I greped through the files and after log level was changed to 0 from then onwards i can see all the logs inside those files. Thx. So it's working now? Cool. One more question, bearerbox and smsbox print everything on the screen, any ways to avoid it ? so i can send both bearerbox and smsbox in background and just exit ssh. add "-v 5" to the command line -- sets the stdout loglevel to the highest, so you see nothing (or almost nothing). Anand -- Please make use of the documentation. While I and others on the list don't mind answering questions, it does get annoying when people ask questions before reading the manual or searching the mailing lists. Many of your questions are found in the documentation and the mailing lists. Search "Command Line" in the documentation here: http://kannel.org/download/1.4.0/userguide-1.4.0/userguide.html to learn more about command line switches. That way when you have a difficult question, people believe that you've already exhausted the existing documentation, and that your question either hasn't been answered or hasn't been asked before. Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] logs
Try these steps: Step 1. Check to see if /var/log/kannel exists Step 2. Check to see if /var/log/kannel/kannel.log is being written to. Step 3. Take out access-log-format and see if that helps. (never used it) Step 4. Check to see if user you are running kannel as can write to kannel.log (did you run it as root the first time, and as yourself later?) Step 5. Is kannel writing to the log file at all? Beckman On Thu, 14 Apr 2005, Anand Gupta wrote: Dear Beckman, You need to specify the log level in your config and/or your command line I have log level set to 0 (debug) for all log files inside kannel.conf. Still when i parse the log files, i don't see the entire messages i see on the screen. I thought i was missing something, hence my question. Here is my kannel.conf group = core admin-port = 1 smsbox-port = 10001 admin-password = x status-password = dlr-storage = mysql #admin-deny-ip = "" #admin-allow-ip = "" log-file = "/var/log/kannel/kannel.log" log-level = 0 #box-deny-ip = "*.*.*.*" #box-allow-ip = "127.0.0.1" #unified-prefix = "+358,00358,0;+,00" access-log = "/var/log/kannel/access.log" sms-incoming-queue-limit = -1 access-log-format = "%t %l [SMSC:%i] [SMS ID:%I] [SVC:%n] [ACT:%A] [BINF:%B] [from:%p] [to:%P] [flags:%m:%c:%M:%C:%d] [msg:%L:%b] [udh:%U:%u] [Delivery Report Value:%d] [SMSC Reply:%A] [SMS User:%n]" store-file = "/var/log/kannel/kannel.store" #ssl-server-cert-file = "cert.pem" #ssl-server-key-file = "key.pem" #ssl-certkey-file = "mycertandprivkeyfile.pem" # SMSC CONNECTIONS group = smsc smsc = smpp smsc-id = smsc1 host = x.x.x.x port = 5000 smsc-username = "user" smsc-password = password system-type = "syste01" address-range = "" keepalive = 10 log-file = "/var/log/kannel/smsc-spice1.log" log-level = 0 reconnect-delay = 10 #enquire-link-interval = 30 # SMSBOX SETUP group = smsbox bearerbox-host = x.x.x.x sendsms-port = 10013 global-sender = 10013 #sendsms-chars = "0123456789 +-" log-file = "/var/log/kannel/smsbox.log" log-level = 0 access-log = "/var/log/kannel/access.log" # SEND-SMS USERS group = sendsms-user username = tester password = foobar #user-deny-ip = "" user-allow-ip = "x.x.x.x" # SERVICES group = sms-service keyword = nop text = "You asked nothing and I did it!" # there should be default always group = sms-service keyword = default #text = "No service specified" get-url = "http://x.x.x.x/geturl.php?t=%t&q=%q&a=%a"; include = "/etc/kannel-dlr-mysql.conf" contents for /etc/kannel-dlr-mysql.conf group = mysql-connection id = mydlr host = localhost mysql-username = usmy mysql-password = usmy database = usmy max-connections = 5 group = dlr-db id = mydlr table = dlr field-smsc = smsc field-timestamp = ts field-destination = destination field-source = source field-service = service field-url = url field-mask = mask field-status = status field-boxc-id = boxc Please advise if i have something missing/wrong in it. Thx again for all the help. -- regards, Anand You need to specify the log level in your config and/or your command line Look at the command line switches and make sure the log level you are using in your config is the most lenient so you see ALL messages, not just the panics or errors. Beckman On Thu, 14 Apr 2005, Anand Gupta wrote: i start the bearerbox and smsbox with the following command gw/bearerbox /etc/kannel.conf gw/smsbox /etc/kannel.conf Both of them are started in different screens. Now both of them show lot of messages etc on the screen, when i looked at the /var/log/kannel log files i don't find those log entries there. I have all the log variables defined in kannel.conf however why does these entries only show up on the screen and no entry is made in any log file ? Whats the best way to start bearerbox and smsbox ? using Screen ? Since this is a remote box i can't let the ssh sessions open always. -- regards, Anand --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ --- --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] logs
You need to specify the log level in your config and/or your command line Look at the command line switches and make sure the log level you are using in your config is the most lenient so you see ALL messages, not just the panics or errors. Beckman On Thu, 14 Apr 2005, Anand Gupta wrote: i start the bearerbox and smsbox with the following command gw/bearerbox /etc/kannel.conf gw/smsbox /etc/kannel.conf Both of them are started in different screens. Now both of them show lot of messages etc on the screen, when i looked at the /var/log/kannel log files i don't find those log entries there. I have all the log variables defined in kannel.conf however why does these entries only show up on the screen and no entry is made in any log file ? Whats the best way to start bearerbox and smsbox ? using Screen ? Since this is a remote box i can't let the ssh sessions open always. -- regards, Anand ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] message id
To reiterate, the ts value is not available for expansion in the dlr URL. It could be, but kannel does not currently implement this. You are welcome to rewrite kannel to do this. Beckman On Thu, 14 Apr 2005, Anand Gupta wrote: My smsc returns unique number always in the ts value. Thats where they have asked me to grab the message id from. -- regards, Anand Also depends on the type of connection you have with your provider/smsc. Using EMI/UCP protocol is know not to have a unique id to any message. Infact if your kannel will send more than one message in a single second, ts will confuse the DLR and the reply is not unique. J Anand Gupta wrote: Thx Beckman for taking time to reply. Well the whole reason for which i want to track the message_id is based on that only. My smsc has the reports available in csv format after 24hrs. Now when the reports come in, how will i know which report is for which message ? There can be multiple sender id, multiple messages to same numbers... This is the reason i was looking for getting the message_id. When kannel sends the message id to mysql db, its strange why it can't send it to the dlr url as well. I thought about a small hack on this, not perfect though. The mysql db stores the dlr-url as well which has a unique sequence number called slid. If inside my url php file i search the db using regex with the slid number (since the same number is available inside the php file also as one of the parameters) and then copy the message id from there. The above is not perfect and nor is efficient for when the messages volume increase, so will the db. I hope someone else on this list has a better solution. --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] message id
On Thu, 14 Apr 2005, Anand Gupta wrote: Thx Beckman for taking time to reply. Well the whole reason for which i want to track the message_id is based on that only. My smsc has the reports available in csv format after 24hrs. Now when the reports come in, how will i know which report is for which message ? There can be multiple sender id, multiple messages to same numbers... This is the reason i was looking for getting the message_id. When kannel sends the message id to mysql db, its strange why it can't send it to the dlr url as well. The sql generated to put the DLR in the DB is generated by a different box than the DLR call itself. I would think that you could have an escape code that was replaced when storing the DLR information, but no, this is not yet built into kannel. The mysql db stores the dlr-url as well which has a unique sequence number called slid. If inside my url php file i search the db using regex with the slid number (since the same number is available inside the php file also as one of the parameters) and then copy the message id from there. The above is not perfect and nor is efficient for when the messages volume increase, so will the db. I hope someone else on this list has a better solution. As far as I know, your proposed solution is really the only option, other than relying on the SMSC to delivery a delivery receipt, which would include your message ID. --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] message id
Sorry, it's a little confusing. There are two types of DLR reports -- the one kannel "fakes" and the one from your SMSC. Once your sms message makes it to the SMSC, kannel generates an ACK/ message and calls your DLR URL with the appropriate information. THIS DLR DOES NOT CONTAIN THE MESSAGE ID YOU SEEK. The "box" that calls the URL does not know what the message_id is. However, when a Delivery Report text message comes in from your smsc... id:GFN1421584 sub:001 dlvrd:001 submit date:0504142010 done date:0504142010 stat:UNDELIV err:PBD text:Thank you for your p Then you have the message ID in the response. You'll have to write a regex or something to grab the ID itself out of the message. Beckman On Thu, 14 Apr 2005, Anand Gupta wrote: I just setup kannel to log DLR to mysql and i see the message id inside it. 2005-04-14 15:14:10 [25810] [7] DEBUG: sql: INSERT INTO dlr (smsc, ts, source, destination, service, url, mask, boxc, status) VALUES ('smsc1', 'GFN2618104', 'gldfs', '+xxx', 'tedfw', 'http://xxx.xxx.xxx/dlr.php?type=%d&slid=56&uid=1&dlr-rep=%A&others=%t%i%I%u%o', '31', '', '0'); Any ideas on what is the variable which stores the ts value ? since its being passed to the mysql db i guess it can also be passed to my http url as well. -- regards, Anand You can't get it, except from the log file, or via DLR. There was a big fight over it a few months back, about protecting the code and not making the code too specific; I don't know if anyone ever made a patch. Beckman On Thu, 14 Apr 2005, Anand Gupta wrote: Here is the response from my smsc while sending a message 2005-04-14 14:16:41 [15081] [7] DEBUG: SMPP[smsc11]: Got PDU: 2005-04-14 14:16:41 [15081] [7] DEBUG: SMPP PDU 0x87a7a18 dump: 2005-04-14 14:16:41 [15081] [7] DEBUG: type_name: submit_sm_resp 2005-04-14 14:16:41 [15081] [7] DEBUG: command_id: 2147483652 = 0x8004 2005-04-14 14:16:41 [15081] [7] DEBUG: command_status: 0 = 0x 2005-04-14 14:16:41 [15081] [7] DEBUG: sequence_number: 5 = 0x0005 2005-04-14 14:16:41 [15081] [7] DEBUG: message_id: "GFN1421584" 2005-04-14 14:16:41 [15081] [7] DEBUG: SMPP PDU dump ends. 2005-04-14 14:16:41 [15081] [7] DEBUG: DLR[internal]: Adding DLR smsc=smsc1, ts=GFN1421584, src=gldf, dst=+x, mask=31, boxc= 2005-04-14 14:16:41 [15081] [7] DEBUG: SMSC[smsc1]: creating DLR message 2005-04-14 14:16:41 [15081] [7] DEBUG: SMSC[smsc1]: DLR = http://xxx.xxx.xxx/dlr.php?type=%d&slid=54&uid=1&dlr-rep=%A&others=%t%i%I%u Now i am trying to get the message_id "GFN1421584" which is being returned in response to the submit_sm_resp. This is the message id i need to track messages from my smsc. What should i use to pass that to the url so i can track it. I see 049ddeb5-64fb-44ec-b0af-3adc094f91d1 as the id inside access.log. I guess this is some internal message id. What i want is the message id from the smsc. Any help would be highly appreciated. -- regards, Anand --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ --- --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] message id
You can't get it, except from the log file, or via DLR. There was a big fight over it a few months back, about protecting the code and not making the code too specific; I don't know if anyone ever made a patch. Beckman On Thu, 14 Apr 2005, Anand Gupta wrote: Here is the response from my smsc while sending a message 2005-04-14 14:16:41 [15081] [7] DEBUG: SMPP[smsc11]: Got PDU: 2005-04-14 14:16:41 [15081] [7] DEBUG: SMPP PDU 0x87a7a18 dump: 2005-04-14 14:16:41 [15081] [7] DEBUG: type_name: submit_sm_resp 2005-04-14 14:16:41 [15081] [7] DEBUG: command_id: 2147483652 = 0x8004 2005-04-14 14:16:41 [15081] [7] DEBUG: command_status: 0 = 0x 2005-04-14 14:16:41 [15081] [7] DEBUG: sequence_number: 5 = 0x0005 2005-04-14 14:16:41 [15081] [7] DEBUG: message_id: "GFN1421584" 2005-04-14 14:16:41 [15081] [7] DEBUG: SMPP PDU dump ends. 2005-04-14 14:16:41 [15081] [7] DEBUG: DLR[internal]: Adding DLR smsc=smsc1, ts=GFN1421584, src=gldf, dst=+x, mask=31, boxc= 2005-04-14 14:16:41 [15081] [7] DEBUG: SMSC[smsc1]: creating DLR message 2005-04-14 14:16:41 [15081] [7] DEBUG: SMSC[smsc1]: DLR = http://xxx.xxx.xxx/dlr.php?type=%d&slid=54&uid=1&dlr-rep=%A&others=%t%i%I%u Now i am trying to get the message_id "GFN1421584" which is being returned in response to the submit_sm_resp. This is the message id i need to track messages from my smsc. What should i use to pass that to the url so i can track it. I see 049ddeb5-64fb-44ec-b0af-3adc094f91d1 as the id inside access.log. I guess this is some internal message id. What i want is the message id from the smsc. Any help would be highly appreciated. -- regards, Anand ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Re: [Kannel-Users] smmp submit_sm error 0x0000015
On Thu, 14 Apr 2005, Kyriacos Sakkas wrote: Its also in the SMPP specification. But kannel flags it as unknown/reserved. Also I have tried setting this parameter to a few other types other than smsc default (NULL), as described in the specifications, and still no joy. I need you to start using some logic. You connect to vodafone you send an sms you get an error, invalid service type in your submit_sm you see this line: 2005-04-14 16:40:26 [9897] [7] DEBUG: service_type: "" You need to find out what to set your service type to in order to send messages to vodafone. Go find out what the service type needs to be set to for vodafone. I don't know what it is. Search google, call vodafone, email vodafone, try some stuff in there, call some more people at vodafone. This is a kannel configuration issue. Peter Beckman wrote: Google: 0x0015 => { code => 'ESME_RINVSERTYP', msg => 'Invalid service type', }, from: http://search.cpan.org/src/SAMPO/Net-SMPP-0.95/SMPP.pm and several other places (searching smpp 0x0015) Try google next time, it's a great tool. It can be found at google.com Beckman On Thu, 14 Apr 2005, Kyriacos Sakkas wrote: I know that the smsc people should be helping me on this, but since they don't seem to know what this might be, I though I'd ask the list for any ides. Kyriacos. Peter Beckman wrote: When you get an error response from the SMSC, you must talk to your smsc about the error. Kannel did everything right here, it is you who sent the submit_sm in either an incorrect format according to vodafone, or they have not configured your account right. Nothing is wrong with Kannel in this instance -- it is probably a configuration problem either with kannel or vodafone, and Vodafone should be your first contact in this case. Beckman On Thu, 14 Apr 2005, Kyriacos Sakkas wrote: Hi all, Need a bit of help, keep getting an error when trying to send and ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ --- -- Kyriacos Sakkas Development Team Netsmart Tel: + 357 22 452565 Fax: + 357 22 452566 Email: [EMAIL PROTECTED] http://www.netsmart.com.cy Taking Business to a New Level! ** Confidentiality Notice: The information contained in this email message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution, or copying of this email message is strictly prohibited. If you think that you have received this email message in error, please email the sender at [EMAIL PROTECTED] ** ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ --- -- Kyriacos Sakkas Development Team Netsmart Tel: + 357 22 452565 Fax: + 357 22 452566 Email: [EMAIL PROTECTED] http://www.netsmart.com.cy Taking Business to a New Level! ** Confidentiality Notice: The information contained in this email message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution, or copying of this email message is strictly prohibited. If you think that you have received this email message in error, please email the sender at [EMAIL PROTECTED] ** ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] smmp submit_sm error 0x0000015
Google: 0x0015 => { code => 'ESME_RINVSERTYP', msg => 'Invalid service type', }, from: http://search.cpan.org/src/SAMPO/Net-SMPP-0.95/SMPP.pm and several other places (searching smpp 0x0015) Try google next time, it's a great tool. It can be found at google.com Beckman On Thu, 14 Apr 2005, Kyriacos Sakkas wrote: I know that the smsc people should be helping me on this, but since they don't seem to know what this might be, I though I'd ask the list for any ides. Kyriacos. Peter Beckman wrote: When you get an error response from the SMSC, you must talk to your smsc about the error. Kannel did everything right here, it is you who sent the submit_sm in either an incorrect format according to vodafone, or they have not configured your account right. Nothing is wrong with Kannel in this instance -- it is probably a configuration problem either with kannel or vodafone, and Vodafone should be your first contact in this case. Beckman On Thu, 14 Apr 2005, Kyriacos Sakkas wrote: Hi all, Need a bit of help, keep getting an error when trying to send and ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ --- -- Kyriacos Sakkas Development Team Netsmart Tel: + 357 22 452565 Fax: + 357 22 452566 Email: [EMAIL PROTECTED] http://www.netsmart.com.cy Taking Business to a New Level! ** Confidentiality Notice: The information contained in this email message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution, or copying of this email message is strictly prohibited. If you think that you have received this email message in error, please email the sender at [EMAIL PROTECTED] ** ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] smmp submit_sm error 0x0000015
DEBUG: command_id: 2147483652 = 0x8004 2005-04-14 16:40:26 [9897] [7] DEBUG: command_status: 21 = 0x0015 2005-04-14 16:40:26 [9897] [7] DEBUG: sequence_number: 5 = 0x0005 2005-04-14 16:40:26 [9897] [7] DEBUG: message_id: NULL 2005-04-14 16:40:26 [9897] [7] DEBUG: SMPP PDU dump ends. 2005-04-14 16:40:26 [9897] [7] ERROR: SMPP[Vodafone]: SMSC returned error code 0x0015 (Unknown/Reserved) in response to submit_sm. 2005-04-14 16:40:26 [9897] [1] DEBUG: Dumping 0 messages and 0 acks to store -- Kyriacos Sakkas Development Team Netsmart Tel: + 357 22 452565 Fax: + 357 22 452566 Email: [EMAIL PROTECTED] http://www.netsmart.com.cy Taking Business to a New Level! ** Confidentiality Notice: The information contained in this email message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution, or copying of this email message is strictly prohibited. If you think that you have received this email message in error, please email the sender at [EMAIL PROTECTED] ** ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Kannel and MBlox
On Mon, 4 Apr 2005, Derek Barber wrote: hi Peter, thanks for the response. The information you sent is definitely helpful. Sorry, I should have been a little clearer in my email. I have gone through all the error codes and have been working with the MBlox support team to try and solve this problem. From my original email below: You have to install mblox specific code. You must set 0x1402 to their carrier IDs in order from mblox to accept messages. Ask mblox about kannel-specific patches to kannel. To be more clearer, kannel must be modified to be able to send and receive the operator code (carrier ID) from mblox. Mblox has provided patches to kannel in the past for this, ask them about it. You must patch your code and recompile. If you installed from a binary, it will never work. You must grab the source, patch it on a linux system (or figure out how to patch on a different system), recompile. That is the only way. Beckman The specific error code I am getting (0x042a) is a routing error for PSMS. According to the MBlox support team this is because I am not sending through the operator ID. What I have been told is that I need to send specific MBlox parameters, specifically tariff and operator ID. Do you have any idea how I can set those when sending an SMS through Kannel to MBlox? Here is my kannel configuration: group = smsc smsc = smpp smsc-id = smsc1 host = "" port = transceiver-mode = true smsc-username = "" smsc-password = "" enquire-link-interval = 30 system-type = "" address-range = "" interface-version = 0x34 my-number = msg-id-type = 0x00 group = sendsms-user username = tester password = foobar default-smsc = smsc1 default-sender = I am just trying to send out SMSs via the /cgi-bin/sendsms script. Does that provide any further information on the problem? Thanks, Derek On Mon, 2005-04-04 at 18:45 -0400, Peter Beckman wrote: First off, read documentation. Mblox specific error codes would quickly identify what this error code is: 2005-04-04 15:28:14 [6] ERROR: SMPP[smsc1]: SMSC returned error code 0x042a in response to submit_sm. You have to install mblox specific code. You must set 0x1402 to their carrier IDs in order from mblox to accept messages. Ask mblox about kannel-specific patches to kannel. This allows me to bring up the issue that kannel doesn't have the facility to add a config line(s) to handle both sending and receiving messages and being able to set and retrieve aggregator/carrier/SMSC specific coding of the PDU. Because it sure would be easier to specify multiple lines like this: pdu_special[1] = 0x1402|5|mblox_carrier and be able to have /cgi-bin/sendsms handle mblox_carrier as a passed variable, and also have the bearerbox/smsbox be able to grab and make available the data passed in the PDU at a specific offset. I'm just sayin. 'course if I had the time and talent, I would write it myself, and since I don't, I can't really gripe too much, since Kannel is world-class to begin with. Beckman PS -- As an aside, mblox carries traffic for a large US ringtone business, and their marketing/promotions pushes can negatively affect your traffic -- delays, outages, downtime, etc. There are also lots of outages, both carrier and mblox related. Make sure you queue on your side, and if mblox (or any aggregator for that matter) drops messages you've already sent to them and they've accepted (but later lose), you can resend. It's a wild ride. On Mon, 4 Apr 2005, Derek Barber wrote: I'm currently working on getting Kannel set up with an MBlox SMPP account. I've been able to get the connection happening, and MBlox has confirmed that my connection is working. However, I am unable to send or receive SMS messages. This is the error message I am getting in the kannel logs after I try an send an SMS: 005-04-04 15:28:11 [6] DEBUG: SMPP PDU 0x80d7950 dump: 2005-04-04 15:28:11 [6] DEBUG: type_name: submit_sm 2005-04-04 15:28:11 [6] DEBUG: command_id: 4 = 0x0004 2005-04-04 15:28:11 [6] DEBUG: command_status: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: sequence_number: 372 = 0x0174 2005-04-04 15:28:11 [6] DEBUG: service_type: NULL 2005-04-04 15:28:11 [6] DEBUG: source_addr_ton: 2 = 0x0002 2005-04-04 15:28:11 [6] DEBUG: source_addr_npi: 1 = 0x0001 2005-04-04 15:28:11 [6] DEBUG: source_addr: "10878" 2005-04-04 15:28:11 [6] DEBUG: dest_addr_ton: 2 = 0x0002 2005-04-04 15:28:11 [6] DEBUG: dest_addr_npi: 1 = 0x0001 2005-04-04 15:28:11 [6] DEBUG: destination_addr: "31004014158129439" 2005-04-04 15:28:11 [6] DEBUG: esm_class: 3 = 0x0003 2005-04-04 15:28:11 [6] DEBUG: protocol_id: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: priority_flag: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: schedule_delivery_time: NULL 2005-04-04 15:28:11 [6] DEBUG: validity_period: NULL 2005-04-
Re: [Kannel-Users] Kannel and MBlox
First off, read documentation. Mblox specific error codes would quickly identify what this error code is: 2005-04-04 15:28:14 [6] ERROR: SMPP[smsc1]: SMSC returned error code 0x042a in response to submit_sm. You have to install mblox specific code. You must set 0x1402 to their carrier IDs in order from mblox to accept messages. Ask mblox about kannel-specific patches to kannel. This allows me to bring up the issue that kannel doesn't have the facility to add a config line(s) to handle both sending and receiving messages and being able to set and retrieve aggregator/carrier/SMSC specific coding of the PDU. Because it sure would be easier to specify multiple lines like this: pdu_special[1] = 0x1402|5|mblox_carrier and be able to have /cgi-bin/sendsms handle mblox_carrier as a passed variable, and also have the bearerbox/smsbox be able to grab and make available the data passed in the PDU at a specific offset. I'm just sayin. 'course if I had the time and talent, I would write it myself, and since I don't, I can't really gripe too much, since Kannel is world-class to begin with. Beckman PS -- As an aside, mblox carries traffic for a large US ringtone business, and their marketing/promotions pushes can negatively affect your traffic -- delays, outages, downtime, etc. There are also lots of outages, both carrier and mblox related. Make sure you queue on your side, and if mblox (or any aggregator for that matter) drops messages you've already sent to them and they've accepted (but later lose), you can resend. It's a wild ride. On Mon, 4 Apr 2005, Derek Barber wrote: I'm currently working on getting Kannel set up with an MBlox SMPP account. I've been able to get the connection happening, and MBlox has confirmed that my connection is working. However, I am unable to send or receive SMS messages. This is the error message I am getting in the kannel logs after I try an send an SMS: 005-04-04 15:28:11 [6] DEBUG: SMPP PDU 0x80d7950 dump: 2005-04-04 15:28:11 [6] DEBUG: type_name: submit_sm 2005-04-04 15:28:11 [6] DEBUG: command_id: 4 = 0x0004 2005-04-04 15:28:11 [6] DEBUG: command_status: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: sequence_number: 372 = 0x0174 2005-04-04 15:28:11 [6] DEBUG: service_type: NULL 2005-04-04 15:28:11 [6] DEBUG: source_addr_ton: 2 = 0x0002 2005-04-04 15:28:11 [6] DEBUG: source_addr_npi: 1 = 0x0001 2005-04-04 15:28:11 [6] DEBUG: source_addr: "10878" 2005-04-04 15:28:11 [6] DEBUG: dest_addr_ton: 2 = 0x0002 2005-04-04 15:28:11 [6] DEBUG: dest_addr_npi: 1 = 0x0001 2005-04-04 15:28:11 [6] DEBUG: destination_addr: "31004014158129439" 2005-04-04 15:28:11 [6] DEBUG: esm_class: 3 = 0x0003 2005-04-04 15:28:11 [6] DEBUG: protocol_id: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: priority_flag: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: schedule_delivery_time: NULL 2005-04-04 15:28:11 [6] DEBUG: validity_period: NULL 2005-04-04 15:28:11 [6] DEBUG: registered_delivery: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: replace_if_present_flag: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: data_coding: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: sm_default_msg_id: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: sm_length: 0 = 0x 2005-04-04 15:28:11 [6] DEBUG: short_message: "mblox test" 2005-04-04 15:28:11 [6] DEBUG: SMPP PDU dump ends. 2005-04-04 15:28:12 [6] DEBUG: SMPP[smsc1]: Sending enquire link: 2005-04-04 15:28:12 [6] DEBUG: SMPP PDU 0x80d7950 dump: 2005-04-04 15:28:12 [6] DEBUG: type_name: enquire_link 2005-04-04 15:28:12 [6] DEBUG: command_id: 21 = 0x0015 2005-04-04 15:28:12 [6] DEBUG: command_status: 0 = 0x 2005-04-04 15:28:12 [6] DEBUG: sequence_number: 373 = 0x0175 2005-04-04 15:28:12 [6] DEBUG: SMPP PDU dump ends. 2005-04-04 15:28:14 [6] WARNING: SMPP: PDU NUL terminated string has no NUL. 2005-04-04 15:28:14 [6] DEBUG: SMPP[smsc1]: Got PDU: 2005-04-04 15:28:14 [6] DEBUG: SMPP PDU 0x80d7950 dump: 2005-04-04 15:28:14 [6] DEBUG: type_name: submit_sm_resp 2005-04-04 15:28:14 [6] DEBUG: command_id: 2147483652 = 0x8004 2005-04-04 15:28:14 [6] DEBUG: command_status: 1066 = 0x042a 2005-04-04 15:28:14 [6] DEBUG: sequence_number: 372 = 0x0174 2005-04-04 15:28:14 [6] DEBUG: message_id: NULL 2005-04-04 15:28:14 [6] DEBUG: SMPP PDU dump ends. 2005-04-04 15:28:14 [6] ERROR: SMPP[smsc1]: SMSC returned error code 0x042a in response to submit_sm. Does any have any experience with MBlox and Kannel and can give some insight? Any help is greatly appreciated. thanks, Derek -- Derek Barber <[EMAIL PROTECTED]> --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: smsbox keeps on hanging.
In bearerbox.log: 2005-02-28 10:40:51 [907] [12] DEBUG: send_msg: sending msg to boxc: 2005-02-28 10:40:51 [907] [12] DEBUG: boxc_sender: sent message to <127.0.0.1> In smsbox.log: 2005-02-28 10:40:51 [908] [4] INFO: Starting to service from <2125551212> to <12345> [...now we generate a message based on that service in a PHP script that is called as the default sms action, so this would be separate...] 2005-02-28 10:40:51 [908] [3] INFO: smsbox: Got HTTP request from <123.45.123.123> 2005-02-28 10:40:51 [908] [3] INFO: sendsms used by 2005-02-28 10:40:51 [908] [3] INFO: sendsms sender: (123.45.123.123) to:<2125551212> msg: Make sure you have this somewhere in your config: group = smsbox-route smsbox-id = default smsc-ids = smsc1;smsc2;smsc3 replacing the smsc-ids with yours This will "route" incoming messages to your smsbox named "default" (you may have named your smsbox differently, use your smsbox-id here). Beckman On Mon, 28 Feb 2005 [EMAIL PROTECTED] wrote: Hi, In my config, enquire_link_interval is set to the default 30 sec and actually from observation of kannel.log, the enquire link is sent every 30 secs. I'll look out for the next time this occurs and let you know if the enquire link was being sent at the time. However, another angle to this issue: I receive incoming sms messages (meaning bearerbox has an active link to the smsc, i imagine) but then either bearerbox doesn't pass on the msg to smsbox or the smsbox process is dead and doesn't process its queue. How can i tell if bearerbox has passed the message to smsbox and also whether smsbox is processing the msg?? Richard. Quoting Peter Beckman <[EMAIL PROTECTED]>: Most SMSCs that I work with require a link interval of 30 to 60 seconds. Check your logs closely to see if your link is being dropped and restarted. It may be that the link is down when your SMS is queued, and the link comes back up when you restart. It also may be that because you don't send your enquire link, the remote side shuts down the link and kannel is instructed not to retry to reconnect. Set your enquire-link-interval to 30 seconds and restart. See if that helps. On Sun, 27 Feb 2005, Pieter Natte wrote: Richard, I am having the same problem with 1.4.0. The messages are received routed to the correct handler. A reply is being prepared and routed via the smsbox back to the bearerbox for transmission. There is stops and is stored in the kannel.store queue. What I see in the kannel.log is that the following message. 2005-02-16 05:47:49 [15461] [27] DEBUG: boxc_receiver: heartbeat with load value 0 received Once I stop and restart the bearer and smsbox the message is transmitted correctly. I have been checking the logs what can cause the problem. What I noticed was that it takes about 60 seconds to process all the enquire_link and enquire_link_resp processes. As I had set the enquire-link-interval to 290 seconds it may be the case that the link to the smsc was dropped at that time. I have as of a couple of hours ago reduced that time to 240 seconds. I have no idea whether that was the problem and whether this will fix it. I would not even be surprised if I am totally wrong. I just hope that this guess is correct as it is an annoying problem. Time will tell whether this will do it. If it does I will let you know. Sincerely, Pieter Natte [EMAIL PROTECTED] wrote: Hi, I'm running kannel 1.3.1 and have this problem where due to some unkown conditions, smsbox seems to hang. I can receive messages but i can't send back a reply. One of the solutions i was thinking of, is being able to send an sms to my system that triggers a script to restart smsbox (run killall -9 smsbox) or even restart bearerbox. Are there other users experiencing the same problem?? Any ideas on how to solve this?? The other idea is to attempt some sort of http://www.serverlogic3.com/lm/rtl3.asp?si=5&k=fault%20tolerance"; onmouseover="window.status='http://www.serverlogic3.com/lm/rtl3.asp?si=5&k=fault%20tolerance"; onmouseover="window.status='fault tolerance'; return true;" onmouseout="window.status=''; return true;">fault tolerance'; return true;" onmouseout="window.status=''; return true;">fault tolerance where i have two identical system (both connecting to the smsc using smpp) and then if one fails or is overloaded, the smsc should route the messages to the other alternate system. These are just ideas, but i'd like to know if they are feasible. Has someone done this before and how did they go about it?? Thanks, Richard. -------- This message was sent using IMP, the Internet Messaging Program. ---
Re: [Kannel-Users] Re: [Kannel-Users] Getting stupid on WahPush Service Load
On Sun, 27 Feb 2005, Linkas wrote: I've encoded the URL too, and this is my text: %01 // Transaction ID %06 // Push %04 // Lenght of headers %03 // Lenght of content-type %B0 // Content type is application/vnd.wap.slc %81 // Charset is %EA // UTF-8 %02 // WBXML version %06 // Wap Push SL %6A // This is still a mistery %00 // Leght of string table is zero %85 // Here it starts the SL tag %08%03 // URL type is "" and Start of string http%3A%2F%2Fwww.info-me.it%2Fwap%2Findex.wml // The encoded URL %00 // End of string %01 // end of the SL tag the UDH is always the same:udh=%06%05%04%0B%84%23%F0 UDH will always be the same. Text needs to have the binary encoded data you mention above. Here's an example, without the percent signs UDH: 0605040B8423F0 Text: 1B0601AE02056A0045C60C03736D732E6B6174617A6F2...17A6F2E000101 Some PHP: $udh = '0605040B8423F0'; $text = '1B0601AE02056A0045C60C03' .hex_encode($url, '') .'000103'. hex_encode($title, ''). '000101'; function hex_encode( $text, $joiner='' ) { for ($l=0; $l Make more sense? (yes, I know the hex_encode function could be written better) Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: smsbox keeps on hanging.
Most SMSCs that I work with require a link interval of 30 to 60 seconds. Check your logs closely to see if your link is being dropped and restarted. It may be that the link is down when your SMS is queued, and the link comes back up when you restart. It also may be that because you don't send your enquire link, the remote side shuts down the link and kannel is instructed not to retry to reconnect. Set your enquire-link-interval to 30 seconds and restart. See if that helps. On Sun, 27 Feb 2005, Pieter Natte wrote: Richard, I am having the same problem with 1.4.0. The messages are received routed to the correct handler. A reply is being prepared and routed via the smsbox back to the bearerbox for transmission. There is stops and is stored in the kannel.store queue. What I see in the kannel.log is that the following message. 2005-02-16 05:47:49 [15461] [27] DEBUG: boxc_receiver: heartbeat with load value 0 received Once I stop and restart the bearer and smsbox the message is transmitted correctly. I have been checking the logs what can cause the problem. What I noticed was that it takes about 60 seconds to process all the enquire_link and enquire_link_resp processes. As I had set the enquire-link-interval to 290 seconds it may be the case that the link to the smsc was dropped at that time. I have as of a couple of hours ago reduced that time to 240 seconds. I have no idea whether that was the problem and whether this will fix it. I would not even be surprised if I am totally wrong. I just hope that this guess is correct as it is an annoying problem. Time will tell whether this will do it. If it does I will let you know. Sincerely, Pieter Natte [EMAIL PROTECTED] wrote: Hi, I'm running kannel 1.3.1 and have this problem where due to some unkown conditions, smsbox seems to hang. I can receive messages but i can't send back a reply. One of the solutions i was thinking of, is being able to send an sms to my system that triggers a script to restart smsbox (run killall -9 smsbox) or even restart bearerbox. Are there other users experiencing the same problem?? Any ideas on how to solve this?? The other idea is to attempt some sort of fault tolerance where i have two identical system (both connecting to the smsc using smpp) and then if one fails or is overloaded, the smsc should route the messages to the other alternate system. These are just ideas, but i'd like to know if they are feasible. Has someone done this before and how did they go about it?? Thanks, Richard. This message was sent using IMP, the Internet Messaging Program. ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Getting stupid on WahPush Service Load
It should be 100% binary. You need to encode the URL. On Sat, 26 Feb 2005, Linkas wrote: In the the contrib/web/sendsms.php I have Service Indication (WAPPUSHSI) working fine, but not the WAPPUSHSL. I've tried to modify a couple of "strange things" I saw, and here is the "job": My UDH is: %06%05%04%0B%84%23%F0 (same ad Wap Push SI) While the text message is: $fields['text'] .= "%01"; # Transaction ID $fields['text'] .= "%06"; # PDU Type (push) $fields['text'] .= "%04"; # Headers Length $fields['text'] .= "%03"; # Length of content type // The next line looks strange - in the contrib was different $fields['text'] .= "%B0"; # Content-Type: application/vnd.wap.slc // End of strange line $fields['text'] .= "%81"; # Charset $fields['text'] .= "%EA"; # UTF-8 $fields['text'] .= "%02"; # Version number (wbxml_version) $fields['text'] .= "%06"; # WBXML Public Identifier (sL_public_id) // THIS line is strange too - why SIbxml and not SLbxml ? $fields['text'] .= "%6A"; # charset= (sibxml->charset) // END of strange line $fields['text'] .= "%00"; # String table length // The 'real' content I need to send where $URL is my wap page $fields['text'] .= "%85"; # $fields['text'] .= "%06"; # action="signal-high" // Quite strange the URL is not 'urlencoded' but on the SI works ok like that $fields['text'] .= "%08" . "%03" . $URL . "%00"; $fields['text'] .= "%01"; # The resulting HTTP GET is: udh=%06%05%04%0B%84%23%F0 text=%01%06%04%03%B0%81%EA%02%06%6A%00%85%06%08%03http://www.info-me.it/wap/index.wml%00%01 Can anyone help? Thanks Julien --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: smpp DLR problem
Tom -- The message ID is handed to you in HEX, 459D58BB -> 1167939771 (hex to binary). Your DLR report (delivery receipt) comes with id:1167939771 thus matching your message. http://kannel.org/download/1.3.2/userguide-1.3.2/userguide.html#AEN1535 Look at msg-id-type. This tells kannel about the type of message id the remote SMSC will give you, and the type of message id it will use in the return DLR report. For you, you need to set msg-id-type to 0x01, where submit_sm_resp message_id is in hex, and deliver_sm is in decimal. Add this to your smsc config in your kannel config: msg-id-type 0x01 Reboot (ugh I hate that) kannel. Make sense? I recently figured this out too (ok, by reading the mail archives...) Beckman On Tue, 1 Feb 2005 [EMAIL PROTECTED] wrote: Hello Dave, thanks for your answer, Here is a dump of the smpp transactions, hopefully this will shed some more light on what's going wrong ; I'm wondering, maybe kannel does not find the right DLR because the DLR for the message sent via is returned to kannel via 2005-02-01 16:36:52 [6120] [8] DEBUG: SMPP PDU 0x81b6710 dump: 2005-02-01 16:36:52 [6120] [8] DEBUG: type_name: submit_sm [...] 2005-02-01 16:36:52 [6120] [8] DEBUG: short_message: "Hello world" 2005-02-01 16:36:52 [6120] [8] DEBUG: SMPP PDU dump ends. 2005-02-01 16:36:52 [6120] [8] DEBUG: SMPP[]: Got PDU: 2005-02-01 16:36:52 [6120] [8] DEBUG: SMPP PDU 0x81b6710 dump: 2005-02-01 16:36:52 [6120] [8] DEBUG: type_name: submit_sm_resp 2005-02-01 16:36:52 [6120] [8] DEBUG: command_id: 2147483652 = 0x8004 2005-02-01 16:36:52 [6120] [8] DEBUG: command_status: 0 = 0x 2005-02-01 16:36:52 [6120] [8] DEBUG: sequence_number: 2 = 0x0002 2005-02-01 16:36:52 [6120] [8] DEBUG: message_id: "459D58BB" 2005-02-01 16:36:52 [6120] [8] DEBUG: SMPP PDU dump ends. [...] 2005-02-01 16:36:57 [6119] [7] DEBUG: SMPP[]: Got PDU: 2005-02-01 16:36:57 [6119] [7] DEBUG: SMPP PDU 0x81b71d8 dump: 2005-02-01 16:36:57 [6119] [7] DEBUG: type_name: deliver_sm 2005-02-01 16:36:57 [6119] [7] DEBUG: command_id: 5 = 0x0005 [...] 2005-02-01 16:36:57 [6119] [7] DEBUG: short_message: 2005-02-01 16:36:57 [6119] [7] DEBUG:Octet string at 0x81b61b0: 2005-02-01 16:36:57 [6119] [7] DEBUG: len: 113 2005-02-01 16:36:57 [6119] [7] DEBUG: size: 114 2005-02-01 16:36:57 [6119] [7] DEBUG: immutable: 0 [id:1167939771 sub:001 dlvrd:001 submit date: 0502011636 done date:0502011636 stat:DELIVRD err:000 text:Hello world 2005-02-01 16:36:57 [6119] [7] DEBUG: DLR[internal]: Looking for DLR smsc=, ts=1167939771, dst=32, type=12005-02-01 16:36:57 [6119] [7] WARNING: DLR[internal]: DLR for DST<32> not found.2005-02-01 16:36:57 [6119] [7] ERROR: SMPP[]: got DLR but could not find message or was not interestedin it ts<1167939771> dst<32>, type<1> ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: Distributing crime alerts via SMS
Another way is, if you are sending less than 50 messages a day, via carrier email gateways. In the US, almost every phone has a unique email address. Sprint is [EMAIL PROTECTED] Tmobile is something like [EMAIL PROTECTED] You get the idea. Knowing the MSISDN (phone number) of the user and their carrier would allow you to generate email messages that would be sent to the users phone as a text message. Benefits? No cost, no gateway to set up or manage, no expensive deals ($2000/month or a high price per message, like .10c US) with aggregators. Cons? Not reliable delivery always, carrier could block your sending address or IP block for any or no reason if you sent too many messages, no contacts with/through the carriers. You can handle opting in and out with web forms, or have users send a properly formed email from their phones. Or use a WAP site (recommend php-based hawhaw.inc library to get started) to allow them to unsubscribe/subscribe. You will run into number portability issues -- someone says they are on AT&T, then they switch to tmobile later and never tell you -- you still send to at&t and they never get the alert. There is a DB run by neustar for US number portability dips, but that also costs $$$, but they give you the carrier for any US cell number. Beckman On Sat, 29 Jan 2005, Stipe Tolj wrote: Hi Tom, I apologize in advance if my question seems obvious and out of place. I am new to SMS and have had some difficulty in finding sources of information that explain how the SMS system works and what approaches are best for solving particular problems. now, SMS is a slight part of GSM specs, and, yes, it's a hard piece of work getting all together in mind ;) We are interested in using SMS on campus to deliver crime alerts to mobile phones of our students, faculty and staff. In order to do this, we obviously need to have their phone number. Do we also need to collect who their wireless carrier is, or is the number sufficient? Actually you either need their MSISDNs (mobile station numbers) or let them "opt-in/out" to the service via SMS itself. Like letting them send "alert crime start" for having them subscribing to the "list" and "alert crime stop" for unsubscribing. Just an example. AFAIK, the US has also number portability, which means you can't identify the operator of a MSISDN via it's network prefix. So, it "may" be hard to determine their operator without having access to a number portablity database. (which I know of the VeriSign telecom group is operating in Kansas City). Our campus computing infrastructure runs on Sun Solaris Unix and Red Hat Enterprise Linux. We are not interested in running a Windows server based product. same with us ;) We will probably have to establish a relationship with a SMSC in order to deliver these SMS messages to students. How does one go about finding appropriate vendors for doing this? Now, you basically have 2 alternatives: a) connect to every carrier you want to support. Which is the "hard way". Espacially in the US, where carriers still have some issues with european-well-known protocols like SMPP and/or EMI/UCP. This would imply that when your application receives an SMS MO (mobile originated) with a subscribtion request, you get also "the route" of the message and hence the orginating carrier for the MSISDN. b) us an aggregator, which leaverages the difficulties of option a) for you. You only connect to that aggregator and route message transparently to the various carries via the aggregator. Decission matrix for a) or b) depends on cost, performance and reliablility of the aggregator. Stipe mailto:stolj_{at}_wapme.de --- Wapme Systems AG Vogelsanger Weg 80 40470 Düsseldorf, NRW, Germany phone: +49.211.74845.0 fax: +49.211.74845.299 mailto:info_{at}_wapme-systems.de http://www.wapme-systems.de/ ----------- --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] Re: SMS message ids
On Fri, 28 Jan 2005, Davy Chan wrote: Answers inline... **>Date: Thu, 27 Jan 2005 12:20:22 -0500 (EST) **>From: Peter Beckman <[EMAIL PROTECTED]> **>To: Davy Chan <[EMAIL PROTECTED]> **>cc: users@kannel.org **>Subject: Re: [Kannel-Users] Re: SMS message ids **>In-Reply-To: <[EMAIL PROTECTED]> **> **>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_services&smsid=da03662a-731a-4e22 **>>**>-8a18 **>>**>-2d982663eb4f&msg=ACK%2F&status=8&answer=ACK%2F&to=55416&from=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? I've explained this in another email to the list, but, just in case a search on this topic does not return my other email... The message-id retrieved from a submit_sm_resp is on available to the bearerbox. Once the information is persisted into storage (be it SQL database or bearerbox memory store) it is thrown away and not passed to the smsbox. Since the smsbox does not have the message-id, it cannot put the information into an HTTP_GET generated from the dlr-url parameter. But I don't care about the message-id at the HTTP GET/POST -- I want it in the DLR message generated by kannel's bearerbox once the remote SMSC has accepted the message (if it is rejected, no message-id is available). **>>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. Sorry...myoptic vision made me focus only on the message-id stuff. I overlooked the fact that the poster was talking about the value returned via an '%I' parameter. The '%I' escape code just prints out a human-digestible form it the UUID. Working on it... Sweet. Sorry for the delay in reply, I was in Tobago . Sun. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: SMS message ids
On Thu, 27 Jan 2005, Matthew Hixson wrote: I need the message_id that I see in bearerbox.log. I don't know whether Kannel or the SMSC generates this number. We need it because we will be comparing it to logs generated by the carrier's system for billing purposes and their logs include those same message_ids. I wish I could just make up my own message ids, but I can't. The remote SMSC generates the message_id in the submit_sm_resp PDU. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: SMS message ids
On Thu, 27 Jan 2005, Enver ALTIN wrote: On Wed, 2005-01-26 at 22:26 -0800, Matthew Hixson wrote: So, how would I get Kannel to send me a notification containing the message id? I'd still need to know what escape code to put into my dlr-url, if one exists. Just generate a unique message ID before submitting the message, save it to a safe place, use the ID somewhere in your dlr-url (/test.php?msgid=191234325&status=%d), and when Kannel calls your dlr-url, you'll get your ID back. We already do that. What I DO NOT get back is the SMSID from the remote SMSC. My id? 12345. Theirs? A35293FF. If delivery receipts are not sent by the SMSC, my only chance of putting their SMSID into my DB is via the DLR report that Kannel generates when the SMSC accepts my message. How can I associate my SMS with what they got if they don't use MY smsid? Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Downloading information to Phones
On Thu, 27 Jan 2005, Mauricio Reyes wrote: I want to know if anybody knows how to use the Kannel to download ringtones or java apps to the phones, the question is, is it possible with Kannel?, anybody has a configuration that works for that? Kannel accepts and delivers SMS messages, acts as a WAP gateway, and a few other things. It does not handle downloading ringtones or java apps to phones. That is what PHP is for! :-) Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
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_services&smsid=da03662a-731a-4e22 **>-8a18 **>-2d982663eb4f&msg=ACK%2F&status=8&answer=ACK%2F&to=55416&from=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: [Kannel-Users] Optimizing the way of sending Bulk SMS to Kannel. Help!
On Wed, 26 Jan 2005, michele munro wrote: I was trying to optmize my actual process of sending SMS, to be able to send bulk SMS avoiding the use of a large amount of sockets connected to the port 13013 of my kannel smsbox. My actual php process for sending sms to smsbox is doing the following steps: 1- Validates the request for sending an SMS. 2- Inserts the SMS request id into the datadabase (an autoincrement id that corresponds to the smsid). 3- Sends the sms to the smsbox (an http get request to Kannel http://IP/cgi-bin/sendsms), using also the dlr mask and the dlrurl: http://IP/mydlr.php?smsid... so that Kannel can correlate the right DLR to the right smsid. So far so good! My question now , is when I have thousands of sms requests to send, which means thousands of get http and so thousands of sockets opened to 13013. How can avoid this? Is this going to degrade my HTTP server performance? How can I have only one smsbox socket 13013 opened while I'm sending bulk sms? It won't degrade your separate HTTP server performance (ie. Apache running on port 80/443). Since you are connecting probably to local.ip or localhost TCP sockets shouldn't be too big of a worry, so no, probably no degredation. We are using DLR urls as well, doesn't seem to be a problem. We are sending 16,000+ messages a day through kannel with no sweat, using the 13013 HTTP port. ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] dlr status
Kannel ALWAYS returns a DLR report to the DLR-URL you specify. It is to allow you to receive a delivery report AFTER you successfully submit your SMS to the smsbox. The smsbox responds with "Sent." even though the message hasn't even gotten to the bearerbox. Once the Bearerbox processes the message, attempts delivery to the SMSC, and it succeeds, it generates a delivery report with DLR status of 8, queued at SMSC. If it fails, kannel generates a DLR of 16, usually with a NACK/SOME REASON/1354 in the msg: area. This is useful because now you know that although the smsbox said your message was sent, the SMS was actually accepted by the remote SMSC. Ideally when your SMSC gets the message and passes it successfully to the carrier, you would get a DLR of 4, and once it gets to the handset successfully, a DLR of 1. Beckman On Thu, 30 Dec 2004, Willy Mularto wrote: Guys, I set my dlr-mask=31 and below is my kannel log for dlr status: Sent SMS [SMSC:3665] [SVC:kannel] [ACT:] [BINF:] [from:1234] [to:6285590001xx] [flags:-1:1:-1:-1:31] [msg:81:01060403AE81EA02056A0045C60C033230322E3135332E3132392E36382F6C6F6769632F696E6465782E7068703F69643D3034313233303133353233363034310344756E69614D6F62696C65000101] [udh:7:0605040B8423F0] DLR SMS [SMSC:3665] [SVC:kannel] [ACT:] [BINF:] [from:1234] [to:6285590001xx] [flags:-1:-1:-1:-1:8] [msg:4:ACK/] [udh:0:] the status is 8 so according to user guide, the message has been sent to smsc, is it doesn't mean the sms has been delivered to device? Because I always get 8 for the dlr, and according to user guide it should be 1 to know that sms has been delivered to device. thank you for any reply. regards willy ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] why dont u reply my simple questions ?
On Mon, 22 Nov 2004, Tech mark wrote: actually i requested , help for wap configurations and it's testing . why kannel experts cant help me ? I just installed kannel done the configurations for wapgateway. bearbox and wap box starting perfeclty. and wap box listen to 13004 . plz , kindly tell me how do i proceed the wapgateway ? Most likely nobody tells you because it is in the documentation: http://www.kannel.org/ Almost everything you need to get started you can find there. And if you can't find it in the documentation, start searching in the mail archives. Although we love to help, we hate to handhold when the documentation to help you get started is already written. Open-source == beginner self-help; advanced help via mail list As they say, RTFM. When you have a working or broken config, and you've read everything you can in the documentation and the mailing lists, post your specific problem and I'm sure many will jump to help. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] RE: SMSC<==>KANNEL<==>SMSC
Kannel does NOT operate as an SMPP Server -- at least not out of the box. There are some on the list that have patched or added on their own SMPP Server implementation, either integrated with or not with kannel. If you mean you are connecting TO "My Application" using Kannel as an SMPP client, you are OK. Kannel is an SMPP Client, not an SMPP Server. Beckman On Mon, 22 Nov 2004, Pankaj wrote: Hi Folks, My requrement is something very similar, the only thing is I just want to send out alerts to SMSC(Nokia SMSC) which in turn will send it out to the requisite phone nos. I dont have a need of any incoming messages from the SMSC (Though because of the protocol specifications, there might be some incoming messages from the SMSC). Can I achieve this requirement through Kannel. If yes, how can I do it? Thanks a lot for your help. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of shyam kumar Sent: Monday, November 22, 2004 5:16 PM To: laacz Cc: [EMAIL PROTECTED] Subject: Re: SMSC<==>KANNEL<==>SMSC Yes kannel can work, for that use the forced smsc to route particular msgs to specific smsc, go through the user guide, U have the solution On Mon, 2004-11-22 at 17:01, laacz wrote: I could not find search facility for this mailinglist and Kannel documentation does not give me clear answer (probably i'm not reading carefully), so very dull question follows. Can Kannel operate as an intermediate SMSC? See following illustration (use monospace font:): +-++-++-+ | SMSC1 || SMSC2 || SMSC3 | +-++-++-+ ^ ^ ^ | | | SMPP 3.4 SMPP 3.4 SMPP 3.4 | | | v v v +---+ |KANNEL | +---+ ^ | SMPP 3.4 | v +--+ | My application | | (ESME) | +--+ That means, that Kannel takes all incoming traffic and routes it between client (ESME) and different SMSC's. By addition - it filters messages (which come from ESME) by destination address and according to some simple regular expressions delivers them to different SMSC's. Is it possible with Kannel at all? * This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful. * ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
PHP WML Library Review: HAWHAW
So I've been working on doing a bunch of WAP stuff, and got sick of trying to output WAP code in PHP. I started looking around for PHP libraries that implemented WAP on a level that was beyond my experience, did a lot of stuff that was cool/interesting, and that was actively maintained. I found HAWHAW, the "HTML and WML hybrid adapted Webserver -- a toolkit to create universal mobile applications." Now at first, I was thinking "I really don't want another webserver." No worries, it's not, although you could call it that. Anyway, you can download it here: http://www.hawhaw.de/ HAWHAW is really more than just a WML library though. It allowed me to build a really nice application with minimal WML/XHTML work. It automagically detects what the browser can handle -- HTML, WML, HDML, VXML -- and then what kind of output you might want -- bigscreen, wap, hdml, pda, imode, mml, voicexml, xhtml, lynx, up (for UP browser), owgui (Openwave GUI), and pxv (Public Voice XML) -- and displays a great looking deck/page in any case I could throw at it. This is a fantasic way to be able to write a single app that will handle the user in an intelligent fashion. A sample doc: $url = "/download/link"; $page = new HAW_deck("Page Title"); $page->set_bgcolor("white"); $page->set_disp_bgcolor("white"); $page->set_border(1); $page->disable_cache(); $logo = new HAW_image("/images/logo.wbmp", "/images/logo.gif", "Logo"); $logo->set_br(1); $page->add_image($logo); $page->add_text(new HAW_text("Content Download", HAW_TEXTFORMAT_BOXED)); $text1 = new HAW_text($title." is now available for download. "); $text1->set_br(1); $page->add_text($text1); $page->add_link(new HAW_link("Download NOW!", $url)); $page->create_page(); And it looks great on my phone, my friends Treo, and in my browser, without any more thought than what I want to say. Anyway, I'm using it, and I think it is great, and thought I would share. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] SMPP Source Address
On Thu, 18 Nov 2004, Michael Bildner wrote: I am very new to the SMS world and I'm in the process of setting up Kannel to talk to an SMSC. The people who operator the SMSC asked that we give them our source address. The only problem is that I'm not exactly sure what to give them. I'd rather not ask them directly, as it might give them the impression that I don't know exactly what I'm doing (which I don't). The SMPP 3.4 spec mentions something about an IP address for the source addresses (or ranges). Can anyone tell me what they might be expecting. The IP address of the machine/host/server that you will be running your SMPP client (kannel) on. I must admit, if you don't know the answer to that question, you are really getting yourself way over your head. Kannel is not easy to get running, and if you don't understand IP networking, you have a long journey ahead. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: Retrieving the SMSC Message ID for a queued message
On Wed, 17 Nov 2004, Rodrigo A. Cremaschi wrote: 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. Well, I don't know how you would be able to store it otherwise, except in the log files. Frankly I'd rather have both (put the message ID in the log file as well as pass it back via the DLR). Right now I: 1. Queue the message by putting the info into a table in my DB. 2. Grab the row in the db and attempt delivery. 3. If successful, I get a DLR generated by Kannel which passes back a DLR value of 8 (queued successfully). 4. If not successful, I get a DLR of 16 generated by kannel which tells me that the message was rejected by my SMSC and why. 5. When the DLR is called, I update my table row with the important information about that message. If the kannel-generated DLR report was able to include the remote message ID, I could update my table row with that information, creating a permanant record of the SMSC message ID to my internal message ID, enabling troubleshooting of a single message to be MUCH easier. Right now kannel generates its own DLR report upon success or failure of the message being sent to the SMSC (since the SMSBOX has accepted it already as at least being a valid looking message). That is where I would want to see the message_ID passed (if the message was accepted/queued). On DLR reports generated by actual delivery receipts from the carriers/aggregators, the message_ID would be blank, allowing up to deal with it how you will in your own DLR php script. Currently %m is not used -- I propose making the %m the Escape Code. Beckman - 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=xxx&time=%t&to=%P&type=%d&smscr=%A&msgno=%I&resp=%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. --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] again MO and MT
On Wed, 17 Nov 2004, Willy Mularto wrote: Seems nobody reply my last post. Sometimes people don't like to answer questions that are too simple. Here again my question, my company got 4 accounts from operator. 1 account to receive and the 3 others are for transmit which each for different charging. Wow. That sounds like overkill... but what do I know. I have tried to make several connection to the operator's smsc, only the 1st account successfully logged on, the others return Invalid System ID, please help me guys. This is equivelent to "Username not found" or "Username rejected" or something like that. What kannel calls "user" or "username" is really what the remote SMPP server considers the "System ID". So, this error is telling you that you have either mistyped your "username" or that the SMSC has not set up your "username" yet. And if I have successfully connect those 4 connections, what is the next step so that every request correctly charged, do I only need to add parameter smsc=smsc-id on the sendsms script? Or any other configuration need inside kannel.conf? Thank you very much. What I do is set up a sendsms-user for each smsc, usually setting the user equal to the smsc-id I've set up. That way, let's say I log into the sendsms script as "mobileway" -- the way I have it set up is that the user mobileway will only send to smsc mobileway. There are probably several other ways, but that I've found was the easiest. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: DLR URL not called [SOLVED] [BUG?]
On Wed, 17 Nov 2004, Amol Patwardhan wrote: I am facing the similar problem But there is no description of configuration variable smsbox-id as discussed by you. Where / What exactly did you do ? Pls send me the sample of conf file that you have.. http://kannel.org/download/1.3.2/userguide-1.3.2/userguide.html#AEN2858 My conf for smsbox group: # SMSBOX SETUP group = smsbox smsbox-id = default bearerbox-host = localhost sendsms-port = 13013 global-sender = 13013 log-file = "/var/log/kannel/smsbox.log" log-level = 0 access-log = "/var/log/kannel/sms-access.log" # SMSBOX ROUTE SETUP group = smsbox-route smsbox-id = default smsc-ids = mysmscid I think if you have both of those, you should be OK. Make sure in your smsc configuration that if you are forcing source_ or destination_ton or _npi that you smsc expects this. Also don't force msg-id-type -- this can also mess it up. Also, make sure you set your dlr-mask to 31 to get it to work until you understand what the dlr reports mean. Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
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=xxx&time=%t&to=%P&type=%d&smscr=%A&msgno=%I&resp=%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: DLR URL not called [SOLVED] [BUG?]
Don't you love to answer your own questions? So it turns out that if you leave smsbox-id off, the DLR call to dlr-url will not be called or run or fetched or requested vai POST or GET. (mmm, keywords for searching mail archives...) -xx-xx xx:xx:xx [x] [y] DEBUG: DLR[internal]: Adding DLR smsc=x, ts=abcdef12, src=x, dst=xxx, mask=31, boxc= -xx-xx xx:xx:xx [x] [y] DEBUG: SMSC[x]: creating DLR message -xx-xx xx:xx:xx [x] [y] DEBUG: SMSC[x]: DLR = http://xxx.xxx/dlr.php?smsid=x&time=%t&to=%P&type=%d&smscr=%A&msgno=%I&&resp=%a Hmmm, boxc is empty. DLR is not called because of it. Also in another case, I had forced the source_ton and source_npi improperly, and my dst=(NULL) which probably also would have stopped the DLR from being called, even internally by kannel. When I removed the forcing of source_npi and source_ton, dst=xxx worked again. When I added smsbox-id to my smsbox conf, DLR internally and externally worked. Should this be considered a bug? Beckman On Tue, 16 Nov 2004, Peter Beckman wrote: Running 1.3.2 -- Anything wrong with this url? http://xxx.xxx/~//dlr.php?smsid=22&time=%t&to=%P&type=%d&smscr=%A&msgno=%I&billing=%B&resp=%a Does the ~ throw kannel for a loop? -xx-xx xx:xx:xx [x] [x] DEBUG: SMSC[x]: creating DLR message -xx-xx xx:xx:xx [x] [x] DEBUG: SMSC[x]: DLR = http://xxx.xxx/~//dlr.php?smsid=22&time=%t&to=%P&type=%d&smscr=%A&msgno=%I&billing=%B&resp=%a It's never called -- never hits the web server. Why? There is no msg-id-type set in the SMSC group, using internal DLR storage, the store file is 17391 bytes, the partition is not full, ... Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ------- --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
DLR URL not called
Running 1.3.2 -- Anything wrong with this url? http://xxx.xxx/~//dlr.php?smsid=22&time=%t&to=%P&type=%d&smscr=%A&msgno=%I&billing=%B&resp=%a Does the ~ throw kannel for a loop? -xx-xx xx:xx:xx [x] [x] DEBUG: SMSC[x]: creating DLR message -xx-xx xx:xx:xx [x] [x] DEBUG: SMSC[x]: DLR = http://xxx.xxx/~//dlr.php?smsid=22&time=%t&to=%P&type=%d&smscr=%A&msgno=%I&billing=%B&resp=%a It's never called -- never hits the web server. Why? There is no msg-id-type set in the SMSC group, using internal DLR storage, the store file is 17391 bytes, the partition is not full, ... Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] can connect a smsgw to smsgw
To my knowledge, Kannel does not have any native support as an SMPP server, only as a client. There has been talk that people have implemented an SMPP server and integrated it with kannel, I have not seen the code. Beckman On Fri, 29 Oct 2004, Ramesh T S wrote: Hi, Is it possible to connect one sms gateway with another sms gateway? Eg. SMSC --> kannel A --> Kannel B. If yes what is the procedure. Ramesh --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: SMSC Error causes thread to terminate and SMPP connection to die?
On Wed, 6 Oct 2004, Alexander Malysh wrote: 2004-10-06 02:42:13 [19398] [12] ERROR: SMPP[mqube]: SMSC rejected login to transmit, code 0x000f (Invalid System ID). 2004-10-06 02:42:13 [19398] [12] ERROR: SMPP[mqube]: I/O error or other error. Re-connecting. 2004-10-06 02:42:13 [19398] [12] DEBUG: Thread 12 (gw/smsc/smsc_smpp.c:io_thread) terminates. What? The thread died! Why? If error "invalid system id" or "invalid password" occurs thread will die (wrong login params) in order to prevent disabling of this client host on smsc due to bad login attempts. Ah, ok, makes sense. Without changing the C code, can the system to be set to make 3 attempts before giving up? If not, can we modify the code to have a user-settable number of attempts at logging in if the login is rejected as invalid? Our SMSC is stupid, and I don't know when they will fix this problem. Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] dlr.php
On Wed, 6 Oct 2004 [EMAIL PROTECTED] wrote: Hi, could some one be so kind and post me a sample of "dlr.php" . Thanx. URL: http://localhost/dlr.php?smsid=".$smsid."&type=%d&to=%P&time=%t require_once("adodb/adodb.inc.php"); $my = NewAdoConnection("mysql"); $my->pconnect("localhost","nobody","","kannel"); $sql = "update smslog set dlr=".$_REQUEST['type']." where smsid=".$_REQUEST['smsid']; $my->execute($sql); ?> Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
SMSC Error causes thread to terminate and SMPP connection to die?
The background: Back when I was running 1.3.1, when my remote SMSC disconnected or gave me an error, kannel happily respected it, logged it, and tried again in $reconnect-dely seconds. Now when the SMSC throws an error, Kannel kills the thread, never to be connected to again without manual intervention. This is HORRIBLE! Read on for the specifics -- maybe I didn't RTFM well enough... I've searched the archive, but to no avail. The server: Kannel 1.3.2, no changes to standard install Linux host.domain.com 2.4.21-9.0.3.ELsmp #1 SMP Tue Apr 20 19:49:13 EDT 2004 i686 i686 i386 GNU/Linux (enterprise 3 redhat) The config: # M-Qube SMPP Gateway group = smsc smsc = smpp smsc-id = mqube denied-smsc-id = xxx;yyy;zzz preferred-smsc-id = mqube host = 10.10.10.10 port = 16911 transceiver-mode = yes smsc-username = "uu" smsc-password = "xx" system-type = "VMA" address-range = "" enquire-link-interval=60 reconnect-delay=10 source-addr-autodetect = no source-addr-ton = 0 source-addr-npi = 1 dest-addr-ton = 1 dest-addr-npi = 1 The debug: 2004-10-06 02:42:13 [19398] [12] DEBUG: SMPP[mqube]: Sending PDU: 2004-10-06 02:42:13 [19398] [12] DEBUG: SMPP PDU 0xa8cae2e8 dump: 2004-10-06 02:42:13 [19398] [12] DEBUG: type_name: bind_transceiver 2004-10-06 02:42:13 [19398] [12] DEBUG: command_id: 9 = 0x0009 2004-10-06 02:42:13 [19398] [12] DEBUG: command_status: 0 = 0x 2004-10-06 02:42:13 [19398] [12] DEBUG: sequence_number: 231408 = 0x000387f0 2004-10-06 02:42:13 [19398] [12] DEBUG: system_id: "uu" 2004-10-06 02:42:13 [19398] [12] DEBUG: password: "xx" 2004-10-06 02:42:13 [19398] [12] DEBUG: system_type: "VMA" 2004-10-06 02:42:13 [19398] [12] DEBUG: interface_version: 52 = 0x0034 2004-10-06 02:42:13 [19398] [12] DEBUG: addr_ton: 0 = 0x 2004-10-06 02:42:13 [19398] [12] DEBUG: addr_npi: 0 = 0x 2004-10-06 02:42:13 [19398] [12] DEBUG: address_range: "" 2004-10-06 02:42:13 [19398] [12] DEBUG: SMPP PDU dump ends. 2004-10-06 02:42:13 [19398] [12] WARNING: SMPP: PDU NUL terminated string has no NUL. 2004-10-06 02:42:13 [19398] [12] DEBUG: SMPP[mqube]: Got PDU: 2004-10-06 02:42:13 [19398] [12] DEBUG: SMPP PDU 0xa8cae2e8 dump: 2004-10-06 02:42:13 [19398] [12] DEBUG: type_name: bind_transceiver_resp 2004-10-06 02:42:13 [19398] [12] DEBUG: command_id: 2147483657 = 0x8009 2004-10-06 02:42:13 [19398] [12] DEBUG: command_status: 15 = 0x000f 2004-10-06 02:42:13 [19398] [12] DEBUG: sequence_number: 231408 = 0x000387f0 2004-10-06 02:42:13 [19398] [12] DEBUG: system_id: NULL 2004-10-06 02:42:13 [19398] [12] DEBUG: SMPP PDU dump ends. 2004-10-06 02:42:13 [19398] [12] ERROR: SMPP[mqube]: SMSC rejected login to transmit, code 0x000f (Invalid System ID). 2004-10-06 02:42:13 [19398] [12] ERROR: SMPP[mqube]: I/O error or other error. Re-connecting. 2004-10-06 02:42:13 [19398] [12] DEBUG: Thread 12 (gw/smsc/smsc_smpp.c:io_thread) terminates. What? The thread died! Why? --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] who is wrong configured
This pretty clearly states that your message was accepted by the SMPP gateway tele2. In order to figure out what happened, you must contact tele2. The below output says "tele2 accepted this message with message_id 3AB76FF3." You may have to convert that from HEX to DECIMAL for them to look it up... Beckman On Fri, 24 Sep 2004, Guzzi wrote: i started configuring kannel to send messages trhough smsc but, as i send through http i get response "sent" but message does not arrive, i copied from log this info: 2004-09-23 22:26:25 [7] DEBUG: SMPP[tele2]: Got PDU: 2004-09-23 22:26:25 [7] DEBUG: SMPP PDU 0x80d8df8 dump: 2004-09-23 22:26:25 [7] DEBUG: type_name: submit_sm_resp 2004-09-23 22:26:25 [7] DEBUG: command_id: 2147483652 = 0x8004 2004-09-23 22:26:25 [7] DEBUG: command_status: 0 = 0x 2004-09-23 22:26:25 [7] DEBUG: sequence_number: 4 = 0x0004 2004-09-23 22:26:25 [7] DEBUG: message_id: "3AB76FF3" 2004-09-23 22:26:25 [7] DEBUG: SMPP PDU dump ends. can you tell is my cannel congfig wrong or smsc is not well configuret to send my messages? ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] SMSC Connection Errors
It means that the remote host was online, then went offline without telling you (ie sending an unbind). The whole "reset by peer" is pretty standard, when they are trying to bring their system back online, or if there is a firewall between you and them that is stopping you. In fact, your error messages are similar if not identical to messages I get when my remote SMPP host goes down with no apparent reason. All it means is that the remote SMPP server is offline, and that you'll either have to wait for it to come back online (and when it does Kannel usually reconnects automagically), or call whomever is running it and tell them that it is offline. Beckman On Wed, 15 Sep 2004, Omer Bin Fateh wrote: Dear Concerned: We are having multiple SMSC Connect errors The error messages we are getting in our Kannel SMS Gateway's "core.log" file are as under: 1. "I/O error or other error. Re-connecting." 2. "Couldn't connect to SMS center (retrying in 10 seconds)." 3. "connect failed" 4. "System error 111: Connection refused" 5. "error connecting to server `xxx.xxx.xxx.xxx' at port `' " 6. "Couldn't connect to server." 7. "Error reading from fd 27:" 8. "System error 104: Connection reset by peer" 9. "Error reading from fd 26:" 10. "System error 111: Connection refused" 11. "System error 110: Connection timed out" Awaiting for your reply with nice solutions Regards: Omer --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] FW: Sendsms and Reply to phone is status message
On Wed, 1 Sep 2004, Jane P. Ifurung wrote: In addition to my problem of not receiving any response to my phone when doing sendsms in a browser, I also could not receive the supposed response of my web application. Instead, I get only "Sent." message in my phone. Below is the output of my sendsms log when I send an MO message...Sorry I have to snip some lines so as not to exceed the 40 KB limit. That is all you get. If there is an error, you get an error. If it is accepted by the SMSbox (this does NOT mean that the bearerbox sent the SMS successfully), then all you'll receive back from the HTTP sendsms cgi is "Sent." That's it, nothing more, nothing less. And all you are getting it from is the SMSbox, which makes sure your message is formatted correctly, does some sanity checking, and if everything SEEMS in order, your message is sent to the bearerbox. Bearerbox is responsible for actual delivery. If your message is rejected by the SMSC, you still will see "Sent." when you submit your SMS, but it really isn't "Sent." to the SMSC, just "Sent." to the bearerbox for further processing. Get it? Check your bearerbox.log or your bearer-access.log (which you should be using to debug) to see if the message was successfully sent to the SMSC. Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: Throttling Support
On Mon, 30 Aug 2004, Rodrigo A. Cremaschi wrote: Look for "throughput" in the userguide The guide lists "throughput" under "CMG UCP/EMI 4.0 and 3.5" -- does this mean that an SMSC running SMPP could NOT use the throughput label with success? It should would be nice if it did work. If it does, why is it listed ONLY under CMG UCP/EMI, and not under either the global SMSC parameters or at least specifically under SMPP? Thanks, beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Binaries
On Mon, 16 Aug 2004, Bret Kumler wrote: > Ok, > > I'm close, I can feel it. > Here's the url which is generated. > > URL = > http://localhost:13013/cgi-bin/sendsms?user=test&pass=test1&coding=1&to=1909 > 2559651&binary=E257C4C15357BA964FD2BEB0738FF5A002C0010673796E63346A& > udh=0605040B84C002010603C4AF87 > > When I copy the url in to the browser it doesn't work. > Could this be a kannel.conf issue? Meaning, am I missing something? After reading the documentation which is very well written and now includes spelling corrections, you'd see that it should look like this: URL = http://localhost:13013/cgi-bin/sendsms?user=test&pass=test1&coding=1&to=1909 2559651&text=%E2%57%C4%C1%53%57%BA%96%4F%D2%BE%B0%73%8F%F5%A0%02%C0%00%00%00%00%01%06%73%79%6E%63%34%6A& udh=%0B%06%05%04%0B%84%C0%02%01%06%03%C4%AF%87 The problems with yours: 1. no binary tag; use text to send the binary message. 2. You must escape the binary message with % signs 3. You must include the count/length of the UDH as the first two chars. I believe yours was 11 long, thus 0x0B == 11 blah blah blah 4. You need to escape the udh with % too Fix thise and you are good to go. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
send-url for HTTP-based relay in 1.3.1
Folks -- Having a little problem with kannel and binary messages sent via HTTP. Right now, I can't seem to successfully convert the text passed by kannel via an HTTP relay connection back to the hex encoded string. The original: UDH: 0B050415810003010301 Txt: 024A3A61A5B991858DB1D5880400D522CAEB2CD49082CAB12418400410B2AD49082CB312408B26D49082CAB12408B2CD49082CAB12418400410B2AD4 What I get from Kannel: [from] => # [to] => 1## [text] => J:a¥¹ ±Õ\0Õ\"Êë,[EMAIL PROTECTED],[EMAIL PROTECTED]&Ôʱ$²ÍI,«A\0A*Ô [smsc] => http [coding] => 2 [udh] => \0\0\0 [textbin] => %b [worthless] => nothing?username=nada [password] => nada I have a function that gets it close (taking each character and trying to convert it to its binary then hex format, taking in account \0 is a null), but not exact. This is as close as I get: [udh] => 0B05040F510003010301 OrigUDH: 0B050415810003010301 [text] => 0204033D5B550858040002005A52181228040A310802000C28081A005A521808310802000C29540029000200 OrigTxt: 024A3A61A5B991858DB1D5880400D522CAEB2CD49082CAB12418400410B2AD49082CB312408B26D49082CAB12408B2CD49082CAB12418400410B2AD4 Any suggestions? Here's my function that I use to parse: function decodebin($str) { $chars = preg_split("//", $str);// split each character into an array $ret = ""; while(list($k,$v) = each($chars)) { // skip first and last; preg_replace returns spaces/nulls as first and last if ($k == 0 or $k == (count($chars)-1)) continue; // check for the \0 null if ($v == "\\") { $backslash = 1; continue; } if ($backslash and $v == 0) { $ret .= "00"; $backslash = 0; continue; } // if we are here, take the ascii val of the character, convert to hex, print leading 0 if less than F $ret .= sprintf("%02X", dechex(ord($v))); $backslash = 0; } return $ret; } --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ --- -- Forwarded message -- Date: Fri, 6 Aug 2004 11:49:41 -0400 From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Mobileway HTTP Array ( [from] => 25378 [to] => 17032033393 [text] => J:a¥¹ ±Õ\0Õ\"Êë,[EMAIL PROTECTED],[EMAIL PROTECTED]&Ôʱ$²ÍI,«A\0A*Ô [smsc] => mobilewayhttp [coding] => 2 [udh] => \0\0\0 [textbin] => %b [worthless] => nothing?username=nada [password] => nada ) In: POST /usa_opera_mnp/usa_opera_mnp.sms HTTP/1.1 HOST: 203.117.144.30 Authorization: Basic dXNhX29wZXJhX21ucDpiakVkbHJwaw== content-length: 229 Subject=Example [MSISDN] List=17032033393 [MESSAGE] Text=0204033D5B55085804051E00051602005A52181228040A310802000C28081A005A521808310802000C2954051E29000200 Binary=05040F51051E051E051E03010301 Length=14 Out: HTTP/1.1 200 OK Date: Fri, 06 Aug 2004 15:49:37 GMT Server: Apache/1.3.27 (Unix) mod_perl/1.27 Content-Type: text/xml;charset="utf-8" X-Cache: MISS from mt1.sg.mobileway.com Transfer-Encoding: chunked aa #Message Receive correctly ORDERID=2291797334 0
Re: [Kannel-Users] Ringtones and Logos over TDMA/CDMA
On Tue, 3 Aug 2004, Alejandro Guerrieri wrote: > I am having some problems using Kannel to deliver messages to a TDMA > network. I've tried many methods and the only one that seems to work is > sending plain text messages using the //SCKL encoding. > > I've been succesful so far sending monophonic ringtones to Nokia terminals, > but I am unable to send monochrome logos. I've been also unsuccessful > sending anything to non-nokia terminals (Mostly Motorola). In the US, you can't send operator logos to phones period. On TDMA networks, you cannot send anything BUT ringtones for monophonics. TDMA/CDMA phones do not support images (picture images or operator logos) via //SCKL. //SCKL ONLY does mono ringtones. > I am encoding the"/" as %2F and the space as "+", as I've found on an old > thread on this list (It was you, Peter?) and as I said, it works for Nokia > Ringtones, but nothing else seems to work. Yeah, that was probably me. I found out later that TDMA/CDMA phones can only do mono ringtones via SMS. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Performance
On Tue, 3 Aug 2004, Yaman Saqqa wrote: > Guys .. anyone knows of any stress test fugures regarding kannel's wap > gateway and/or any lmitations on maximum number of concurrent > connections ... etc We're currently sending 21,000 a day, and both bearerbox and smsbox are running at 0.0% CPU. I'm betting it could get upwards of 500,000 to 1M per day without sweating. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] RE: = SMS Polling
On Sat, 31 Jul 2004, Baden de Bari wrote: > Right, but the how would the messages get from the SMS users to Kannel or > any other provider? > > One recommendation was to ask the provider to allow the use of suffixing > from our connection to their SMSC - as this is a new area for us a little > more explanation is needed. > > We could process all the requests w/ our software, it's just getting the > right data to process. Set up an sms-service group that calls a URL with the text of the message and the mobile number and the short code. The URL is a PHP script. Then you can split out the $to, $from and $text into variables, parse them, cut them, dice them, spit them out, fart on them and generally do whatever you like with them. To respond, use the HTTP SMS thingy in kannel, pass the $from and $to (backwards), change the $text and off you go. It really is easy. There are people on the list willing to accept monetary reward for doing it for you if you feel this is necessary. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] = SMS Polling
On Fri, 30 Jul 2004, Baden de Bari wrote: > We would like to start building a SMS polling application, where by the > SMS user enters the destination phone number, with a specific text to > make their vote - either that, or any message to destination x - ie: #: > 1: (any text) = YES; #: 2: (any text) = NO. Two short codes and a provider to handle them for you. Any message on either short code would be an indication to you that that phone number is voting one way or the other. > What type of infrastructure would we require from a network provider > (obviously, 2-way SMS, no?) - then a tie-in to our app. An app, an SMS gateway (kannel in this case) and an SMPP connection to an SMS aggregator. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] HTTP sendsms interface always return "Sent." ???
When you use the HTTP portion of the smsbox to send your SMS, you are getting a response from the smsbox, not the bearerbox. The smsbox takes your message, checks to see that you have all the minimum necessary variables set and set correctly, then accepts the message, and tells you that it as accepted the message by replying with "Sent." The bearerbox is completely separate. This is when the DLR comes into usefulness -- to find out if the message was accepted by the SMSC or not. I put each message into a mysql database, and use the primary key as the smsid in my DLR url, then wrote a PHP script to update the row for that SMS with the DLR and any other information passed back by the DLR report URL. Beckman On Fri, 30 Jul 2004, Roberto Carlos Navas wrote: > Just wondering why if giving a well setup Kannel SMS gateway, using an > SMSC over SMPP, I always receive the "Sent." HTTP response when sending > over the sendsms interface, even when the SUBMIT_SM fails (on the SMPP > side of the connection)??? > Am I missing something?? > I have enabled the store-file parameter on the bearerbox, so kannel > always retries messages on the store when the SMSC responds with a > negative ACK (submit_sm_resp status != 0). > No matter if I enable or disable the store-file, It always responds > with "Sent.", but watching the bearerbox logs, the message fails to > reach the SMSC, since it receives an SMPP error code. > > Is it that the "Sent." only means it was sent from smsbox to the > bearerbox succesfully?? > > Thanks in advance for any reply, > __ > Roberto Carlos Navas > SubGerente Técnico de Internet > Telemovil El Salvador > Centro Financiero Gigante, Torre "D", Piso 9 > San Salvador, El Salvador > Mobile: +503 8832010 > NOC: +503 2080008 > Fax: +503 2809450 > > --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] SMS newbie
On Mon, 5 Jul 2004, Baden de Bari wrote: > We are looking to integrate SMS notifications with one of our web > applications. Would using Kannel be more efficient (cheaper for us) to > use instead of linking director to a provider's API via POST request > (such as clickatel.com ) ? No, you'd still need an SMSC like clickatel or Mobileway or mobliss or mblox (in the US). Paying for a link would be like $500-$1500/month. Is that cheaper? I'd bet no, but I dunno. > Can anyone recommend some SMSC providers that we can link to through an > API via HTTP POST? - preferably in North America (Canada) ? See above. Beckman ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] help with dlr-url
On Fri, 2 Jul 2004, Dimitris Karathanasis wrote: > could someone help me to write a drl-url script in order to make dlr option > to work? When a new sms is created, I insert it into smslog. The DLR url is: $url = "http://host.com/dlr.php?smsid=".$smsid."&type=%d&to=%P&time=%t";; $mask = 31; In PHP, dlr.php: Pconnect("localhost","88","88","kannel"); $my->execute("update smslog set dlr=".$_REQUEST['type']." where smsid=".$_REQUEST['smsid']); $sql = "update smslog set dlr=".$_REQUEST['type']." where smsid=".$_REQUEST['smsid']; #mail("[EMAIL PROTECTED]", "DLR Report", $_SERVER['REQUEST_URI']."\n".$sql."\n".print_r($_REQUEST,1), "From: [EMAIL PROTECTED]"); If you want the DLR to be mailed, uncomment the mail line. If you want the DLR to update a DB, use the above. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Kannel supporting Red Hat enterprise Server
Yes, it is up and stable, haven't had a problem. Linux localhost.localdomain 2.4.21-9.0.3.ELsmp #1 SMP Tue Apr 20 19:49:13 EDT 2004 i686 i686 i386 GNU/Linux Beckman On Wed, 30 Jun 2004, Chin Kok Joon wrote: > good day to all, > > I got a question regarding whether Kannel is able to support Red Hat > enterprise server cause my company is planning to invest on the > enterprise version. Is there any fellow 'kannelian' using red hat > enterprise server ? may I know if it is stable. > > Millions thanks in advance. > > Regards, > > Chin > > ----------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] NEw to SMS/Kannel (basic questions)
On Tue, 29 Jun 2004, david.g wrote: > Hi, I'm new to this list and to the world of SMS. I've tried searching > through the archives, but I'm looking for some very basic information to > get me started. I'm setting up a prototype server which will send out > very short, plain-text SMS messages. > > Right now, the script I'm using needs to be told which wireless provider > is being used and then just sends an email out (ie to > [EMAIL PROTECTED]). I understand there are some disadvantages to > this, so I started looking into Kannel in hopes that it would be a free > way to send SMS messages without being dependent on the provider. Can > this be done with Kannel? Browsing the archives, it seems I still need > to connect to an "SMSC" (I only have a vague idea what this is), which > will cost money. Is this correct? If so, what is the advantage of using > Kannel over using one of the commercial SMS gateway services like > clickatell? Yes, connecting to SMSC's usually cost money, too much frankly. Clickatell is an aggregator I think -- pretty much the same thing as an SMSC, except they are a step in between you and the Carrier. > Currently my script only works for US wireless vendors who provide an > email interface to sending SMS - from the research I've done, most UK > vendors don't provide this, would I then need to use a SMS gateway to > send messages to UK numbers? Is the US SMS format "standardized" yet? I > seem to recall that being one of the reasons SMS was so slow to take off. No. +1-212-555-1212 is US, +44-2345-6523 is UK Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re[2]: [Kannel-Users] Mobileway Australia
On Fri, 18 Jun 2004, Robert wrote: > Do you get proper DLR for this connection, Peter? I wouldn't say "Proper" -- I get a DLR of 12 when my mask is set to 31. Mobileway submits it to the SMSC, but never responds any more about it after they confirm delivery to the SMSC. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Mobileway Australia
On Thu, 17 Jun 2004, Jarrod Hermer wrote: > If anyone is connecting to Mobileway Australia using SMPP could you tell > me what your TON and NPI settings are for the source address. I am > having a silly problem in that when I send a message to a mobile I have > to prefix the destination MSISDN with a "+", but not the source MSISDN. > I would prefer my application to not add the + and have Kannel do it for > me. Use this: # MobileWay SMPP gateway group = smsc smsc = smpp smsc-id = mobileway preferred-smsc-id = mobileway host = xx.xx.xxx.xxx port = transceiver-mode = no smsc-username = "" smsc-password = "" system-type = "VMA" address-range = "" enquire-link-interval=120 reconnect-delay=10 source-addr-autodetect = no source-addr-ton = 5 source-addr-npi = 0 Works in the US. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] How to test
On Tue, 15 Jun 2004, Yasser Sultan wrote: > Is there a way I ll be able to know that my WAP gateway or sms server is > working fine without having a GSM network to test it . No. Well, maybe. But that's kind of like test driving a toyota to see how your lexus will perform. Besides, why would you want to test your gateway without having something to use it with? Can you give a little more detail? A two line, one sentence question gets you a one word answer. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: MySQL Include Dir a problem
On Wed, 9 Jun 2004, Alejandro Guerrieri wrote: > I think that´s because MySQL is not on the expected locations. > > In my system, mysql headers are on /usr/include/mysql/ and /usr/lib/mysql/ > > First search if the files are already on your system. If they are, try > playing with the --with-mysql= configure files. > > If everything fails, make a symlink on the "right" places to the headers and > lib directories: > > ln -s /usr/local/mysql/include/mysql /usr/include/mysql > > and > > ln -s /path/to/libmysqlclient/dir /usr/lib/mysql > > (If the same logic applies, that should be /usr/lib/mysql/lib/mysql but I > don´t know... try with "locate libmysqlclient.a" ) I was able to compile it by making a new dir with hardlinks to the files. I just don't think that the mysql/ directory should be there in the include lines. The problem is that the mysql install from source (not using rpm's) puts it in /usr/local/mysql (then /lib, /include, etc). So while all of my headers were found: /usr/local/mysql/include/mysql.h /usr/local/mysql/lib/libmysqlclient.a When included in the source, it tried to include: mysql/mysql.h which doesn't exist. I say get rid of the preceding mysql/ so gcc can look for mysql.h in the -I specified directories for it. That way I can specify -I /usr/local/mysql/include and gcc will find it. Right now, gcc is looking in ./mysql/mysql.h, /usr/local/mysql/include/mysql/mysql.h, etc. That's silliness. #include mysql.h; Much better. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
MySQL Include Dir a problem
Under the recent problem a guy had, I'm having a similar problem... Configuring DB support ... checking whether to compile with MySQL support... searching in /usr/local/mysql checking for /usr/local/mysql/include/mysql/mysql.h... no checking for /usr/local/mysql/include/mysql.h... yes checking for mysql/mysql.h... (cached) no checking for mysql/mysql_com.h... (cached) no checking for mysql/mysql_version.h... (cached) no checking for mysql_init in -lmysqlclient... (cached) no checking whether to compile with MySQL support... yes checking whether to compile with LibSDB support... disabled Configuring DLR support ... checking for DLR storage type... mysql Generating output files ... updating cache ./config.cache creating ./config.status creating Makefile creating config.h config.h is unchanged (root) opera-stg: 0 : ~/gateway-1.3.1 --> make Makefile:304: .depend: No such file or directory for dir in gw gw/smsc gwlib test utils wmlscript checks wap; do \ gcc -D_REENTRANT=1 -I. -Igw -g -O2 -I/usr/local/include/libxml2 -I/usr/local/mysql/include -MM $dir/*.c | sed "s:^[^ ]:$dir/&:"; done > .depend In file included from gw/bearerbox.c:23: gw/dlr.h:31:25: warning: mysql/mysql.h: No such file or directory In file included from gw/dlr.c:33: gw/dlr.h:31:25: warning: mysql/mysql.h: No such file or directory In file included from gw/smsc/smsc_at2.c:36: gw/dlr.h:31:25: warning: mysql/mysql.h: No such file or directory In file included from gw/smsc/smsc_cgw.c:64: I know what's wrong, but it is just annoying. The config script finds /usr/local/mysql/include/mysql.h But the following GCC does not. ARGH! Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Does DLR have postgreSQL support?
It does not, though you could write it and contribute it to the code! It probably wouldn't take that much work to do. Beckman On Tue, 8 Jun 2004, John Vincent Mombay wrote: > I'm migrating from MySQL to PostgreSQL. I just wanted to know if DLR > supports postgreSQL. I've checked dlr.c and seems to me it only has > mySQL in it. just needs clarification. ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] RE: Two SMSC or two instances of kannel
On Sat, 5 Jun 2004, Shanavaz E A wrote: > Thanks, but can you just show me how I can use one IP > for transmit and one > IP for recieve in the config. file. group = smsc smsc = smpp host = 123.123.123.123 port = 1235 receive-port = 1235 group = smsc smsc = smpp host = 123.123.123.124 port = 1236 #receive-port = 0 I think. ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] dlr-db
On Wed, 2 Jun 2004, Ivars Jukams wrote: > There is required field 'source' for dlr-storage = mysql, but this field is > not documented. Does anybody know what data type is it? I made field > 'source' varchar(255), but maybe there is better type for this field? I > didn't tested it jet, maybe doesn't work. > > And one more question - what does this error mean: > > PANIC: gwlib/list.c:287: list_lock: Assertion `list != NULL' failed. > > I see it in kannel.log, when I stop kannel. It's probably supposed to be "list is not null" -- probably an obscure bug that wasn't caught, since it doesn't break anything... On 3.23.54: mysql> select count(*) from nuke_comments where pn_email != null; +--+ | count(*) | +--+ |0 | +--+ 1 row in set (0.00 sec) mysql> select count(*) from nuke_comments where pn_email is not null; +--+ | count(*) | +--+ |3 | +--+ 1 row in set (0.01 sec) Note the difference? :-) Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: [Kannel-Users] How to verify Sms if sent to smsc
On Tue, 1 Jun 2004, Julien Buratto wrote: > My problem is about the fact that if no smsc are connected to the bearerbox, > then the smsbox (that it's the real incoming door for sms) will always get > "Sent." even if the sms has not been sent to the smsc. That's because the smsbox has successfully queued it with YOUR SMS Gateway. The DLR's purpose is to report back when the bearerbox sends the message to the SMSC. Smsbox would have to block messages from being accepted and would be significantly slower if it had to wait to see what the bearerbox did with it. smsbox will always reply "Sent" unless you had something wrong, like a bad user. DLR's purpose is to let you know when the message was sent to the SMSC. If you set the DLR when you send your message to the SMSbox/sendsms, then when the message is finally sent, the DLR URL will be called and you will be notified (if you've set up your DLR URL to notify you in some way). To reiterate -- sendsms and the smsbox only accept valid messages and respond as "sent" but the sent refers to sending to the bearerbox, not that the message was successfully sent to the SMSC. THE DLR URL is what is used to notify "you" of a success or failure in sending that sms to the SMSC. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] How to verify Sms if sent to smsc
On Mon, 31 May 2004, Julien Buratto wrote: > Actually the smsbox prints "Sent." on the web interface if called > by a browser when an sms is sent. > > This "Sent." only means "Hey Dude, the bearerbox got the called". > > The bearerbox opens the smsc connection and tries to send the message. > If achieved, stores a DLR and waits for a response from the carrier. > > If the carrier sends the DLR, bearerbox deletes the DLR row stored before > and invoke a > HTTP-GET request to a web page configured. > > What I would like to GET is if the smsc will take care of the message or > not. I use a DLR to invoke an HTTP-GET when the message is delivered/deleted or whatnot. The bearerbox handles whether or not the message is actually delivered to the SMSC, and thus should give you a DLR report on that message when the smsc connection does become available. See dlrmask and dlrurl in the kannel.org documentation. Since you can write a script to handle the DLR URL GET, you can put it in a database or update a row in a DB based on the ID you put in your DLR URL. With my messages, the DLR URL looks like this: http://host/dlr.php?smsid=%d&; some other stuff I can't remember. Before I "send" the message to the smsbox I insert a row with an SMS id (auto-incremented). That is the ID I include in the dlrurl variable I pass to sendsms. Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Allowing someone to connect TO kannel via SMPP
So I want to make an SMPP link between myself and another SMPP host, not an SMSC, but another SMS Gateway of unknown brand. How do I set up a "listener," send/receive ports, and a username/password so that the remote SMS Gateway can make a connection to my Kannel instance? Can Kannel do this? Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] concatenated msg
On Mon, 10 May 2004, Sasko Celakovski wrote: > Anyone experienced a problem with concatenated messages? > > When I try to send message longer then 160 characters the text in the > message gets messed up. If I choose 8-bit data coding its working for Sony > Ericsson T300 but not for other phones that I've tried (Motorola C550, Nokia > 7210 and some more). In my setup, the Kannel gateway is connected to > Comverse ISMSC and concatenation parameter is set in the config file of the > gateway. > > Is there a solution to this? Do I have to set some 'special' values for data > coding, charset etc.? But is the concatenation parameter set up for the user that you are connecting with? group = sendsms-user username = test password = foob concatenation = true max-messages = 30 I don't know if that will help, but I know that's what it says in the documentation. :-) Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: Wap Push, PPG: Sending confusion
On Mon, 10 May 2004, [ISO-8859-1] Aarno Syvänen wrote: > That because there is a bug in test_ppg (or test_ppg and ppg does not > have same bug anymore). Will fix it. Generally speaking, PPG is sending a > xml document, so editing this should be simpler. Ah ha! Oh well. Is there anywhere that might have been documented? Is there a bug tracking tool that you use? > Though ringtones you really should send through sms push. There is a > specific sms for them. Now that I know the UDH string, links on google are a bit easier to find: http://www.nowsms.com/framer.htm?http://www.nowsms.com/discus/messages/132/518.html Aarno -- I've noticed that your responses, while helpful, include suggestions like "You can find it documented somewhere." Since you know your wireless stuff better than anyone here, posting even a single URL to get someone pointed in the right direction would probably be enormously helpful! Just a suggestion. Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Re: Wap Push, PPG: Sending confusion
On Mon, 10 May 2004, Alejandro Guerrieri wrote: > I am using a different approach. I use some "pre-made" hex strings to > manually set the UDH and the "text" (hex encoded binary) that goes on the > request. Then I use sendsms to send the wap push. It works flawlessly. > Hope it helps, It does!!! Why is it so difficult with the PPG? I've built your code into my kannel PHP library. Hopefuly when I get a little better at this, I'll build phpkannel, a PHP interface into Kannel, that lets you do sweet stuff with kannel via a web interface. Since you seem to have gotten this perfect, can you tell me: To send a ringtone via a URL, what Content-Type do I have to send? Does it vary by phone? Thank you -- you've saved me a good amount of time!!! Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] Wap Push, PPG: Sending confusion
On Sun, 9 May 2004, Peter Beckman wrote: > I'm a bit confused, so I have a few questions. Now I've got it so that when I try and do the push, test_ppg hangs. What gives? To get it to hang, I modified the created dates and such. Now at least I don't get an error with my si.xml... ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Wap Push, PPG: Sending confusion
I'm a bit confused, so I have a few questions. 1. Can I send a WAP Push message via SMS? 2. I have a ppg service up and running, and have run test_ppg against it. However, although I've reviewed the docs on openmobilealliance.org, I continue to fail in my test. I've reviewed the 2 posts on this topic as well, but nobody ever posted a successful PAP and SI document for me to test with, and the Kannel documentation I used verbatim doesn't work either: test_ppg output: 2004-05-09 18:27:28 [1] DEBUG: PAP COMPILER: doing semantic analysis for address type unknown address 2004-05-09 18:27:28 [1] DEBUG: using defaults instead of anys 2004-05-09 18:27:28 [1] DEBUG: TEST_PPG: and type bad message response 2004-05-09 18:27:28 [1] INFO: TEST_PPG: In thread 1 1 succeeded, 0 failed 2004-05-09 18:27:28 [1] DEBUG: Thread 1 (test/test_ppg.c:push_thread) terminates. 2004-05-09 18:27:28 [0] INFO: TEST_PPG: 1 requests in 0.00 seconds, inf requests per second 2004-05-09 18:27:28 [0] DEBUG: Waiting for 3 (gwlib/http.c:write_request_thread) to terminate 2004-05-09 18:27:28 [3] DEBUG: Thread 3 (gwlib/http.c:write_request_thread) terminates. 2004-05-09 18:27:28 [2] DEBUG: Thread 2 (gwlib/fdset.c:poller) terminates. 2004-05-09 18:27:28 [0] DEBUG: Immutable octet strings: 59. wapbox.log output: 2004-05-09 18:27:28 [11] DEBUG: HTTP: Creating HTTPClient for `127.0.0.1'. 2004-05-09 18:27:28 [14] DEBUG: PPG: ip_allowed_by_ppg: ip found from allowed list 2004-05-09 18:27:28 [14] INFO: PPG: Accept request from <127.0.0.1> 2004-05-09 18:27:28 [14] DEBUG: PPG: http_read_thread: pap multipart accepted 2004-05-09 18:27:28 [14] DEBUG: PAP COMPILER: unknown element 2004-05-09 18:27:28 [14] DEBUG: PPG: send_bad_message_response: telling pi 2004-05-09 18:27:28 [14] DEBUG: HTTP: Resetting HTTPClient for `127.0.0.1'. 2004-05-09 18:27:28 [14] WARNING: PPG: pap control entity erroneous, the request unacceptable 2004-05-09 18:27:28 [10] DEBUG: HTTP: Destroying HTTPClient area 0x80c8120. 2004-05-09 18:27:28 [10] DEBUG: HTTP: Destroying HTTPClient for `127.0.0.1'. Based on an email in the archive from Aarno: http://www.mail-archive.com/[EMAIL PROTECTED]/msg02058.html I looked to see if the MIME was sent correctly; since I don't seem to control that, test_ppg does, I assume it is correct. Maybe a bad assumption? I didn't worry about the "using defaults instead of anys." Then he said to look at the response, so I did. The problem is my si.xml, which is copied directly out of the wapforum documentation on Service Indication: http://www.wapforum.org/DTD/si.dtd";> http://www.xyz.com/email/123/abc.wml"; created="1999-06-25T15:23:15Z" si-expires="1999-06-30T00:00:00Z">You have 4 new emails Kannel doesn't say what's wrong with it, it just says its wrong. Does anyone know what is wrong with this si.xml document that is causing Kannel to fart? Can someone post an si.xml document that does work with kannel 1.3.1? Thanks, Beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
Re: [Kannel-Users] spaces in form submission
On Sat, 8 May 2004, Martin Goldman wrote: > I posted a message to this mailing list last year about this issue, but > haven't really been following the Kannel project much since. > > When running Kannel and use it to connect to sites like Google or Superpages > on my cell phone, I noticed that when I searched for something that contains > a space, I'd get a "Document contains invalid data" message. When I took the > space out, the search would work fine fine. This problem didn't occur when > using the WAP gateway provided by Verizon (my cellular carrier). > > At one point, this was added the bugs database, but I see it's not there > anymore. I was just wondering, does anybody know if this issue ever got > resolved? If not, does anyone know why this problem is occurring, and how > complicated it might be to fix it myself? No clue if this will help, but... Maybe manually parse the URL and convert spaces to %20 (I think that's a space) or a "+" sign before passing it to Kannel. beckman --- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---
How to send an SCKL message to a phone using Kannel
I'm posting stuff like this to make it easier for newbies like myself to take less time in doing what I've already done. If that made sense, keep reading. First off, get this sweet package from Mike Kohn: http://ringtonetools.mikekohn.net/ Once you do that, you can convert pretty much any format to nokia smart messaging format (using the UDH) or the SCKL format, for phones on a TDMA or CDMA network. An RTTTL (or some people write it as RTTL) converted to Nokia SCKL format looks like this: //SCKL1581010301 024A3A619DBDD1... //SCKL1581010302 6498498A36C592... //SCKL1581010303 BA0BA12420B22C... To send using kannel, set your message, NOT IN BINARY, as that string. Usually most RTTTL files end up being 2-3 SMS messages, so you'll have to send each line in a different SMS message. Your URL would look like: http://xxx.xx.xxx.xxx:13013/cgi-bin/sendsms?user=test&pass=foo&to=%2B15715551212&text=%2F%2FSCKL1581010301+024A3A619DBDD1 Obviously you'd have more past the D1, but you get the idea. Now off to figure out how to send operator logos... Beckman ------- Peter Beckman Internet Guy [EMAIL PROTECTED] http://www.purplecow.com/ ---