Symbian3/PDK/Source/GUID-A0AF4BAE-E4C4-52BE-BB61-92DFE9422D8D.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"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     6
<!-- Initial Contributors:
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     7
    Nokia Corporation - initial contribution.
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     8
Contributors: 
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     9
-->
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    10
<!DOCTYPE concept
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    12
<concept xml:lang="en" id="GUID-A0AF4BAE-E4C4-52BE-BB61-92DFE9422D8D"><title>How to Develop a SIP Profile Agent Plug-in using the SIP Profile Agent API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>A SIP Profile Agent plug-in is an ECOM plug-in that is used by the SIP Profile server to register the corresponding SIP profiles. For example, if the SIP Profile type is IETF, the profile server uses the IETF plug-in to register the profile. </p> <p>In the following illustration, the SIP Profile Agent plug-in implements interfaces, uses APIs, and inherits a class. </p> <p>The following steps describe how to develop a SIP Profile Agent plug-in. </p> <ol id="GUID-7EC57F82-9A98-5651-AC53-B9EE80BD4F6A"><li id="GUID-7B046198-3C5F-5111-A11A-3A8023A63659"><p>Derive a profile agent plug-in class from <xref href="GUID-F324C2F6-1336-361C-B270-EFBAA256C46A.dita"><apiname>CSIPProfileAgent</apiname></xref>, which provides an ECOM interface for SIP Profile Agent plug-ins. </p> </li> <li id="GUID-81288220-4895-5213-B522-75896DCF7E76"><p>Implement the following interfaces in the plug-in class: </p> <ul><li id="GUID-8190B7B7-0C28-5ADA-A2F2-A0AD5BE7982E"><p> <xref href="GUID-8E42520B-698F-3925-8F0F-6CD0F9745EF2.dita"><apiname>MSIPProfileAgentObserver</apiname></xref> - To receive notifications of profile registration, update and deregister events, and any errors reported while doing these tasks. </p> </li> <li id="GUID-1F4AE0B4-4E69-5E5D-B610-6C1839D56B61"><p> <xref href="GUID-EB6027F7-D166-3B2C-9AE2-F65457D128B5.dita"><apiname>MSIPProfileFSMUser</apiname></xref> - To receive profile state change notifications. </p> </li> <li id="GUID-DD164449-34E0-54FE-B685-6371D433C5B3"><p> <xref href="GUID-C6FF4A83-0097-3A82-B4ED-802E1FEA05D1.dita"><apiname>MSIPObserver</apiname></xref> - To receive SIP requests from the SIP connections that the user does no initialise. </p> </li> <li id="GUID-F1FED442-C5C3-50A5-9DE6-1EF035D44B70"><p> <xref href="GUID-64AD3756-2FEC-37CB-9A31-838738DEC03D.dita"><apiname>MSIPHttpDigestChallengeObserver2</apiname></xref> - To provide HTTP Digest authentication for SIP registrations when an instance of the <xref href="GUID-F9FBAFBE-A895-3FD3-A526-604A6C9E035D.dita"><apiname>CSIPHttpDigest</apiname></xref> class is used. </p> </li> </ul> </li> <li id="GUID-8B3E553F-A92C-59CE-B959-CF13D43BD1AD"><p>Derive and implement the following classes in the profile context and connection context classes: </p> <ul><li id="GUID-446A39EF-12B7-56B1-A477-A0B2DDDF7BE7"><p>Implement the <xref href="GUID-6B6F73C9-1288-3F6F-B6A3-FD0AE39DE0E2.dita"><apiname>MSIPProfileContext</apiname></xref> interface in the profile context class to get and set the information about the profile when it is in a particular state. </p> </li> <li id="GUID-330406BA-8A73-56DC-867F-F5AA837BDA5C"><p>Implement the <xref href="GUID-B889A3FD-3B14-3785-90AE-3546F0C9A5D4.dita"><apiname>MSIPConnectionObserver</apiname></xref> interface in the connection context class to receive requests, responses, connection state notifications, and error notifications from the SIP stack. </p> </li> <li id="GUID-55F08A29-83C4-519C-8195-D8B15A6AD1B4"><p>Implement the <xref href="GUID-981869F9-0137-303F-9A55-DA18A89C72A7.dita"><apiname>MSIPProxyResolverObserver</apiname></xref> interface to receive notifications about the state of the asynchronous request to resolve proxy. </p> </li> <li id="GUID-FD500D85-05E7-53EF-87BB-9BF5DE8FF45E"><p>Derive the profile context and the connection context classes from <xref href="GUID-8F6FE089-E2A8-30F4-B67E-10F286347681.dita"><apiname>CBase</apiname></xref> to create the objects on the heap. </p> </li> </ul> </li> <li id="GUID-19B99A3A-D50D-55ED-B973-424DA488D20F"><p>Create instances of the <xref href="GUID-AFB2603A-8A35-3E70-8EC2-229C9726F00B.dita"><apiname>CSIP</apiname></xref> and <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> classes, and monitor the states of CSIPConnection object. </p> <p> <b>Note:</b> SIP Profile registration is performed when the state of <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> object is <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita#GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94/GUID-2B88DB09-5C64-38AD-96D3-0095F2203EB7"><apiname>CSIPConnection::EActive</apiname></xref>. </p> </li> <li id="GUID-45896E47-490E-575A-887B-BC03E98059FA"><p>Create instances of the <xref href="GUID-48AA01D5-CE7B-3C22-B2E0-529261121EC4.dita"><apiname>CSIPRegistrationBinding</apiname></xref> class to perform SIP profile registrations. </p> </li> <li id="GUID-F757E38E-13A3-5AF6-A8BC-80B1AE1367CD"><p>Implement the SIP profile registration state machine. The state machine responds to the state changes to <xref href="GUID-2A070F4D-A35B-3505-BE86-E6C7A2F27B94.dita"><apiname>CSIPConnection</apiname></xref> instances and SIP profile registrations. </p> </li> </ol> <p>The following illustration shows the relationship between the SIP Profile Agent plug-in and other components used by it. </p> <fig id="GUID-4B5948A1-0355-5F5A-BA2E-0D24B37CEB4A"><title>
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    13
          SIP Profile Agent plug-in relationship diagram 
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    14
        </title> <image href="GUID-A741A42E-AFF5-5781-A555-134C63A97B53_d0e563914_href.png" placement="inline"/></fig> </conbody><related-links><link href="GUID-11E73F76-46F7-573A-99AC-CC094CEB3A4F.dita"><linktext>SIP Profile
f345bda72bc4 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"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    15
                Agent overview</linktext> </link> <link href="GUID-E9AF73E8-DF31-5C5E-889E-96CCD4C4A46B.dita"><linktext>Example IETF
1
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    16
                profile agent plug-in</linktext> </link> </related-links></concept>