All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sjur =?unknown-8bit?q?Br=C3=A6ndeland?= <sjurbren@gmail.com>
To: ofono@ofono.org
Subject: [RFCv2] doc: Proposal for LTE/IMS API
Date: Tue, 08 Feb 2011 15:29:17 +0100	[thread overview]
Message-ID: <1297175357-28145-1-git-send-email-sjurbren@gmail.com> (raw)

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

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

Thanks for lots of useful feedback from last RFC,
here is my next revision on the LTE/IMS API.
Comments are still very much welcome!

Changes from RFC-V1:
	- Renamed IMS to IpMultimediaSubsystem (some places)
	- Changed registration of IMS application.
	- Moved IMS Identities to a separate interface
	- Dropped the entire TFT/QoS info.
	  Instead oFono checks the QoS SIP Preconditions.
	  IMS application is notified about changes in QoS,
	  and asks oFono if the QoS SIP preconditions are
	  satisfied.
---
 doc/ims-api.txt |  162 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 162 insertions(+), 0 deletions(-)
 create mode 100644 doc/ims-api.txt

diff --git a/doc/ims-api.txt b/doc/ims-api.txt
new file mode 100644
index 0000000..5404e61
--- /dev/null
+++ b/doc/ims-api.txt
@@ -0,0 +1,162 @@
+Ip Multimedia Subsystem hierarchy [experimental]
+=================================
+
+Service		org.ofono
+Interface	org.ofono.IpMultimediaSubsystem
+Object path	[variable prefix]
+
+Methods		dict GetProperties()
+
+			Returns all IMS properties. See the
+			properties section for available properties.
+
+		void Register(string type)
+
+			Register a IMS Application. It must register
+			with one of the types:
+			"voice", "messaging", "voice_messaging".
+
+			This registration will inform 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.
+
+			Related AT command: AT+EISR.
+
+			Possible Errors: [service].Error.InvalidArguments
+
+		void UnRegister(object path)
+
+			Un-register a IpMultimediaSubsystemAgent.
+
+			Possible Errors: [service].Error.InvalidArguments
+
+		boolean PreConditionCheck(string Type, string PeerAddress,
+					uint16 PeerPort,  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 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
+
+			NOTE:	Should the "Type" parameter be removed?
+				Maybe IMS-video still is a bit futuristic.
+
+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 Identities objects and
+			properties.
+			NOTE:	It is assumed that Identities will not change.
+
+		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
+
+		array{string} PcscfAddresses [readonly]
+
+			Domain Name or IP Address of the SIP Proxy.
+			The P-CSCF address returned in EPS signaling as
+			as part of the Default Bearer setup will be used.
+			The addresses may be of type IPv4 and/or IPv6.
+			If no P-CSCF data is available the information from
+			EFp-cscf will be used.
+
+			Related AT command: AT+CGCONTRDP
+
+			NOTE:	If an operator can have more than one
+				IMS-APN with different set of pcscf servers,
+				this property must be moved to the
+				ConnectionContext object.
+
+IP Multimedia Identities hierarchy [experimental]
+==================================
+
+Service		org.ofono
+Interface	org.ofono.IpMultimediaIdentities
+Object path	[variable prefix]
+
+
+Methods		dict GetProperties()
+
+			Returns all IMS identitiy properties.
+
+			Possible Errors: [service].Error.InvalidArguments
+
+			NOTE:	No PropertyChanged signal is supported.
+				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.
-- 
1.6.3.3


             reply	other threads:[~2011-02-08 14:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-08 14:29 Sjur =?unknown-8bit?q?Br=C3=A6ndeland?= [this message]
2011-02-08 14:47 ` [RFCv2] doc: Proposal for LTE/IMS API =?unknown-8bit?q?R=C3=A9mi?= Denis-Courmont
2011-02-08 16:22   ` Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
2011-02-09  7:02     ` =?unknown-8bit?q?R=C3=A9mi?= Denis-Courmont
2011-02-09 16:35       ` Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
2011-02-10  9:30   ` Kjetil ASDAL
2011-02-08 15:20 ` Soum, RedouaneX
2011-02-08 16:42   ` Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
  -- strict thread matches above, loose matches on Subject: below --
2011-02-14 21:35 Fallon, Michael F
2011-02-14 21:39 ` Marcel Holtmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1297175357-28145-1-git-send-email-sjurbren@gmail.com \
    --to=sjurbren@gmail.com \
    --cc=ofono@ofono.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.