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 Linksys 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 the Virtual Receiver which sits on
a server at the Alarm Monitoring Center facility. The primary job of the Virtual Receiver is to receive alarm
signals from remote alarm panels utilizing 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 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 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 Linksys device sends a heartbeat packet to the Virtual Receiver every 90 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 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 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 Linksys device defaults as 9997, but any
phone number can be used as long as it is set during the provisioning process.