From: Sjur Brændeland sjur.brandel...@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 000..9030457
--- /dev/null
+++ b/doc/ims-api.txt
@@ -0,0 +1,148 @@
+Ip Multimedia Subsystem hierarchy [experimental]
+=
+
+Serviceorg.ofono
+Interface org.ofono.IpMultimediaSubsystem
+Object path[variable prefix]/{modem0,modem1,...}
+
+Methodsdict 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
+