# Guide & FAQ

This guide helps you diagnose and resolve common issues with CallOnAlarm. Problems are organized by category for easy navigation.

***

## Quick Diagnosis

Before diving into specific issues, check these common causes:

| Symptom                    | First Things to Check                                       |
| -------------------------- | ----------------------------------------------------------- |
| No events in dashboard     | Account number, server address, firewall                    |
| Events logged but no calls | Connection inactive, no delay rule applied, no contacts     |
| Calls not received         | Phone blocked the number, contact phone off                 |
| Credits depleting fast     | Multiple retries on alarm panel, excessive technical emails |

***

## 1. Connection Issues

### No Events Appearing in Dashboard

Possible causes and solutions:

| Cause                 | Solution                                                                                                             |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Wrong account number  | Verify the account number in your device matches the one shown in your connection's **Connection Key** section       |
| Wrong server address  | Use `sia.callonalarm.io` (not `callonalarm.io` or other variations)                                                  |
| Wrong port            | Use TCP port `5001` for SIA protocol                                                                                 |
| Encryption enabled    | Disable encryption in your alarm panel — CallOnAlarm does not currently support encrypted connections for SIA on TCP |
| Firewall blocking     | Ensure outbound TCP port 5001 is allowed on your network                                                             |
| Device not configured | Verify monitoring/ARC reporting is enabled on your alarm panel                                                       |

How to test:

{% stepper %}
{% step %}

### Trigger a manual test from your alarm panel

Perform a manual test on the panel.
{% endstep %}

{% step %}

### Wait 30 seconds

Allow time for the message to be received and processed.
{% endstep %}

{% step %}

### Check the Events tab

Open the **Events** tab in your dashboard to see if the event appears.
{% endstep %}

{% step %}

### Verify settings if nothing appears

If nothing appears, review each setting listed in the table above (account number, server, port, encryption, firewall, monitoring).
{% endstep %}
{% endstepper %}

***

### Connection Timeout

Symptoms: Your alarm panel shows "communication failure" or "ARC unreachable"

| Cause                  | Solution                                            |
| ---------------------- | --------------------------------------------------- |
| Network instability    | Check your internet connection                      |
| DNS resolution failure | Use Google DNS (8.8.8.8)                            |
| ISP blocking port 5001 | Contact your ISP or use a different network to test |

***

### Same Event Appears Multiple Times

Symptoms: A single alarm trigger creates 2, 3, or more identical entries in the logs

| Cause                              | Solution                                                          |
| ---------------------------------- | ----------------------------------------------------------------- |
| Panel not processing ACK correctly | Set transmission retries to **1** in your panel settings          |
| Manufacturer-specific ACK handling | Some panels have unique protocols — reduce retry attempts         |
| Network packet loss                | ACK may be lost in transit — reducing retries prevents duplicates |

{% hint style="warning" %}
Although safeguards prevent concurrent alert procedures until one is acknowledged, please note that increasing the volume of calls and procedures will accelerate credit consumption.
{% endhint %}

***

### IP Banned by CallOnAlarm

Symptoms: Connection refused, no communication possible

CallOnAlarm has server-side protections against abuse. Your IP may be temporarily banned if:

<table><thead><tr><th width="164.640625">Ban Reason</th><th width="173.9453125">Detection</th><th width="97.3125">Duration</th><th>Solution</th></tr></thead><tbody><tr><td><strong>Buffer Overflow</strong></td><td>Message and buffer length checks.</td><td>6 hours</td><td>Check your implementation — messages should be ~100 bytes</td></tr><tr><td><strong>Invalid Messages</strong></td><td>Message integrity checks.</td><td>1 hour</td><td>Verify CRC calculation and message framing (LF...CR)</td></tr><tr><td>Rapid successive connections and reconnections.</td><td>Monitoring reconnection frequency and causes.</td><td>1 hour</td><td>Implement proper connection handling with backoff</td></tr></tbody></table>

Recovery:

* Bans are automatically lifted after the duration expires
* Fix your implementation before reconnecting
* A valid message resets the error counter

***

## 2. Event Processing Issues

### Events Logged but Unrecognized Code

Symptoms: Event appears with raw code instead of description (e.g., "XY" instead of "BURGLARY ALARM")

<table><thead><tr><th width="243.8046875">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Manufacturer-specific code</td><td>The code is still logged and processed — it may be a proprietary extension</td></tr><tr><td>Non-SIA compliant panel</td><td>Verify your panel supports SIA DC-09 protocol</td></tr></tbody></table>

{% hint style="info" %}
Unrecognized codes are still logged. On **Pro plan and above**, you can add custom codes to your delay rule to process them.
{% endhint %}

***

### Events Logged but Wrong Zone/User Number

Symptoms: Zone shows as "0000" or unexpected values

<table><thead><tr><th width="242.96875">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Panel configuration</td><td>Some panels require zone mapping configuration</td></tr><tr><td>Different data format</td><td>Zone field may contain user ID for arm/disarm events (this is normal)</td></tr></tbody></table>

***

## 3. Phone Call Issues

### No Phone Calls When Events Are Received

Check these items in order:

Step: Is your connection active?

Go to your connection settings and verify **Alert Calling Procedure** is set to **Active**.

<table><thead><tr><th width="249.203125">Status</th><th>Behavior</th></tr></thead><tbody><tr><td>Inactive</td><td>Events logged, NO calls or emails</td></tr><tr><td>Active</td><td>Events trigger calls and emails</td></tr></tbody></table>

Step: Is a delay rule applied?

Check the **Delay Rule Configuration** section in your connection. If it shows "No delay rule applied", you must:

{% stepper %}
{% step %}

### Create a delay rule

Go to **Delay Rules** and create a new delay rule.
{% endstep %}

{% step %}

### Apply the delay rule

Apply the created rule to your connection.
{% endstep %}
{% endstepper %}

Step: Is the event code configured to trigger a call?

In your delay rule, verify the received code is set to **Delayed** or **Instant** (not "None").

Step: Do you have contacts configured?

Check the **Contacts** section in your connection. You need at least one active contact.

Step: Do you have sufficient credits?

Check your credit balance. Each call consumes **2 credits**. If credits are exhausted, no calls will be made.

***

### Calls Triggered but Not Received

Symptoms: Dashboard shows call was made, but phone didn't ring

<table><thead><tr><th width="263.21875">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Anti-spam app blocking</td><td>Add CallOnAlarm number to trusted contacts</td></tr><tr><td>Phone in Do Not Disturb</td><td>Add CallOnAlarm number to allowed callers</td></tr><tr><td>Carrier blocking</td><td>Some carriers block unknown international numbers — contact carrier</td></tr><tr><td>Wrong phone number</td><td>Verify the phone number format (include country code: +33612345678)</td></tr><tr><td>Phone turned off</td><td>Ensure contact's phone is powered on and has signal</td></tr></tbody></table>

{% hint style="warning" %}
After your first real call, save the caller number to your contacts and share it with all registered contacts so they can do the same.
{% endhint %}

***

### Call Received but No Voice Message

Symptoms: Phone rings but silence or immediate hangup

<table><thead><tr><th width="263.33203125">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Poor network quality</td><td>The voice message requires stable connection</td></tr><tr><td>Phone answering too quickly</td><td>Some systems need a moment to connect the audio</td></tr><tr><td>VoIP/virtual number issues</td><td>Some VoIP numbers have compatibility issues</td></tr></tbody></table>

***

### Delayed Calls Not Being Cancelled

Symptoms: You disarm your system but still receive a call

<table><thead><tr><th width="267.58984375">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Cancel codes not configured</td><td>Verify your delay rule has cancel codes (OP, OR, etc.) checked</td></tr><tr><td>Wrong cancel code sent</td><td>Your panel may use a different disarm code — check events log</td></tr><tr><td>Disarm after delay expired</td><td>If you disarm after the delay period, the call is already initiated</td></tr></tbody></table>

***

## 4. Credit Issues

### Credits Depleting Too Fast

<table><thead><tr><th width="266.0546875">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Multiple transmission retries</td><td>Set retries to 1 in your alarm panel</td></tr><tr><td>Duplicate events</td><td>Check for the "same event multiple times" issue above</td></tr><tr><td>Frequent false alarms</td><td>Adjust sensor sensitivity or delay time</td></tr><tr><td>Excessive technical emails</td><td>Reduce technical codes in your delay rule</td></tr></tbody></table>

{% hint style="info" %}
Reminder: Calls consume 2 credits, as does sending 10 technical emails.
{% endhint %}

***

How to Check Credit Balance:

{% stepper %}
{% step %}

### Open Connections

Go to **Connections** in the dashboard.
{% endstep %}

{% step %}

### Manage your connection

Click **Manage** on your connection.
{% endstep %}

{% step %}

### View Credits

View the **Credits** section at the top or check the **Overview** dashboard for low-credit connections.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Credits are automatically reset to 100% on your subscription renewal date. You can top up your credit balance at any time under Connection > Billing > Subscription.
{% endhint %}

***

## 5. Configuration Issues

### Cannot Apply Delay Rule

Symptoms: Dropdown is empty or rule doesn't apply

<table><thead><tr><th width="236.828125">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>No rules created</td><td>Go to <strong>Delay Rules</strong> and create a rule first</td></tr><tr><td>Rule not saved</td><td>Ensure you clicked <strong>Save Rule</strong> after configuration</td></tr></tbody></table>

{% hint style="info" %}
If a newly created Rule does not appear in the connection page list, please refresh your page.
{% endhint %}

***

### Contacts Not Receiving Calls in Expected Order

Symptoms: Wrong person called first

<table><thead><tr><th width="238.17578125">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Priority order</td><td>Contacts are called in the order they appear in the list</td></tr><tr><td>Reorder contacts</td><td>Use arrows to change the call sequence</td></tr></tbody></table>

***

### Technical Emails Not Being Sent

<table><thead><tr><th width="236.078125">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Connection inactive</td><td>Technical emails require the connection to be <strong>Active</strong></td></tr><tr><td>No technical contact</td><td>Configure an email in <strong>Advanced Settings > Technical Contact</strong></td></tr><tr><td>Code not set to Technical</td><td>Verify the code has "Technical" checked in your delay rule</td></tr><tr><td>Not enough credits</td><td>Check your credits balance.</td></tr></tbody></table>

***

## 6. Account & Dashboard Issues

### Cannot Log In

<table><thead><tr><th width="241.19140625">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Wrong email/password</td><td>Use the password reset function</td></tr><tr><td>Email not verified</td><td>Check your inbox (and spam) for verification email</td></tr><tr><td>Account locked</td><td>Contact support@callonalarm.io</td></tr></tbody></table>

***

### Dashboard Shows Wrong Data

<table><thead><tr><th width="242.09765625">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Browser cache</td><td>Clear your browser cache or try incognito mode</td></tr><tr><td>Multiple tabs</td><td>Close other CallOnAlarm tabs and refresh</td></tr><tr><td>Sync delay</td><td>Wait a few seconds and click Refresh</td></tr></tbody></table>

***

## 7. API Issues

### API Returns 401 Unauthorized

<table><thead><tr><th width="247.1484375">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Invalid API key</td><td>Lost your API key or forgot to copy it during creation? Simply create a new one to replace it.</td></tr><tr><td>Wrong header format</td><td>Use <code>Authorization: Bearer YOUR_API_KEY</code></td></tr></tbody></table>

{% hint style="info" %}
Please note that API keys do not expire. We recommend managing your own rotation policy, especially since you can create an unlimited number of keys.
{% endhint %}

***

### API Returns 429 Too Many Requests

<table><thead><tr><th width="247.5703125">Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Rate limit exceeded</td><td>Reduce request frequency</td></tr><tr><td>Implement backoff</td><td>Wait and retry with exponential backoff</td></tr></tbody></table>

***

### API Alert Not Triggering Calls

Same checks as "No Phone Calls When Events Are Received" above:

{% stepper %}
{% step %}

### Connection active?

Is the connection status **Active**?
{% endstep %}

{% step %}

### Delay rule applied?

Is there a delay rule applied to the connection?
{% endstep %}

{% step %}

### Event code configured?

Is the event code set to Delayed or Instant in your delay rule?
{% endstep %}

{% step %}

### Contacts configured?

Are there one or more active (verified) contacts configured for the connection?
{% endstep %}

{% step %}

### Credits available?

Do you have sufficient credits (each call uses 2 credits)?
{% endstep %}
{% endstepper %}

***

## 8. Alarm Panel Configuration Issues

Common configuration issues across all alarm panel brands:

<table><thead><tr><th width="232.63671875">Issue</th><th width="148.546875">Possible Cause</th><th>Solution</th></tr></thead><tbody><tr><td>Connection not established</td><td>Wrong server address</td><td>Use exactly <code>sia.callonalarm.io</code></td></tr><tr><td>Connection not established</td><td>Wrong port</td><td>Use port <code>5001</code></td></tr><tr><td>Connection not established</td><td>Encryption enabled</td><td>Disable encryption/TLS</td></tr><tr><td>Connection not established</td><td>Protocol mismatch</td><td>Select SIA or SIA-DCS protocol</td></tr><tr><td>Events not appearing</td><td>Wrong account number</td><td>Please copy the account number exactly as displayed in the connection settings (case-sensitive).</td></tr><tr><td>Events not appearing</td><td>Monitoring not enabled</td><td>Enable "Report to ARC" or "Monitoring Station"</td></tr><tr><td>Connection drops frequently</td><td>Heartbeat too frequent</td><td>Set heartbeat interval between 30-60 seconds (if configurable)</td></tr><tr><td>Multiple duplicate events</td><td>Too many retries</td><td>Set transmission retry count to 1</td></tr><tr><td>URI format error</td><td>Wrong URI syntax</td><td>Use format <code>ip://ACCOUNT@sia.callonalarm.io:5001/SIA</code> (for panels requiring URI)</td></tr></tbody></table>

{% hint style="info" %}
Tip: Refer to the [SIA DC-09 Alarm Panels Configuration](/equipment-configuration/sia-dc-09-alarm-panels-configuration.md) guide for detailed setup instructions.
{% endhint %}

***

## Diagnostic Checklist

Use this checklist to systematically diagnose issues:

### Connection Not Working

* [ ] Account number matches exactly (including leading zeros)
* [ ] Server: `sia.callonalarm.io`
* [ ] Port: `5001`
* [ ] Encryption: Disabled
* [ ] Firewall: Port 5001 outbound allowed
* [ ] Monitoring enabled on panel

### Events Received but No Calls

* [ ] Connection status: **Active**
* [ ] Delay rule: Applied
* [ ] Event code: Set to Delayed or Instant
* [ ] Contacts: At least one active
* [ ] Credits: Available

### Calls Made but Not Received

* [ ] Phone number: Correct format with country code
* [ ] Phone: Powered on with signal
* [ ] Anti-spam: CallOnAlarm number whitelisted
* [ ] Do Not Disturb: Disabled or number allowed

***

## FAQ

### General Questions

<details>

<summary>How many credits does a call use?</summary>

Each call consumes **2 credits**, regardless of duration or whether the call is answered.

</details>

<details>

<summary>What happens when I run out of credits?</summary>

Events will still be logged, but no phone calls will be triggered. You'll receive email notifications when credits are low.

</details>

<details>

<summary>Can I test without triggering real calls?</summary>

Yes, keep your connection **Inactive** during testing. Events will be logged but no calls or emails will be sent.

</details>

<details>

<summary>What number will call me?</summary>

The caller number varies depending on your geographic region. After activation, trigger a test alert and save the number that calls you.

</details>

<details>

<summary>How many contacts can I add?</summary>

There is no limit to the number of contacts per connection.

</details>

<details>

<summary>Can multiple connections share the same contacts?</summary>

No, contacts are configured per connection. You'll need to add contacts to each connection separately.

</details>

<details>

<summary>Can I use the same delay rule for multiple connections?</summary>

Yes, a single delay rule can be applied to multiple connections.

</details>

### Technical Questions

<details>

<summary>What protocol does CallOnAlarm use?</summary>

CallOnAlarm relies on the **HTTP(S)** protocol for **API** access and uses TCP on port 5001 for the **SIA DC-09** protocol, as implemented by alarm control panels.

</details>

<details>

<summary>How long can a call last?</summary>

Calls have a maximum duration limit. If the recipient doesn't acknowledge within this time, the system moves to the next contact.

</details>

<details>

<summary>What does "acknowledge" mean?</summary>

During the call, a voice message will ask the recipient to press a specific key on their phone. Only pressing this key will acknowledge the alert and stop the calling sequence.

</details>

<details>

<summary>Can I customize the voice message?</summary>

Yes, on **Pro plan and above**, you can even customize the call prefix (requires Business plan) message in your connection's Advanced Settings.

</details>

### Billing Questions

<details>

<summary>How does billing work?</summary>

Connections are billed annually. You receive your full credit allocation upfront when you purchase, renew or recharge.

</details>

<details>

<summary>Can I upgrade my plan?</summary>

You may recharge your plan at any time. Should you require the features offered by higher-tier plans, we invite you to obtain a new connection under the plan that best suits your needs.

</details>

<details>

<summary>What happens if I delete a connection?</summary>

The connection is deactivated and removed from your dashboard. Historical data (logs, invoices) is preserved for compliance purposes. Remaining credits are not refunded.

</details>

<details>

<summary>Why and how are technical emails billed ?</summary>

Technical emails are billed at a rate of 2 credits per 10 messages sent. This pricing model is based on two key factors:

* Reliability & Deliverability: We partner with industry-leading email service providers to guarantee that your technical alerts reach your inbox without delay.
* System Optimization: This billing structure encourages a targeted configuration of your alerts. By selecting only high-priority events, you avoid "notification fatigue" and ensure that critical technical updates receive the attention they deserve.

</details>

<details>

<summary>What happens to remaining credits when I renew or recharge?</summary>

Remaining credits are **not carried over**. Upon renewal or recharge, your credit balance is reset to the full allocation of your plan.

</details>

***

## Still Need Help?

{% stepper %}
{% step %}

### Check the Events tab

Look for error messages or unexpected patterns in the events log.
{% endstep %}

{% step %}

### Review your configuration

Compare your settings with the Getting Started guide.
{% endstep %}

{% step %}

### Contact Support

Email <support@callonalarm.io> with:

* Your account email
* Connection account number
* Description of the issue
* Screenshots if relevant

We typically respond within 24 hours on business days.
{% endstep %}
{% endstepper %}

***

*Last updated: January 2026*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.callonalarm.io/troubleshooting/guide-and-faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
