Skip to content

Context classification

Last updated:

Browse articles
On this page

BeePanel does not keep its own list of which endpoints are phones and which are trunks. It reads the dialplan context each endpoint is configured with on the PBX and looks it up in two lists you maintain:

  • an endpoint in an internal context is one of your extensions;
  • an endpoint in an external context is a trunk;
  • an endpoint in a context on neither list stays unclassified.

Because the PBX already groups endpoints by context, two short lists usually classify every device. The same lists set the direction of every call in history.

What depends on it

  • Live panel: internal endpoints get extension cards and external endpoints get trunk cards. An unclassified endpoint appears as neither.
  • Call history: direction is derived from where a call starts and where it goes: Inbound, Outbound, Internal, Transit (in through a trunk and out through a trunk, reaching no extension, queue, conference, or service), or Unknown. A call whose origin, or a party that decides its route, is unclassified shows Unknown.

Note

Call history needs the Pro edition. The live panel uses the classification in every edition.

How matching works

  • A context matches only by its exact name, with upper and lower case as written on the PBX.
  • A context belongs to one list at most.
  • A context's role applies to every endpoint configured with it. There is no per-endpoint exception: to treat one endpoint differently, it needs its own context on the PBX.

Choosing the contexts

On FreePBX and Issabel, setup proposes the platform's standard contexts:

Internal: from-internal
External: from-trunk, from-pstn

These fit most systems. Add a context when your PBX puts some extensions or trunks in a custom context. On another Asterisk system both lists start empty, and you enter the contexts from your own configuration.

To see the context of a PJSIP endpoint on the PBX, run this in the Asterisk console and read its context line:

asterisk -rx "pjsip show endpoint 1000"

For a chan_sip peer, run sip show peer <name> instead. The editor's preview in BeePanel shows the same context for every device, so you rarely need the console.

Changing the classification

Prerequisites: a user allowed to manage BeePanel, and a working AMI connection for the device preview.

  1. Open Management > Settings, and choose Edit on the Context classification row under PBX connection.
  2. Enter the internal contexts in Internal and the external contexts in External, one per line or separated by commas.
  3. Check the Device classification preview: it lists every device with its context and the role your lists give it, and updates as you type. Unclassified devices are framed in red.
  4. Choose Save. If devices remain unclassified, BeePanel asks you to confirm.

The live panel follows the change within seconds. Call history applies it to new calls and reprocesses its most recent calls; older calls keep the direction they were given. To apply new lists to older calls under Pro, rebuild call history under Storage and retention; it can rebuild only the calls still in the call history source.

In setup, the Context classification row on the Configuration screen works the same way without the preview, and needs at least one context before setup can finish.

Checking the result

  • The preview shows no unclassified device, unless you left one out on purpose.
  • The live panel shows every extension and trunk you expect.
  • In call history, new calls show a direction rather than Unknown.

Common problems

A context cannot be both internal and external. Remove the overlapping entries.

The same context name is in both lists. Decide its role and remove it from the other list.

BeePanel refused the context authority. Check exact names, overlap, and finite limits.

The server checks rules the editor does not: a name is longer than 128 bytes or contains a control character, the same name appears twice in one list, or the lists are too long, with more than 256 names together. Fix or remove the name, or shorten the lists.

No trusted runtime endpoint catalog is currently available.

The preview needs a working AMI connection. Check the AMI connection row in Settings and the Status page; the lists can still be saved without the preview.

A device is missing from the live panel

Open the editor and find the device in the preview. If it is Unclassified, add its context to the right list. If the device is not in the preview at all, BeePanel received no usable context for it from the PBX: check the endpoint's context setting on the PBX.

Calls show Unknown in call history

Usually the call started on an unclassified endpoint, or one that decided its route was unclassified, when the call was recorded. Find the endpoint in the preview and classify its context; new calls then show their direction. Older calls keep Unknown unless you rebuild call history.

Can’t find what you need? Write to support@beepanel.io.