Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »



Dec 04, 2020 16:53

#

EN | IT | FR | DE

Document description

Created: March 2019

Permalink:


ESPA Monitor configuration

Configuration file is organized as ini-style key-value sets split into sections.

There are following special sections:

  • [logger]: represents logger configuration
  • [rule_*]: any section name starts with rule_ is message parse and action rule
  • Pager configuration section may have any name which is not conflicting with special sections listed above.

Section [logger]

  • log_level=<level> where level is a number between 1 and 5 describing verbosity of logs
  • log_type = file | syslog
  • log_file = <path to log file> must be set for log type ‘file’

Section [rule_*]

  • Rule name must start from rule_ and have unique name
  • Rules evaluated from top to bottom according to pattern best match

If some rule has most common pattern then it should be placed at the bottom of the configuration file.

  • pattern = <regex> pattern for message to match. Pattern is POSIX extended regular expression
  • action = call|callscript|skip call - place a call with set parameters into spool_dir configured in pager
  • callscript - call the script with command line parameters
  • skip - just skip the message
  • callerid = line CallerID parameter to place into call. May contain variables
  • context = line context to place the call into. Default is ‘alarm’
  • extension = line extension. Default is ’s’. May contain variables
  • channel = line Channel parameter for call file. May contain variables
  • callscript = <comman> script to call for action script. May contain variables
  • value[name]=<regex> set up values to use in parameters. Name is variable name that can be used as $name in configuration lines like callerid etc.

regex is POSIX extended regular expression over incoming message. 

Value built as a set of matches enclosed into () in the pattern.

in example for message: AP CHAMBRE 11 we can set up value

like value[number]=^AP CHAMBRE ([0-9]+)$. In this case resulting

variable $number will have value ’11’


There are special variables %alarm%, %message% and %number% that can be used in the configuration.



Pager configuration

Section name may be any but different from special names defined above.

  • host=<hostname|ip> IP address or host name to connect
  • port=<port> TCP port for connection
  • protocol=espa|ascii define protocol to use. ESPA 4.4.4 or ASCII messages. Default is espa
  • no_check_bcc=yes|no whether check or not checksums for ESPA messages.  For most systems 

set to ‘yes’ to skip BCC checking.

spool_dir=path spool directory for call weaver to place call files

default_rule=rule_name use this rule as default

rules=<comma separated> Comma separated list of rule names to use for this pager. Other 

rules are not going to be validated.  

Configuration example:

Let’s review ESPA Televic system.

It may receive messages of following types:

  • AP CHAMBRE 12
  • AT CHAMBRE 14
  • PT CHAMBRE 12
  • T AP CHAMBRE 12
  • R AP CHAMBRE 12

Messages may have leading or trailing whitespaces. Messages AT and PT should have no action.


The working configuration is as following:

[logger]
log_level=3
log_type=file
log_file=/var/log/espamonitor.log

[paging_1]
host=10.135.0.254
port=4001
protocol=espa
no_check_bcc=yes
spool_dir=/var/spool/callweaver/outgoing/
default_rule=rule_skip
rules=rule_call_ap:rule_call_rt
selection=bestmatch ;chain|firstmatch

; message processing rules
; patterns are POSIX extended RE 
; action: call|none|path where path is command line with arguments for shell script
; for ESPA there is special variable %number% exists
; rules

[rule_call_ap]
pattern=^[ ]*AP[ ]+[^ ]+[ ]+[0-9]+[ ]*$
action=call
value[room]=^[ ]*[^ ]+[ ]+CHAMBRE[ ]+([0-9]+)[ ]*$
value[addr]=^[ ]*[^ ]+[ ]+([^ ]{2})[^ ]*[ ]+[0-9]+[ ]*
value[alarm]=^[ ]*([^ ]+)[ ]+.*$
callerid='"$alarm $addr" <$room>'
extension=$alarm
channel=Local/1234@users
context=alarm

[rule_call_rt]
pattern=^[ ]*(R)|(T)[ ]+[^ ]+[ ]+[^ ]+[ ]+[0-9]+[ ]*$
action=call
value[num]=^[ ]*[^ ]+[ ]+[^ ]+[ ]+[^ ]+[ ]+([0-9]+)[ ]*$
value[addr]=^[ ]*[^ ]+[ ]+[^ ]+[ ]+([^ ]{2})[^ ]*[ ]+[0-9]+[ ]*
value[alarm]=^[ ]*([^ ]+[ ]+[^ ]+)[ ]+.*$
callerid='"$alarm $addr" <$room>'
extension=$alarm
channel=Local/1234@users
context=alarm

[rule_skip]
action=none


Common configuration for ESPA Televic system:

[logger]
log_level=3
log_type=file
log_file=/var/log/espamonitor.log

[paging_1]
host=10.135.0.254
port=4001
protocol=espa
no_check_bcc=yes
spool_dir=/var/spool/callweaver/outgoing/
default_rule=rule_makecall

; message processing rules
; patterns are POSIX extended RE 
; action: call|none|path where path is command line with arguments for shell script
; for ESPA there are special variables %number% and %message% 
;
; rules

[rule_makecall]
action=call
callerid=\"%message%\" <%number%>
value[ext]="^([^ ]{3}).*$/\1
extension=$ext
channel=Local/1000@users
context=alarm



Not finding the help you need?
Join the Facebook group to ask a question!
facebook_tech-wizards

  • No labels