# Beacon Scanner Start Monitoring

Starts monitoring a region to detect when that region as been entered or exited.

{% hint style="info" %}
Beacons are a class of BLE devices. Kalipso Supports Eddystone and iBeacon. Nomenclature from Eddystone to iBeacon may vary. Please read notes.
{% endhint %}

Action available for the following operating systems:

![](/files/kfMeq0OanEe5OOx5RmUn)

### Parameters

* **Region Code** *\<string>*
* **Beacon Type** *\<numeric>*
  * 1 - iBeacon
  * 2 - Eddystone

*iBeacon*

* **ID1 UUID** *\<String>*
* **ID2 Major** *\<numeric>*
* **ID3 Minor** *\<numeric>*

*Eddystone*

* **ID1 Namespace ID** *\<String>*
* **ID2 Instance ID** *\<String>*
* **ID3 Minor** *\<String>*

{% hint style="info" %}
The concept of monitoring for a region is to try to detect when we entered the proximity of a region or left the proximity of that region.
{% endhint %}

{% hint style="info" %}
The amount of time to consider that a region has been left is defined in [**Beacon Scanner Initialize**](/kalipso5/developing/form/actions/actions-description/group-communications/beacon-scanner-initialize.md) action.
{% endhint %}

{% hint style="info" %}
A region is an abstract concept that can represent a single beacon or a group of beacons. For example if you specify a Region Code for iBeacon and you fill in only the **ID1 (UUID)** parameter, all the beacons that have that UUID independently of their major or minor IDs will be considered to belong to that region. But if you specify all 3 IDs (UUID, Major and Minor), then the region will actually only target that specific beacon. The same concept can be applied to Eddystone.
{% endhint %}

{% hint style="info" %}
On iOS, for iBeacons you have to specify at lest the UUID, you cannot specify a region that is valid for all beacons.
{% endhint %}

{% hint style="info" %}
On iOS, monitoring is limited to 20 regions.
{% endhint %}

{% hint style="info" %}
On iOS, for iBeacons, the permission for "Location Always Usage" is required.
{% endhint %}

{% hint style="info" %}
If you call this action with a region code that already existed, that region will be replaced by this one.
{% endhint %}


---

# 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://doc.sysdevmobile.com/kalipso5/developing/form/actions/actions-description/group-communications/beacon-scanner-start-monitoring.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.
