Symbian3/PDK/Source/GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Fri, 22 Jan 2010 18:26:19 +0000
changeset 1 25a17d01db0c
child 3 46218c8b8afa
permissions -rw-r--r--
Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608

<?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 xml:lang="en" id="GUID-F61FEF82-FD8F-5C5B-9125-A6DE4569EAF3"><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 OS 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_d0e41294_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>