r294 - trunk/specifications/otapi

smartphones-commits at linuxtogo.org smartphones-commits at linuxtogo.org
Sat May 3 01:13:11 CEST 2008


Author: mickeylauer
Date: 2008-05-03 01:13:11 +0200 (Sat, 03 May 2008)
New Revision: 294

Modified:
   trunk/specifications/otapi/org.freesmartphone.GSM.Call.xml.in
Log:
otapi/org.freesmartphone.GSM.Call.xml.in: simplify and improve call progress signals based on 
spyre's comments. This feels much better now.


Modified: trunk/specifications/otapi/org.freesmartphone.GSM.Call.xml.in
===================================================================
--- trunk/specifications/otapi/org.freesmartphone.GSM.Call.xml.in	2008-05-02 14:05:39 UTC (rev 293)
+++ trunk/specifications/otapi/org.freesmartphone.GSM.Call.xml.in	2008-05-02 23:13:11 UTC (rev 294)
@@ -24,14 +24,45 @@
     </arg>
   </method>
 
-  <signal name="IncomingCall">
+  <signal name="CallStatus">
     <doc:doc>
-      <doc:description>Sent frequently whenever there is an incoming call.</doc:description>
+      <doc:description>
+        Sent whenever there is any status or property change on a call in the system,
+        no matter whether this is an incoming, active, held, or released call.
+        </doc:description>
       <doc:inote>This signal is emitted once for every 'RING' from the modem.</doc:inote>
     </doc:doc>
-    <arg name="type" type="s" />
-    <arg name="number" type="s" />
-    <arg type="i" name="id" />
+    <arg type="i" name="id">
+      <doc:doc>
+        <doc:summary>The index of the call that changed its status or properties.</doc:summary>
+      </doc:doc>
+    </arg>
+    <arg type="s" name="status">
+      <doc:doc>
+        <doc:summary>
+          The new status of the call. Expected values are:
+          "incoming" = The call is incoming (but not yet accepted),
+          "outgoing" = The call is outgoing (but not yet established),
+          "active" = The call is the active call (you can talk),
+          "held" = The call is being held,
+          "released" = The call is being released.
+          Further information can be part of the properties.
+        </doc:summary>
+      </doc:doc>
+    </arg>
+    <arg type="a{sv}" name="properties">
+      <doc:doc>
+        <doc:summary>
+          An array of changed property values. To get the full status for a call,
+          you need to issue the GetCallStatus() method. Note that the properties
+          are optional. Expected tuples are:
+          ( "number", string ) = The number of the peer (on incoming calls only if we received a CLIP)
+          ... [ add more here ]
+          ( "auxstatus", string ) = An auxillary connection status (if your modem supports that),
+          ...
+        </doc:summary>
+      </doc:doc>
+    </arg>
   </signal>
 
   <method name="Activate">
@@ -45,18 +76,6 @@
     <arg type="i" name="id" direction="in" />
   </method>
 
-  <signal name="ActivatedCall">
-    <doc:doc>
-      <doc:description>
-        Sent whenever a call becomes the active call. No difference is made whether this
-        is a new call or a call that has been put on hold.
-      </doc:description>
-    </doc:doc>
-    <arg name="type" type="s" />
-    <arg name="number" type="s" />
-    <arg type="i" name="id" />
-  </signal>
-
   <method name="Hold">
     <annotation name="org.freedesktop.DBus.GLib.Async" value="fso_gsm_call" />
     <doc:doc>
@@ -65,15 +84,6 @@
     <arg type="i" name="id" direction="in" />
   </method>
 
-  <signal name="HeldCall">
-    <doc:doc>
-      <doc:description>Sent whenever a call has been put on hold.</doc:description>
-    </doc:doc>
-    <arg name="type" type="s" />
-    <arg name="number" type="s" />
-    <arg type="i" name="id" />
-  </signal>
-
   <method name="Release">
     <annotation name="org.freedesktop.DBus.GLib.Async" value="fso_gsm_call" />
     <doc:doc>
@@ -83,18 +93,6 @@
     <arg type="i" name="id" direction="in" />
   </method>
 
-  <signal name="ReleasedCall">
-    <doc:doc>
-      <doc:description>
-        Sent whenever a call has been released. No difference is made whether
-        this was the active call or a call that has been put on hold.
-      </doc:description>
-    </doc:doc>
-    <arg type="b" name="success" />
-    <arg type="s" name="reason" />
-    <arg type="i" name="id" />
-  </signal>
-
   <method name="ReleaseAll">
     <annotation name="org.freedesktop.DBus.GLib.Async" value="fso_gsm_call" />
     <doc:doc>
@@ -108,9 +106,7 @@
     <doc:doc>
       <doc:description>Initiate an outgoing call.</doc:description>
       <doc:inote>
-        The next guaranteed signal you will receive is either
-        'ReleasedCall' (in case the peer rejects the call), or
-        'ActivatedCall' (in case the peer takes the call).
+        This is implemented using the atd command.
       </doc:inote>
     </doc:doc>
     <arg type="s" name="number" direction="in" />
@@ -118,61 +114,71 @@
     <arg type="i" name="id" direction="out" />
   </method>
 
-  <signal name="CallProgress">
+  <method name="ListCalls">
+    <annotation name="org.freedesktop.DBus.GLib.Async" value="fso_gsm_call" />
     <doc:doc>
-      <doc:description>Optional: Sent when a call changes progress.</doc:description>
-      <doc:inote>This maps to a GSM extension command not specified by standards.</doc:inote>
+      <doc:description>Retrieve indices of calls.</doc:description>
     </doc:doc>
-    <arg type="s" name="progress">
+    <arg type="a(i)" name="calls" direction="out">
       <doc:doc>
-        <doc:summary>
-          The call progress. Expected values are:
-          "Setting up",
-          "Disconnect",
-          "Alert",
-          "Proceed",
-          "Sync",
-          "Progress",
-          "Connected",
-          "Release",
-          "Reject",
-          "Unknown".
-        </doc:summary>
+        <doc:summary>Indices of calls in the system.</doc:summary>
       </doc:doc>
     </arg>
-    <arg type="i" name="id">
-      <doc:doc>
-        <doc:description>Index of call that changed call progress.</doc:description>
-      </doc:doc>
-    </arg>
-  </signal>
+  </method>
 
-  <method name="ListCalls">
+  <method name="GetCallStatus">
     <annotation name="org.freedesktop.DBus.GLib.Async" value="fso_gsm_call" />
     <doc:doc>
-      <doc:description>Retreive list of calls.</doc:description>
+      <doc:description>Retrieve the status for a call in the system.</doc:description>
     </doc:doc>
-    <arg type="a{isb}" name="calls" direction="out">
+    <arg type="i" name="id" direction="in">
       <doc:doc>
+        <doc:summary>The index of the call that you want to retreive the status for.</doc:summary>
+      </doc:doc>
+    </arg>
+    <arg type="i" name="id" direction="out">
+      <doc:doc>
+        <doc:summary>The index of the call.</doc:summary>
+        <doc:inote>This is repeated here to be in line with the signature of the signal CallStatus.</doc:inote>
+      </doc:doc>
+    </arg>
+    <arg type="s" name="status" direction="out">
+      <doc:doc>
         <doc:summary>
-          The calls. Expected structure decomposes to:
-          1. Index,
-          2. Number of the peer,
-          3. True, if it is the active call, False otherwise.
+          The new status of the call. Expected values are:
+          "incoming" = The call is incoming (but not yet accepted),
+          "outgoing" = The call is outgoing (but not yet established),
+          "active" = The call is the active call (you can talk),
+          "held" = The call is being held,
+          "released" = The call is being released.
+          Further information can be part of the properties.
         </doc:summary>
       </doc:doc>
     </arg>
+    <arg type="a{sv}" name="properties">
+      <doc:doc>
+        <doc:summary>
+          An array of changed property values. To get the full status for a call,
+          you need to issue the GetCallStatus() method. Note that the properties
+          are optional. Expected tuples are:
+          ( "number", string ) = The number of the peer (on incoming calls only if we received a CLIP)
+          ... [ add more here ]
+          ( "auxstatus", string ) = An auxillary connection status (if your modem supports that),
+          ...
+        </doc:summary>
+      </doc:doc>
+    </arg>
   </method>
 
   <method name="SendDtmf">
     <annotation name="org.freedesktop.DBus.GLib.Async" value="fso_gsm_call" />
     <doc:doc>
-      <doc:description>Send a Dual Tone Multiple Frequency (DTMF) signal during a call.</doc:description>
+      <doc:description>Send a Dual Tone Multiple Frequency (DTMF) signal during an active call.</doc:description>
       <doc:inote>This maps to the TIA IS 101 command +VTS=(value), see 3GPP TS 07.07 Chapter C.2.11.</doc:inote>
     </doc:doc>
-    <arg type="s" name="signal" direction="out">
+    <arg type="s" name="tone" direction="out">
       <doc:doc>
-        <doc:summary>The signal to sent. Expected valid values are: (0-9,#,*,A-D)</doc:summary>
+        <doc:summary>The tone to send. Allowed values are: (0-9,#,*,A-D)</doc:summary>
       </doc:doc>
     </arg>
   </method>




More information about the Smartphones-commits mailing list