Of course you're free to use whatever setup it fits your taste. I'm just telling that even with the http overhead it'll perform way better than spawning a new process on each SMS you get.
Regarding dlr report, if you get the DLR's on sqlbox, you could add a unique identifier inside dlr-url and parse it from sqlbox's sent_sms table. Regards, Alex On Fri, Sep 17, 2010 at 11:32 AM, dorian <doria...@o2.pl> wrote: > Well. I know the difference between fork and pthread_create. > > Anyway the http client work (even if it is thread not a process) is > waste of time for me. > Additionally I am forced to have working http server also which also do > a silly work for me (taking CPU time and RAM). > > I am trying to find out the way to have dlr report but not to be forced > to run http server since dlr reply is handled with sqlbox and it is > enough for me. > (on condition that I am able to bound sms with dlr) > > > Dorian, > > > > Kannel uses threads. It doesn't fork. > > > > There's a _huge_ difference in terms of cost between a thread and fork. > > > > Using "exec" is a very bad idea in terms of performance and security. > > > > Regards, > > > > Alex > > > > On Fri, Sep 17, 2010 at 10:59 AM, dorian <doria...@o2.pl > > <mailto:doria...@o2.pl>> wrote: > > > > 1. See DEBUG line. Even if it is thread it takes time and RAM to > > create, > > the thread running take time preparing http request, my http server > > waste time to handle the request etc. > > 2. I need dlr feedback > > > On Fri, 2010-09-17 at 09:26, dorian wrote: > > > > > >> Right. > > >> But for http connection the kannel's clients is forked (at least > it > > >> looks like according to the logs: 'DEBUG: HTTP: Creating > > HTTPClient'). > > >> Such fork is almost the same as exec'ing external process. > > >> > > > > > > How do you know it is fork? > > > It could be thread or even simple function call. > > > > > > > > >> So I prefer exec my script rather than kannel's http client. > > This way > > >> the are no resources consumed by http server and the time > > needed for > > >> http request compose and parse is saved. > > >> > > >> In case of sms reception I have a chance to do that - there is > > "exec" > > >> config keyword. > > >> But dlr has to be handled via http. > > >> > > >> What is more - since sqlbox do "the database registration" > > without my > > >> intervention I do not need any drl handler. > > >> But not to have errors in kannel log I am forced to use http > > server. > > >> > > >> And having similar "exec" config parameter against dlr-url I > > could try > > >> to use dummy script like "/bin/false" or something like this > > which for > > >> sure would be faster. > > >> > > > > > > Better solution could be not to request delivery report when > sending > > > message and then there is no need for dlr handling at all. > > > > > > > > >>> Hi, > > >>> > > >>> The "exec" script is another process started each time and is > more > > >>> expensive than attempting to fetch a dlr-url. The http server, > > >>> initially takes up some resources (memory) but it remains > > constant and > > >>> CPU utilization is overall lower. > > >>> > > >>> That's the whole purpose of the dlr-url. To get your dlrs in a > > databse > > >>> in the format that you want. > > >>> > > >>> BR, > > >>> Nikos > > >>> ----- Original Message ----- From: "dorian" <doria...@o2.pl > > <mailto:doria...@o2.pl>> > > >>> To: "Alvaro Cornejo" <cornejo.alv...@gmail.com > > <mailto:cornejo.alv...@gmail.com>> > > >>> Cc: <users@kannel.org <mailto:users@kannel.org>> > > >>> Sent: Friday, September 17, 2010 1:06 AM > > >>> Subject: Re: sms - dlr bounding > > >>> > > >>> > > >>> There is nothing magical in sqlbox. > > >>> It sits between bearerbox and smsbox and it just records data > > in the > > >>> database. > > >>> Each message = 1 record in the table independetly if the > > message is > > >>> outgoing sms (MT) , incoming sms (MO) or delivery report. > > >>> It is nice and simple way to have a full history of > communication. > > >>> > > >>> So I do not need any extra dlr message handling - a record in the > > >>> database if enough for me. > > >>> But only on condition that it would be possible to recognize > > which dlr > > >>> record corresponds to the record describing sent sms. > > >>> > > >>> On the other hand the method with dlr-url _requires_ the > > existence of > > >>> the url if I want to avoid stupid log entries. > > >>> > > >>> What is more kannel unnecessarily runs the http client to make > > dlr-url > > >>> fetch. It is waste of CPU time RAM usage etc. > > >>> > > >>> In case of sms receiving there is a "exec" entry (sms-service) > > which > > >>> allows me to forget about http protocol and get all data > > directly with > > >>> my shell script. > > >>> This way I would not need any working http server (which takes > > next > > >>> resourses) but dlr-url requires such server. > > >>> > > >>> > > >>> > > >>> > > >>>> How it works is, once kannel receives a dlr, it matches > > against its > > >>>> dlr database, if got a macth, it then calls your own dlr-url to > > >>>> trigger your own application so you can reccord the status and > do > > >>>> whatever you want with it. If the dlr is for a final status, the > > >>>> kannel deletes that dlr reccord. > > >>>> > > >>>> With sqlbox, I don't know how dlrs exactly works. Have you > > tried to > > >>>> put in your dlr-url your own id only? does kannel complains > > that it is > > >>>> not a valid url ? > > >>>> > > >>>> Regards > > >>>> > > > |-----------------------------------------------------------------------------------------------------------------| > > >>>> > > >>>> Envνe y Reciba Datos y mensajes de Texto (SMS) hacia y desde > > cualquier > > >>>> celular y Nextel > > >>>> en el Perϊ, Mιxico y en mas de 180 paises. Use aplicaciones 2 > > vias via > > >>>> SMS y GPRS online > > >>>> Visitenos en www.perusms.NET > > <http://www.perusms.NET> www.smsglobal.com.mx > > <http://www.smsglobal.com.mx> y > > >>>> www.pravcom.com <http://www.pravcom.com> > > >>>> > > >>>> > > >>>> > > >>>> 2010/9/16 dorian <doria...@o2.pl <mailto:doria...@o2.pl>>: > > >>>> > > >>>> > > >>>>> Thanks a lot for reply. > > >>>>> > > >>>>> Using the sqlbox I see now the MT and DLR record in the > > database which > > >>>>> has the same 'dlr_url' field with my id and it looks like the > > >>>>> problem is > > >>>>> solved. > > >>>>> > > >>>>> Anyway is it the only solution? > > >>>>> > > >>>>> The 'dlr_url' field contains the whole http link which for me > is > > >>>>> completely useless and is needlessly long as the only sms id is > > >>>>> interesting. > > >>>>> > > >>>>> Next subject is that having database I do not need to fire > > up any http > > >>>>> url when delivery report is sent back. It waste of CPU time > > only. > > >>>>> So I am looking for something which could give me > > same/similar results > > >>>>> in database without necessity of creating dlr http site Such > > site is > > >>>>> completely useless for me. > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>>> you need to add your own different id to each of your > > messages in the > > >>>>>> dlr-url you send with the message. > > >>>>>> > > >>>>>> > > >>>>>> > > > |-----------------------------------------------------------------------------------------------------------------| > > >>>>>> > > >>>>>> Envνe y Reciba Datos y mensajes de Texto (SMS) hacia y > > desde cualquier > > >>>>>> celular y Nextel > > >>>>>> en el Perϊ, Mιxico y en mas de 180 paises. Use aplicaciones > > 2 vias via > > >>>>>> SMS y GPRS online > > >>>>>> Visitenos en www.perusms.NET > > <http://www.perusms.NET> www.smsglobal.com.mx > > <http://www.smsglobal.com.mx> y > > >>>>>> www.pravcom.com <http://www.pravcom.com> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> 2010/9/16 dorian <doria...@o2.pl <mailto:doria...@o2.pl>>: > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>>> Let's assume that I am sending 3 sms'es (MTs) to switched off > > >>>>>>> terminal. > > >>>>>>> Next the terminal is switched on. > > >>>>>>> Let's assume the only 2 of them are delivered. > > >>>>>>> > > >>>>>>> The (maybe stupid) question is: > > >>>>>>> how to find out which dlr report refers to which sms sent? > > >>>>>>> > > >>>>>>> I cannot find a "key" which could be used to "bind" dlr > report > > >>>>>>> with sms > > >>>>>>> as a result I don't know how to detect which sms has been > > discarded. > > >>>>>>> > > >>>>>>> I am using bearerbox-sqlbox-smsbox with CIMD2 smsc. > > >>>>>>> > > >>>>>>> > > >>>>>>> Regards > > >>>>>>> Dorian > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>> > > >>> > > >>> > > >> > > >> > > > > > > > > > > > > > >