How to Implementcomplex routing logics in Kannel
Hello experts, I am using Kannel 1.5.0 in a production environment in which I have setup 6 SMSC (SMPP) centers (termed as A,B,C,D,E,F) with different Mobile operators SMSC and 3 HTTP relay connectivity with different content provider servers ( termed as X,Y,Z) . All the traffic will be originated from content provided server X. We have to implement some routing logic mentioned below. a) All traffic originated by content provider server X, destined to 123x will route through SMSC A. The is what we are achieving right now as per the below config : For authentication b/w server X and Kannel G/W # group = sendsms-user username =hello password = word forced-smsc=A user-deny-ip = concatenation = false max-messages = 3 omit-empty = true ###SMPP connectivity b/w SMSC A and Kannel G/W group = smsc smsc = smpp smsc-id=A host=1.2.3.4 receive-port =15019 port=15019 smsc-username = M smsc-password = B allowed-smsc-id=A allowed-prefix=”123” New requirements in which we are asked to implement the following routing logic. b) All traffic originated by content provider server X using same user id (hello) ,pass (world) and destined to 123x will route through contact server Y if SMSC A is unavailable . HTTP relay config b/w Kannel GW and content provider server Y is mentioned below. group = smsc smsc = http system-type = generic port = 13015 send-url = https://abc.yxz.com/MTEntryDyn/?MSISDN=+MobileNo+msgdata=+Message+uid=ABCpwd=ABC12unicode=0\r\n;; However the catch is the content provider server Y requires me to use different user ID / password for different users .e.g if the message is originated by user=A of content provider server X destined to user 123 then I have to use UID=ABC and PWD=ABC12 in the above URL . But if the traffic is originated by user=B destined to 123 then I have to use UID=DEF and PWD=DEF12 in the above URL . Expecting a quick response from your side . Regards, Danish
RE: svn r5088 kannel opensmppbox and sqlbox fail to compile with redis
Did you do a make install after compiling Kannel? It looks like a version mismatch. From: users [mailto:users-boun...@kannel.org] On Behalf Of Hanh Le Bich Sent: zaterdag 26 april 2014 4:29 To: users@kannel.org Subject: svn r5088 kannel opensmppbox and sqlbox fail to compile with redis I got exactly same problem. Please help. -- Message: 1 Date: Fri, 25 Apr 2014 15:53:34 +0200 From: seikath seik...@gmail.com To: users@kannel.org users@kannel.org Subject: svn r5088 kannel opensmppbox and sqlbox fail to compile with redis Message-ID: 535a68de.9020...@gmail.com Content-Type: text/plain; charset=windows-1252 Hello guys, Long time no write here ... :) Anyway, I try to compile the kannel with redis, its compiles well: === Configure options cd trunk make clean ./configure \ --prefix=/opt/kannel \ --enable-start-stop-daemon \ --enable-pcre \ --with-redis \ --with-ssl=/usr/lib64/openssl \ Kannel bearerbox version `svn-r5088'. Build `Apr 24 2014 01:12:35', compiler `4.8.2 20131212 (Red Hat 4.8.2-7)'. System Linux, release 3.10.37-47.135.amzn1.x86_64, version #1 SMP Fri Apr 18 03:28:26 UTC 2014, machine x86_64. Hostname localhost, IP 127.0.0.1. Libxml version 2.9.1. Using OpenSSL 1.0.1g-fips 7 Apr 2014. Using hiredis API 0.10.1 Using native malloc. the opensmppbox failes to compile : === cd trunk/addons/opensmppbox make clean ./configure \ --prefix=/opt/kannel \ --with-kannel-dir=/opt/kannel/ \ --enable-ssl \ --with-ssl=/usr/lib64/openssl \ --enable-docs \ the compile error follows: r...@app-01.adaptsms.com:[Fri Apr 25 13:44:39][/opt/installs/kannel/trunk/addons/opensmppbox]$ make make all-recursive make[1]: Entering directory `/opt/installs/kannel/trunk/addons/opensmppbox' Making all in gw make[2]: Entering directory `/opt/installs/kannel/trunk/addons/opensmppbox/gw' if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../gw -I../gw -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -I/usr/lib64/openssl/include -I/opt/kannel/include/kannel -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/lib64/openssl/include -I/usr/include/hiredis -MT opensmppbox.o -MD -MP -MF .deps/opensmppbox.Tpo -c -o opensmppbox.o opensmppbox.c; \ then mv -f .deps/opensmppbox.Tpo .deps/opensmppbox.Po; else rm -f .deps/opensmppbox.Tpo; exit 1; fi opensmppbox.c: In function ?handle_pdu?: opensmppbox.c:1613:6: error: too few arguments to function ?dlr_add? dlr_add(box-boxc_id, msgid, msg2); ^ In file included from opensmppbox.c:79:0: /opt/kannel/include/kannel/gw/dlr.h:100:6: note: declared here void dlr_add(const Octstr *smsc, const Octstr *ts, Msg *msg, int use_dst); ^ opensmppbox.c:1655:6: error: too few arguments to function ?dlr_add? dlr_add(box-boxc_id, msgid, msg2); ^ In file included from opensmppbox.c:79:0: /opt/kannel/include/kannel/gw/dlr.h:100:6: note: declared here void dlr_add(const Octstr *smsc, const Octstr *ts, Msg *msg, int use_dst); ^ opensmppbox.c: In function ?run_smppbox?: opensmppbox.c:2099:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] fd = (int)arg; ^ In file included from /opt/kannel/include/kannel/gwlib/gwlib.h:82:0, from opensmppbox.c:72: opensmppbox.c: In function ?wait_for_connections?: opensmppbox.c:2156:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] gwthread_create(function, (void *)fd); ^ /opt/kannel/include/kannel/gwlib/gwthread.h:91:50: note: in definition of macro ?gwthread_create? (gwthread_create_real(func, __FILE__ : #func, arg)) ^ opensmppbox.c: In function ?smppboxc_run?: opensmppbox.c:2171:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] port = (int)arg; ^ make[2]: *** [opensmppbox.o] Error 1 make[2]: Leaving directory `/opt/installs/kannel/trunk/addons/opensmppbox/gw' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/installs/kannel/trunk/addons/opensmppbox' make: *** [all] Error 2 Could someone help with that issue ? cheers, seikath
RE: OpenSMPPBox: DLR Routing to connected SMPP client
Have the client set registered_delivery to 2. == Rene From: users [mailto:users-boun...@kannel.org] On Behalf Of Saurabh Pandey Sent: vrijdag 25 april 2014 17:06 To: users@kannel.org Subject: OpenSMPPBox: DLR Routing to connected SMPP client Hi, I am stuck in a problem which seems to have a simple solution. Here is my system: SMSC---Kannel---Sqlbox---OpenSMPPbox---SMPP Client Now when SMPP client submits a message, it only gets the intermediate DLR i.e. 8 (Submitted to SMSC). It never receives the final DLR. But when I send SMS from Kannel, I get full DLR (1-delivered). I'm not able to reach a solution. What could be the possible reasons? Anybody knows some fix or suggestion that I could try? Note: There is one line in the Bearerbox log which seems kinda suspicious. INFO: DLR rerouting for smsc id my-smsc disabled. If this is the reason, I didn't find anywhere how to enable DLR rerouting for a particular SMSC. Please help me here. I appreciate your support -Thanks in advance Sam
RE: Limit on Kannel
Did you try to set the throughput in group = smsc? See users manual. From: users [mailto:users-boun...@kannel.org] On Behalf Of Faizan Mirza Sent: vrijdag 25 april 2014 17:25 To: users@kannel.org Subject: Limit on Kannel I have multy modems installed in kannel but due to my telecom restriction they allow limited SMS per hour how to i set SMS limit for example sms go randomly from devices so i want to set limit each device so it will send 100 SMS per hour if more sms come it add it in queue and process as per limit?
RE: sqlbox: save SMS in readable format
Did you try to select UNHEX(msg_data) as unencoded? From: users [mailto:users-boun...@kannel.org] On Behalf Of moz...@gmail.com Sent: donderdag 24 april 2014 19:50 To: users@kannel.org Subject: sqlbox: save SMS in readable format How can we save SMS in readable format in MySQL instead of urlencoded hex?
Re: sqlbox: save SMS in readable format
2014-04-26 14:26 GMT+04:00 Rene Kluwen rene.klu...@chimit.nl: Did you try to select UNHEX(msg_data) as unencoded? It won't work. msgdata is URLencoded depending on the encoding, basically url_encode feature was implemented to prevent problems with different encodings and escaping characters before inserting into Database. I've tried looking into kannel/sqlbox source-code to implement escaping instead of urlencoding but I don't have enough skills in C to do it properly. *From:* users [mailto:users-boun...@kannel.org] *On Behalf Of * moz...@gmail.com *Sent:* donderdag 24 april 2014 19:50 *To:* users@kannel.org *Subject:* sqlbox: save SMS in readable format How can we save SMS in readable format in MySQL instead of urlencoded hex?
RE: SMPP malformed packet
Apologies. I thought you were talking about opensmppbox. Not sure about Kannel bearerbox. From: Rene Kluwen [mailto:rene.klu...@chimit.nl] Sent: zaterdag 26 april 2014 12:30 To: '[Digital^Dude] ®'; 'Alvaro Cornejo' Cc: 'users@kannel.org' Subject: RE: SMPP malformed packet When you send the message, set use_message_payload to an (integer) value 0. From: users [mailto:users-boun...@kannel.org] On Behalf Of [Digital^Dude] ® Sent: donderdag 24 april 2014 13:51 To: Alvaro Cornejo Cc: users@kannel.org Subject: Re: SMPP malformed packet Well, I require the submit_sm to use message_payload instead of short_message field, is there any configurable parameter for that? On Wed, Apr 23, 2014 at 6:54 PM, Alvaro Cornejo cornejo.alv...@gmail.com wrote: Hi No sure if this is the reason but sms lenght protocol only allows messages up to 160 chars on a 7 bit charset therefore, if you set max-sms-octets to over 200, system will trim messages o the equivalent of those 160 chars. If that is the case, then max-sms-octets should not allow values over the equivalent of 160 chars@7 bits. Regards Alvaro |-| Envíe y Reciba Datos y mensajes de Texto (SMS) hacia y desde cualquier celular y Nextel en el Perú, México y en mas de 180 paises. Use aplicaciones 2 vias via SMS y GPRS online Visitenos en www.perusms.com On Wed, Apr 23, 2014 at 12:34 AM, [Digital^Dude] ® millennium@gmail.com wrote: Hello there, Whenever I set max-sms-octets to any value greater than 200, I get an incomplete sms on the handset and the SMPP submit_sm packet is malformed. Tried this with svn versions: r5026 and r5053 Any ideas?
RE: store SMS into MySQL with original text
select unhex(msgdata) as unencoded. From: users [mailto:users-boun...@kannel.org] On Behalf Of moz...@gmail.com Sent: woensdag 23 april 2014 21:57 To: users@kannel.org Subject: store SMS into MySQL with original text Hi, I want to store SMS with its original text into the database instead of the default encoded format. I am using UTF-8 charset due to the Arabic language requirement and all messages are ending up like msgdata:06470627064A002006330628062A064806460020062306460627002006390628062F 062706440648064706270628002006270644063206460627062A064A0020064506460020062C 064606320648063100200641064A002000200644064A0628064A062700200623064606270020 0646062D06280020062806270628062700200648002006450627064506270020064800200623 062E062A064A0020064800200646062706310648062A0648 in the database. How can I store them into readable format or how can I convert them into readable format for the reporting purpose.
RE: 2 Questions re Redis/Debian.
Could you re-run with: valgrind --leak-check=full --track-origins=yes ./opensmppbox? Track origins should be the key. Trying to get this nailed for a while now. == Rene From: users [mailto:users-boun...@kannel.org] On Behalf Of Hanh Le Bich Sent: woensdag 23 april 2014 10:42 To: users@kannel.org Subject: Re: 2 Questions re Redis/Debian. Hello again, Sorry for quite late to reply, hope you has found something useful to fix the smsbox. I send the valgrind checking for opensmppbox as promised. Although greatly appreciate what kannel development team doing, but opensmppbox drains your memory 10 times faster than smsbox, plus some bug remain, the box only appropriate to use in the test bed environment. ==31087== LEAK SUMMARY: ==31087==definitely lost: 78,944 bytes in 4,882 blocks ==31087==indirectly lost: 4,911,232 bytes in 4,859 blocks ==31087== possibly lost: 48,496 bytes in 74 blocks ==31087==still reachable: 3,124,401 bytes in 26,735 blocks ==31087== suppressed: 0 bytes in 0 blocks ==31087== Reachable blocks (those to which a pointer was found) are not shown. ==31087== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==31087== ==31087== For counts of detected and suppressed errors, rerun with: -v ==31087== ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 45 from 10) On Wed, Apr 9, 2014 at 1:33 PM, Hanh Le Bich hanhmi...@gmail.com wrote: Hi, Here is the valgrind log for smsbox, i will do the same with opensmppbox soon. Not sure leak check is fine enough, if you want more like a mem check tools,... please let me know. Let me describe a littler bit for my application back end. It's pretty simple: i make a loop that for each second, it push an sms via kannel CGI for 1K mobile numbers, that mean throughput is 1000 msg/sec. My kannel configuration is simple too, it's only smsbox - bearerbox - SMSC (via smpp), no file storage, no SQL, no dlr (actually dlr-mask=8). Cause the broadcast purpose, I even don't expect the sms can deliver to all end users and the app run some hours per day only. That why i can play with the lasted SVN which don't care so much for the reliability. In the pass when using ver 1.4.3, it was fine for years. After upgrade to 1.5.0, after each few days, i realized smsbox is reset, then i found it exhaust my memory. It's funny that smsbox consume the mem and doesn't release. Example, if it occupies 50% your mem and you stop sms pushing, it will 50% forever except the box restarting. That's all, same server with no other tasks, same back end, just different kannel version. Just paste the valgrind sum in here: ==27581== LEAK SUMMARY: ==27581==definitely lost: 1,077,904 bytes in 67,369 blocks ==27581==indirectly lost: 673,660 bytes in 67,366 blocks ==27581== possibly lost: 160 bytes in 13 blocks ==27581==still reachable: 1,240 bytes in 39 blocks ==27581== suppressed: 0 bytes in 0 blocks ==27581== Reachable blocks (those to which a pointer was found) are not shown. ==27581== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==27581== ==27581== For counts of detected and suppressed errors, rerun with: -v ==27581== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 45 from 10) Regard, Hanh. On Sun, Apr 6, 2014 at 1:25 AM, spameden spame...@gmail.com wrote: 2014-04-05 13:22 GMT+04:00 Hanh Le Bich hanhmi...@gmail.com: Yes, the current revision SVN is not stable enough, especially memory leaking issue of smsbox which have not been solved. It does not happen in ver 1.4.3. Also opensmppbox also has memory issue too. Can you run valgrind over smsbox/opensmppbox and report back? Regards, Hanh. -- Message: 6 Date: Sat, 5 Apr 2014 10:26:55 +1300 From: Mashed Updata mashed.upd...@gmail.com To: users@kannel.org Subject: Re: 2 Questions re Redis/Debian. Message-ID: cakfe-apnd8pupftagt716v-7nnpunf0qcczi8sbsnwifmav...@mail.gmail.com Content-Type: text/plain; charset=iso-8859-1 Thanks Milan, me too. I'm not sold on the idea of using SVN for bleeding edge applications unless you are a developer or a truly hard soul. On 5 April 2014 06:10, Milan P. Stanic m...@arvanta.net wrote: On Fri, 2014-04-04 at 17:33, Mashed Updata wrote: 1. What real advantages does Redis offer to a non-commercial user of Kannel? 2. Any idea when the .deb version of Kannel will catch up to the SVN version? I thought about that i.e. to build .debs from SVN. But which revision from SVN is 'good enough' to roll into Debian package? I have a hope that we will see another stable Kannel release soon. -- Kind Re: 2 Questions re Redis/Debian. -- Arvanta,http://www.arvanta.net Please do not send me e-mail containing HTML code or documents in proprietary format (word, excel, pps and so on) -- next part -- An
RE: svn r5088 kannel opensmppbox and sqlbox fail to compile with redis
Please always copy users list. If you installed the previous version via make install as well, a new make install will overwrite the previous version. == Rene From: Hanh Le Bich [mailto:hanhmi...@gmail.com] Sent: zaterdag 26 april 2014 12:34 To: Rene Kluwen Subject: Re: svn r5088 kannel opensmppbox and sqlbox fail to compile with redis Hi, I downloaded the latest one via svn, then compile, make. Already have old version, how can i clean the previous installation? Make uninstall doesn't work. Thank you. Regards, Hanh. On Sat, Apr 26, 2014 at 5:19 PM, Rene Kluwen rene.klu...@chimit.nl wrote: Did you do a make install after compiling Kannel? It looks like a version mismatch. From: users [mailto:users-boun...@kannel.org] On Behalf Of Hanh Le Bich Sent: zaterdag 26 april 2014 4:29 To: users@kannel.org Subject: svn r5088 kannel opensmppbox and sqlbox fail to compile with redis I got exactly same problem. Please help. -- Message: 1 Date: Fri, 25 Apr 2014 15:53:34 +0200 From: seikath seik...@gmail.com To: users@kannel.org users@kannel.org Subject: svn r5088 kannel opensmppbox and sqlbox fail to compile with redis Message-ID: 535a68de.9020...@gmail.com Content-Type: text/plain; charset=windows-1252 Hello guys, Long time no write here ... :) Anyway, I try to compile the kannel with redis, its compiles well: === Configure options cd trunk make clean ./configure \ --prefix=/opt/kannel \ --enable-start-stop-daemon \ --enable-pcre \ --with-redis \ --with-ssl=/usr/lib64/openssl \ Kannel bearerbox version `svn-r5088'. Build `Apr 24 2014 01:12:35', compiler `4.8.2 20131212 (Red Hat 4.8.2-7)'. System Linux, release 3.10.37-47.135.amzn1.x86_64, version #1 SMP Fri Apr 18 03:28:26 UTC 2014, machine x86_64. Hostname localhost, IP 127.0.0.1. Libxml version 2.9.1. Using OpenSSL 1.0.1g-fips 7 Apr 2014. Using hiredis API 0.10.1 Using native malloc. the opensmppbox failes to compile : === cd trunk/addons/opensmppbox make clean ./configure \ --prefix=/opt/kannel \ --with-kannel-dir=/opt/kannel/ \ --enable-ssl \ --with-ssl=/usr/lib64/openssl \ --enable-docs \ the compile error follows: r...@app-01.adaptsms.com:[Fri Apr 25 13:44:39][/opt/installs/kannel/trunk/addons/opensmppbox]$ make make all-recursive make[1]: Entering directory `/opt/installs/kannel/trunk/addons/opensmppbox' Making all in gw make[2]: Entering directory `/opt/installs/kannel/trunk/addons/opensmppbox/gw' if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../gw -I../gw -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -I/usr/lib64/openssl/include -I/opt/kannel/include/kannel -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/lib64/openssl/include -I/usr/include/hiredis -MT opensmppbox.o -MD -MP -MF .deps/opensmppbox.Tpo -c -o opensmppbox.o opensmppbox.c; \ then mv -f .deps/opensmppbox.Tpo .deps/opensmppbox.Po; else rm -f .deps/opensmppbox.Tpo; exit 1; fi opensmppbox.c: In function ?handle_pdu?: opensmppbox.c:1613:6: error: too few arguments to function ?dlr_add? dlr_add(box-boxc_id, msgid, msg2); ^ In file included from opensmppbox.c:79:0: /opt/kannel/include/kannel/gw/dlr.h:100:6: note: declared here void dlr_add(const Octstr *smsc, const Octstr *ts, Msg *msg, int use_dst); ^ opensmppbox.c:1655:6: error: too few arguments to function ?dlr_add? dlr_add(box-boxc_id, msgid, msg2); ^ In file included from opensmppbox.c:79:0: /opt/kannel/include/kannel/gw/dlr.h:100:6: note: declared here void dlr_add(const Octstr *smsc, const Octstr *ts, Msg *msg, int use_dst); ^ opensmppbox.c: In function ?run_smppbox?: opensmppbox.c:2099:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] fd = (int)arg; ^ In file included from /opt/kannel/include/kannel/gwlib/gwlib.h:82:0, from opensmppbox.c:72: opensmppbox.c: In function ?wait_for_connections?: opensmppbox.c:2156:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] gwthread_create(function, (void *)fd); ^ /opt/kannel/include/kannel/gwlib/gwthread.h:91:50: note: in definition of macro ?gwthread_create? (gwthread_create_real(func, __FILE__ : #func, arg)) ^ opensmppbox.c: In function ?smppboxc_run?: opensmppbox.c:2171:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] port = (int)arg; ^ make[2]: *** [opensmppbox.o] Error 1 make[2]: Leaving directory `/opt/installs/kannel/trunk/addons/opensmppbox/gw' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/installs/kannel/trunk/addons/opensmppbox' make: *** [all] Error 2 Could someone help with that issue ? cheers, seikath
Re: ERROR due to Delivery Reports from different smsc-id
Use the same smsc-id on all of them, but different allowed-smsc-id on each. That way the DLRs will all use the smsc-id, but you use the allowed-smsc-id to route your MTs. Also use smsc-admin-id so that you can start/stop/whatever each bind individually Regards On Thu, Apr 24, 2014 at 10:49 AM, Jeff Thorn j...@thorntechnologies.comwrote: Thanks for the response spamden. That is very unfortunate. We have a legitimate need to have different smsc-ids but have only one account. How feasible would it be to use meta data or some other way to match the sending smsc-id instead of the receiving smsc-id? If all else fails, what is the risk of matching the DLR on destination and timestamp alone? The reason we need multiple smsc-id is because we are routing interactive messages to binds that are less active since many of our other binds may have several thousand messages queued at any given time. If using multiple smsc-ids is not a valid approach, is there some other way to accomplish what we are trying to do. Perhaps the priority field is what we need? How does the priority field affect MT messages on a bind that already has several thousand messages queued for sending by kannel? Thanks! Jeff On Thu, Apr 24, 2014 at 3:23 AM, spameden spame...@gmail.com wrote: 2014-04-24 1:20 GMT+04:00 Jeff Thorn j...@thorntechnologies.com: I've searched the user groups for this issue and everyone says to use the same smsc-id. We specifically need different smsc-ids so our interactive messages can be delivered in real time and not get queued with our bulk messages. Only if you use same bind server and same login you need to use same smsc-id parameter. Because remote server doesn't know through which connection it should send DLR report. Is there anyway to ensure that Delivery Reports come back on the same smsc-id that the message was sent from? Otherwise, I don't understand why there is an option to specify different smsc-ids. It's always the same from which it was sent, just make sure you don't have same credentials / same server specified more than once. Thanks! On Wed, Apr 23, 2014 at 4:45 PM, Jeff Thorn j...@thorntechnologies.comwrote: We are seeing an increased number of error messages like the following: ERROR: SMPP[bind-b]: got DLR but could not find message or was not interested in it idxx dstxxx, type1 We have a number of binds setup to handle bulk messaging (which may queue in kannel) or interactive messaging (which is less frequent). I've noticed these errors occur when we receive the Delivery Report on one bind (bind-b), but the original MT was sent from a different bind (bind-a). In the DLR database table, the message with the same id and dst exists, but the smsc value is different (bind-a vs bind-b). Is there anyway to ensure that Delivery Reports come back on the same smsc-id that the message was sent from? Thanks! Jeff
Re: ERROR due to Delivery Reports from different smsc-id
Hi Juan, That is an interesting approach. Are you saying that if a bind has an smsc-id of bind-a but I add allowed-smsc-id with a value of bind-b then only messages that have the smsc=bind-b in the sendsms URL will get routed to that bind? It doesn't seem like that should work. Am I understanding your suggestion properly? Thanks! Jeff On Apr 26, 2014 10:26 AM, Juan Nin jua...@gmail.com wrote: Use the same smsc-id on all of them, but different allowed-smsc-id on each. That way the DLRs will all use the smsc-id, but you use the allowed-smsc-id to route your MTs. Also use smsc-admin-id so that you can start/stop/whatever each bind individually Regards On Thu, Apr 24, 2014 at 10:49 AM, Jeff Thorn j...@thorntechnologies.com wrote: Thanks for the response spamden. That is very unfortunate. We have a legitimate need to have different smsc-ids but have only one account. How feasible would it be to use meta data or some other way to match the sending smsc-id instead of the receiving smsc-id? If all else fails, what is the risk of matching the DLR on destination and timestamp alone? The reason we need multiple smsc-id is because we are routing interactive messages to binds that are less active since many of our other binds may have several thousand messages queued at any given time. If using multiple smsc-ids is not a valid approach, is there some other way to accomplish what we are trying to do. Perhaps the priority field is what we need? How does the priority field affect MT messages on a bind that already has several thousand messages queued for sending by kannel? Thanks! Jeff On Thu, Apr 24, 2014 at 3:23 AM, spameden spame...@gmail.com wrote: 2014-04-24 1:20 GMT+04:00 Jeff Thorn j...@thorntechnologies.com: I've searched the user groups for this issue and everyone says to use the same smsc-id. We specifically need different smsc-ids so our interactive messages can be delivered in real time and not get queued with our bulk messages. Only if you use same bind server and same login you need to use same smsc-id parameter. Because remote server doesn't know through which connection it should send DLR report. Is there anyway to ensure that Delivery Reports come back on the same smsc-id that the message was sent from? Otherwise, I don't understand why there is an option to specify different smsc-ids. It's always the same from which it was sent, just make sure you don't have same credentials / same server specified more than once. Thanks! On Wed, Apr 23, 2014 at 4:45 PM, Jeff Thorn j...@thorntechnologies.com wrote: We are seeing an increased number of error messages like the following: ERROR: SMPP[bind-b]: got DLR but could not find message or was not interested in it idxx dstxxx, type1 We have a number of binds setup to handle bulk messaging (which may queue in kannel) or interactive messaging (which is less frequent). I've noticed these errors occur when we receive the Delivery Report on one bind (bind-b), but the original MT was sent from a different bind (bind-a). In the DLR database table, the message with the same id and dst exists, but the smsc value is different (bind-a vs bind-b). Is there anyway to ensure that Delivery Reports come back on the same smsc-id that the message was sent from? Thanks! Jeff
Re: ERROR due to Delivery Reports from different smsc-id
Yes, you're understanding it correctly. So you can use bind-a as smsc-id for all the binds, and then use allowed-smsc-id like bind-b, bind-c, bind-d, etc on each and use those as smsc parameter for sending the MTs. DLRs will all use bind-a. Regards. On Sat, Apr 26, 2014 at 11:40 AM, Jeff Thorn j...@thorntechnologies.comwrote: Hi Juan, That is an interesting approach. Are you saying that if a bind has an smsc-id of bind-a but I add allowed-smsc-id with a value of bind-b then only messages that have the smsc=bind-b in the sendsms URL will get routed to that bind? It doesn't seem like that should work. Am I understanding your suggestion properly? Thanks! Jeff On Apr 26, 2014 10:26 AM, Juan Nin jua...@gmail.com wrote: Use the same smsc-id on all of them, but different allowed-smsc-id on each. That way the DLRs will all use the smsc-id, but you use the allowed-smsc-id to route your MTs. Also use smsc-admin-id so that you can start/stop/whatever each bind individually Regards On Thu, Apr 24, 2014 at 10:49 AM, Jeff Thorn j...@thorntechnologies.com wrote: Thanks for the response spamden. That is very unfortunate. We have a legitimate need to have different smsc-ids but have only one account. How feasible would it be to use meta data or some other way to match the sending smsc-id instead of the receiving smsc-id? If all else fails, what is the risk of matching the DLR on destination and timestamp alone? The reason we need multiple smsc-id is because we are routing interactive messages to binds that are less active since many of our other binds may have several thousand messages queued at any given time. If using multiple smsc-ids is not a valid approach, is there some other way to accomplish what we are trying to do. Perhaps the priority field is what we need? How does the priority field affect MT messages on a bind that already has several thousand messages queued for sending by kannel? Thanks! Jeff On Thu, Apr 24, 2014 at 3:23 AM, spameden spame...@gmail.com wrote: 2014-04-24 1:20 GMT+04:00 Jeff Thorn j...@thorntechnologies.com: I've searched the user groups for this issue and everyone says to use the same smsc-id. We specifically need different smsc-ids so our interactive messages can be delivered in real time and not get queued with our bulk messages. Only if you use same bind server and same login you need to use same smsc-id parameter. Because remote server doesn't know through which connection it should send DLR report. Is there anyway to ensure that Delivery Reports come back on the same smsc-id that the message was sent from? Otherwise, I don't understand why there is an option to specify different smsc-ids. It's always the same from which it was sent, just make sure you don't have same credentials / same server specified more than once. Thanks! On Wed, Apr 23, 2014 at 4:45 PM, Jeff Thorn j...@thorntechnologies.com wrote: We are seeing an increased number of error messages like the following: ERROR: SMPP[bind-b]: got DLR but could not find message or was not interested in it idxx dstxxx, type1 We have a number of binds setup to handle bulk messaging (which may queue in kannel) or interactive messaging (which is less frequent). I've noticed these errors occur when we receive the Delivery Report on one bind (bind-b), but the original MT was sent from a different bind (bind-a). In the DLR database table, the message with the same id and dst exists, but the smsc value is different (bind-a vs bind-b). Is there anyway to ensure that Delivery Reports come back on the same smsc-id that the message was sent from? Thanks! Jeff
RE: sqlbox: save SMS in readable format
Thank, but unhex is not showing the message properly. Perhaps spameden is right, its related to encoding and chart-set. All my SMS are in Arabic and when I try to unhex its appears like G'J 3(*HF #F' 9(/'DHG'( 'D2F'*J EF ,F2H1 AJDJ(J' #F' F-( ('(' H E'E' H #.*J H F'1H*H From: spameden [mailto:spame...@gmail.com] Sent: Saturday, April 26, 2014 3:30 PM To: Rene Kluwen Cc: Moazzam Ali; users@kannel.org Subject: Re: sqlbox: save SMS in readable format 2014-04-26 14:26 GMT+04:00 Rene Kluwen rene.klu...@chimit.nl: Did you try to select UNHEX(msg_data) as unencoded? It won't work. msgdata is URLencoded depending on the encoding, basically url_encode feature was implemented to prevent problems with different encodings and escaping characters before inserting into Database. I've tried looking into kannel/sqlbox source-code to implement escaping instead of urlencoding but I don't have enough skills in C to do it properly. From: users [mailto:users-boun...@kannel.org] On Behalf Of moz...@gmail.com Sent: donderdag 24 april 2014 19:50 To: users@kannel.org Subject: sqlbox: save SMS in readable format How can we save SMS in readable format in MySQL instead of urlencoded hex?