Concatenate field values into an attribute
You can concatenate multiple field values into a single attribute.
For example, take a case where you want to make use of three separate fields in an event, but need them combined into a single attribute. If a CTI event for an adapter is expected to include,
someUserField1 = 111
someUserField2 = 222
someUserField2 = 333
you would typically create a custom attribute for each one, as in:
MyAttr1 = event.someUserField1
MyAttr2 = event.someUserField2
MyAttr3 = event.someUserField3
This would produce the following:
MyAttr1 = 111
MyAttr2 = 222
MyAttr3 = 333
To combine these three values into one attribute, you can use the characters {+} to concatenate them, using the following format:
MyAttr = event.someUserField1 {+} event.someUserField2 {+} event.someUserField3
or
MyAttr = MyAttr1 {+} MyAttr2 {+} MyAttr3
To produce the same result in each case of:
MyAttr = 111222333
Unidentified values
If only a portion of the requested concatenation exists, a partial value will be provided. For example:
MyAttr = MyAttr1 {} MyAttr4 {} MyAttr3
or
MyAttr = event.someUserField1 {} event.someUserField4 {} event.someUserField3
Will result will in MyAttr = 111333, because MyAttr4/event.someUserField4 was not identified. If none of the referenced fields contain any data, then the attribute will not be tagged. This behavior works even if a fixed string is included as part of the concatenation.
Fixed strings
You can use a constant string in an attribute mapping, whether as part of a concatenation or as a standalone value. The former is useful for cases where one or more characters are needed between pieces of data in received events. In this instance you will use {‘ ’} to enclose the string. For example:
Attribute1 = event.clientIP {+} {‘:’} {+} event.clientPort
If a CTI message from the switch contains clientIP = 10.156.7.7 and clientPort = 9999, then Atrribute1 will be mapped to the value 10.156.7.7:9999.
You may also create an attribute mapping such as the following:
Attribute2 = {‘ABCD’}
In this case the static value of ABCD will be used, rather than a dynamic value from CTI.