Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#

Requirement title

Functionality 

ImportanceNotes
1

D8XX_BLF-XML_FR-1

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

Must Have

Fully implemented

2

D8XX_BLF-XML_FR-2

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 (UAS) on another IP phone. This function shall be called "BLF-XML". The following states of the monitored SIP extension (UAS) shall be processed and translated depending on the call direction:

UAS stateDialog state (NOTIFY)DirectionTranslated state
idle modeterminated-idle

offhook / dialling

trying

initiatoroffhookbusy
incoming call ringing

early/proceeding

recipientringing

incoming call accepted

confirmed

recipienttalking

outgoing call ringing

early/proceeding

initiatorbusycalling

outgoing call accepted

confirmed

initiatortalking


Must Have

Partly 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

Dialog stateterminated

trying

early/proceeding

confirmed
Translated stateidleoffhookcallingringingtalking
Direction-initiatorinitiatorrecipientinitiator/recipient
LED behaviouroffononblinkingon
LED colour-redredredred


Must Have

Partly 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 graphical symbol and colour

Dialog stateterminated

trying

early/proceeding

confirmed
Translated stateidleoffhookcallingringingtalking
Direction-initiatorinitiatorrecipientinitiator/recipient
Graphical symbol
Colourwhite/greenwhite/orangewhite/orangewhite/orangewhite/red


Must Have

Partly implemented

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

The label name area (B) shall contain the following a text representing using either the display name or number (configurable) of the monitored / calling party. Depending on the available space, the text shall be scrolled.

talkingnumber > 
Dialog stateterminated

trying

early/proceeding

confirmedconfirmed
Translated stateidleoffhookcallingringingtalking
Direction-initiatorinitiatorrecipientinitiatorrecipient
TargetText (using target)locallocal >local > remoteremote > localremote <> locallocal <> remote
Text (number)colourwhitewhitewhitewhitewhitewhite
Example (using number)101101 > 

101 > 102102 number101 <> 102102 > 101102 <> 101

101 <> 102

Text Example (using display name)AlexAlex >Alex > AliceAlice > AlexAlice <> AlexAlex <> Alicetext colourwhitewhitewhitewhitewhite


Must Have

Partly implemented

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

The label state area (C) shall contain the following a text and colour representing the translated state

diallingwhitewhitewhite
Dialog stateterminated

trying

early/proceeding

confirmedtext
Translated stateidleoffhookcallingringingtalking
colourDirection-initiatorinitiatorwhite

Must Have

Partly implemented
recipientinitiator/recipient
textidleoffhookcallingringingtalking
colourwhitewhitewhitewhitewhite


Must Have

Partly implemented

User interaction and design

Dialog State

<state>terminated</state>

User interactionSIP messageXML definitionVisual result
UASUACUASUAS => NOTIFY => UACUAC NOTIFY parsing rulesPFK LEDPFK label
goes offhookmonitoring
quick dial allowed

<state>trying</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
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>



Code Block
languagexml
themeConfluence
titleXML definition
linenumberstrue
collapsetrue
...
<NotifyParsingRules type="state">
  ...
  <level3 translates_to="offhook">/dialog-info/dialog/state[.="trying"]</level3>
  ...
</NotifyParsingRules>
<action>
  <invite target="$(subscr_uri)" when="on press" states="calling, in_a_calltalking, offhook, freeidle"/>
  ...
</action>




101 >
offhook


goes onhookmonitoring
terminatedquick dial allowed

<state>terminated</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
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>



Code Block
languagexml
themeConfluence
titleXML definition
linenumberstrue
collapsetrue
...
<NotifyParsingRules type="state">
  ...
  <level5 translates_to="idle"/>
</NotifyParsingRules>
...
<action>
  <invite target="$(subscr_uri)" when="on press" states="calling, in_a_calltalking, offhook, idle"/>
  ...
</action>




101
idle


incoming call ringingmonitoring
pick up allowed

<state>early</state>

<state>earlyproceeding</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
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>
Image Removed



Code Block
102 > 101
language
ringing
xml
incoming call acceptedmonitoringconfirmed
themeConfluence
titleXML definition

<state>confirmed</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
NOTIFY
...
<?xml<NotifyParsingRules versiontype="1.0state"?>
<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>
Image Removed102 <> 101
talking
Incoming call terminatedmonitoringterminated
Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="8"
	state="full"
	entity="sip:101@192.168.245.1">
	<dialog id="ef358a486677031ad4ecaac68710cef9"
		direction='recipient'
		call-id='b5c0006472bc-8x9sdw8f8qdr'
		local-tag="7196pmgjev"
		remote-tag="nyeqpi7kqy">
		<state>terminated</state>
		<local>
			<identity display="B">sip:101@192.168.245.1</identity>
			<target uri="sip:101@192.168.245.251:60158;line=caioqij3">
				<param pname="x-line-id" pval="0" />
			</target>
		</local>
		<remote>
			<identity display="C">sip:102@192.168.245.1</identity>
			<target uri="sip:102@192.168.245.1"/>
		</remote>
	</dialog>
</dialog-info>
	<level1 translates_to="ringing">/dialog-info/dialog/state[.="early"]</level1>
	...
	<level2 translates_to="ringing">/dialog-info/dialog/state[.="proceeding"]</level2>
  ...
</NotifyParsingRules>
<NotifyParsingRules
	type="variable"
	id="call_id"
	state="ringing">
	<level1 fetch_attribute="call-id">/dialog-info/dialog[@call-id]</level1>
</NotifyParsingRules>
<NotifyParsingRules
	type="variable"
	id="remote_tag"
	state="ringing">
	<level1 fetch_attribute="remote-tag">/dialog-info/dialog[@remote-tag]</level1>
</NotifyParsingRules>
<NotifyParsingRules
	type="variable"
	id="local_tag"
	state="ringing">
	<level1 fetch_attribute="local-tag">/dialog-info/dialog[@local-tag]</level1>
</NotifyParsingRules>
<NotifyParsingRules
	type="variable"
	id="remote_uri"
	state="ringing">
	<level1 fetch_attribute="uri">/dialog-info/dialog/remote/target[@uri]</level1>
</NotifyParsingRules>
<action>
	<invite target="$(subscr_uri)" when="on press" states="calling, talking, offhook, idle"/>
	<invite target="$(remote_uri)" when="on press" state="ringing" request_uri="$(remote_uri)" replaces="$(call_id);to-tag=$(remote_tag);from-tag=$(local_tag)"/>
</action>




Image Added102 > 101
ringing


incoming call acceptedmonitoring
quick dial allowed

<state>confirmed</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
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>



Code Block
languagexml
themeConfluence
titleXML definition
linenumberstrue
collapsetrue
...
<NotifyParsingRules type="state">
	...
	<level4 translates_to="in_a_call">/dialog-info/dialog/state[.="confirmed"]</level4> </NotifyParsingRules>
...
<action>
  <invite target="$(subscr_uri)" when="on press" states="calling, talking, offhook, idle"/>
  ...
</action>




Image Added102 <> 101
talking


Incoming call terminatedmonitoring
quick dial allowed

<state>terminated</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="8"
	state="full"
	entity="sip:101@192.168.245.1">
	<dialog id="ef358a486677031ad4ecaac68710cef9"
		direction='recipient'
		call-id='b5c0006472bc-8x9sdw8f8qdr'
		local-tag="7196pmgjev"
		remote-tag="nyeqpi7kqy">
		<state>terminated</state>
		<local>
			<identity display="B">sip:101@192.168.245.1</identity>
			<target uri="sip:101@192.168.245.251:60158;line=caioqij3">
				<param pname="x-line-id" pval="0" />
			</target>
		</local>
		<remote>
			<identity display="C">sip:102@192.168.245.1</identity>
			<target uri="sip:102@192.168.245.1"/>
		</remote>
	</dialog>
</dialog-info>



Code Block
languagexml
themeConfluence
titleXML definition
linenumberstrue
collapsetrue
...
<NotifyParsingRules type="state">
  ...
  <level5 translates_to="idle"/>
</NotifyParsingRules>
...
<action>
  <invite target="$(subscr_uri)" when="on press" states="calling, talking, offhook, idle"/>
  ...
</action>




Image Added101
idle


Outgoing call ringingmonitoring
quick dial allowed

<state>early</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="13"
	state="full"
	entity="sip:101@...">
	<dialog
		id="..."
		direction='initiator'
		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>
Code Block
languagexml
themeConfluence
titleXML definition
linenumberstrue
collapsetrue
...
<NotifyParsingRules type="state">
  ...
  <level5 translates_to="idle"/>
</NotifyParsingRules>
...
<action>
  <invite target="$(subscr_uri)" when="on press" states="calling, in_a_call, offhook, idle"/>
  ...
</action>
Image Removed101idleOutgoing call ringingmonitoringearly

<state>early</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="13"
	state="full"
	entity="sip:101@...">
	<dialog
		id="..."
		direction='initiator'
		call-id='...'
		local-tag="..."
		remote-tag="">
		<state>early</state>
		<local>
			<identity display="BD">sip:101@103@...<;user=phone</identity>
			<target uri="sip:103@...;user="sip:101@...;line=...">
				<param pname="x-line-id" pval="0" />
			</target>
		</local>
		<remote>
			<identity display="D">sip:103@...;user=phone</identity>
			<target uri="sip:103@...;user=phone"/>
		</remote>
	</dialog>
</dialog-info>phone"/>
		</remote>
	</dialog>
</dialog-info>



Code Block
languagexml
themeConfluence
titleXML definition
linenumberstrue
collapsetrue
...
<NotifyParsingRules type="state">
  ...
  <level5 translates_to="idle"/>
</NotifyParsingRules>
...
<action>
  <invite target="$(subscr_uri)" when="on press" states="calling, talking, offhook, idle"/>
  ...
</action>




101 > 103
calling


Outgoing call acceptedmonitoring
confirmedquick dial allowed

<state>confirmed</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="..."
	state="full"
	entity="sip:101@...">
	<dialog
		id="..."
		direction='initiator'
		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' 'yes' />
			</target>
		</local>
		<remote>
			<identity display="D">sip:103@...</identity>
			<target uri="sip:103@..."/>
		</remote>
	</target>dialog>
		</local>
		<remote>
			<identity display="D">sip:103@...</identity>
			<target uri="sip:103@..."/>
		</remote>
	</dialog>
</dialog-info></dialog-info>



Code Block
languagexml
themeConfluence
titleXML definition
linenumberstrue
collapsetrue
...
<NotifyParsingRules type="state">
  ...
  <level5 translates_to="idle"/>
</NotifyParsingRules>
...
<action>
  <invite target="$(subscr_uri)" when="on press" states="calling, talking, offhook, idle"/>
  ...
</action>




101 <> 103
talking


Outgoing call terminatedmonitoring
quick dial allowed

<state>terminated</state>

Code Block
languagexml
titleNOTIFY
linenumberstrue
collapsetrue
NOTIFY
...
<?xml version="1.0"?>
<dialog-info
	xmlns="urn:ietf:params:xml:ns:dialog-info"
	version="..."
	state="full"
	entity="sip:101@...">
	<dialog
		id
		id="..."
		direction='initiator'
		call-id='...'
		local-tag="..."
		remote-tag="...">
		direction='initiator'
		call-id='...'
		local-tag="..."
		remote-tag="...">
		<state>terminated</state>
		<local><state>terminated</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="BD">sip:101@103@...</identity>
			<target uri="sip:101@...;line=...">
				<param pname="x-line-id" pval="0" />
			</target>
		</local>
		<remote>
			<identity display="D">sip:103@...</identity>
			<target uri="sip:103@..."/>
		</remote>
	</dialog>
</dialog-info>103@..."/>
		</remote>
	</dialog>
</dialog-info>



Code Block
languagexml
themeConfluence
titleXML definition
linenumberstrue
collapsetrue
...
<NotifyParsingRules type="state">
  ...
  <level5 translates_to="idle"/>
</NotifyParsingRules>
...
<action>
  <invite target="$(subscr_uri)" when="on press" states="calling, talking, offhook, idle"/>
  ...
</action>




101
idle








Questions

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

...