Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
<?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-A869BA79-5916-5B60-A02B-EF7D7CCA8C45"><title>How to control Application Level Roaming for SIP Profiles</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Application Level Roaming (ALR) is a facility which allows a SIP Profile to switch between service providers by using Internet Access Points (IAPs). By default, all SIP clients allow the SIP profiles they are using to roam across IAPs. </p> <p>To restrict roaming for a SIP profile to a set of IAPs, configure the profile with a Service Network Access Point (SNAP) ID. A SNAP ID is a unique identifier for a set of IAPs. The SIP profile store must include the SNAP ID that can be used by the SIP profile while roaming. </p> <p>Use the <xref href="GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8.dita"><apiname>CSipProfileAlrController</apiname></xref> and <xref href="GUID-2034A76E-DF82-3E1B-810D-D98819C7C153.dita"><apiname>MSipProfileAlrObserver</apiname></xref> classes to control ALR. </p> <p>To register for ALR events, use an instance of the <xref href="GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8.dita"><apiname>CSipProfileAlrController</apiname></xref> class and implement the <xref href="GUID-2034A76E-DF82-3E1B-810D-D98819C7C153.dita"><apiname>MSipProfileAlrObserver</apiname></xref> interface to register for ALR events. When registered for the ALR event, the <xref href="GUID-2034A76E-DF82-3E1B-810D-D98819C7C153.dita"><apiname>MSipProfileAlrObserver</apiname></xref> interface notifies the client when a SIP profile used by the client tries to migrate to another IAP. Then the client can allow or disallow the migration request using the <xref href="GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8.dita#GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8/GUID-95B63021-C6C7-39AF-8D34-4D860A8E1772"><apiname>CSipProfileAlrController::AllowMigrationL()</apiname></xref> or <xref href="GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8.dita#GUID-99F30475-E6A5-3B37-A7F0-D186101F60A8/GUID-735767B1-A2B4-3944-B960-C5E6C9A9ADFA"><apiname>CSipProfileAlrController::DisallowMigrationL()</apiname></xref> functions. </p> <p>The following illustration shows the call flow of enabling a SIP profile configured with a SNAP ID. </p> <fig id="GUID-CF28B128-D560-516D-BF6E-DA46ECB96DF2"><title>
Call flow of enabling a SIP profile with a SNAP ID
</title> <image href="GUID-A007DDF7-AC6D-5378-B7A6-84CB421E970F_d0e336695_href.png" placement="inline"/></fig> <p>When the SIP profile is registered with a SNAP ID, you can allow the SIP profile to migrate to another IAP within the SNAP. </p> <p>In the following illustration, the SIP profile is deregistered after migrating to another IAP. To use it again, you must register the profile again. </p> <p>The following illustration shows the call flow of SIP profile migration. </p> <fig id="GUID-CC95AEE1-EABD-5C36-BB2D-C2BC585C6769"><title>
Call flow of migrating a SIP profile to another IAP
</title> <image href="GUID-296F25B4-8942-5FCB-B0A2-367157B72B72_d0e336710_href.png" placement="inline"/></fig> </conbody></concept>