Transformation

Some events may need minor modifications prior to alert processing. Examples of such include turning call minutes into $-value in order to assess a user's spending or translating local dial plans into E.164 numbers. Some other cases may be even more mechanical, such as adding zero-duration call-length to call-attempt events in order to be able to process them the same way as call-ends. Or even as simple as dissecting a E.164 username (DID) from a URI.

To facilitate such event adjustments, every single event can be processed by a custom "transformation function". The transformation is written in Javascript, configured in GUI, stored in Elastic-Search and processed upon ingestion of an event. It takes the event as a parameter and has the freedom to modify it. Care shall be applied not to introduce a function that would consume resources excessively.