how are you feeding the message to kannel?
|-----------------------------------------------------------------------------------------------------------------|
Envíe y Reciba Datos y mensajes de Texto (SMS) hacia y desde cualquier
celular y Nextel
en el Perú, México y en mas de 180 paises. Use aplicaciones 2 vias via
SMS y GPRS online
Visitenos en www.perusms.NET www.smsglobal.com.mx y
www.pravcom.com
On Thu, Mar 5, 2009 at 12:33 PM, Elton Hoxha <[email protected]> wrote:
> Hi again,
>
> the below suggestion "In your sendsms-user do not add dlr-url parameter."
> didnt succeded.
> I removed the line of drl-url from the conf and after restarted the kannel,
> it didnt return back any value at all.
> 2009-03-03 23:18:13 [7543] [4] INFO: Starting delivery report <b> from
> <15106>
> 2009-03-03 23:18:13 [7543] [9] DEBUG: Queue contains 0 pending requests.
> 2009-03-03 23:18:13 [7543] [9] ERROR: URL <> doesn't start with `http://'
> nor `https://'
> 2009-03-03 23:18:13 [7543] [9] ERROR: Couldn't send request to <>
>
> Table 6-16. SMS Push (send-sms) CGI Variables says about dlr-mask:
> Request for delivery reports with the state of the sent message. The value
> is a bit mask composed of: 1: Delivered to phone, 2: Non-Delivered to Phone,
> 4: Queued on SMSC, 8: Delivered to SMSC, 16: Non-Delivered to SMSC. Must set
> dlr-url on sendsms-userdlr-url CGI variable. group or use the
>
> I have to consider the first alternative, defining the url in the
> sendsms-user block and feeding the myid parameter like %p, %P....is it
> possible?
>
> Elton
>
> On Thu, Mar 5, 2009 at 6:10 PM, Alvaro Cornejo <[email protected]>
> wrote:
>>
>> Hi
>>
>> Dlr-url is defined on sendsms-user if you want a dlr with no info from
>> your own. In your case, as you are going to use your own message Id, you
>> have to create it dynamically for each MT and put it in each call to
>> kannel, as my example in previous mail.
>>
>> In your sendsms-user do not add dlr-url parameter.
>>
>> sms statuses are read backwards:
>>
>> 16 = not delivered to smsc
>> 8 = you submitted to smsc. ie smsc tell kannel he has the msg
>> 4 = msg is in smsc queue. ie smsc tell kannel he queued the msg in its
>> queue.
>> 2 = failed
>> 1 = delivered to phone
>>
>> Also note that not all smsc provide all the statuses, mainly status 4 is
>> not provided by all smsc's since smsc's asume that if they got the
>> message, it is queued if not rejected for any reason nor delivered¡?¡?
>>
>> Alvaro
>>
>> On Thu, 2009-03-05 at 17:51 +0100, Elton Hoxha wrote:
>> > As dlr-url is defined statically in the conf file, so which is the
>> > respective parameter for 1111, 2222, etc
>> >
>> > group = sendsms-user
>> > username = b
>> > password = b
>> > dlr-url =
>> > "http://10.1.21.236:2469/KannelGetStatus.asmx/GetStatus?dlrv=%
>> > d&status=%F&myid=(something like $parameter - ?)"
>> >
>> > It is so simple issue, thats why its driving me crazy :)
>> >
>> > By the way....in the delivery reports explanations, which is the
>> > difference between status 4 and status 8?
>> >
>> > Thanks Alvaro
>> >
>> >
>> >
>> >
>> > On Thu, Mar 5, 2009 at 5:38 PM, Alvaro Cornejo
>> > <[email protected]> wrote:
>> > Hi
>> >
>> > It can be just as simple as:
>> >
>> > dlr-url
>> > ="http://10.1.21.236:2469/KannelGetStatus.asmx/GetStatus?dlrv=
>> > %
>> >
>> > d&myid=1111"
>> >
>> > or add any additional info you might need.
>> >
>> > This might be your full call to kannel. Note you will better
>> > urlencode()
>> > the full dlr-url (as well as message text) prior to post it to
>> > kannel to
>> > avoid issues with some chars:
>> >
>> >
>> > http://localhost:13004/cgi-bin/sendsms?username=remindme&password=alerts&to=4043078165&text=test&dlr-mask=31&drl-url='http://10.1.21.236:2469/KannelGetStatus.asmx/GetStatus?dlrv=%d&myid=1111'
>> >
>> > So, for each MT you send to kannel you need to change the
>> > value of
>> > "myid"
>> >
>> > Finally take a look at dlr-mask value in order to get only the
>> > statuses
>> > you are interested in. (31 = All statuses)
>> >
>> > And that's it
>> >
>> > Regards
>> >
>> > Alvaro
>> >
>> >
>> >
>> > On Thu, 2009-03-05 at 17:01 +0100, Elton Hoxha wrote:
>> > > Thanks for your reply.
>> > >
>> > > I think that %i parameter is useful when we deal with
>> > multiple smpp
>> > > connections, making possible to defer the shortcodes from
>> > eachother.
>> > > The scenario that i`m interested is like this:
>> > >
>> > > My application submits an MT message to Kannel adding that
>> > extra
>> > > generated ID (let`s say 1111, to keep track of that sms) to
>> > the URL,
>> > > Kannel forwards it to SMSC and SMSC returns absent
>> > subscriber (phone
>> > > switched off) Nak. Then kannel returns the value 8 or 4 (I
>> > guess so,
>> > > just being submitted to SMSC waiting in the queue). Now,
>> > whenever the
>> > > subscriber switches on the phone and the sms get delivered,
>> > SMSC will
>> > > send an ack to kannel, and I want KAnnel at that moment to
>> > send back
>> > > to me the message status (i guess it will send 1) and that
>> > generated
>> > > ID 1111.
>> > >
>> > > As all parameters are predefined in kannel, please can you
>> > tell me how
>> > > to put the correct parameter for myid.
>> > >
>> > > dlr-url
>> > ="http://10.1.21.236:2469/KannelGetStatus.asmx/GetStatus?dlrv=
>> > > %d&status=%F&myid=?"
>> > >
>> > >
>> > > Many thanks
>> > >
>> > >
>> > >
>> > >
>> > > On Thu, Mar 5, 2009 at 4:42 PM, Alvaro Cornejo
>> > > <[email protected]> wrote:
>> > > Hi
>> > >
>> > > If you are refering to the message unique
>> > identifier, you must
>> > > generate
>> > > it and feed it into the dlr-url. You can feed any
>> > info you
>> > > like to
>> > > dlr-ulr. Kannel will honour that url and will only
>> > replace the
>> > > values he
>> > > know about (%P,%a, %q, etc) the rest of url will be
>> > send back
>> > > exactly as
>> > > you sent it to kannel.
>> > >
>> > > Then when kannel has an dlr to feed you back to your
>> > > application, kannel
>> > > will sent the info provided by the dlr-url and your
>> > script
>> > > will handle
>> > > it as you wish... or simply does nothing if don't
>> > need dlr but
>> > > use a
>> > > fake script just to make kannel feel good ;D
>> > >
>> > > Note that depending on your needs, that unique id
>> > might not be
>> > > necessary. Dlr is used to track message status
>> > -either for
>> > > billing/stats/other- and you can get different
>> > parameters for
>> > > having the
>> > > detailed info, again if needed.
>> > >
>> > > However, if you are refering to smsc id (the
>> > identification of
>> > > the
>> > > "route") it is %i and it will be the id you set on
>> > your smcs
>> > > config.
>> > >
>> > > Regards
>> > >
>> > > Alvaro
>> > >
>> > >
>> > > On Thu, 2009-03-05 at 16:21 +0100, Elton Hoxha
>> > wrote:
>> > > > Hi Alvaro,
>> > > >
>> > > > I was checking the mail list and I am reading your
>> > > communication with
>> > > > other guy regarding dlr-url.
>> > > >
>> > > > Refering to:
>> > > >
>> > > > >>> > --- On Tue, 1/13/09, Alvaro Cornejo
>> > > > >>> <[email protected]> wrote:
>> > > >
>> > > > >>> > From: Alvaro Cornejo
>> > > <[email protected]>
>> > > > >>> > Subject: Re: dlr-url
>> > > > >>> > To: "Drew Stockler"
>> > > <[email protected]>
>> > > >
>> > > > >>> > Cc: [email protected]
>> > > > >>> > Date: Tuesday, January 13,
>> > 2009, 6:27
>> > > PM
>> > > > >>> >
>> > > > >>> > Hi Drew
>> > > >
>> > > > >>> >
>> > > > >>> > The status of your message
>> > is dlrv=8
>> > > that means
>> > > > >>> message delivered to
>> > > > >>> > your smsc. Check docs for
>> > the other
>> > > status
>> > > >
>> > > > >>> > values.
>> > > > >>> >
>> > > > >>> > I'm not sure but I think
>> > that %a and %
>> > > A is "ACK%2F"
>> > > > >>> because it is
>> > > > >>> > the
>> > > >
>> > > > >>> > "sms text part" of the dlr
>> > message. In
>> > > this case,
>> > > > >>> the text received
>> > > > >>> > is
>> > > > >>> > the "ACK" from bearerbox
>> > when
>> > > submitting the message
>> > > >
>> > > > >>> to your smsc.
>> > > > >>> >
>> > > > >>> > I think you don't need this
>> > info to
>> > > match your dlr,
>> > > > >>> I'll add intead an
>> > > > >>> > ID from your own in the
>> > dlr-url so you
>> > > can use it to
>> > > >
>> > > > >>> match dlr with your
>> > > > >>> > database and update the
>> > appropiate
>> > > reccord
>> > > > >>> accordingly to the dlr.
>> > > > >>> >
>> > > > >>> > you can use something like:
>> > > >
>> > > > >>> >
>> > > > >>> >
>> > > > >>>
>> > > > >>>
>> > >
>> >
>> > http://localhost:13004/cgi-bin/sendsms?username=remindme&password=alerts&to=4043078165&text=test&dlr-mask=31&drl-url='http://localhost/sms.php?phone=%p&smsid=[YourOwnId]×tamp=%T&dlrv=%d'
>> > > >
>> > > > >>> >
>> > > > >>> > and have your sms.php script
>> > look at
>> > > the db for the
>> > > > >>> smsid value and
>> > > > >>> > update the status field
>> > accordingly.
>> > > Something like:
>> > > >
>> > > > >>> >
>> > > > >>> > UPDATE table SET dlrv
>> > = $dlrv,
>> > > timestamp=
>> > > > >>> $timestamp WHERE msg_id =
>> > > > >>> > $smsid AND from_number =
>> > > >
>> > > > >>> > $phone
>> > > > >>> >
>> > > > >>> >
>> > > > >>> > Hope helps
>> > > >
>> > > > I would like to ask, while setting this unique ID
>> > from
>> > > application
>> > > > side, how can I represent it in the sendsms-user
>> > block? So
>> > > >
>> > > > dlr-url =
>> > > >
>> > >
>> > "http://10.1.21.236:2469/KannelGetStatus.asmx/GetStatus?dlrv=%
>> > > > d&status=%F&smsid=?"
>> > > >
>> > > > Table 6.9 has all the parameters that we can use,
>> > how can I
>> > > add the
>> > > > escape code here for the smsid??
>> > > >
>> > > > Thanks
>> > > > Elton
>> > > >
>> > >
>> > >
>> > >
>> >
>> >
>> >
>>
>
>