Symbian3/SDK/Source/GUID-CB3FC449-7994-5510-BD78-F1638CD48A9D.dita
changeset 0 89d6a7a84779
equal deleted inserted replaced
-1:000000000000 0:89d6a7a84779
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-CB3FC449-7994-5510-BD78-F1638CD48A9D" xml:lang="en"><title>Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    13 <p>The SIP Profile API provides the SIP registration service for applications.
       
    14 This API allows an application to register through a profile. The profile
       
    15 holds the information to provide the required registration behaviour. The
       
    16 behaviour of the registration service depends on the profile type used. </p>
       
    17 <p>Each standard has an associated profile type such as 3GPP R5 IMS, IETF,
       
    18 or proprietary. Each profile has a one-to-one communication with each SIP
       
    19 registration. The API allows more than one application to share the same profile
       
    20 and the same SIP registration. The implementation of the API stores SIP profiles
       
    21 in persistent store. </p>
       
    22 <p>A profile stores the following main parameters: </p>
       
    23 <ul>
       
    24 <li id="GUID-B7071F02-6EA0-5CE6-B143-A1840048218D"><p>The user-friendly name
       
    25 of the service provider. </p> </li>
       
    26 <li id="GUID-93B07153-99F2-54D3-8116-216E713296BC"><p>The type of the profile,
       
    27 for example 3GPP R5 IMS, IETF or proprietary. </p> </li>
       
    28 <li id="GUID-CD548B53-8C9E-5D13-820A-DE53183A7D25"><p>The registered public
       
    29 name of the user (SIP AOR). </p> </li>
       
    30 <li id="GUID-7CA9FF5E-B876-57DD-9203-B0DA282785D8"><p>The access provider
       
    31 identifier of the IAP used. </p> </li>
       
    32 <li id="GUID-850E144B-1F5A-55EF-8A71-9F6A404D05FC"><p>The address of the SIP
       
    33 registrar server, with optional connection and security parameters. </p> </li>
       
    34 <li id="GUID-214EEE38-6FAC-5349-8B9A-E5EFA53D0EAB"><p>The address of the SIP
       
    35 proxy server, with optional connection and security parameters. </p> </li>
       
    36 <li id="GUID-4C6501CC-2431-5027-B614-0BF7B8E56F76"><p>The compression and
       
    37 security preferences. </p> </li>
       
    38 <li id="GUID-7993263B-EA1C-5A87-A8D4-585A9B9A0EC8"><p>An indication if the
       
    39 profile is always registered automatically, or registered when it is used
       
    40 by an application. </p> </li>
       
    41 <li id="GUID-90F43095-BFBF-5858-8FCD-622C680A043D"><p>Any extension parameters
       
    42 stored as key-value pairs. </p> </li>
       
    43 </ul>
       
    44 <section id="GUID-D68DCE64-4F0A-55C7-87B7-AD0176DC000F"><title>Architectural
       
    45 Relationships</title> <p>The interface allows clients to share the common
       
    46 resources, profiles and SIP registrations through the client-server mechanism.
       
    47 It also gives access to permanently stored profiles and allows the reading
       
    48 of profile configuration values. </p> <p>All lengthy operations are asynchronous. </p> <p id="GUID-EFED18E0-D710-5484-B44B-905188C55894"><b>Capability information</b> </p> <p>The
       
    49 following table describes the capabilities the user must have to use the SIP
       
    50 Profile API. </p> <table id="GUID-DC2D1A38-8600-5071-B5DC-7C2E13B10DDA">
       
    51 <tgroup cols="1"><colspec colname="col0"/>
       
    52 <tbody>
       
    53 <row>
       
    54 <entry><p> <b>Capability</b>  </p> </entry>
       
    55 </row>
       
    56 <row>
       
    57 <entry><p> <codeph> NetworkControl</codeph>  </p> </entry>
       
    58 </row>
       
    59 <row>
       
    60 <entry><p> <codeph>NetworkServices</codeph>  </p> </entry>
       
    61 </row>
       
    62 <row>
       
    63 <entry><p> <codeph> ReadUserData</codeph>  </p> </entry>
       
    64 </row>
       
    65 </tbody>
       
    66 </tgroup>
       
    67 </table> <p id="GUID-3A7EC69E-9C4C-55ED-8998-07640410D17B"><b> Extending
       
    68 the API</b> </p> <p>The API cannot be extended. </p> </section>
       
    69 <section id="GUID-BB1CA3D9-B29C-54A7-9772-E9ACD6D57A1F"><title>SIP Profile
       
    70 API class structure</title> <p>The client must create a <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> object,
       
    71 and must implement the callback functions defined by the <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita"><apiname>MSIPProfileRegistryObserver</apiname></xref> class.
       
    72 A client of the SIP Profile API must then create a <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita"><apiname>CSIPProfileRegistry</apiname></xref> object. </p> <p>A <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object
       
    73 is created using one of the retrieval functions that can be accessed through
       
    74 the <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita"><apiname>CSIPProfileRegistry</apiname></xref> class. Profile data is copied from
       
    75 the permanent store into the new object. The copied values can be accessed
       
    76 using the access functions of <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref>. </p> <p>The
       
    77 client must enable a profile before you can use it. A profile can be enabled
       
    78 in the following ways: </p> <ul>
       
    79 <li id="GUID-C1F4C96E-794C-5CD1-81FE-2AD8208A8217"><p>provide an implementation
       
    80 of the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita"><apiname>MSIPConnectionObserver</apiname></xref> class </p> </li>
       
    81 <li id="GUID-5BE21413-BF91-53F8-923F-555B4014B973"><p>call <xref href="GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9.dita#GUID-E8D080AD-4494-3880-B5CE-3487CA7D76E9/GUID-DB3F6FFC-FE96-3A35-A60F-DAAAFF13C357"><apiname>CSIPProfileRegistry::EnableL()</apiname></xref> </p> </li>
       
    82 </ul> <p>When you enable a profile it is automatically registered. If the
       
    83 profile is not registered before it is enabled the client is notified about
       
    84 the registration status through the <xref href="GUID-91663686-42B7-3C88-B773-3C5343CDCFCE.dita#GUID-91663686-42B7-3C88-B773-3C5343CDCFCE/GUID-FAC7E932-24CB-3C5E-B2A4-057B33C784FC"><apiname>MSIPProfileRegistryObserver::ProfileRegistryEventOccurred()</apiname></xref> callback
       
    85 function. </p> <p>When a profile is enabled, the client indicates that the
       
    86 profile is in use, and cannot be removed. You can update the profile but,
       
    87 it is not recommended. </p> <p>If required, the client can disable a profile.
       
    88 The client can then delete the <xref href="GUID-68AE6070-0410-3671-9E68-A7785B8271CD.dita"><apiname>CSIPProfile</apiname></xref> object. </p> <p>The
       
    89 following illustration shows the SDP Profile API class structure. </p> <fig id="GUID-333B9964-A742-55C4-A731-FF172B930C16">
       
    90 <image href="GUID-F2877A25-1FBC-5C7C-9542-9EDED2748AD3_d0e315964_href.png" placement="inline"/>
       
    91 </fig> </section>
       
    92 <section id="GUID-CBB17EE7-FA26-5D08-942B-223C6C5B5205"><title>Memory used</title> <p>The
       
    93 amount of memory used by a profile depends on its content. A normal usage
       
    94 is approximately 0.2 KB for each profile. The SIP Profile server monitors
       
    95 all instantiated profiles to send the asynchronous events to clients when
       
    96 required. It is recommended that clients create the minimum number of profiles
       
    97 required, and delete instances immediately when they are no longer required. </p> </section>
       
    98 </conbody></concept>