Sorry, forgot to include the list.

2013/7/30 spameden <[email protected]>

> Hi
>
>
> 2013/7/30 <[email protected]>
>
>
>>
>> Please see my responses inline highlighted in yellow. Would appreciate
>> your feedback. Thanks for your help.
>>
>> On Tue, Jul 30, 2013 at 9:33 AM, spameden <[email protected]> wrote:
>>
>>> Hi
>>>
>>> 2013/7/30 Oladeji Oladeji <[email protected]>
>>>
>>>> Kannel bearerbox version `1.4.3'. Build `Mar 27 2013 08:45:56',
>>>> compiler `4.4.7 20120313 (Red Hat 4.4.7-3)'. System Linux, release
>>>> 2.6.32-279.14.1.el6.x86_64, version #1 SMP Tue Nov 6 23:43:09 UTC 2012,
>>>> machine x86_64. Hostname mobilise.kannel01, IP 192.168.2.140. Libxml
>>>> version 2.7.6. Compiled with MySQL 5.1.66, using MySQL 5.1.66. Using SQLite
>>>> 3.6.20. Using native malloc.
>>>>
>>>> Status: running, uptime 7d 6h 39m 37s
>>>>
>>>> WDP: received 0 (0 queued), sent 0 (0 queued)
>>>>
>>>> SMS: received 7449523 (0 queued), sent 5920323 (224 queued), store
>>>> size -1
>>>>
>>>> SMS: inbound (9.07,9.69,11.85) msg/sec, outbound (20.72,20.33,9.42)
>>>> msg/sec
>>>>
>>>> DLR: 122538 queued, using mysql storage
>>>>
>>>> Box connections:
>>>>     smsbox:(none), IP 127.0.0.1 (0 queued), (on-line 7d 6h 39m 37s)
>>>>
>>>> SMSC connections:
>>>>     *smsc-mo*    SMPP:1xxxx/5020:yyy:'VMA' (online 10061s, rcvd
>>>> 4021039, sent 5835872, failed 431745, queued 13602 msgs)
>>>>     *smsc-mt*   SMPP:2xxx/5020:yyy:'VMA' (online 10062s, rcvd 169235,
>>>> sent 84451, failed 2836, queued 0 msgs)
>>>>
>>>>
>>>> Per the kannel status page above, I have 2 SMSC connections directly to
>>>> operator. Connection1 (*smsc-mo *for broadcast messages) is configured
>>>> for a throughput per  second (TPS) of 70 by operator, Connection 2 (*
>>>> smsc-mt*  for Charging MT), TPS of 60. The kannel config file is
>>>> pasted below:
>>>>
>>>> I have 2 questions:
>>>>
>>>> 1. As observed above I am only sending only 20 msg per second, yet the
>>>> BB  queue for smsc-mo has started to build up. It only goes down after if I
>>>> reduce the sending rate from the application or stop sending for  a while.
>>>>   The operator insists I have 70 TPS. If this true, what settings in my
>>>> kannel configuration file may be causing BB queue to grow, even when I am
>>>> no where close the TPS configured by the operator. Asked differently, what
>>>> settings can I change to improve the performance and reach the capacity
>>>> configured for the connection without getting queue build up.
>>>>
>>>
>>> kannel's web interface reports speed incorrectly in most cases if you're
>>> not checking whilst sending happens (first number means speed for last 5
>>> minutes if i'm not mistaken, last is overall speed).
>>>
>>> you can check speed via grep'ing / awk'ing your smsc log. ---
>>>
>> banji:  the rate shown on kannel status page matches the rate I see when
>> I grep access.log files
>>
>

>
>
 OK, just for me it was the case when I had similar problem like you.


>>> as I can see you've already tweaked max-pending-submit as well as
>>> wait-ack thing. -
>>>
>> banji:  These two settings are  the ones I am not most unsure about.
>> What is the rule of thumb? If I want to get to 70 message per second
>> throughput and assuming the smsc connection can handle it, what should
>> these parameters be set to?
>>
>
> well, max-pending-submits is unofficial setting restricts how much
> 'outstanding' operations can be between you and smsc provider.
>
> let's say if there i 40 set that means there can be 40 submit_sm without
> submit_sm_resp sent to your smsc.
>
> wait-ack is the time which kannel waits for ACK before resending the
> message 2nd time.
>
>>
>>> do you see any throttling errors at all in your smsc log?
>>>
>> banji: No throttling error. This is what leads me to believe the problem
>> may not be from operator side.
>>
>
> that's good, actually you might try increasing throughput parameter to 60
> and max-pending-submits to 45 and play with them (you might get throttling
> error tho).
>
> personally I'm using formula throughput + max-pending-submits = THROUGHPUT
> of your SMSC
>
> in your case 30 + 45 or 35 + 40.
>
>>
>>> you can also measure speed by sniffing your network interface and
>>> counting submit_sm per second in any sniffer (ethershark, ettercap, etc).
>>>
>> banji: Ok will try this. Not sure why this will be different from
>> counting the submit_sm per second in the log file.
>>
>
It will get you the real picture, incase there is something wrong how
kannel counts how many MTs are going per second.

>
>
>
>>> from the page you've sent I can see you're using smsbox only, do you use
>>> DLR reports at all? try sending test batch of MT without DLR reports and
>>> see if speed improves.
>>>
>>
>> I set dlr-mask to 1 with the understanding that I will get a delivery
>>  report ONLY  if the message is successfully delivered. Yet I get quite a
>> few "got DLR but could not find message or was not interested in it
>> id<2596568125> dst<xxxxxxxxx>, type<2>" ERROR messages in smpp.log. After
>> the queue has dissolved I will try a batch without DLR report.
>>
>

Kannel only asks DLR for 1st part of the concatenated message (>160chars
for latin or >80 for ucs2).

So if your SMSC provider sends for all parts even if there is
registered_delivery flag set to 0 you can safely ignore this message.

On the other hand there is sometimes problems with msg-id (i.e. SMSC gives
you hexadicimal number), if its the case and you can't match DLR to your
existing entry in the MySQL check manual for msg-type-id setting.

>
>
>
>>
>>>
>>> 2. Smsc-mt is used for MT billing. It appears the only SMS that are
>>>> delivered to phones which have sufficient airtime balance are counted as
>>>> sent in kannel's counter. The outbound sending rate also does not reflect
>>>> The traffic on the Smsc-mt connection. I expect all messages that leave
>>>> kannel Via that connection to counted as part of the statistics but is
>>>> clearly not the case. Is this a kannel bug?
>>>>
>>>>
>>>>  I don't get what you mean here. Kannel's counter reflects all sms sent
>>> through it even if they are not delivered to the phone. Kannel just reports
>>> what sent/received to/from the upstream SMSC providers.
>>>
>>
>> *smsc-mt*   SMPP:2xxx/5020:yyy:'VMA' (online 10062s, rcvd 169235, sent
>> 84451, failed 2836, queued 0 msgs). For the smsc-mt connection which is
>> used for MT billing, I push more than 200k per day, yet the counter only
>> shows 84451 as sent in last 7 days. This happens to about same number of
>> successfully delivered messages - message is delivered only when there is
>> sufficient credit on the phone.
>>
>

OK, most likely it's because when you send through kannel long messages,
kannel splits them and reports them as 1 message instead of multiple.

If you want to get real number here you might need to split manually using
UDH field/parameter.


>
>
>
>>> also
>>>
>>> >port = 5020
>>>
>>> >receive-port = 5020
>>>
>>> you can replace with:
>>>
>>> port = 5020
>>>
>>> transceiver-mode = 1
>>>
>>>> Thanks
>>>>
>>>> Banji
>>>>
>>>>
>>>> Below is my kannel.conf file.
>>>>
>>>> #--- mysql connection
>>>>
>>>> group = mysql-connection
>>>>
>>>> id = mydlr
>>>>
>>>> host = localhost
>>>>
>>>> username =xxx
>>>>
>>>> password = xxx
>>>>
>>>> database = xxx
>>>>
>>>> max-connections = 1
>>>>
>>>>
>>>> #---- DLR table structure
>>>>
>>>> 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
>>>>
>>>>
>>>> # Default kannel configuration file
>>>>
>>>> group = core
>>>>
>>>> admin-port = xxxx
>>>>
>>>> admin-password = xxxx
>>>>
>>>> status-password = yyyy
>>>>
>>>> admin-deny-ip = "*.*.*.*"
>>>>
>>>> admin-allow-ip = "127.0.0.1"
>>>>
>>>> smsbox-port = 13013
>>>>
>>>> #wapbox-port = 13002
>>>>
>>>> #box-deny-ip = "*.*.*.*"
>>>>
>>>> box-allow-ip = "127.0.0.1"
>>>>
>>>> wdp-interface-name = "*"
>>>>
>>>> log-file = "/var/log/kannel/bearerbox.log"
>>>>
>>>> access-log = "/var/log/kannel/access.log"
>>>>
>>>> log-level = 0
>>>>
>>>> dlr-storage = mysql
>>>>
>>>> sms-resend-retry = 0
>>>>
>>>> #group = wapbox
>>>>
>>>> #bearerbox-host = localhost
>>>>
>>>>
>>>> # Configuring the smsBox
>>>>
>>>> group = smsbox
>>>>
>>>> log-file = "/var/log/kannel/smsbox.log"
>>>>
>>>> log-level = 0
>>>>
>>>> bearerbox-host = 127.0.0.1
>>>>
>>>> sendsms-port =  6013
>>>>
>>>> global-sender = 6013
>>>>
>>>>
>>>>
>>>> group = sendsms-user
>>>>
>>>> username = xxx
>>>>
>>>> password = yyy
>>>>
>>>> #forced-smsc = smsc-mo
>>>>
>>>> #default-smsc = smsc-mo
>>>>
>>>> dlr-url=xxx?dlr=%d&dest=%p&report=%A"
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> #---- This is connection to smpp simulater
>>>>
>>>> group = smsc
>>>>
>>>> smsc = smpp
>>>>
>>>> smsc-id = smsc-mo
>>>>
>>>> allowed-smsc-id = smsc-mo
>>>>
>>>> #denied-smsc-id = smsc-mt
>>>>
>>>> host = a.b.c.d
>>>>
>>>> port = 5020
>>>>
>>>> receive-port = 5020
>>>>
>>>> smsc-username = xxx
>>>>
>>>> smsc-password = yyy
>>>>
>>>> system-type = 'VMA'
>>>>
>>>> service-type = 'test'
>>>>
>>>> log-file = "/var/log/kannel/smpp.log"
>>>>
>>>> log-level = 0
>>>>
>>>> interface-version = 34
>>>>
>>>> address-range = ''
>>>>
>>>> msg-id-type = 0
>>>>
>>>> throughput = 45
>>>>
>>>> max-pending-submits = 40
>>>>
>>>> wait-ack = 600
>>>>
>>>>
>>>> #---- This is connection to smpp simulater
>>>>
>>>> group = smsc
>>>>
>>>> smsc = smpp
>>>>
>>>> smsc-id = smsc-mt
>>>>
>>>> allowed-smsc-id = smsc-mt
>>>>
>>>> host =  a.b.c.d
>>>>
>>>> port = 5020
>>>>
>>>> receive-port = 5020
>>>>
>>>> smsc-username = xxx
>>>>
>>>> smsc-password = yyy
>>>>
>>>> system-type = 'VMA'
>>>>
>>>> service-type = 'test'
>>>>
>>>> log-file = "/var/log/kannel/smpp.log"
>>>>
>>>> log-level = 0
>>>>
>>>> interface-version = 34
>>>>
>>>> address-range = ''
>>>>
>>>> msg-id-type = 0
>>>>
>>>> throughput = 45
>>>>
>>>> max-pending-submits = 40
>>>>
>>>> wait-ack = 600
>>>>
>>>
>>>
>>
>

Reply via email to