Content

Page tree

Hi,

its not quite clear how the default BLF line keys translate some of the SIP messages to their statuses.

Yeah, all can be configured, led color, blinking rates etc, depending on the translated status as visible here: xml_entities.htm?type=LineKey 

What is lacking is the translation of whether the monitored extension is registered or not (or available / unavailable, online/offline).

And no, its not solved by adding the IDLE status, as all extension not in use would be IDLE, whether registered or not.

The only way to do achieve this function is to make an own xml context. Several lines of code, then for each BLF key, for a feature which is pretty standard for other brands...

Is this a bug? Feature request? Oversight? Or are we missing something as users.....

Thank you and sorry for the outcry...


profilePicture

Rocco Radisch

End user

Joined: 24.04.2022

3 Comments

  1. Hi,

    what kind of PBX are you using? What is the xml the PBX sends when a monitored extension goes offline?

  2. End user Rocco Radisch

    Hi,

    we are using MikoPBX, which runs Asterisk 16.16.2. The configuration is quite simplified to the bare minimum. Hints are configured for the BLF events etc. The busy and ringing states do function using the BLF line key. Online/offline states are transmitted, but the phone doesn't translate them.

    Same we tried with a Sangoma Linux Distro with Asterisk 16.25.2 and the whole big Freepbx Configuration.

    When we use the XML configuration, we managed to get the translation working using the ParsingRules below. Its part of what is available on the net, but with customised XPath to translate the messages properly.

    <NotifyParsingRules type="state">

      <!-- when the status is closed set it "Offline" -->

      <level1 translates_to="Offline">/presence/tuple/status/basic[.="closed"]</level1>

      <!-- if <ep:busy/> tag is present se the status to "Busy" -->

      <level2 translates_to="Connected">/presence/dm:person/rpid:activities/rpid:on-the-phone</level2>

      <!-- if <note> content is "Ringing" set the status to "Ringing" -->

      <level2-1 translates_to="Ringing">/presence/note[.="Ringing"]</level2-1>

      <!-- if <note> content is "On Hold" set the status to "Holding" (the phone is holding another call) -->

      <level2-2 translates_to="Holding">/presence/note[.="On hold"]</level2-2>

      <!-- if status is open set it as "Registered" -->

      <level3 translates_to="Registered">/presence/tuple/status/basic[.="open"]</level3>

    </NotifyParsingRules>

    Question is, why cant the phone translate all the messages using the inbuilt BLF line key function. To spare us from this huge block of XML configuration for each button.

  3. Hi, by default when monitoring an extension through a BLF on a Snom phone, five standard status can be used:

        IDLE
        RINGING
        CONNECTED
        HOLDING
        PARKED

    Offline or Closed are not implemented. You can use xml definitions as you posted or change the PBX behavior and send for example CONNECTED when the phone is offline, so the BLF will show the extension is unavailable.