Skip to main content

Intercom

  • Background

  • There are three different "types" of intercoms that need to be accommodated:

  • Physical intercoms that are deployed in the field - we'll refer to these as client intercoms

  • A virtual intercom that is manned by a security officer - we'll refer to these as master stations

  • A virtual intercom that is created on-the-fly by anyone having permissions to call a client intercom from a location other than the security desk - we'll refer to these as virtual intercoms

  • Configuration

  • Need to add a Module

  • Module configuration to include:

  • If intercom system supports video

  • Outbound audio/video costs BluBØX money due to charges incurred by the datacenter.

  • Billing model - .10/call

  • Need to research if this still works when including outbound video from Guard/Master Station back to client intercom

  • Plus one time fixed cost 125/channel

  • Need to control who is able to use Virtual Intercom functionality

  • This will be done via a permission - it will be "Can use Virtual Intercom Functionality" with a boolean type of permission.

  • If you have the permission in "any" scope, AND you can see the intercom (see below), then you can call that intercom from your pc/phone/etc

  • Need to control who is able to see which Master Stations

  • We are not doing this with our permissions model because it is not granular enough

  • We will implement controlling which master stations you see based on explicit grants.

  • There will be a tab added to the Persons screen or possibly a new dedicated screen that allows you to assign master stations to a person (similar to assigning Readers to a person).  This table will be called PersonsIntercoms (master stations are just intercoms with IsMaster true and IsVirtual true)

  • Need to control who is able to see which intercoms

  • We are not doing this with our permissions model because it is not granular enough

  • We will implement controlling which intercoms you see based on explicit grants.

  • There will be a tab added to the Persons screen or possibly a new dedicated screen that allows you to assign intercoms to a person (similar to assigning Readers to a person).  This table will be called PersonsIntercoms (client intercoms will have IsMaster = false and IsVirtual = false)

  • Need to add/edit/view/delete intercom servers - BluBØX only as we will incur additional datacenter costs.

  • Need UI to add/edit/view/delete intercom devices

  • Need to support multiple SIP-based manufacturers, including :

  • Person Reader

  • Axis Door Station

  • 2N

  • Need to capture capabilities of intercom

  • Include video - this should come from metadata we have based on the model

  • If  video, what framerate, etc. - this can't come model-specific metadata as it will vary from device to device based on preference.

  • IP Address and Port of the SIP Server.

  • Whether or not there is an addressable output

  • If so, special command formatting, etc.

  • Username, password, host, etc.

  • Username is the extension in the SIP world, so by controlling passwords for the usernames(extensions), we can multi-tenant a single SIP server across multiple real-world customers.

  • Secure SIP?

  • Need to capture if the "intercom" is physical or virtual (this will be the case for Master Stations)

  • Need to capture if the "intercom" is a Master Station (it is possible that physical master stations will be in the mix beyond our virtualized ones).

  • Consider custom ringtone choice for each extension

  • Would help to distinguish between normal intercoms and the Emergency "blue light" intercoms audibly when the session is initiated

  • View List:

Chart for Intercom.PNG

  • Fields for add/edit screen:

Intercom.PNG

  • Need to research if we can use above information to configure the device itself via SDK

  • Not a problem for the BluBØX Person Reader

  • Camera in intercom is NOT set up as a camera in our cameras table.

  • Camera in BS is reserved for when the camera is being used as a Camera streaming to an NVR, etc.

  • Otherwise, it is an attribute of the Intercom object (yet to be created).

  • Realtime Interaction

  • Need software-based Master station

  • Need to show via Red/Green light if the Master Station has good connection to VOIPNow/FreeSwitch server in Azure

  • May include ability to leave voicemail at Master Station, but probably not at extensions even though it is technically possible

  • Two aspects:

  • Inbound

  • Displays list of both Active and Incoming sessions

  • "Incoming" sessions will ring with their appropriate configured ringtone and will show in flashing red?

  • Ongoing sessions will show as green

  • Ongoing sessions will have a "hold" button in case you need to switch to another ongoing or "incoming" session.  Replaces with "resume" button once clicked.

  • Hitting an incoming call while speaking to an ongoing call will result in dialog: hang up or put on hold?

  • Outbound

  • UI for this needs to look at your permissions and determine what devices you can connect to.

  • Needs a "intercom picker" UI

  • Based on the configuration of each device we know whether or not to show video

  • Outbound calls will also have a "hold" button that changes to "resume"

  • History/Terminated Sessions List

  • Shows as grey - for a session that either was not answered in time or was answered but is no longer active

  • Has a "call back" button/link

  • Need to capture full costs including data outbound (of guard to client)

  • Do we want to store (in Azure) the full session (audio and/or video)?

  • Random Notes

  • We should explore two models:

  • SIP Server in the Cloud (current above spec)

  • SIP Server locally

  • Problem is, you can't use this outside of the site.  So it limits use to only computers/laptops/phones/intercoms that are on the same network (ie, BluSKY in general can't reach it).

  • Look into other Intercom solutions:

  • Look at common intercom functionality

  • Look at third-party software interfaces to their hardware.

  • Look at MXButterfly (virtual PBX)

  • Look at how various verticals use Intercoms - schools versus hospitals, vs other

  • Person Reader:

  • RealSense Sensor supports multiple streams from multiple processes simultaneously

  • Can do standalone Intercom module that supports video and audio through latest SIP Spec

  • Master station side - there's a pure Javascript implementation of SIP library

  • Can install FreeSwitch or VOIPNow on a VM in Azure or use a pre-built machine (prebuilt is around .10 to .86/hr and handles 40 sessions at once)

  • Links to SIP Servers:

  • FreeSwitch SIP server [https://freeswitch.org/](https://freeswitch.org/\\)

  • [https://aws.amazon.com/marketplace/pp/B0191S5CU4](https://aws.amazon.com/marketplace/pp/B0191S5CU4\)

  • VOIPNow SIP Server

  • [https://azuremarketplace.microsoft.com/en-us/marketplace/apps/4psa.voipnow?tab=PlansAndPrice](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/4psa.voipnow?tab=PlansAndPrice\)

  • [https://azuremarketplace.microsoft.com/en-us/marketplace/apps/4psa.voipnow?tab=Overview](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/4psa.voipnow?tab=Overview\)

  • Javascript SIP Library:

  • [https://sipjs.com/](https://sipjs.com/\\)

  • C# Library

  • [https://sipsorcery.codeplex.com/](https://sipsorcery.codeplex.com/\)