Target release1.0
Epic

Document status
Document owner
Designer
Developers
QA


Goals

Background and strategic fit

BLF is a valuable feature for Snom customers, like enterprises who are looking to assist in connecting their customers to a live, available person as well as save business phone use time. Overall, it enables businesses to streamline their communication and better serve customers. BLF aka Extension monitoring has been utilized in numerous ways by businesses using Snom phone systems with multiple extensions. The current implementation appears to be kind of duplicated, but with a few little differences and erroneous behaviour.

Assumptions

Requirements

#

Requirement title

Functionality 

ImportanceNotes
1

D8XX_BLF-XML_FR-1

On D8xx IP phones, any PFK (programmable function key - physical or virtual) can be assigned to a function, which allows monitoring state changes of the configured SIP extension on another IP phone. This function shall be called "BLF-XML". The following state changes shall be visualized:

  • monitored SIP extension is in idle mode => idle
  • monitored SIP extension seizes a line => busy
  • monitored SIP extension receives an incoming call => ringing
  • monitored SIP extension places an outgoing call => busy
  • monitored SIP extension dials or accepts an incoming call => busy

Must Have

This means, that the D8xx phone acts as a User Agent Client (UAC) and the IP phone of the monitored extension acts as User Agent Server (UAS).

2

D8XX_BLF-XML_FR-2

On Snom IP phones acting as UAS, any SIP extension having an active subscription of its state changes, shall sent a notification SIP message (NOTIFY) to the UAC, at least when one of the following state changes occur:

  • from any state => idle
  • from any state => trying
  • from any state => early
  • from any state => busy

Must Have

Fully implemented

3D8XX_BLF-XML_FR-3The assignment shall be configured either manually via web user interface (WUI) and/or phone user interface (PUI), and automatically via auto-provisioning (HTTP/TFTP setting server), SRAPS, or remote management (TR-069).

Must Have

Fully implemented
4D8XX_BLF-XML_FR-1-1

On D8xx series, during an active subscription, state changes of the monitored SIP extension shall be visualized on both, PFK LED and PFK label.

Must Have

Fully implemented

5D8XX_BLF-XML_FR-1-1-1

The PFK LED behaviour and colour shall be according to this table

stateidleringingbusy
LED behaviouroffblinkingon
LED colour-redred


Must Have

Fully implemented

6D8XX_BLF-XML_FR-1-1-2

The PFK label shall be composed of 3 areas:

(A) icon area(B) name area
(C) state area


Must Have

Fully implemented

7D8XX_BLF-XML_FR-1-1-2-1

The label icon area (A) shall contain the following distinguishable graphical symbol, representing the state

Stateidleringingbusy
Descriptionperson with a handsetperson with a handset plus an arrow (pointing towards the handset)person with a handset and 2 sound waves (heading away from the handset)
Graphical symbol
Idle
Ringing
Busy
Colourwhiteredred


Must Have

Fully implemented

8D8XX_BLF-XML_FR-1-1-2-2

The label name area (B) shall contain the following text representing the display name or number (configurable) of the monitored / calling party

stateidleringingbusy
rolesMonitored partyCalling party > monitored partyCalling party <> monitored party
text101 or Alex102 > 101 or
Alice > Alex
102 <> 101 or
Alice <> Alex
text colourwhitewhitewhite


Must Have

Partly implemented

9D8XX_BLF-XML_FR-1-1-2-3

The label state area (C) shall contain the following text representing the state

stateidleringingbusy
textidleringingbusy
colourwhitewhitewhite


Must Have

Fully implemented

User interaction and design

User interaction
ProtocolsDesign reference
UASUACStateUAS => UACUACFigmaScreenshot
does nothingdoes nothingIdle


seizes a linedoes nothingtrying


NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="..."
	state="full"
	entity="sip:101@...">
	<dialog id="..." >
		<state>trying</state>
	</dialog>
</dialog-info>



NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="..."
	state="full"
	entity="sip:101@...">
	<dialog id="..." >
		<state>trying</state>
	</dialog>
</dialog-info>




hangs updoes nothingterminated


NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="..."
	state="full"
	entity="sip:101@192.168.245.1">
	<dialog id="..."
		direction='initiator'
		call-id='...'
		local-tag=""
		remote-tag="">
		<state>terminated</state>
		<local>
			<identity display="B">sip:101@...</identity>
			<target uri="sip:101@...;line=...">
				<param pname="x-line-id" pval="0" />
			</target>
		</local>
	</dialog>
</dialog-info>





incoming call ringingdoes nothingearly


NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="..."
	state="full" entity="...">
	<dialog
		id="..."
		direction='recipient'
		call-id='...'
		local-tag="..."
		remote-tag="...">
		<state>early</state>
		<local>
			<identity display="B">
				sip:101@...
			</identity>
			<target uri="sip:101@...;line=...">
				<param pname="x-line-id" pval="0" />
			</target>
		</local>
		<remote>
			<identity display="C">
				sip:102@...
			</identity>
			<target uri="sip:102@..."/>
		</remote>
	</dialog>
</dialog-info>





incoming call accepteddoes nothingconfirmed


NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="..."
	state="full"
	entity="sip:101@...">
	<dialog
		id="..."
		direction='recipient'
		call-id='...'
		local-tag="..."
		remote-tag="...">
		<state>confirmed</state>
		<local>
			<identity display="B">sip:101@...</identity>
			<target uri="sip:101@...;line=...">
				<param pname="x-line-id" pval="0" />
				<param pname="+sip.rendering" pval='yes' />
			</target>
		</local>
			<remote>
				<identity display="C">sip:102@...</identity>
				<target uri="sip:102@..."/>
			</remote>
	</dialog>
</dialog-info>








































Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome
(e.g. How we make users more aware of this feature?)Communicate the decision reached

Not Doing