| 1 | |
|---|
| 2 | <!-- Warning: This file has been autogenerated by tools/makedoc.py. Manual edits will be overwritten. --> |
|---|
| 3 | <html> |
|---|
| 4 | <head> |
|---|
| 5 | <title>freesmartphone.org GSM Network Interface</title> |
|---|
| 6 | <link rel="stylesheet" type="text/css" href="http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/style.css;hb=HEAD" /> |
|---|
| 7 | </head> |
|---|
| 8 | <body> |
|---|
| 9 | <div class="topbox">freesmartphone.org Framework DBus Interface Specification</div> |
|---|
| 10 | |
|---|
| 11 | |
|---|
| 12 | <h1>org.freesmartphone.GSM.Network</h1><h2>Description</h2> |
|---|
| 13 | <p>The Network interface is used to give information about the GSM service providers and this device's status with regards to to network registration and connectivity. Taxonomy note: We think in terms of (service) providers rather than (network) operators, since multiple (service) providers can use the networks from operators, however what actually matters most is the provider name, not the actual network operator the provider is using.</p> |
|---|
| 14 | <h2>Namespace</h2> |
|---|
| 15 | <p><tt>org.freesmartphone.GSM.Network</tt></p> |
|---|
| 16 | <h2>Methods</h2><ul> |
|---|
| 17 | <li><a href="#Register">Register</a></li> |
|---|
| 18 | <li><a href="#Unregister">Unregister</a></li> |
|---|
| 19 | <li><a href="#GetStatus">GetStatus</a></li> |
|---|
| 20 | <li><a href="#GetSignalStrength">GetSignalStrength</a></li> |
|---|
| 21 | <li><a href="#ListProviders">ListProviders</a></li> |
|---|
| 22 | <li><a href="#RegisterWithProvider">RegisterWithProvider</a></li> |
|---|
| 23 | <li><a href="#GetCountryCode">GetCountryCode</a></li> |
|---|
| 24 | <li><a href="#GetCallForwarding">GetCallForwarding</a></li> |
|---|
| 25 | <li><a href="#EnableCallForwarding">EnableCallForwarding</a></li> |
|---|
| 26 | <li><a href="#DisableCallForwarding">DisableCallForwarding</a></li> |
|---|
| 27 | <li><a href="#SetCallingIdentification">SetCallingIdentification</a></li> |
|---|
| 28 | <li><a href="#GetCallingIdentification">GetCallingIdentification</a></li> |
|---|
| 29 | <li><a href="#SendUssdRequest">SendUssdRequest</a></li> |
|---|
| 30 | </ul> |
|---|
| 31 | <h2>Signals</h2><ul> |
|---|
| 32 | <li><a href="#Status">Status</a></li> |
|---|
| 33 | <li><a href="#SignalStrength">SignalStrength</a></li> |
|---|
| 34 | <li><a href="#IncomingUssd">IncomingUssd</a></li> |
|---|
| 35 | </ul> |
|---|
| 36 | <h2>Errors</h2><ul> |
|---|
| 37 | <li><a href="#NotPresent">NotPresent</a></li> |
|---|
| 38 | <li><a href="#Unauthorized">Unauthorized</a></li> |
|---|
| 39 | <li><a href="#NotSupported">NotSupported</a></li> |
|---|
| 40 | <li><a href="#NotFound">NotFound</a></li> |
|---|
| 41 | </ul> |
|---|
| 42 | <h1>Methods</h1><h3><a name="Register">Register</a> ( )</h3><p><i>Description:</i> Register with any available service provider.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +COPS=0, see 3GPP TS 07.07 Chapter 7.3.</p></div></p> |
|---|
| 43 | <h3><a name="Unregister">Unregister</a> ( )</h3><p><i>Description:</i> Unregister from service provider.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +COPS=2, see 3GPP TS 07.07 Chapter 7.3.</p></div></p> |
|---|
| 44 | <h3><a name="GetStatus">GetStatus</a> ( ) → a{sv}</h3> |
|---|
| 45 | <p><i>Description:</i> Get Network Status.</p><p><div class="rationale"><p>This can map to the following GSM 07.07 commands: <ul> <li>+CREG? (see 3GPP TS 07.07 Chapter 7.3),</li> <li>+COPS? (see 3GPP TS 07.07 Chapter 7.4),</li> <li>+CSQ (see 3GPP TS 07.07 Chapter 8.5).</li> </ul></p></div></p><h4>Returns</h4><i>a{sv}: status</i><p>Network status information. Mandatory tuples are: <ul> <li>( "registration", string ): <ul> The registration status. Expected values are: <li>"unregistered" = not registered, not trying,</li> <li>"home" = registered to home network,</li> <li>"busy" = not registered, but currently trying,</li> <li>"denied" = no permitted network available,</li> <li>"unknown" = no idea,</li> <li>"roaming" = registered to foreign network.</li> </ul></li> <li>( "mode", string ): <ul> The registration mode. Expected values are: <li>"automatic" = automatic selection,</li> <li>"manual" = manual selection,</li> <li>"manual;automatic" = manual first, then automatic,</li> <li>"unknown" = unknown.</li> </ul></li> </ul> Optional tuples are: <ul> <li>( "provider", string ): The network provider (if registered or roaming).</li> <li>( "strength", int ): The signal strength in percentage (0-100).</li> <li>( "lac", string ): The location area code string (if available).</li> <li>( "cid", string ): The cell id string (if available).</li> </ul></p> |
|---|
| 46 | <h3><a name="GetSignalStrength">GetSignalStrength</a> ( ) → i</h3> |
|---|
| 47 | <p><i>Description:</i> Query the current signal strength, if registered with a service provider.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +CSQ, see 3GPP TS 07.07 Chapter 8.5.</p></div></p><h4>Returns</h4><i>i: signal_strength</i><p>The signal strength in percent (0-100).</p> |
|---|
| 48 | <h3><a name="ListProviders">ListProviders</a> ( ) → a(isss)</h3> |
|---|
| 49 | <p><i>Description:</i> List available service providers.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +COPS=?, see 3GPP TS 07.07 Chapter 7.3.</p></div></p><h4>Returns</h4><i>a(isss): providers</i><p>An array of four-tuples with the following structure: <ul> <li>Unique numerical operator code,</li> <li>Status ("unknown", "available", "current", "forbidden"),</li> <li>Long Name,</li> <li>Short Name (optional, may be empty).</li> </ul></p> |
|---|
| 50 | <h3><a name="RegisterWithProvider">RegisterWithProvider</a> ( i )</h3> |
|---|
| 51 | <p><i>Description:</i> Register to a dedicated service provider.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +COPS=1..., see 3GPP TS 07.07 Chapter 7.3.</p></div></p><h4>Parameters</h4><i>i: operator_code</i><p>The operator code.</p> |
|---|
| 52 | <h3><a name="GetCountryCode">GetCountryCode</a> ( ) → s</h3> |
|---|
| 53 | <p><i>Description:</i> Compute the country code of the current service provider.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +COPS?, see 3GPP TS 07.07 Chapter 5.6. Get the dial code by cross-referencing ITU E.212 (Land Mobile Numbering Plan).</p></div></p><h4>Returns</h4><i>s: dial_code</i><p>The country dial code (including the +).</p> |
|---|
| 54 | <h3><a name="GetCallForwarding">GetCallForwarding</a> ( ) → a{sv}</h3> |
|---|
| 55 | <p><i>Description:</i> Get the network call forwarding status.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +CCFC=(reason),2, see 3GPP TS 07.07 Chapter 7.10.</p></div></p><h4>Returns</h4><i>a{sv}: status</i><p>A dictionary containing entries for call classes. Expected keywords are: <ul> <li>"voice",</li> <li>"data",</li> <li>"voice+data",</li> <li>"fax",</li> <li>"voice+data+fax".</li> </ul> Rarely you might also encounter: <ul> <li>"sms",</li> <li>"dcs",</li> <li>"dca",</li> <li>"dpa",</li> <li>"pad".</li> </ul> The value is a three-tuple with the following structure: <ul> <li>boolean: Whether the feature is enabled or not,</li> <li>string: Call forwarding number,</li> <li>int: Number of seconds after which the call forwarding gets active.</li> </ul></p> |
|---|
| 56 | <h3><a name="EnableCallForwarding">EnableCallForwarding</a> ( sssi )</h3> |
|---|
| 57 | <p><i>Description:</i> Enable network call forwarding.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +CCFC=(...),3, see 3GPP TS 07.07 Chapter 7.10.</p></div></p><h4>Parameters</h4><i>s: reason</i><p>Reason for which you want to enable network call forwarding. Valid reasons are: <ul> <li>"unconditional",</li> <li>"mobile busy",</li> <li>"no reply",</li> <li>"not reachable",</li> <li>"all",</li> <li>"all conditional".</li> </ul></p><i>s: class</i><p>Call class for which you want to enable network call forwarding. See GetCallForwarding for valid classes.</p><i>s: number</i><p>Phone number to which the network call will be forwarded.</p><i>i: timeout</i><p>Number of seconds, after which network call forwarding launches (only for reason "no reply").</p> |
|---|
| 58 | <h3><a name="DisableCallForwarding">DisableCallForwarding</a> ( ss )</h3> |
|---|
| 59 | <p><i>Description:</i> Disable network call forwarding.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +CCFC=(...),4, see 3GPP TS 07.07 Chapter 7.10.</p></div></p><h4>Parameters</h4><i>s: reason</i><p>Reason for which you want to disable network call forwarding. Valid reasons are: <ul> <li>"unconditional",</li> <li>"mobile busy",</li> <li>"no reply",</li> <li>"not reachable",</li> <li>"all",</li> <li>"all conditional".</li> </ul></p><i>s: class</i><p>Call class for which the network call gets forwarded. See GetCallForwarding for valid classes.</p> |
|---|
| 60 | <h3><a name="SetCallingIdentification">SetCallingIdentification</a> ( s )</h3> |
|---|
| 61 | <p><i>Description:</i> Set whether your subscriber number is visible during a call.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +CLIR=(value), see 3GPP TS 07.07 Chapter 7.7.</p></div></p><h4>Parameters</h4><i>s: visible</i><p>One of the following values: <ul> <li>"on", if your subscriber number should always be visible to other parties.</li> <li>"off", if your subscriber number should never be visible to other parties.</li> <li>"network", if you want to use the network default.</li> </ul></p> |
|---|
| 62 | <h3><a name="GetCallingIdentification">GetCallingIdentification</a> ( ) → s</h3> |
|---|
| 63 | <p><i>Description:</i> Get whether your subscriber number is visible during a call.</p><p><div class="rationale"><p>This maps to the GSM 07.07 command +CLIR?, see 3GPP TS 07.07 Chapter 7.7.</p></div></p><h4>Returns</h4><i>s: visible</i><p>One of the following values: <ul> <li>"on", if your subscriber number is always visible to other parties.</li> <li>"off", if your subscriber number is never visible to other parties.</li> <li>"network", if visibility depends on the network settings.</li> </ul></p> |
|---|
| 64 | <h3><a name="SendUssdRequest">SendUssdRequest</a> ( s )</h3> |
|---|
| 65 | <p><i>Description:</i> Send an Unstructured Supplementary Service Data (USSD) request to the network.</p><p><div class="rationale"><p>This can map to the GSM 07.07 command +CUSD=1,"(request)",(code), see 3GPP TS 07.07 Chapter 7.14.</p></div></p><h4>Parameters</h4><i>s: request</i><p>The request to be sent to the network.</p> |
|---|
| 66 | <h1>Signals</h1><h3><h3><a name="Status">Status</a> ( a{sv} )</h3><p><i>Description:</i> Sent, when the network registration status changes.</p><h4>Parameters</h4><i>a{sv}: status</i><p>The registration status. See method GetStatus for expected values.</p></h3> |
|---|
| 67 | <h3><h3><a name="SignalStrength">SignalStrength</a> ( i )</h3><p><i>Description:</i> (OPTIONAL) Sent, when registered with a service provider and the network signal strength changes.</p><h4>Parameters</h4><i>i: signal_strength</i><p>The signal strength in percent (0-100).</p></h3> |
|---|
| 68 | <h3><h3><a name="IncomingUssd">IncomingUssd</a> ( ss )</h3><p><i>Description:</i> Sent, when an USSD result or a network initiated request arrives.</p><h4>Parameters</h4><i>s: mode</i><p>The message mode. Valid values are: <ul> <li>"completed", if the last user-initiated request has been successfully completed,</li> <li>"useraction", if this is a network-initiated request and further user action is necessary,</li> <li>"terminated", if the network terminated the request,</li> <li>"localclient", if another local client on the network has responded,</li> <li>"unsupported", if the last user-inititated request is unsupported,</li> <li>"timeout", if the network has not answered in time.</li> </ul></p><i>s: message</i><p>The message. Only set if mode is "completed" or "useraction". "", otherwise.</p></h3> |
|---|
| 69 | <h1>Errors</h1><h3><a name="NotPresent">NotPresent</a></h3><p><i>Description:</i> Raised, if no network service is available.</p> |
|---|
| 70 | <h3><a name="Unauthorized">Unauthorized</a></h3><p><i>Description:</i> Raised, if registering with the specified network is not possible.</p> |
|---|
| 71 | <h3><a name="NotSupported">NotSupported</a></h3><p><i>Description:</i> Raised, if the requested network operation is not supported.</p> |
|---|
| 72 | <h3><a name="NotFound">NotFound</a></h3><p><i>Description:</i> Raised, if the requested network provider is not present.</p> |
|---|
| 73 | |
|---|
| 74 | <hr/> |
|---|
| 75 | <small> |
|---|
| 76 | | Specified 2008 by the <a href="http://www.freesmartphone.org">Freesmartphone.org</a> team. | Join us and discuss further drafts smartphones-standards (at) linuxtogo (dot) org |
|---|
| 77 | </small> |
|---|
| 78 | <hr/> |
|---|
| 79 | </body> |
|---|
| 80 | </html> |
|---|
| 81 | |
|---|