Type the Document Description here!


<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.11';
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>



<span class="page-title-pdf">ESPA Monitor</span>



<div class="fb-like" data-href="https://confluence.wildix.com/x/AgFOAg" data-layout="button_count" data-action="recommend" data-size="large" data-show-faces="true" data-share="true"></div>


 <div class="lang-box-pdf">
	<div>
		<div class="google-lang">
			<div id="google_translate_element">
			</div>
			<script type="text/javascript">
					function googleTranslateElementInit() {
						new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'de,es,fr,it,nl', autoDisplay: false}, 'google_translate_element');
						}
			</script>
			<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
		</div>
		
		<div class="pdf-button">
			<a href="https://confluence.wildix.com/spaces/flyingpdf/pdfpageexport.action?pageId=38666498" alt="Convert to .pdf" title="Convert to .pdf"><img src="https://confluence.wildix.com/download/attachments/14549012/pdf-button-download-wildix-documentation.png"></a>
		</div>
	</div>
</div>


The Document describes how to configure ESPA Monitor.

Created: March 2019

WMS version 4.x

Permalink: https://confluence.wildix.com/x/AgFOAg

Update to WMS version 4.x: in case you've set up the integration on WMS version 3.88, after the upgrade to WMS 4.x, update the configuration following this guide (otherwise the integration will stop working).


In case you are using WMS 3.88, follow the links below for documentation:


ESPA Monitor configuration

Common problem for healthcare/pager devices is that despite of using the protocol with strict specification (ESPA 4.4.4) there is a lot of possibilities in message formats which sent from the device and can be configured on the device to send any kind of information. This way even same models in different installations may send absolutely different messages and have different requirement for messages screening or transmitting into pager/phone devices. To add more flexibility and get rid of BASH programming when setting up the system this version uses set of rules built over POSIX extended regular expressions that can describe messages formats and transformations.


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

There are following special sections:

Section [logger]

Section [rule_*]

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

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.

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:

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


<div class="fb-like" data-href="https://confluence.wildix.com/x/AgFOAg" data-layout="button_count" data-action="recommend" data-size="large" data-show-faces="true" data-share="true"></div>



<div class="ask-question">
		<div class="text-before-buttons">
			<span style="font-size: 24px; text-align: center;">Not finding the help you need?</span><br>
Join the Facebook group to ask a question!
		</div>
<div class="fb-buttons">
<span style="align: center;"><a href="https://www.facebook.com/groups/wildixtechwizards" target="_blank"><img src="https://manuals.wildix.com/wp-content/uploads/2017/03/facebook_tech-wizards.png" alt="facebook_tech-wizards" width="282" height="80" align="center"/></a></span></div>
	</div>