In celebration of OTRS 9th birthday *, the community is pleased to publish the following two News/Stories.

Today's News

Extension VI - Dispatching by artificial intelligence!

by Martin Edenhofer

How about artificial intelligence? You want to have your machines working for you? Here it is, the first step for OTRS to support your agents in the daily work with OTRS.

This extention allows you to automatically route/dispatch incoming email based on the used language in the email to a certain Queue.

One business case example, a middle size company with customer support has 30 agents, each of the support request can be solved with 3 min. less effort. The calculation would look like:

30 Agents, 15 Ticket a day (9.000 Tickets a month), 3 min. less effort per Ticket

 --> 300h savings per month
 --> avarage cost for one agent (incl. office, ...) per month 4.500 EUR

 ---> 7.500 EUR savings per month

 ===> 90.000 EUR savings per year

How it works
In the admin interface > postmaster filter you can manage your own filters. After the package is installed you also can select a new X-Header, called X-NLP-Language.

This new header can be used to create new filters to dispatch incoming emails. E. g. match "X-NLP-Language: es", set "X-OTRS-Queue" to "spanish requests".

Try and check it out, send an email to your OTRS with spanish content in there and the new Ticket will be dispatched to the "spanish requests" queue! Enjoy!

OTRS 3.0

Just install the package via the package manager.

Available via OPAR


Martin Edenhofer (

Extension VII - The MySQL Booster

by Andre Bauer & Daniel Obee

Hi all,

since a while I'm working at solving the worst flaws in the OTRS SQL performance. MySQL Booster 1.1.4 is the newest outcome of this, much more complete and much easier to configure than before.

These bugs describes why this package is, needed:

This is the result in my test system:

Screen OTRS Standard with MySQL Booster
Customer Search in AgentTicketPhone+Email 17 sec. 1.3 sec. 13 times faster!
Search Tickets for a customer 1.5 sec. 0.5 sec. 3 times faster!
Ticket Status View with open Tickets 16 sec. 2.5 sec. 6.4 times faster!

How to install
A) Download, unzip and install the opm file Your system should work the same as before. Maybe the status view will load somewhat faster, all other enhancements need some configuration. Direct download

B) Define the quality of your CustomerID and CustomerUserLogin Check your Kernel/ for the CustomerUser DB (defined as $Self->{CustomerUser}) after

        # customer uniq id
        CustomerKey => 'username', 
        # customer #
        CustomerID  => 'id',
enter the following lines:
        # SearchKeyType used in ticket searchs
        SearchKeyType => {
            CustomerID        => 'int', # 'int', 'low', 'cas' or 'var' - see UserCustomerID in Map
            CustomerUserLogin => 'low', # 'int', 'low', 'cas' or 'var' - see UserLogin in Map

'int' and 'var' are OTRS standard. In most cases they are rather useless. Mail addresses and user logins seldom are integer and 'var' needs to be lowered, which causes MySQL not to use indexes. That's why I added the qualities 'low' and 'cas' for databases where the columns in question are already lowered ('low') or case sensitive ('cas'). I think in most setups a username will be lowered due to this, so we profit from intelligent db design.

C) Define the quality of all fields of your database This guarantees the best possible performance in all customer searches. BTW: Nothing we do here would harm a normal OTRS performance. As everything except 'int' is treated as 'var' and lowered... now, it can't get any worse Example:

  [ 'UserCustomerID', 'UserID',       'id',            1, 1, 'int', '', 0, '_blank' ],
  [ 'UserLogin',      'Username',     'username',      1, 1, 'cas', '', 0, '_blank' ],
  [ 'UserFirstname',  'Vorname',      'firstname',     1, 1, 'var', '', 0, '_blank' ],
  [ 'UserLastname',   'Nachname',     'lastname',      1, 1, 'var', '', 0, '_blank' ],
  [ 'UserEmail',      'E-Mail',       'email',         1, 1, 'low', '', 0, '_blank' ],

It's been 14 days now since I installed it on our productive system and it's been running without any flaws. In fact the database hasn't seen any peaks since then and the slow query log runs empty. That said you should put an index on ticket_history.article_id - deleting tickets took ages without.

Available via Forum


Greets Dan

* This is the Birthday Party of the OTRS Software (March 11th 2002, was the first official release of OTRS). Later, the Company OTRS AG was founded in 2003. The Open Source Project was founded in 2001 by Martin Edenhofer.
Copyright © 2011 OtterHub / OTRS Community