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.
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)
Visit our website for more contact information.
Bulk Download Recordings From Daktela
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.
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 https://www.ghisler.com/download.htm
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
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.
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
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:
<br /> line break (use this tag only at the end of the line, without using this tag will be text without line break) - unpaired tag
<b> bold font - paired tag, ending with tag </b>
<i> italics - paired tag, ending with tag </i>
<u> underlined font - paired tag, ending with tag </u>
<s> crossed out font - paired tag, ending with tag </s>
<hr /> horizontal line - unpaired tag
<a href="http://www.youraddress.com">displayed text</a> 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 />
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
For more info about regular expressions, go to e.g. this documentation.
Templating Language
Use the templating language to set up:
macro buttons in queues.
bulk sending SMSes.
actions in decision trees.
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, | {{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:
Open the SIP Device where you want to change the password, enter a new password and save your Device:
Enter your new password into your IP Phone – see the setup instructions for your specific phone below:
Software Phones
Hardware Phones