Table of Contents |
---|
Page properties | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Goals
- Align The current BLF and Extension behavior for PFKs on Snom desk phones by using XML definitions instead mapping implementations for D8xx IP phone series are similar, but with a few differences and partly erroneous behaviour. Therefore, it is desired to align both implementations by using XML definitions instead. Furthermore, the requirements should be re-defined to communicate a clear result.
- Avoid confusion for customers
- Improve user experience
- Improve performance
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
Use cases
- Use Use case#1: A secretary's phone shall display the call status of the boss's line, allowing the secretary to know whether the boss is on a phone call or not. This will enable the secretary to make the decision to put the new caller on hold or let them through to the boss.
- Use case#2: Call centers and customer support groups have also a need for BLF: it enables employees to see if their colleagues are free to take a support call or if their supervisor is on another line and unable to help another customer.
- Use case#3: BLF is needed by teams working on a specific project: supervisors can monitor team members' extensions and vice versa so all team members are aware of each other's current status.
Requirements
Preconditions
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, when one of the following state changes occur:
- from any state => terminated
- from any state => trying
- from any state => early/proceeding
- from any state => confirmed
The NOTIFY XML body must contain the necessary information for the UAC to perform state translation and visualization.
Requirements
# | Requirement title | Functionality | Importance | Implementation status | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | D8XX:PFK-mapping:BLF-XML:General-Functionality | On D8xx IP phones, any PFK (programmable function key - physical or virtual) can be assigned to a key type called "BLF-XML", and a key number, which corresponds to a SIP extension on another IP phone in the same VoIP environment. The following specific functionality is required:
|
|
| ||||||||||||||||
2 | D8XX:PFK-mapping:BLF-XML:Configuration | The assignment shall be configured either manually via web user interface ( |
Title / Requirement number
User story / functionality
D8XX_BLF-XML_FR-1-UAC
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 receives an incoming call => ringing
- monitored SIP extension dials or accepts an incoming call => busy
Must Have
This means, that the D8xx phone acts as a User Agent Client and the IP phone of the monitored extension as a User Agent Server (UAS).
D8XX_BLF-XML_FR-1-UAS
On Snom IP phones, 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 => ringing
- from any state => busy
Must Have
Fully implemented for idle, ringing, busy
Must Have
WUI) and/or phone user interface (PUI), and automatically via auto-provisioning (HTTP/TFTP setting server), SRAPS, or remote management (TR-069). |
Must Have
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
The PFK LED shall be
- Off, when state is "idle"
- Blinking, when state is "ringing"
- On, when when state is "busy"
Must Have
Suggestion:
The default PFK LED color shall be
- red, when state is "ringing" or "busy"
Must Have
The default colour can be overridden by configuration
The PFK label shall be composed of 3 areas:
- (A) icon area
- (B) name area
- (C) state area
Must Have
The icon area (A) shall contain the following symbol, representing the state
- state "idle" => white symbol of a person with handset
- state "ringing" => red symbol of a person with handset plus an arrow pointing towards the handset
- state "busy" => red symbol of a person with handset and 2 waves heading away from the handset
Must Have
Suggestion:
The name area (B) shall contain the following text representing a display name or number (configurable) in default colour "white" (fix)
- state "idle" => Monitored party
- state "ringing" => Calling party > monitored party
- state "busy" => Calling party <> monitored party
Must Have
Suggestion:
Alice > Alex
Alice <> Alex
The state area (C) shall contain the following text representing the state in default colour "white" (fix)
- state "idle" => idle
- state "ringing" => ringing
- state "busy" => busy
Must Have
Suggestion:
If the SRV (Snom phone) goes into State "Idle", a NOTIFY message shall be sent to the UA, containing the following information in its XML body:
- switch off the assigned PFK LED
- display the label icon "idle", the label name "name" or "number", the state "idle"
If the SRV (IP-PBX or another Snom phone) is in State "Idle", the UA shall
- switch off the assigned PFK LED
- display the label icon "idle", the label name "name" or "number", the state "idle"
If the SRV (Snom phone) goes into State "Line seizing", a NOTIFY message shall be sent to the UA, containing the following information in its XML body:
- switch off the assigned PFK LED
- display the label icon "idle", the label name "name" or "number", the state "idle"
User interaction and design
...
...
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | D8XX:PFK-mapping:BLF-XML:Subscription | The assignment shall initiate the SIP subscription process according to RFC 3265. |
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | D8XX:PFK-mapping:BLF-XML:Monitoring:Translation | Dialog states of the configured SIP extension shall be monitored, processed, and translated according to its direction.
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | D8XX:PFK-mapping:BLF-XML:Actions | When the PFK is pressed, the following actions are allowed according to the translated state
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 | D8XX:PFK-mapping:BLF-XML:Monitoring:Visualization | On D8xx series, during an active subscription, state changes of the monitored SIP extension shall be visualized on both, PFK LED and PFK label. |
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7 | D8XX:PFK-mapping:BLF-XML:Monitoring:Visualization:LED | The PFK LED behaviour and colour shall be according to the translated state:
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 | D8XX:PFK-mapping:BLF-XML:Monitoring:Visualization:Label:Areas | The PFK label shall be composed of 3 areas:
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9 | D8XX:PFK-mapping:BLF-XML:Monitoring:Visualization:Label:icon-area | The label icon area (A) shall contain an icon and colouraccording to the translated state
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10 | D8XX:PFK-mapping:BLF-XML:Monitoring:Visualization:Label:name-area | The label name area (B) shall contain a text derived from display name or number (configurable) according to translated state and direction. Depending on the available space, the text shall be scrolled.
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11 | D8XX:PFK-mapping:BLF-XML:Monitoring:Visualization:Label:state-area | The label state area (C) shall contain a text and colour representing the translated state
|
|
|
Software Requirement Specification (SRS)
Based on user interactions, the UAS sends SIP NOTIFY messages to the UAC. By means of XML definitions, the information in the SIP NOTIFY XML body are translated into variables, that are known to the UAC phone application and can be processed to show the desired results.
Interactions | SIP NOTIFY XML body | XML definition | Display | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UAS | UAS => UAC | UAC translation rules | Complete rule set | PFK LED & label (number) | PFK LED & label (display name) | |||||||||||||||||||||||||||||||||||||||||||||
goes offhook | dialog state => trying
| translate state => offhook
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||
goes onhook | dialog state => terminated
| translate state => idle
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||
incoming call ringing | dialog state => early/proceeding
| translate state => ringing
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||
incoming call accepted | dialog state => confirmed
| translate state => talking
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||
Incoming call terminated | dialog state => terminated
| translate state => idle
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||
Outgoing call ringing | dialog state => early/proceeding
| translate state => calling
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||
Outgoing call accepted | dialog state => confirmed
| translate state => talking
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||
Outgoing call terminated | dialog state => terminated
| translate state => idle
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|
Shall we visualize all possible translation states? | Alexander Feldt I'd agree, for these reasons:
|
Shall we allow quick dial only in idle state? | Alexander Feldt Technically, we could allow quick dial in any state, except ringing... |
Shall we create new icons or reuse those already existing ones? | Alexander Feldt I really question icons, that are so small, that there is no visible difference to the user, like and , therefore - if we use them at all - I vote for better distinguishable icons. |
How can a specific LED behaviour be addressed using XML definitions? | Alexander Feldt Currently not within XML definitions, it has to be configured via settings. |
How can a specific label be addressed using XML definitions? | Alexander Feldt see label, but I haven't figured out how to define it correctly
|
How can a specific icon be addressed using XML definitions? | Alexander Feldt see icon, but I haven't figured out how to define it correctly |
How shall the Label area be configured to use either number or display name? | Alexander Feldt The topic is even more complex: I assume the PFK label is generally too short to show longer extension number or names, i.e. some kind of scrolling must be used. But is this really helpful for the customer at all? |
From the UX point of view: which visual aid is more important for the customer: LED or PFK label? |
|
Tita Petre Is the above list of requirements enough input to create a proper testplan? | |
Clemens Cramer As the decision to move the default blf & extension configuration to a xml definition is based on customer requests to modify the behavior, guides with working examples on how to change the labels, icons, led behavior, and handled dialog states should probably be a requirement (and as such covered by tests). |
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome
---|