Symbian3/PDK/Source/GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:56:28 +0100
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 9 59758314f811
permissions -rw-r--r--
Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3" xml:lang="en"><title>Architecture</title><shortdesc>The architecture section shows the relationship between the core
telephony APIs and the functionality they provide to the client applications. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The API defines a core set of functions, that many telephony devices and
services support. Applications can use the APIs directly to access the telephony
devices. The interfaces are derived from by other telephony related APIs,
for example the GSM APIs. The derived APIs provide more advanced functionality. </p>
<p>The APIs uses the Symbian platform client/server framework.
The APIs provides <b>R</b> classes that send requests to the telephony server.
The server in turn passes requests to an appropriate plug-in module that handles
the physical device. </p>
<section id="GUID-6C5EE6BF-1059-569E-A227-869BA4D9585E"><title>Structure of
Core Telephony API</title> <p>The Core telephony APIs defines generic interfaces
that supports a limited set of telephony functionality. The interfaces are
based on three fundamental abstractions. </p> <p>The fundamental abstractions
are phones, lines, and calls. All requests to the telephony server are made
through a server session through a phone, line, call or data port. The telephony
server also contains fax functionality, but this is not directly available
to applications. </p> <p>The following diagram illustrates the class hierarchy
used to implement the core client-side interface. </p> <fig id="GUID-32A0E5DA-1DD9-5E09-8CAC-C7EB3E30DBFB">
<title>              Core Telephony Blocks            </title>
<image href="GUID-9FFBC03F-33D8-55BB-BD45-09FDE61A0F1F_d0e47487_href.png" placement="inline"/>
</fig> <p>The following sections define the root server session, and each
of the fundamental core telephony classes. </p> <ul>
<li id="GUID-420F984A-0104-567C-AEE8-6ACCC5D6A982"><p> <xref href="GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita#GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3/GUID-4D7E5B0D-6E85-5DC3-91E1-21983D945126">Root server</xref>  </p> </li>
<li id="GUID-B4CB6450-BA1B-5179-BFF9-B1758B573A3C"><p> <xref href="GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita#GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3/GUID-E4AEF2EC-3300-5A72-A83D-36489048261E">Phone sub-session</xref> </p> </li>
<li id="GUID-F99C83E3-13E3-54D5-896A-67C635A7CE77"><p> <xref href="GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita#GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3/GUID-F41559A2-23F2-5236-8534-2D6D754763DB">Line sub-session</xref>  </p> </li>
<li id="GUID-68170DCA-F96C-584B-82A9-DE9AB2E11240"><p> <xref href="GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita#GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3/GUID-6213A0E8-AFAC-534C-9B90-D57A246ADECB">Call sub-session</xref>  </p> </li>
</ul> </section>

<section id="GUID-4D7E5B0D-6E85-5DC3-91E1-21983D945126"><title>Root server</title> <p>The
client applications must open a connection to a root server to use the telephony
server. The root session enables the clients to access information and functionality
of the available telephony resources. The interface provides the functions
that allow clients to: </p> <ul>
<li id="GUID-5CAE04B6-BEB7-5C57-A164-A58402B57085"><p>load and unload the
telephony system (TSY) modules. </p> </li>
<li id="GUID-432680C6-AD8F-524D-8267-05BA95685C29"><p>list the number of phones
that are supported by the loaded TSY modules. </p> </li>
<li id="GUID-49009163-2641-5988-847D-4AA5ADE23F99"><p>get the information
about the phones in the loaded TSY modules </p> </li>
<li id="GUID-CCA9677E-274B-508B-A9A8-F7440D7C6561"><p>close an open root session </p> </li>
</ul> <p>The clients must open a sub-session to access functions related to
a phone, line, or call. The sub-sessions are created using an object of the
associated class. </p> </section>
<section id="GUID-E4AEF2EC-3300-5A72-A83D-36489048261E"><title>Phone sub-session</title> <p>The
phone sub-session provides access to functionality associated with a specific
phone. The API provides the functions that allow clients to: </p> <ul>
<li id="GUID-E6229C31-E7E1-53BB-A52B-583D3C35AAD7"><p>open and close phone
sub-sessions. </p> </li>
<li id="GUID-4492B80C-30A3-5594-8E62-14E437F068F8"><p>get information about
phone capabilities. </p> </li>
<li id="GUID-D6CE31E0-02F9-5847-8A96-2485B9CF2D41"><p>get information about
the current phone status. </p> </li>
<li id="GUID-C7F23357-DE47-5867-BA8A-0116196D8CED"><p>list the number of lines
that are supported by the phone. </p> </li>
<li id="GUID-83CB2126-BCC6-57F7-B309-AC2705AADFE2"><p>get information about
the supported lines, including their status and capabilities. </p> </li>
<li id="GUID-07CC7C36-ED3C-5367-8F6B-A9A186F9D79A"><p>initialise the phone
to a known state. </p> </li>
<li id="GUID-AFC632E5-C18B-5940-916E-BCED5A20478C"><p>get notification of
phone events, for example when the phone hardware is connected. </p> </li>
</ul> </section>
<section id="GUID-F41559A2-23F2-5236-8534-2D6D754763DB"><title>Line sub-session</title> <p>The
line sub-session provides access to functionality associated with a specific
line. The API provides functions that allow clients to: </p> <ul>
<li id="GUID-7D3B2EC9-C135-520D-B726-B1C2F483CBBC"><p>open and close line
sub-sessions. </p> </li>
<li id="GUID-83AFBEF9-3793-58E9-B269-1B9641F7EA8B"><p>get information about
the line capabilities. </p> </li>
<li id="GUID-47D54595-B4A9-5A86-B756-D7775781185E"><p>get information about
the current line status. </p> </li>
<li id="GUID-200BFAA9-C8A1-5BE6-82B0-6AC02CB507A4"><p>get information about
the status of the hook. </p> </li>
<li id="GUID-4C895915-87EE-5DE3-A832-1009FE784E13"><p>get notification of
events associated with the line, for example notification of an incoming call. </p> </li>
<li id="GUID-DE2E9E65-2CA3-55E7-B311-9D760ACDAAEE"><p>list the number of calls
that are supported by the line. </p> </li>
<li id="GUID-1B850E94-67A4-5CD4-84E2-2C7BDAE5C5EE"><p>get information about
the calls in a line. </p> </li>
<li id="GUID-1C06901B-CCFB-58C8-AE91-AFFFC90E1B0F"><p>get notification of: </p> <ul>
<li id="GUID-626003CD-E70A-5792-8D4B-D25F6D8AC979"><p>an incoming call </p> </li>
<li id="GUID-5EDA6788-6CFC-5F96-8A99-34427BCFC475"><p>change in hook status </p> </li>
<li id="GUID-3E86AA03-9C98-58B5-B3A5-276F7259D992"><p>change in line status </p> </li>
<li id="GUID-354F44A0-0E1F-5EB4-984A-BC716DF39546"><p>a new call added to
the line </p> </li>
</ul> </li>
</ul> </section>
<section id="GUID-6213A0E8-AFAC-534C-9B90-D57A246ADECB"><title>Call sub-session</title> <p>The
call sub-session provides access to functionality associated with a specific
call. The API provides functions that allow clients to: </p> <ul>
<li id="GUID-CFDD4AC1-F9D0-5974-82A1-0ABB1C2ED50C"><p>open a sub-session with
a specific call that has already been created. </p> </li>
<li id="GUID-0C308553-1535-51B0-B8C9-B9564367970C"><p>open a sub-session with
a new call. </p> </li>
<li id="GUID-7CDE173A-3F85-51F4-9631-FC3FE5D1F80E"><p>close an open call. </p> </li>
<li id="GUID-DD08B53F-976D-53D8-9A42-2F4BAA47A24C"><p>obtain information about
the call capabilities. </p> </li>
<li id="GUID-F10EC392-2CED-5E66-92EA-64C0A595BC1A"><p>obtain information about
the current call status. </p> </li>
<li id="GUID-3FF03A4A-7A92-57CC-B193-40952B5FEF5A"><p>dial a number and establish
a connection with a remote modem. </p> </li>
<li id="GUID-E997DC16-321A-56DE-8C80-34247477B1F8"><p>answer an incoming call. </p> </li>
<li id="GUID-AFC5EA7A-A468-5802-ACC9-D5965A3EFCA3"><p>connect to a call which
has already been established. </p> </li>
<li id="GUID-6517D9BC-B1A8-5A41-BEED-56323FA19236"><p>request access to the
raw data stream from a Data Call. </p> </li>
<li id="GUID-6802C616-078F-5BA8-A404-99571FF65002"><p>terminate an active
call. </p> </li>
<li id="GUID-A4492EAB-7A42-57DB-A30D-59B2A868BB04"><p>transfer call ownership
to another client. </p> </li>
<li id="GUID-876EDE2F-2716-543E-84CF-06BA8F3EFC86"><p>retrieve information
about the bearer associated with an active connection </p> </li>
<li id="GUID-AB616241-8161-582F-A031-B655B7DEBC9F"><p>get notification of
the hook status, or the progress of a call. </p> </li>
<li id="GUID-C453CBFD-4083-5A9B-B067-366C5BF423DD"><p>get the current progress
state and duration of the call </p> </li>
</ul> </section>
</conbody></concept>