General Information and Tips¶
Recommended Phone Number Formats¶
It is recommended to use phone numbers in international format in all Daktela modules, e.g. +447911123456 or +420777777777. This ensures that your calls, SMSs, chats and social media successfully match your CRM database entries and previous contact centre activities. It will also prevent any possible phone number compatibility issues.
Changelog¶
List of new features and bug fixes in each version of PBX.
Daktela Technical Support¶
You can reach our technical support specialists using the contact information below:
- email:Â daktela@daktela.com
- phone:Â +420 226 211 245 Â (clients from Czech Republic)
- phone:Â +421 220 510 420 Â (clients from Slovakia)
- phone:Â +48 322 132 939 (clients from Poland)
- phone:Â +44Â 208 089 0443 (clients from the UK)
- online chat Visit our website for more contact information.
Bulk Download Recordings From Daktela¶
Info
If you need to bulk download recording from PBX, it can be done using FTPS. FTPS transfers data encrypted, unlike the regular FTP protocol which is transfering data in open form which can be easily captured, read and misused.
Warning
For the initial permission of FTPs access on your PBX, please contact our technical support. If your username is ftp , root or anonymous , FTPs access will not work.
Below can be found instructions of how to set some of normally used FTP clients.
Total Commander¶
- in case that you do not have installed TC on your computer yet, download 64-bit version from producer's website
- extract downloaded file
- to directory where is installed Total Commander copy content of archive (files libeay64.dll and libssl64.dll)
- in Total commander create connection by standard procedure

- click on the FTP icon

- click on the New connection  button

- fill-in address of your PBX, user name and password for downloading the records
- do not forget to check SSL/TLS possibility
FileZilla¶
- in case that you do not have installed Filezilla on your computer, download it from producer's website and https://filezilla-project.org/download.php?type=client install it

- in menu File  click on the button Site manager

- configure FTP connection to PBX by standard procedure, only at item Encryption  choose Require explicit FTP over TLS
Working With Spreadsheets¶
Importing and Exporting When importing data into Daktela, the data such as phone numbers and dates needs to have the correct format in order to be imported without errors
Warning
For phone number imports, the cell format must be set to "text" . If another format is selected, errors may occur during upload or phone numbers may be clipped, especially if they begin with a 0.
Warning
Formatting of blank columns¶
If your import file contains blank columns, in some cases they a may return an error.
Call Pattern Syntax for Asterisk¶
Warning
If you want to use call patern in dialplan, it has to always start with character _ (underscore) .
X  matches any number from 0-9 scale Z  matches any number from 1-9 scale N  matches any number from 2-9 scale [1237-9]  matches any number or letter in the brackets, in this case these are the numbers (1,2,3,7,9) .  wildcard, matches one or more characters example: this pattern _[2-8]XXXXXXXX matches all numbers of 9 characters length and starting with number from 2-9 scale | is separating prefix from number (example: 9|NXXXXXX would match if someone dial "95551234" but to canals will pass only "5551234") For more detailed informations about asterisk dialplan is possible to use Asterisk documentation.
Basic HTML Tags¶
HTML formatting works on principle of so-called tags using which is possible to determine text formattting, add a hypertext link to text or image, etc.
Example of few basic tags:
 line break (use this tag only at the end of the line, without using this tag will be text without line break) - unpaired tag
 bold font - paired tag, ending with tagÂ
 italics - paired tag, ending with tagÂ
 underlined font - paired tag, ending with tagÂ
 crossed out font - paired tag, ending with tagÂ
 horizontal line - unpaired tag
http://www.youraddress.com"**> displayed text  adding a link to website
For example following signature:
Agent 1
Daktela - all-in-one contact center
http://www.daktela.com/
http://www.voipobchod.cz/shop/
Contact: +420-226211245
can be defined like this:
<b>Agent 1</b><br />
Daktela - all-in-one contact center
<a href="http://www.daktela.com/">http://www.daktela.com/</a>
<a href="http://www.voipobchod.cz/shop/">http://www.voipobchod.cz/shop/</a>
Contact: +420-226211245<br /><br />
Warning
More about basic HTML syntax can be found for example here.
Regular Expression Syntax Basics¶
A brief introduction to syntax of regular expressions: Metacharacters  - characters with special meaning
| Character | Meaning |
|---|---|
| ( ) | groups the characters inside to one group |
| ^ | beginning of the string or beginning of the line |
| $ | end of the string or end of the line |
| [ ] | groups the characters class |
| . | any one character (except new line character \n) |
| { } | specify the repeat range of the previous symbol |
| ** | following character is not metacharacter of regex but regular character |
| | | OR - dividing possible variants |
Quantifiers  - with their help is possible to specify number of repetitions of certain character or group of characters
| Quantifier | Meaning |
|---|---|
| * | 0 or more occurrences of previous character |
| + | 1 or more occurrences of previous character |
| ? | 0 or 1 occurrence of previous character |
| { NUMBER } | occurrence of previous character equals NUMBER in brackets |
| { MIN, } | occurrence of previous character at least MIN times |
| { MIN, MAX } | occurrence of previous character at least MIN times and most MAX times |
Examples: /^\d+$/ - Only number which had at least 1 digit /^(00420|+420)?[2-9]{9}$/ - Phone number in the format: 00420[2-9]XXXXXXXX / +420[2-9]XXXXXXXX / [2-9]XXXXXXXX /^(([\p{Lu}])([\p{Ll}]+))$/ - Name: First capital letter follow unlimited small letters. /^([\w-]+(?:.[\w-]+))@((?:[\w-]+.)\w[\w-]{0,66}).([a-z]{2,6}(?:.[a-z]{2})?)$/ -Email address without special symbols (allow only ._-) Examples of creation of simpler regular expressions can be found here:Â https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285
Warning
For more info about regular expressions, go to e.g. this documentation.
Templating Language¶
Use the templating language to set up:
- templates.
- macro buttons in queues.
- iFrame widgets.
- events.
- bulk sending SMSes.
- actions in decision trees.
Warning
Use simple quotation marks in field path {{statuses['name']}}. Without them {{statuses[name]}} name will be treated as a value.
Format:
-
{{string}}, {{integer}}, {{array}}, {{array[1]}}, [{{fn.implode(', ', array)}}], {{object.name}}, {{object.data[0]}}, {{object['string']}}, {{object[string]}}, {{fn.strtoupper(object[string])}}, {{fn.date('H:i:s')}} When using data:
-
['string' => 'stringValue', 'integer' => 1, 'array' => [1, 2], 'object' => ['name' => 'objectName', 'data' => ['objectData'], 'string' => 'success', 'stringValue' => 'success']] Result:
-
stringValue, 1, , 2, [1, 2], objectName, objectData, success, success, SUCCESS, '.date('H:i:s') Supported functions:
-
Math
-
round, rand, pow, floor, abs
-
Date time
-
time, date, gmdate, strtotime, strtodate
-
Array
-
explode, implode, array_column, array_push, array_merge
-
String
-
trim, strlen, substr, strpos, strstr, sprintf, ucfirst, ucwords, strtoupper, strtolower, strip_tags, str_replace, urlencode, rawurlencode
Arithmetic Operators¶
Arithmetic operators are used with numeric values to perform common arithmetical operations, such as addition, subtraction, multiplication and division. Scope data: ["done" => 9, "total" => 100, "float" => "5.4" ]
- '{{1 + 2}}' -> '3'
- '{{1 + 2 * 3}}' -> '7'
- '{{(1 + 2) * 3}}' -> '9'
- '{{(1.2 + 2,4) * float}}' -> '19.44'
- '{{fn.round((done / total)*100, 2)}} %' -> '9 %'
Conditions¶
Syntax allow use inline condition with using logical and comparison operators. Scope data: ["success" => true, "ok" => "ok", "notOk" => "not ok" ]
- '{{(success) ? ok : notOk)}}' -> 'ok'
- '{{(! success) ? ok : notOk)}}' -> 'not ok'
- '{{1 && (0 || success) ? ok : notOk)}}' -> 'ok'
- '{{1 > 0 && 1 < 1 ? ok : notOk)}}' -> 'not ok'
Examples: Working with text: Data: {"name":"John Smith"}
| example | original | output |
|---|---|---|
| whole string | {{name}} | John Smith |
| strtoupper | {{fn.strtoupper(name)}} | JOHN SMITH |
| char position 0 | {{name[0]}} | J |
| string in template | {{fn.ucwords('good day')}} | Good Day |
| url encode | {{fn.urlencode(name)}} | John+Smith |
Working with time: Data: {"strtotimeValue":"yesterday"}
| example | original | output |
|---|---|---|
| current time | {{fn.date('Y-m-d H:i:s')}} | 2020-01-27 17:01:31 |
| current timestamp | {{fn.time()}} | 1580140891 |
| strtotime | {{fn.strtotime(strtotimeValue)}} | 1579993200 |
| time from string | {{fn.strtodate('yesterday')}} | 2020-01-26 00:00:00 |
| time from string | {{fn.strtodate('yesterday', 'Y-m-d')}} | 2020-01-26 |
Working with numbers: Data: {"numberA":"1.4"}
| example | original | output |
|---|---|---|
| rounding | {{fn.round(1.5)}} | 2 |
| rounding variable | {{fn.round(numberA)}} | 1 |
| generate random number | {{fn.rand(0, 100)}} | 42 |
Working with fields: Data: {"map":{"statusesPK":"name"},"displayName":"title","values":[1,2,3],"forExplode":"hi,hello","statuses":[{"name":"lead","title":"Lead"},{"name":"not_exist","title":"Doesn't exist"}]}
| example | original | output |
|---|---|---|
| list entire number field | {{fn.implode(', ', values)}} | 1, 2, 3, 4 |
| specific value from field | {{values[0]}} | 1 |
| list entire status field | {{fn.implode(', ', fn.array_column(statuses, 'title'))}} | Lead, Doesn't exist |
| split text into field, load second value | {{fn.explode(',', forExplode)[1]}} | hello |
| title of first status in field | {{statuses[0]['title']}} | Lead |
| use variable in field | {{statuses[1][displayName]}} | Doesn't exist |
| use variable in field | {{statuses[1][map.statusesPK]}} | not_exist |
Examples of Events Send an email with current date in the subject.
A ticket with several statuses receives a specific status
Request for activities older than 3 days

Troubleshooting: Deep Distorted Voice¶
In Windows, if you experience distorted and unnaturally deep voice – you sound like Darth Vader – you may need to turn off your sound enhancements on your microphone. Go to Start → Settings → System → Sound → Input → Device properties → Additional device properties , click the Advanced tab and under Signal Enhancements , uncheck Enable audio enhancements .
If you don't have the Signal Enhancements option in the Advanced tab, go to the Enhancements tab and uncheck any enhancements you have enabled.

Changing Your SIP Device and IP Phone Passwords¶
Use this guide to change your SIP Device password, e.g. if you need to remove access for a terminated employee or in case of a security breach.
- In the Main Menu, go to Manage → Devices → SIP Devices:
2. Open the SIP Device where you want to change the password, enter a new password and save your Device:
3. Enter your new password into your IP Phone – see the setup instructions for your specific phone below:
Software Phones
- Daktela SW phone
- WebRTC (beta)
- MicroSIP
- Telephone (macOS)
- Zoiper
-
Linphone Hardware Phones
- Yealink phones
- Siemens Gigaset