Remote Programming of Alarm Panels over IP
Our IP Alarm Monitoring Solutions supports both panel initiated and Alarm Company initiated upload download calls. All devices provisioned for use with the solution automatically include the ability to go into Upload/Download (UDL) Mode to allow remote programming of alarm panels (or other control equipment). This is a very important feature that has been overlooked by the majority of our competitors.
The Goal of Universal Upload/Download
Alarm Companies worldwide have existing systems in place for remotely programming their alarm panels via upload/download (UDL) software and modems over analogue landline phone networks. Millions of Customer phone numbers are entered into UDL software databases and Alarm Company phone numbers are programmed into millions of alarm panels. The goal of IP Alarms was to migrate these systems from analogue to IP without a requirement for Alarm Companies to make any hardware or software changes either at their offices or at the Customer premises. The solution had to allow an upload download session over IP from any make and model of alarm panel currently in use with its compatible UDL software and modem.
In order to accomplish this task, a method of mapping analogue telephone numbers to digital IP phone numbers needed to be put in place. This was done by the use of something called a Uniform Resource Identifier (URI). It is a compact string of characters for uniquely identifying a physical resource. In our case, that physical resource is a Cisco VoIP adapter installed on a network at an Alarm Company office or at a Customers home or business premises.
RFC Reference: http://www.ietf.org/rfc/rfc2396.txt
Such a mapping allows an alarm panel to dial its existing UDL phone number and be connected to the Alarm Company over the Internet. It would also allow the UDL software and modem at the Alarm Company to dial an existing phone number entry, yet be connected to the Customer alarm panel via the Internet rather than over a landline. Obviously this has to be done without the use of a 3rd party VoIP provider network which would not work for reasons well documented, so where exactly does this mapping take place ?
The answer is that it takes place within a software component called a Virtual Receiver which sits on a server within our AlarmCloud Platform. The primary job of the Virtual Receiver is to receive alarm signals from remote alarm panels utilizing Cisco/Linksys VoIP adapters for transmission over IP. An additional feature of the Virtual Receiver allows it to distinguish between alarm calls and UDL calls. When a UDL call is detected, the phone number to URI mapping is used to redirect the call to the correct recipient.
Typical Upload/Download Scenario
To provide an overview of UDL support within the Linksys Solution, we will use an example Alarm Company with two Customers. Customer 'A' allows the Alarm Company to dial in to program the panel but Customer 'B' only allows UDL to be initiated from their end. It is presumed that both Customers have an IP Alarms provisioned Linksys device connected to their alarm panel and the Alarm Company have a Cisco/Linksys SPA3102 provisioned for UDL.
Let's say that the Alarm Company have a phone entry of 1234567 in their UDL software for Customer A. The UDL Modem will be connected into the PHONE port of a Linksys SPA3102 rather than into a landline phone wall socket. When the UDL modem goes off hook and dials 1234567, the call will automatically be sent over IP to the Virtual Receiver at the Monitoring facility - just as it would for all other phone numbers that are dialed for other Customers. The Virtual Receiver detects the call and searches for the 1234567 phone number in the analogue to URI mapping table. If a mapping is found, the call is redirected to the URI of the Customers Cisco/Linksys device and the alarm panel will answer the call.
So how does the Virtual Receiver keep track of client URI's if they do not have fixed IP addresses or dynamic domain names? Well, each client Cisco/Linksys device sends a heartbeat packet to the Virtual Receiver every 50 seconds. The Virtual Receiver stores the IP address and port number detected from the incoming packet in the mapping table and uses it as part of the URI. If the Customers IP address changes, the new IP address will be detected from the next heartbeat packet and the mapping will be updated accordingly.
Moving on to Customer 'B' who will only allow panel initiated calls. Let's say their panel is programmed with a UDL phone number of 4445555. This phone number has to be entered into the Linksys device during the provisioning process so that the Cisco/Linksys can recognise it as a UDL call. When the panel goes off hook and dials 4445555, the call will automatically be sent over IP to the Virtual Receiver. The Virtual Receiver detects the call and searches for the 4445555 phone number in the Alarm Company table. If the number is found, the call is redirected to the URI of the Linksys device at the Alarm Company and the UDL software will answer the call. This process is fully transparent to both the calling and called adapters and the Monitoring Server does not take part in any of the calls once they are connected.
In both examples, calls will be logged by the Virtual Receiver for audit purposes.
Technical Requirements for Alarm Company Initiated Calls
If an Alarm Company requires the ability to initiate remote programming from their office, there is a requirement to port forward a range of ports in the Alarm Company router. This is usually simple process for most Alarm Companies and IP Alarms provide complete documentation and support.
The usual technical challenges apply when trying to achieve a connection with a Client device and difficulty may be experienced with a small number of client routers. Where the client Cisco/Linksys device is behind a symmetric NAT router (approx 2% of cases) or where a firewall with SPI (stateful packet inspection) is getting in the way, the only solution is to port forward ports in the Client router.
Technical Requirements for Alarm Panel Initiated Calls
There is usually no requirement for port forwarding in the client router as there is port forwarding in place at the Alarm Company router. The Upload/Download telephone number in the Cisco/Linksys device defaults as 9997, but any phone number can be used as long as it is set during the provisioning process.