All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFCv3] doc: Proposal for LTE/IMS API
@ 2011-02-10 22:33 Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
  2011-02-15 14:02 ` Pekka Pessi
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Sjur =?unknown-8bit?q?Br=C3=A6ndeland?= @ 2011-02-10 22:33 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 7130 bytes --]

From: Sjur Brændeland <sjur.brandeland@stericsson.com>

With latest changes the P-CSCF addresses from ISIM can be read
from the IpMultimediaIdentity objects and the P-CSCF addresses
returned as dynamic parameters for the PDN Connection are avilable
in the ConnectionContext object.

I have also added LocalAddress to the IMS QoS SIP PreCondiction check.
The Local IP address identifies the APN, so that PreCondition check
in effect can be done per IMS APN.

Changes from RFC-v2:
	- Moved P-CSCF addresses to the IpMultimediaIdentity object
	- Fixed object path descriptions
	- IMS Registration types is now an array of strings
	- Fixed bad parameters to UnRegister
	- Added LocalAddress to PreConditionCheck
	- Added P-CSCF addresses to the ConnectionContext object
---
 doc/connman-api.txt |   18 ++++++
 doc/ims-api.txt     |  148 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 166 insertions(+), 0 deletions(-)
 create mode 100644 doc/ims-api.txt

diff --git a/doc/connman-api.txt b/doc/connman-api.txt
index 22c59dc..314c018 100644
--- a/doc/connman-api.txt
+++ b/doc/connman-api.txt
@@ -249,3 +249,21 @@ Properties	boolean Active [readwrite]
 		string MessageCenter [readwrite, MMS only]
 
 			Holds the MMSC setting.
+
+		array{string} PcscfAddresses [readonly,optional]
+
+			For ConnectionContext with Type = "ims" this
+			property holds the Domain Names or IP Addresses
+			of the SIP Proxy, called "Proxy Call Session Control
+			Function" (P-CSCF).
+
+			The P-CSCF addresses are returned in EPS signaling as
+			part of the Default Bearer setup for the IMS APN. The
+			addresses may be of type IPv4 and/or IPv6.
+
+			Related AT command: AT+CGCONTRDP
+
+			NOTE:	The P-CSCF addresses read from ISIM, is
+				available in the IpMultimediaIdentity
+				object. It is up to the IMS application to
+				choose the P-CSCF to use.
diff --git a/doc/ims-api.txt b/doc/ims-api.txt
new file mode 100644
index 0000000..9030457
--- /dev/null
+++ b/doc/ims-api.txt
@@ -0,0 +1,148 @@
+Ip Multimedia Subsystem hierarchy [experimental]
+=================================
+
+Service		org.ofono
+Interface	org.ofono.IpMultimediaSubsystem
+Object path	[variable prefix]/{modem0,modem1,...}
+
+Methods		dict GetProperties()
+
+			Returns all IMS properties. See the
+			properties section for available properties.
+
+		void Register(array{string} types)
+
+			Registers an IMS Application. It must register
+			with at least one of the types: "voice" or "messaging".
+			In future "video" (Conversational Video, Live
+			Streaming) should be added. This registration will
+			inform the modem's radio stack that the IMS application
+			has registered for Voice and/or Messaging over IMS.
+			This registration may impact "UE Mode of operation"
+			and the ISR feature in the radio stack.
+
+			The registered application is tracked, if the
+			application exits the registration will be
+			automatically released.
+
+			Possible Errors: [service].Error.InvalidArguments
+
+		void UnRegister()
+
+			Un-registers a previously registered IMS application.
+
+		boolean PreConditionCheck(string Type, string PeerAddress,
+					uint16 PeerPort, string LocalAddress,
+					uint16 LocalPort)
+
+			This method is used by the IMS application to check
+			if the QoS SIP precondition is fulfilled.
+
+			The IMS application should call this method when
+			receiving a PreConditionChanged() signal.
+			The IMS Application is not allowed to start alerting
+			before it has confirmed that it has a voice-ready
+			Dedicated Bearer and QoS set up in the network.
+
+			The legal parameter for Type currently is currently
+			"voice" only. In future "video" (Conversational Video,
+			Live Streaming) will be added.
+
+			PeerAddress and LocalAddress can be IPv4 or IPv6
+			address. PeerPort and LocalPort is the RTP port
+			used for the media stream.
+
+			This method returns true if the Traffic Flow Template
+			read from the modem matches the address information
+			provided, and the QCI and Bit Rates fulfills the
+			requirements for the specified Type.
+
+			Related AT commands: AT+CGEQOSRDP, AT+CGTFTRDP
+
+Signals		PropertyChanged(string property, variant value)
+
+			This signal indicates a changed value of the given
+			property.
+
+		void PreConditionChanged()
+
+			This signal is sent when the network has changed
+			the QoS or Packet Filters for a Bearer.
+			The IMS application can then check the QoS SIP
+			preconditions by calling PreConditionCheck().
+
+			Only QoS information relevant for IMS will be
+			signaled, i.e. QCI=1 for voice and QCI=2 for video.
+
+			Related AT commands: AT+CGEREP,
+			+CGEV: NW ACT, +CGEV: NW MODIFY
+
+Properties
+		array{object} Identities [readonly]
+
+			Array of IP Multimedia Services Identity Module
+			(ISIM) objects.
+
+		boolean VoiceOverPs [readonly]
+
+			IMS voice is enabled by network
+			Related AT command: AT+CIREP.
+
+		string CsHandoverProgress [readonly, optional]
+
+			Indicates the handover progress status during a CS
+			fallback procedure. The possible values are:
+				"started"  - CS Fallback procedure has started
+				"complete" - CS Fallback procedure has completed
+				"failure"  - CS Fallback has failed
+				"idle"     - No CS call or fallback is ongoing
+
+			Related AT URC: +CIREP
+
+IP Multimedia Identity hierarchy [experimental]
+================================
+Service		org.ofono
+Interface	org.ofono.IpMultimediaIdentity
+Object path	[variable prefix]/{modem0,modem1,...}/{isim0, isim1, ...}
+
+Methods		dict GetProperties()
+
+			Returns ISIM properties relevant for IMS.
+
+			Possible Errors: [service].Error.InvalidArguments
+
+			NOTE:	No PropertyChanged signal is provided.
+				Technically it is possible for provisioning
+				to update these identities, but 3gpp TS31.103
+				discourages this.
+
+Properties	string PrivateIdentity [readonly]
+
+			The Private Identity is used to allow the UE access
+			to the IMS network (registration, authorization,
+			administration and billing).
+
+		array{string} PublicIdentity [readonly]
+
+			The Public Identity is used to identify a specific
+			IMS user (there may be more than one associated
+			with one Private Identity). This information is conveyed
+			to the IMS Network during registration so that the
+			network can know what IMS users that are registered and
+			available for service (e.g. a reception of a voice
+			session).
+
+		string HomeDomainName[readonly]
+
+			Identity used for IMS registration.
+
+		array{string} PcscfAddresses [readonly]
+
+			Domain Names or IP Addresses of the SIP Proxy,
+			called "Proxy Call Session Control Function" (P-CSCF).
+			The P-CSCF addresses is read from the EFp-cscf SIM
+			record. The addresses may be of type IPv4 and/or IPv6.
+
+			NOTE:	P-CSCF addresses are also provided in the
+				ConnectionContext API. It is up to the IMS
+				application to choose the P-CSCF to use.
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RFCv3] doc: Proposal for LTE/IMS API
  2011-02-10 22:33 [RFCv3] doc: Proposal for LTE/IMS API Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
@ 2011-02-15 14:02 ` Pekka Pessi
  2011-03-02 11:18 ` Arun Ravindran
  2011-03-03 15:29 ` Arun Ravindran
  2 siblings, 0 replies; 4+ messages in thread
From: Pekka Pessi @ 2011-02-15 14:02 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 949 bytes --]

Hi Sjur,

2011/2/11 Sjur Brændeland <sjurbren@gmail.com>:
> With latest changes the P-CSCF addresses from ISIM can be read
> from the IpMultimediaIdentity objects and the P-CSCF addresses
> returned as dynamic parameters for the PDN Connection are avilable
> in the ConnectionContext object.
>
> I have also added LocalAddress to the IMS QoS SIP PreCondiction check.
> The Local IP address identifies the APN, so that PreCondition check
> in effect can be done per IMS APN.

This looks pretty good to me.

I take that an application that does
IpMultimediaSubsystem.Register("voice") implicitly support SR-VCC? Or
should you add a separate register-token for it, too?

Another issue is the list of ISIMs, the current oFono way of providing
list of objects is via separate Get* method returning an
array{object,dict}. What about of adding GetImsIdentities() into
SimManager API?

--Pekka

-- 
Pekka.Pessi mail at nokia.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFCv3] doc: Proposal for LTE/IMS API
  2011-02-10 22:33 [RFCv3] doc: Proposal for LTE/IMS API Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
  2011-02-15 14:02 ` Pekka Pessi
@ 2011-03-02 11:18 ` Arun Ravindran
  2011-03-03 15:29 ` Arun Ravindran
  2 siblings, 0 replies; 4+ messages in thread
From: Arun Ravindran @ 2011-03-02 11:18 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1117 bytes --]

Hi Sjur

> +
> +		boolean VoiceOverPs [readonly]
> +
> +			IMS voice is enabled by network
> +			Related AT command: AT+CIREP.
> +
> +		string CsHandoverProgress [readonly, optional]
> +
> +			Indicates the handover progress status during a CS
> +			fallback procedure. The possible values are:
> +				"started"  - CS Fallback procedure has started
> +				"complete" - CS Fallback procedure has completed
> +				"failure"  - CS Fallback has failed
> +				"idle"     - No CS call or fallback is ongoing
> +
> +			Related AT URC: +CIREP
> +

+CIREP reports SRVCC and IMSVOPS events (27.007). As per 23.216, SRVCC 
is basically a handover of CS voice call anchored in IMS to CS domain.

But the property values for csHandoverProgress descriptions says "CS 
Fall back procedure", which i think is wrong. How about changing "CS 
Fallback" to "PS-CS SRVCC Handover"

CS fall back and SRVCC are not the same, to my understanding.  For SRVCC 
the call should be based in IMS and it is a handover, and CSFB happens 
not during call, but before it.

Correct me if i am wrong.

regards
Arun


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFCv3] doc: Proposal for LTE/IMS API
  2011-02-10 22:33 [RFCv3] doc: Proposal for LTE/IMS API Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
  2011-02-15 14:02 ` Pekka Pessi
  2011-03-02 11:18 ` Arun Ravindran
@ 2011-03-03 15:29 ` Arun Ravindran
  2 siblings, 0 replies; 4+ messages in thread
From: Arun Ravindran @ 2011-03-03 15:29 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]

Hi Sjur,

I have a doubt on this interface
> +		void Register(array{string} types)
> +
> +			Registers an IMS Application. It must register
> +			with at least one of the types: "voice" or "messaging".
> +			In future "video" (Conversational Video, Live
> +			Streaming) should be added. This registration will
> +			inform the modem's radio stack that the IMS application
> +			has registered for Voice and/or Messaging over IMS.
> +			This registration may impact "UE Mode of operation"
> +			and the ISR feature in the radio stack.
> +
> +			The registered application is tracked, if the
> +			application exits the registration will be
> +			automatically released.
> +
> +			Possible Errors: [service].Error.InvalidArguments
27.007 describes +CEMODE which sets the UE mode of operation and is 
referring to 24.301.

There are only 4 modes PS Mode 1, PS Mode 2, PS/CS Mode 1, PS/CS Mode 
2.  These modes only specify, what type of attach is required (a IMSI, 
EPS or a combined). Also if UE supports CSFB, it should be in CS/PS 
modes . There is also +VCMOD which can be used to decide whether to use 
CS or PS for voice calls.

What does the Register interface do w.r.t ofono? What AT commands could 
be used here to signal the UE mode of operation to modem?

How does "voice" or "messaging" relate to the 4 modes specified in 
27.007 and 24.301?

Regards
Arun


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-03 15:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-10 22:33 [RFCv3] doc: Proposal for LTE/IMS API Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
2011-02-15 14:02 ` Pekka Pessi
2011-03-02 11:18 ` Arun Ravindran
2011-03-03 15:29 ` Arun Ravindran

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.