Skip to contentSkip to conversation

voice call API changes (proposal)

RFC In review Andras Domokos 2 participants 16 messages Jan 31, 2011 – Feb 8, 2011 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

RFC 1/1 voice call API changes (proposal)

Here is a proposal for expanding the VoiceCallManager interface with call related Supplementary Services signals, and the VoiceCall interface with new properties.

---
 doc/call-barring-api.txt     |   10 ----------
 doc/voicecall-api.txt        |   15 +++++++++++++++
 doc/voicecallmanager-api.txt |   21 +++++++++++++++++++++
 3 files changed, 36 insertions(+), 10 deletions(-)
doc/call-barring-api.txt +0 -10
index 41ae4b1..1534494 100644
@@ -37,16 +37,6 @@ Signals		PropertyChanged(string property, variant value)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
-		IncomingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			incoming call barring supplementary service is in use.
-
-		OutgoingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			outgoing call barring supplementary service is in use.
-
 Properties	string VoiceIncoming [readwrite]
 
 			Contains the value of the barrings for the incoming
doc/voicecall-api.txt +15 -0
index 047b8cb..e7276a3 100644
@@ -145,3 +145,18 @@ Properties	string LineIdentification [readonly]
 
 			Contains the indication if the voice call is an
 			emergency call or not.
+
+		boolean Forwarded
+
+			Contains the indication whether the voice call is a
+			forwarded call or not.
+
+		boolean RemoteHold
+
+			Contains the indication whether the voice call has been
+			put on hold by the remote party or not.
+
+		boolean Waiting
+
+			Contains the indication whether the outgoing voice call
+			is waiting or not.
doc/voicecallmanager-api.txt +21 -0
index 2bf9ded..bbd80db 100644
@@ -144,6 +144,27 @@ Signals		CallAdded(object path, dict properties)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
+		UnconditionalForwardingInEffect
+
+			Signal is emitted when a call is made and unconditional
+			call forwarding supplementary service is active.
+
+		ConditionalForwardingInEffect
+
+			Signal is emitted when a call is made and some of the
+			conditional call forwarding supplementary services are
+			active.
+
+		IncomingBarringInEffect()
+
+			Signal is emitted when a call is made and an
+			incoming call barring supplementary service is in use.
+
+		OutgoingBarringInEffect()
+
+			Signal is emitted when a call is made and an
+			outgoing call barring supplementary service is in use.
+
 Properties	array{string} EmergencyNumbers [readonly]
 
 			Contains the list of emergency numbers recognized
Signature · 1 line
1.7.0.4
#2 lore raw

Hi Andras,

Quoted 36 lines · Andras Domokos

Here is a proposal for expanding the VoiceCallManager interface with call related Supplementary Services signals, and the VoiceCall interface with new properties.

---
 doc/call-barring-api.txt     |   10 ----------
 doc/voicecall-api.txt        |   15 +++++++++++++++
 doc/voicecallmanager-api.txt |   21 +++++++++++++++++++++
 3 files changed, 36 insertions(+), 10 deletions(-)
doc/call-barring-api.txt +0 -10
index 41ae4b1..1534494 100644
@@ -37,16 +37,6 @@ Signals		PropertyChanged(string property, variant value)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
-		IncomingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			incoming call barring supplementary service is in use.
-
-		OutgoingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			outgoing call barring supplementary service is in use.
-
 Properties	string VoiceIncoming [readwrite]
 
 			Contains the value of the barrings for the incoming
doc/voicecall-api.txt +0 -0
index 047b8cb..e7276a3 100644

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 153

Quoted 9 lines
doc/voicecall-api.txt +6 -0
@@ -145,3 +145,18 @@ Properties	string LineIdentification [readonly]
 
 			Contains the indication if the voice call is an
 			emergency call or not.
+
+		boolean Forwarded
+
+			Contains the indication whether the voice call is a
+			forwarded call or not.
+

So just to clarify, this is usually set on a local Incoming / Waiting call, correct?

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 158

Quoted 5 lines
doc/voicecall-api.txt +5 -0
+		boolean RemoteHold
+
+			Contains the indication whether the voice call has been
+			put on hold by the remote party or not.
+

This one is rather tricky, since AT modems do not report the index of the call. So the only way you can report this is if you have only a single call active or your modem supports this properly (I know ISI does).

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 162

Quoted 4 lines
doc/voicecall-api.txt +4 -0
+		boolean Waiting
+
+			Contains the indication whether the outgoing voice call
+			is waiting or not.

And this is for a local dialing / alerting call. Correct?

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 150

Quoted 12 lines
doc/voicecallmanager-api.txt +4 -0
index 2bf9ded..bbd80db 100644
@@ -144,6 +144,27 @@ Signals		CallAdded(object path, dict properties)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
+		UnconditionalForwardingInEffect
+
+			Signal is emitted when a call is made and unconditional
+			call forwarding supplementary service is active.

This is for a local dialing / alerting call. Correct?

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 157

Quoted 7 lines
doc/voicecallmanager-api.txt +7 -0
+
+		ConditionalForwardingInEffect
+
+			Signal is emitted when a call is made and some of the
+			conditional call forwarding supplementary services are
+			active.
+

Same as above?

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 162

Quoted 5 lines
doc/voicecallmanager-api.txt +5 -0
+		IncomingBarringInEffect()
+
+			Signal is emitted when a call is made and an
+			incoming call barring supplementary service is in use.
+

For local outgoing calls telling that the remote side has incoming barring active?

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 167

Quoted 5 lines
doc/voicecallmanager-api.txt +5 -0
+		OutgoingBarringInEffect()
+
+			Signal is emitted when a call is made and an
+			outgoing call barring supplementary service is in use.
+

And this one telling you that local outgoing barring is active?

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 170

Quoted 3 lines
doc/voicecallmanager-api.txt +0 -0
 Properties	array{string} EmergencyNumbers [readonly]
 
 			Contains the list of emergency numbers recognized

Generally I'm fine with these but please document them a bit more clearly, and we might have to pick names that make a bit more sense.

Other than that, you're missing the mpty join indications that Pekka had in his earlier proposal. These suffer from the same problem as RemoteHold.

Regards,
-Denis

#3 lore raw

Hi Denis,

Quoted 40 lines · ext Denis Kenzior

Hi Andras,

Quoted 37 lines · Andras Domokos

Here is a proposal for expanding the VoiceCallManager interface with call related Supplementary Services signals, and the VoiceCall interface with new properties.

---
  doc/call-barring-api.txt     |   10 ----------
  doc/voicecall-api.txt        |   15 +++++++++++++++
  doc/voicecallmanager-api.txt |   21 +++++++++++++++++++++
  3 files changed, 36 insertions(+), 10 deletions(-)
doc/call-barring-api.txt +0 -10
index 41ae4b1..1534494 100644
@@ -37,16 +37,6 @@ Signals		PropertyChanged(string property, variant value)
  			Signal is emitted whenever a property has changed.
  			The new value is passed as the signal argument.
 
-		IncomingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			incoming call barring supplementary service is in use.
-
-		OutgoingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			outgoing call barring supplementary service is in use.
-
  Properties	string VoiceIncoming [readwrite]
 
  			Contains the value of the barrings for the incoming
doc/voicecall-api.txt +0 -0
index 047b8cb..e7276a3 100644
@@ -145,3 +145,18 @@ Properties	string LineIdentification [readonly]
 
Quoted 10 lines

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 153

Quoted 8 lines
doc/voicecall-api.txt +6 -0
  			Contains the indication if the voice call is an
  			emergency call or not.
+
+		boolean Forwarded
+
+			Contains the indication whether the voice call is a
+			forwarded call or not.
+

So just to clarify, this is usually set on a local Incoming / Waiting call, correct?

This property would apply to both, outgoing and incoming calls.

When the incoming call is a forwarded call the call is accompanied by a "forwarded call" SS notification.

When the call is an outgoing call and the call is forwarded due to the remote party having a conditional or unconditional forwarding enabled, the outgoing call is accompanied by a "call has been forwarded" SS notification.

I think would be a good idea, if not mandatory, to have a voice call property indicating the call direction.

Quoted 8 lines

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 158

Quoted 5 lines
doc/voicecall-api.txt +5 -0
+		boolean RemoteHold
+
+			Contains the indication whether the voice call has been
+			put on hold by the remote party or not.
+

This one is rather tricky, since AT modems do not report the index of the call. So the only way you can report this is if you have only a single call active or your modem supports this properly (I know ISI does).

Indeed, this is a tricky case since the standard AT Supplementary Services notification don't provide the call index within the notifications. Although in many cases the call index can be inferred correctly, there are cases when this is impossible and the call index needs to be provided explicitly, like in the remote hold/multiparty cases and assuming 2 local calls. We do best effort guess for modems not supporting call indexes.

Quoted 5 lines

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 162

Quoted 4 lines
doc/voicecall-api.txt +4 -0
+		boolean Waiting
+
+			Contains the indication whether the outgoing voice call
+			is waiting or not.

And this is for a local dialing / alerting call. Correct?

This is an indication from the network in connection with an outgoing call telling that the remote party is already engaged into a call and your call is waiting to be answered or rejected (handled).

Quoted 8 lines
Quoted 8 lines
doc/voicecallmanager-api.txt +0 -0
index 2bf9ded..bbd80db 100644
@@ -144,6 +144,27 @@ Signals		CallAdded(object path, dict properties)
  			Signal is emitted whenever a property has changed.
  			The new value is passed as the signal argument.
 
Quoted 5 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 150

Quoted 4 lines
doc/voicecallmanager-api.txt +4 -0
+		UnconditionalForwardingInEffect
+
+			Signal is emitted when a call is made and unconditional
+			call forwarding supplementary service is active.

This is for a local dialing / alerting call. Correct?

The notification is sent in connection with an outgoing call when the remote party has unconditional call forwarding enabled that is enforced by the network.

Quoted 8 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 157

Quoted 7 lines
doc/voicecallmanager-api.txt +7 -0
+
+		ConditionalForwardingInEffect
+
+			Signal is emitted when a call is made and some of the
+			conditional call forwarding supplementary services are
+			active.
+

Same as above?

The notification is sent in connection with an outgoing call when the remote party has such conditional call forwarding enabled that is enforced by the network.

Quoted 7 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 162

Quoted 5 lines
doc/voicecallmanager-api.txt +5 -0
+		IncomingBarringInEffect()
+
+			Signal is emitted when a call is made and an
+			incoming call barring supplementary service is in use.
+

For local outgoing calls telling that the remote side has incoming barring active?

Yes.
Emitted when making an outgoing call and the remote party has such an incoming call barring enabled that is enforced by the network.

Quoted 6 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 167

Quoted 5 lines
doc/voicecallmanager-api.txt +5 -0
+		OutgoingBarringInEffect()
+
+			Signal is emitted when a call is made and an
+			outgoing call barring supplementary service is in use.
+

And this one telling you that local outgoing barring is active?

Yes.
Emitted when making an outgoing call and there is such outgoing call barring enabled that is enforced by the network.

Quoted 8 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 170

Quoted 3 lines
doc/voicecallmanager-api.txt +0 -0
  Properties	array{string} EmergencyNumbers [readonly]
 
  			Contains the list of emergency numbers recognized

Generally I'm fine with these but please document them a bit more clearly, and we might have to pick names that make a bit more sense.

Other than that, you're missing the mpty join indications that Pekka had in his earlier proposal. These suffer from the same problem as RemoteHold.

That's true, RemoteMultiparty needs to be added to the the set of call properties and we are facing the same challenges as with the RemoteHold case.

Quoted 2 lines

Regards,
-Denis

Regards,
Andras

#4 lore raw

Hi Andras,

Quoted 13 lines
Quoted 8 lines

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 153

Quoted 6 lines
doc/voicecall-api.txt +6 -0
+
+        boolean Forwarded
+
+            Contains the indication whether the voice call is a
+            forwarded call or not.
+

So just to clarify, this is usually set on a local Incoming / Waiting call, correct?

This property would apply to both, outgoing and incoming calls.

When the incoming call is a forwarded call the call is accompanied by a "forwarded call" SS notification.

Quoted 7 lines

When the call is an outgoing call and the call is forwarded due to the remote party having a conditional or unconditional forwarding enabled, the outgoing call is accompanied by a "call has been forwarded" SS notification.

I think would be a good idea, if not mandatory, to have a voice call property indicating the call direction.

So why do we need the below two signals if the Forwarded property applies to both incoming and outgoing calls?

Quoted 16 lines
Quoted 5 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 150

Quoted 4 lines
doc/voicecallmanager-api.txt +4 -0
+        UnconditionalForwardingInEffect
+
+            Signal is emitted when a call is made and unconditional
+            call forwarding supplementary service is active.

This is for a local dialing / alerting call. Correct?

The notification is sent in connection with an outgoing call when the remote party has unconditional call forwarding enabled that is enforced by the network.

Quoted 8 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 157

Quoted 7 lines
doc/voicecallmanager-api.txt +7 -0
+
+        ConditionalForwardingInEffect
+
+            Signal is emitted when a call is made and some of the
+            conditional call forwarding supplementary services are
+            active.
+

Same as above?

Quoted 4 lines

The notification is sent in connection with an outgoing call when the remote party has such conditional call forwarding enabled that is enforced by the network.

Regards,
-Denis

#5 lore raw

Hi Denis,

Quoted 20 lines · ext Denis Kenzior

Hi Andras,

Quoted 18 lines
Quoted 8 lines

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 153

Quoted 6 lines
doc/voicecall-api.txt +6 -0
+
+        boolean Forwarded
+
+            Contains the indication whether the voice call is a
+            forwarded call or not.
+

So just to clarify, this is usually set on a local Incoming / Waiting call, correct?

This property would apply to both, outgoing and incoming calls.

When the incoming call is a forwarded call the call is accompanied by a "forwarded call" SS notification.

When the call is an outgoing call and the call is forwarded due to the remote party having a conditional or unconditional forwarding enabled, the outgoing call is accompanied by a "call has been forwarded" SS notification.

Quoted 4 lines
Quoted 2 lines

I think would be a good idea, if not mandatory, to have a voice call property indicating the call direction.

So why do we need the below two signals if the Forwarded property applies to both incoming and outgoing calls?

These are optional in fact, let's ignore them for now. What about the rest, are we OK now?

Quoted 16 lines
Quoted 16 lines
Quoted 5 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 150

Quoted 4 lines
doc/voicecallmanager-api.txt +4 -0
+        UnconditionalForwardingInEffect
+
+            Signal is emitted when a call is made and unconditional
+            call forwarding supplementary service is active.

This is for a local dialing / alerting call. Correct?

The notification is sent in connection with an outgoing call when the remote party has unconditional call forwarding enabled that is enforced by the network.

Quoted 8 lines

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 157

Quoted 7 lines
doc/voicecallmanager-api.txt +7 -0
+
+        ConditionalForwardingInEffect
+
+            Signal is emitted when a call is made and some of the
+            conditional call forwarding supplementary services are
+            active.
+

Same as above?

Quoted 6 lines
Quoted 4 lines

The notification is sent in connection with an outgoing call when the remote party has such conditional call forwarding enabled that is enforced by the network.

Regards,
-Denis

Regards,
Andras

#6 lore raw

Hi Andras,

Quoted 23 lines · Andras Domokos

Hi Denis,

Quoted 20 lines · ext Denis Kenzior

Hi Andras,

Quoted 18 lines
Quoted 8 lines

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 153

Quoted 6 lines
doc/voicecall-api.txt +6 -0
+
+        boolean Forwarded
+
+            Contains the indication whether the voice call is a
+            forwarded call or not.
+

So just to clarify, this is usually set on a local Incoming / Waiting call, correct?

This property would apply to both, outgoing and incoming calls.

When the incoming call is a forwarded call the call is accompanied by a "forwarded call" SS notification.

When the call is an outgoing call and the call is forwarded due to the remote party having a conditional or unconditional forwarding enabled, the outgoing call is accompanied by a "call has been forwarded" SS notification.

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

I think would be a good idea, if not mandatory, to have a voice call property indicating the call direction.

So why do we need the below two signals if the Forwarded property applies to both incoming and outgoing calls?

These are optional in fact, let's ignore them for now. What about the rest, are we OK now?

I don't really like this Forwarded property. I think we should really break up the indications between the Incoming and Outgoing states. If you want Forwarded as a property, then treat it as incoming calls only and keep the two signals for the outgoing conditions.

Please re-send the entire proposal with all the feedback and extra documentation integrated in so we can have another look.

Regards,
-Denis

#7 lore raw

RFC 1/1 voicecall API changes (proposal 2)

---
 doc/call-barring-api.txt     |   10 ----------
 doc/voicecall-api.txt        |   17 +++++++++++++++++
 doc/voicecallmanager-api.txt |   28 ++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 10 deletions(-)
doc/call-barring-api.txt +0 -10
index 41ae4b1..1534494 100644
@@ -37,16 +37,6 @@ Signals		PropertyChanged(string property, variant value)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
-		IncomingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			incoming call barring supplementary service is in use.
-
-		OutgoingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			outgoing call barring supplementary service is in use.
-
 Properties	string VoiceIncoming [readwrite]
 
 			Contains the value of the barrings for the incoming
doc/voicecall-api.txt +17 -0
index 047b8cb..9e1d90f 100644
@@ -145,3 +145,20 @@ Properties	string LineIdentification [readonly]
 
 			Contains the indication if the voice call is an
 			emergency call or not.
+
+		boolean ForwardedCall
+
+			Contains the indication whether the incoming voice call
+			is a redirected call due to a call forwarding operation
+			or not.
+
+		boolean RemoteHoldActive
+
+			Contains the indication whether the voice call is put on
+			hold by the remote party or not.
+
+		boolean RemoteMultiparty
+
+			Contains the indication whether the voice call is joined
+			in a multiparty call by the remote party or not.
+
doc/voicecallmanager-api.txt +28 -0
index 5415345..7517a7c 100644
@@ -144,6 +144,34 @@ Signals		CallAdded(object path, dict properties)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
+		RemoteCallBarringActive()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been barred by the network due to the
+			remote party's "Call Barring" Supplementary Services
+			settings for incoming calls.
+
+		LocalCallBarringActive()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been barred by the network due to the
+			local party's "Call Barring" Supplementary Services
+			settings for outgoing calls.
+
+		OutgoingCallCondForwarded()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been redirected to another number due
+			to the remote party's conditional "Call Forwarding"
+			Supplementary Service settings.
+
+		OutgoingCallUncondForwarded()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been redirected to another number due
+			to the remote party's unconditional "Call Forwarding"
+			Supplementary Service settings.
+
 Properties	array{string} EmergencyNumbers [readonly]
 
 			Contains the list of emergency numbers recognized
Signature · 1 line
1.7.0.4
#8 lore raw

Re: [RFC] voicecall API changes (proposal 2)

Hi Andras,

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 153

Quoted 6 lines
doc/voicecall-api.txt +6 -0
+
+		boolean ForwardedCall
+
+			Contains the indication whether the incoming voice call
+			is a redirected call due to a call forwarding operation
+			or not.

Please drop the Call suffix, you are already on the VoiceCall interface, so putting 'Call' at the end is redundant.

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 159

Quoted 6 lines
doc/voicecall-api.txt +6 -0
+
+		boolean RemoteHoldActive
+
+			Contains the indication whether the voice call is put on
+			hold by the remote party or not.
+

RemoteHeld might be a better name here, but I'm fine either way.

Quoted 17 lines
doc/voicecall-api.txt +5 -0
+		boolean RemoteMultiparty
+
+			Contains the indication whether the voice call is joined
+			in a multiparty call by the remote party or not.
+
doc/voicecallmanager-api.txt +4 -0
index 5415345..7517a7c 100644
@@ -144,6 +144,34 @@ Signals		CallAdded(object path, dict properties)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
+		RemoteCallBarringActive()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been barred by the network due to the

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 160

Quoted 10 lines
doc/voicecallmanager-api.txt +10 -0
+			remote party's "Call Barring" Supplementary Services
+			settings for incoming calls.
+
+		LocalCallBarringActive()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been barred by the network due to the
+			local party's "Call Barring" Supplementary Services
+			settings for outgoing calls.
+

I suggest to combine these two signals into one:
BarringActive(string type)

where type is:
"remote" or "local".

The explanations you have should be applied to the type. Another point is whether we want this signal on the call object itself. Question is how reliably we can figure out the call index. At what point does CSSI / CSSU fire, before or after the call goes to active / disconnected state?

Quoted 4 lines
doc/voicecallmanager-api.txt +4 -0
+		OutgoingCallCondForwarded()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been redirected to another number due

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 174

Quoted 10 lines
doc/voicecallmanager-api.txt +10 -0
+			to the remote party's conditional "Call Forwarding"
+			Supplementary Service settings.
+
+		OutgoingCallUncondForwarded()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been redirected to another number due
+			to the remote party's unconditional "Call Forwarding"
+			Supplementary Service settings.
+

Same with these two, lets call it CallForwarded(string type)

where type is:
"conditional" or "unconditional"

And the same question applies here as well, do we want this on the call object itself? If so, then calling this signal Forwarded(string type) would be better. Perhaps adding another type for incoming calls that are forwarded and removing the 'Forwarded' property would be a good idea as well. e.g. something like "incoming" type.

Regards,
-Denis

#9 lore raw

Re: [RFC] voicecall API changes (proposal 2)

Hi Denis,

Quoted 10 lines · ext Denis Kenzior

Hi Andras,

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 153

Quoted 6 lines
doc/voicecall-api.txt +6 -0
+
+		boolean ForwardedCall
+
+			Contains the indication whether the incoming voice call
+			is a redirected call due to a call forwarding operation
+			or not.

Please drop the Call suffix, you are already on the VoiceCall interface, so putting 'Call' at the end is redundant.

OK, I am fine with shorter name.

Quoted 7 lines

doc/voicecall-api.txt Properties string LineIdentification [readonly] · line 159

Quoted 6 lines
doc/voicecall-api.txt +6 -0
+
+		boolean RemoteHoldActive
+
+			Contains the indication whether the voice call is put on
+			hold by the remote party or not.
+

RemoteHeld might be a better name here, but I'm fine either way.

I will go with RemoteHeld, it's shorter.

Quoted 30 lines
Quoted 17 lines
doc/voicecall-api.txt +5 -0
+		boolean RemoteMultiparty
+
+			Contains the indication whether the voice call is joined
+			in a multiparty call by the remote party or not.
+
doc/voicecallmanager-api.txt +4 -0
index 5415345..7517a7c 100644
@@ -144,6 +144,34 @@ Signals		CallAdded(object path, dict properties)
  			Signal is emitted whenever a property has changed.
  			The new value is passed as the signal argument.
 
+		RemoteCallBarringActive()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been barred by the network due to the

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 160

Quoted 10 lines
doc/voicecallmanager-api.txt +10 -0
+			remote party's "Call Barring" Supplementary Services
+			settings for incoming calls.
+
+		LocalCallBarringActive()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been barred by the network due to the
+			local party's "Call Barring" Supplementary Services
+			settings for outgoing calls.
+

I suggest to combine these two signals into one:
BarringActive(string type)

Quoted 2 lines

where type is:
"remote" or "local".

OK, let's combine them into a single signal.

Quoted 4 lines

The explanations you have should be applied to the type. Another point is whether we want this signal on the call object itself. Question is how reliably we can figure out the call index. At what point does CSSI / CSSU fire, before or after the call goes to active / disconnected state?

Usually, the user is informed about the call barred situation in a very generic wording, like "call barring active" with no interest in the call index information.
I prefer to keep it simple and make this signal call index "free". I suggest keeping it on the VoiceCallManager interface.
The CSSI indication comes right after when call reached the MO dialing state and an operator announcement is played over and over again telling the caller the reason why calls are not possible.

Quoted 16 lines
Quoted 4 lines
doc/voicecallmanager-api.txt +4 -0
+		OutgoingCallCondForwarded()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been redirected to another number due

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 174

Quoted 10 lines
doc/voicecallmanager-api.txt +10 -0
+			to the remote party's conditional "Call Forwarding"
+			Supplementary Service settings.
+
+		OutgoingCallUncondForwarded()
+
+			Signal is emitted when an outgoing voice call is made
+			and the call has been redirected to another number due
+			to the remote party's unconditional "Call Forwarding"
+			Supplementary Service settings.
+

Same with these two, lets call it CallForwarded(string type)

Quoted 2 lines

where type is:
"conditional" or "unconditional"

I'll combine them into one, that's fine.

Quoted 5 lines

And the same question applies here as well, do we want this on the call object itself? If so, then calling this signal Forwarded(string type) would be better. Perhaps adding another type for incoming calls that are forwarded and removing the 'Forwarded' property would be a good idea as well. e.g. something like "incoming" type.

I am thinking along the same line. Let's replace the "Forwarded" property with the "Forwarded" signal and add the "incoming" type you were suggesting to this signal.
And we shall not care about the call index, since most probably is not going to be used anywhere, in this respect this cases is pretty similar to the call barring signaling case; signal will be emitted on the VoiceCallManager interface.

Quoted 2 lines

Regards,
-Denis

Regards,
Andras

#10 lore raw

Re: [RFC] voicecall API changes (proposal 2)

Hi Andras,

Quoted 5 lines
Quoted 5 lines

The explanations you have should be applied to the type. Another point is whether we want this signal on the call object itself. Question is how reliably we can figure out the call index. At what point does CSSI / CSSU fire, before or after the call goes to active / disconnected state?

Quoted 10 lines

Usually, the user is informed about the call barred situation in a very generic wording, like "call barring active" with no interest in the call index information.
I prefer to keep it simple and make this signal call index "free". I suggest keeping it on the VoiceCallManager interface.
The CSSI indication comes right after when call reached the MO dialing state and an operator announcement is played over and over again telling the caller the reason why calls are not possible.

Ok, sounds fine to me.

Quoted 24 lines
Quoted 16 lines
Quoted 4 lines
doc/voicecallmanager-api.txt +4 -0
+        OutgoingCallCondForwarded()
+
+            Signal is emitted when an outgoing voice call is made
+            and the call has been redirected to another number due

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 174

Quoted 10 lines
doc/voicecallmanager-api.txt +10 -0
+            to the remote party's conditional "Call Forwarding"
+            Supplementary Service settings.
+
+        OutgoingCallUncondForwarded()
+
+            Signal is emitted when an outgoing voice call is made
+            and the call has been redirected to another number due
+            to the remote party's unconditional "Call Forwarding"
+            Supplementary Service settings.
+

Same with these two, lets call it CallForwarded(string type)

Quoted 2 lines

where type is:
"conditional" or "unconditional"

I'll combine them into one, that's fine.

Quoted 5 lines

And the same question applies here as well, do we want this on the call object itself? If so, then calling this signal Forwarded(string type) would be better. Perhaps adding another type for incoming calls that are forwarded and removing the 'Forwarded' property would be a good idea as well. e.g. something like "incoming" type.

Quoted 7 lines

I am thinking along the same line. Let's replace the "Forwarded" property with the "Forwarded" signal and add the "incoming" type you were suggesting to this signal.
And we shall not care about the call index, since most probably is not going to be used anywhere, in this respect this cases is pretty similar to the call barring signaling case; signal will be emitted on the VoiceCallManager interface.

Sounds good to me.

Please resend V3 for final review.

Regards,
-Denis

#11 lore raw

RFC 1/1 voicecall API changes (proposal v3)

---
 doc/call-barring-api.txt     |   10 ----------
 doc/voicecall-api.txt        |   11 +++++++++++
 doc/voicecallmanager-api.txt |   26 ++++++++++++++++++++++++++
 3 files changed, 37 insertions(+), 10 deletions(-)
doc/call-barring-api.txt +0 -10
index 41ae4b1..1534494 100644
@@ -37,16 +37,6 @@ Signals		PropertyChanged(string property, variant value)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
-		IncomingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			incoming call barring supplementary service is in use.
-
-		OutgoingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			outgoing call barring supplementary service is in use.
-
 Properties	string VoiceIncoming [readwrite]
 
 			Contains the value of the barrings for the incoming
doc/voicecall-api.txt +11 -0
index 047b8cb..6a72386 100644
@@ -145,3 +145,14 @@ Properties	string LineIdentification [readonly]
 
 			Contains the indication if the voice call is an
 			emergency call or not.
+
+		boolean RemoteHeld
+
+			Contains the indication whether the voice call is put on
+			hold by the remote party or not.
+
+		boolean RemoteMultiparty
+
+			Contains the indication whether the voice call is joined
+			in a multiparty call by the remote party or not.
+
doc/voicecallmanager-api.txt +26 -0
index 5415345..1d49a42 100644
@@ -144,6 +144,32 @@ Signals		CallAdded(object path, dict properties)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
+		BarringActive(string type)
+
+			Signal emitted when an outgoing voice call is made and
+			the call has been barred by the network due to the
+			remote party's "Call Barring" Supplementary Services
+			settings for incoming calls. In this case the type
+			parameter in the signal set to "remote".
+			The signal is also emitted when an outgoing voice call
+			is made and the call has been barred by the network due
+			to the local "Call Barring" Supplementary Services
+			settings for outgoing calls. In this case the type
+			parameter in the signal is set to "local".
+
+		CallForwarded(string type)
+
+			Signal emitted when an outgoing voice call is made and
+			the call has been redirected to another number due to
+			the remote party's "Call Forwarding" Supplementary
+			Services settings. In this case the type parameter in
+			the signal is set to "outgoing".
+			The signal is also emitted when the incoming voice call
+			is a redirected call due to a call forwarding operation.
+			In this case the type parameter in the signal is set to
+			"incoming".
+
+
 Properties	array{string} EmergencyNumbers [readonly]
 
 			Contains the list of emergency numbers recognized
Signature · 1 line
1.7.0.4
#12 lore raw

Re: [RFC] voicecall API changes (proposal v3)

Hi Andras,

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 166

Quoted 7 lines
doc/voicecallmanager-api.txt +7 -0
+		CallForwarded(string type)
+
+			Signal emitted when an outgoing voice call is made and
+			the call has been redirected to another number due to
+			the remote party's "Call Forwarding" Supplementary
+			Services settings. In this case the type parameter in
+			the signal is set to "outgoing".

You do not want to distinguish between conditional / unconditional? Just checking here, either one is fine with me.

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 175

Quoted 9 lines
doc/voicecallmanager-api.txt +6 -0
+			The signal is also emitted when the incoming voice call
+			is a redirected call due to a call forwarding operation.
+			In this case the type parameter in the signal is set to
+			"incoming".
+
+
 Properties	array{string} EmergencyNumbers [readonly]
 
 			Contains the list of emergency numbers recognized

The proposal looks good to me. I'd apply it, however git am complains:

Applying: voicecall API changes (proposal v3) /home/denkenz/ofono-master/.git/rebase-apply/patch:32: new blank line at EOF.
+
fatal: 1 line adds whitespace errors.

Regards,
-Denis

#13 lore raw

Re: [RFC] voicecall API changes (proposal v3)

Hi Denis,

Quoted 11 lines · ext Denis Kenzior

Hi Andras,

doc/voicecallmanager-api.txt Signals CallAdded(object path, dict properties) · line 166

Quoted 7 lines
doc/voicecallmanager-api.txt +7 -0
+		CallForwarded(string type)
+
+			Signal emitted when an outgoing voice call is made and
+			the call has been redirected to another number due to
+			the remote party's "Call Forwarding" Supplementary
+			Services settings. In this case the type parameter in
+			the signal is set to "outgoing".

You do not want to distinguish between conditional / unconditional? Just checking here, either one is fine with me.

In the end I made a simplification and I merged the conditional and unconditional cases.

Quoted 8 lines
Quoted 8 lines
doc/voicecallmanager-api.txt +6 -0
+			The signal is also emitted when the incoming voice call
+			is a redirected call due to a call forwarding operation.
+			In this case the type parameter in the signal is set to
+			"incoming".
+
+
  Properties	array{string} EmergencyNumbers [readonly]
Quoted 8 lines
Quoted 1 line

Contains the list of emergency numbers recognized

The proposal looks good to me. I'd apply it, however git am complains:

Applying: voicecall API changes (proposal v3) /home/denkenz/ofono-master/.git/rebase-apply/patch:32: new blank line at EOF.
+
fatal: 1 line adds whitespace errors.

My mistake, there is an extra empty line there, I will redo the patch.

Quoted 2 lines

Regards,
-Denis

Regards,
Andras

#14 lore raw

RFC 1/1 voicecall API changes (proposal v3)

In reply to Denis Kenzior
---
 doc/call-barring-api.txt     |   10 ----------
 doc/voicecall-api.txt        |   11 +++++++++++
 doc/voicecallmanager-api.txt |   25 +++++++++++++++++++++++++
 3 files changed, 36 insertions(+), 10 deletions(-)
doc/call-barring-api.txt +0 -10
index 41ae4b1..1534494 100644
@@ -37,16 +37,6 @@ Signals		PropertyChanged(string property, variant value)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
-		IncomingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			incoming call barring supplementary service is in use.
-
-		OutgoingBarringInEffect()
-
-			Signal is emitted when a call is made and an
-			outgoing call barring supplementary service is in use.
-
 Properties	string VoiceIncoming [readwrite]
 
 			Contains the value of the barrings for the incoming
doc/voicecall-api.txt +11 -0
index 047b8cb..6a72386 100644
@@ -145,3 +145,14 @@ Properties	string LineIdentification [readonly]
 
 			Contains the indication if the voice call is an
 			emergency call or not.
+
+		boolean RemoteHeld
+
+			Contains the indication whether the voice call is put on
+			hold by the remote party or not.
+
+		boolean RemoteMultiparty
+
+			Contains the indication whether the voice call is joined
+			in a multiparty call by the remote party or not.
+
doc/voicecallmanager-api.txt +25 -0
index 5415345..06e7b4e 100644
@@ -144,6 +144,31 @@ Signals		CallAdded(object path, dict properties)
 			Signal is emitted whenever a property has changed.
 			The new value is passed as the signal argument.
 
+		BarringActive(string type)
+
+			Signal emitted when an outgoing voice call is made and
+			the call has been barred by the network due to the
+			remote party's "Call Barring" Supplementary Services
+			settings for incoming calls. In this case the type
+			parameter in the signal set to "remote".
+			The signal is also emitted when an outgoing voice call
+			is made and the call has been barred by the network due
+			to the local "Call Barring" Supplementary Services
+			settings for outgoing calls. In this case the type
+			parameter in the signal is set to "local".
+
+		CallForwarded(string type)
+
+			Signal emitted when an outgoing voice call is made and
+			the call has been redirected to another number due to
+			the remote party's "Call Forwarding" Supplementary
+			Services settings. In this case the type parameter in
+			the signal is set to "outgoing".
+			The signal is also emitted when the incoming voice call
+			is a redirected call due to a call forwarding operation.
+			In this case the type parameter in the signal is set to
+			"incoming".
+
 Properties	array{string} EmergencyNumbers [readonly]
 
 			Contains the list of emergency numbers recognized
Signature · 1 line
1.7.0.4
#15 lore raw

Re: [RFC] voicecall API changes (proposal v3)

Hi Andras,

Quoted 6 lines · Andras Domokos
---
 doc/call-barring-api.txt     |   10 ----------
 doc/voicecall-api.txt        |   11 +++++++++++
 doc/voicecallmanager-api.txt |   25 +++++++++++++++++++++++++
 3 files changed, 36 insertions(+), 10 deletions(-)

Your patch still didn't apply due to whitespace at EOF, but I was nice and enough and fixed it for you. Patch has been applied. I went ahead and marked the properties / signals as experimental until an implementation arrives.

Regards,
-Denis

#16 lore raw

Re: [RFC] voicecall API changes (proposal v3)

Hi Denis,

Quoted 9 lines · ext Denis Kenzior

Hi Andras,

Quoted 6 lines · Andras Domokos
---
  doc/call-barring-api.txt     |   10 ----------
  doc/voicecall-api.txt        |   11 +++++++++++
  doc/voicecallmanager-api.txt |   25 +++++++++++++++++++++++++
  3 files changed, 36 insertions(+), 10 deletions(-)
Quoted 4 lines

Your patch still didn't apply due to whitespace at EOF, but I was nice and enough and fixed it for you. Patch has been applied. I went ahead and marked the properties / signals as experimental until an implementation arrives.

Thanks a lot!
I move on to preparing the implementation patches.

Quoted 2 lines

Regards,
-Denis

Regards,
Andras