Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/application.uidesign
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/application.uidesign	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/application.uidesign	(revision 1973)
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<designerData version="1.1.0">
+  <componentManifest>
+    <manifestEntry id="com.nokia.sdt.series60.CAknApplication" version="1.1.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.NonLayoutBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CAknDocument" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CAknViewAppUi" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CAknAppUi" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CAknAppUiBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.DesignTimeContainer" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPane" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.ControlBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPaneCaption" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitleBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CBA" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CBABase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.AvkonViewReference" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.DesignReference" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.WaitDialog" version="1.0.0"/>
+  </componentManifest>
+  <property id="com.nokia.sdt.symbian.dm.RESOURCE_DIRECTORY_ID">data</property>
+  <property id="com.nokia.sdt.component.symbian.vendor">com.nokia.series60</property>
+  <property id="com.nokia.sdt.component.symbian.version">3.0.1</property>
+  <property id="com.nokia.sdt.symbian.dm.COMPONENT_PROVIDER">com.nokia.sdt.component.symbian.Symbian-Provider</property>
+  <property id="com.nokia.sdt.symbian.dm.INCLUDE_DIRECTORY_ID">inc</property>
+  <property id="com.nokia.sdt.symbian.dm.ROOT_CONTAINER">symbian_ua_guiAppUi</property>
+  <property id="com.nokia.sdt.symbian.dm.SOURCE_DIRECTORY_ID">src</property>
+  <property id="com.nokia.sdt.symbian.dm.LOCALIZED_FILE_FORMAT">loc</property>
+  <property id="com.nokia.sdt.symbian.dm.ROOT_APPLICATION_NAME">symbian_ua_gui</property>
+  <property id="com.nokia.sdt.symbian.dm.SOURCEGEN_PROVIDER">com.nokia.sdt.sourcegen.Symbian-Provider</property>
+  <property id="com.nokia.sdt.symbian.dm.BUILD_DIRECTORY_ID">group</property>
+  <component id="com.nokia.sdt.series60.CAknApplication">
+    <property id="className">Csymbian_ua_guiApplication</property>
+    <property id="documentBase">symbian_ua_gui</property>
+    <property id="name">symbian_ua_guiApplication</property>
+    <property id="uid">0xEBD12EE4</property>
+    <component id="com.nokia.sdt.series60.CAknDocument">
+      <property id="className">Csymbian_ua_guiDocument</property>
+      <property id="name">symbian_ua_guiDocument</property>
+      <component id="com.nokia.sdt.series60.CAknViewAppUi">
+        <property id="initialDesign" type="componentRef">aknViewReference2</property>
+        <property id="className">Csymbian_ua_guiAppUi</property>
+        <compoundProperty id="location">
+          <property id="x">52</property>
+          <property id="y">45</property>
+        </compoundProperty>
+        <property id="name">symbian_ua_guiAppUi</property>
+        <compoundProperty id="size">
+          <property id="width">240</property>
+          <property id="height">320</property>
+        </compoundProperty>
+        <component id="com.nokia.sdt.series60.StatusPane">
+          <compoundProperty id="location">
+            <property id="x">20</property>
+          </compoundProperty>
+          <property id="name">statusPane</property>
+          <compoundProperty id="size">
+            <property id="width">204</property>
+            <property id="height">66</property>
+          </compoundProperty>
+          <component id="com.nokia.sdt.series60.StatusPaneCaption">
+            <property id="shortCaption" type="i18n">STR_symbian_ua_guiApplication_2</property>
+            <compoundProperty id="location">
+              <property id="x">56</property>
+            </compoundProperty>
+            <property id="longCaption" type="i18n">STR_symbian_ua_guiApplication_1</property>
+            <property id="name">caption</property>
+            <compoundProperty id="size">
+              <property id="width">148</property>
+              <property id="height">43</property>
+            </compoundProperty>
+          </component>
+        </component>
+        <component id="com.nokia.sdt.series60.CBA">
+          <compoundProperty id="location">
+            <property id="y">288</property>
+          </compoundProperty>
+          <compoundProperty id="info"/>
+          <property id="name">controlPane</property>
+          <compoundProperty id="size">
+            <property id="width">240</property>
+            <property id="height">32</property>
+          </compoundProperty>
+        </component>
+        <component id="com.nokia.sdt.series60.AvkonViewReference">
+          <property id="filePath">symbian_ua_guiContainer.uidesign</property>
+          <property id="baseName">symbian_ua_guiContainer</property>
+          <compoundProperty id="tabImage"/>
+          <property id="name">aknViewReference1</property>
+        </component>
+        <component id="com.nokia.sdt.series60.AvkonViewReference">
+          <property id="filePath">symbian_ua_guiSettingItemList.uidesign</property>
+          <property id="baseName">symbian_ua_guiSettingItemList</property>
+          <compoundProperty id="tabImage"/>
+          <property id="name">aknViewReference2</property>
+        </component>
+        <component id="com.nokia.sdt.series60.WaitDialog">
+          <compoundProperty id="location">
+            <property id="x">0</property>
+            <property id="y">171</property>
+          </compoundProperty>
+          <property id="name">dlg_wait_init</property>
+          <property id="text" type="i18n">STR_symbian_ua_guiApplication_3</property>
+          <compoundProperty id="size">
+            <property id="width">240</property>
+            <property id="height">149</property>
+          </compoundProperty>
+          <eventBinding id="canceled" handlerDisplay="HandleDlg_wait_initCanceledL" handlerSymbol="cpp@src//symbian_ua_guiAppUi.cpp/function(Csymbian_ua_guiAppUi::HandleDlg_wait_initCanceledL(CAknProgressDialog*))"/>
+        </component>
+      </component>
+    </component>
+  </component>
+  <stringBundle>
+    <stringTable language="LANG_English">
+      <string id="STR_symbian_ua_guiApplication_1">symbian_ua_gui</string>
+      <string id="STR_symbian_ua_guiApplication_2">symbian_ua_gui</string>
+      <string id="STR_symbian_ua_guiApplication_3">Please wait...</string>
+    </stringTable>
+  </stringBundle>
+  <macroTable/>
+  <sourceMappingState>
+    <resourceMappings>
+      <resourceMapping instanceName="symbian_ua_guiAppUi">r_application_symbian_ua_gui_app_ui</resourceMapping>
+      <resourceMapping instanceName="statusPane">r_application_status_pane</resourceMapping>
+      <resourceMapping instanceName="aknViewReference2" rsrcId="tabText">r_application_akn_view_reference2</resourceMapping>
+      <resourceMapping instanceName="dlg_wait_init">r_application_dlg_wait_init</resourceMapping>
+      <resourceMapping instanceName="symbian_ua_guiAppUi" rsrcId="localisable_app_info">r_localisable_app_info</resourceMapping>
+      <resourceMapping instanceName="aknViewReference1" rsrcId="tabText">r_application_akn_view_reference1</resourceMapping>
+    </resourceMappings>
+    <enumMappings>
+      <enumMapping instanceName="aknViewReference2" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">ESymbian_ua_guiSettingItemListViewId</enumMapping>
+      <enumMapping instanceName="dlg_wait_init" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_DIALOG_LINE_ID">ESymbian_ua_guiApplicationDlg_wait_init</enumMapping>
+      <enumMapping instanceName="aknViewReference1" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">ESymbian_ua_guiContainerViewId</enumMapping>
+    </enumMappings>
+    <arrayMappings/>
+  </sourceMappingState>
+  <generatedFiles>
+    <file>src/symbian_ua_guiAppUi.cpp</file>
+    <file>src/symbian_ua_guiDocument.cpp</file>
+    <file>inc/symbian_ua_guiApplication.h</file>
+    <file>src/symbian_ua_guiApplication.cpp</file>
+    <file>inc/symbian_ua_guiAppUi.h</file>
+    <file>inc/symbian_ua_guiDocument.h</file>
+    <file>data/symbian_ua_gui.rss</file>
+    <file>data/symbian_ua_guiContainer.rssi</file>
+    <file>inc/symbian_ua_gui.hrh</file>
+    <file>inc/symbian_ua_guiContainer.hrh</file>
+    <file>data/symbian_ua_guiSettingItemList.rssi</file>
+    <file>inc/symbian_ua_guiSettingItemList.hrh</file>
+    <file>data/symbian_ua_gui.loc</file>
+    <file>data/symbian_ua_gui.l01</file>
+    <file>data/symbian_ua_guiContainer.loc</file>
+    <file>data/symbian_ua_guiContainer.l01</file>
+    <file>data/symbian_ua_guiSettingItemList.loc</file>
+    <file>data/symbian_ua_guiSettingItemList.l01</file>
+  </generatedFiles>
+</designerData>
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.l01
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.l01	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.l01	(revision 1973)
@@ -0,0 +1,12 @@
+/*
+========================================================================
+ Name        : symbian_ua_gui.l01
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// localized strings for language: UK English (01)
+#define STR_symbian_ua_guiApplication_1 "symbian_ua_gui"
+#define STR_symbian_ua_guiApplication_2 "symbian_ua_gui"
+#define STR_symbian_ua_guiApplication_3 "Please wait..."
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.loc
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.loc	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.loc	(revision 1973)
@@ -0,0 +1,11 @@
+/*
+========================================================================
+ Name        : symbian_ua_gui.loc
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifdef LANGUAGE_01
+#include "symbian_ua_gui.l01"
+#endif
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.rss
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.rss	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.rss	(revision 1973)
@@ -0,0 +1,71 @@
+/*
+========================================================================
+ Name        : symbian_ua_gui.rss
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+NAME SYMB
+
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <eikon.rh>
+#include <appinfo.rh>
+#include "symbian_ua_gui.hrh"
+#include "symbian_ua_gui.loc"
+
+RESOURCE RSS_SIGNATURE
+	{
+	}
+RESOURCE TBUF
+	{
+	buf = "symbian_ua_gui";
+	}
+RESOURCE EIK_APP_INFO r_application_symbian_ua_gui_app_ui
+	{
+	cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
+	status_pane = r_application_status_pane;
+	}
+RESOURCE STATUS_PANE_APP_MODEL r_application_status_pane
+	{
+	}
+RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
+	{
+	short_caption = STR_symbian_ua_guiApplication_2;
+	caption_and_icon = CAPTION_AND_ICON_INFO
+		{
+		caption = STR_symbian_ua_guiApplication_1;
+		number_of_icons = 0;
+		};
+	}
+RESOURCE TBUF r_application_akn_view_reference1
+	{
+	}
+
+RESOURCE TBUF r_application_akn_view_reference2
+	{
+	}
+
+RESOURCE DIALOG r_application_dlg_wait_init
+	{
+	flags = EAknWaitNoteFlags;
+	buttons = R_AVKON_SOFTKEYS_CANCEL;
+	items =
+		{
+		DLG_LINE
+			{
+			type = EAknCtNote;
+			id = ESymbian_ua_guiApplicationDlg_wait_init;
+			control = AVKON_NOTE
+				{
+				layout = EWaitLayout;
+				singular_label = STR_symbian_ua_guiApplication_3;
+				animation = R_QGN_GRAF_WAIT_BAR_ANIM;
+				};
+			}
+		};
+	}
+
+#include "symbian_ua_guiContainer.rssi"
+#include "symbian_ua_guiSettingItemList.rssi"
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.l01
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.l01	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.l01	(revision 1973)
@@ -0,0 +1,21 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiContainer.l01
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// localized strings for language: UK English (01)
+#define STR_symbian_ua_guiContainerView_1 "PJSUA for S60"
+#define STR_symbian_ua_guiContainerView_7 "Options"
+#define STR_symbian_ua_guiContainerView_8 "Call"
+#define STR_symbian_ua_guiContainerView_2 "URL"
+#define STR_symbian_ua_guiContainerView_4 "sip:"
+#define STR_symbian_ua_guiContainerView_9 "Setting"
+#define STR_symbian_ua_guiContainerView_10 "Exit"
+#define STR_symbian_ua_guiContainerView_3 ""
+#define STR_symbian_ua_guiContainerView_13 "Failed initializing PJSUA!"
+#define STR_symbian_ua_guiContainerView_16 "Register Success"
+#define STR_symbian_ua_guiContainerView_17 "Register Failed"
+#define STR_symbian_ua_guiContainerView_18 "Accept Call"
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.loc
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.loc	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.loc	(revision 1973)
@@ -0,0 +1,11 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiContainer.loc
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifdef LANGUAGE_01
+#include "symbian_ua_guiContainer.l01"
+#endif
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.rssi
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.rssi	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.rssi	(revision 1973)
@@ -0,0 +1,141 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiContainer.rssi
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#include "symbian_ua_guiContainer.hrh"
+#include "symbian_ua_guiContainer.loc"
+
+RESOURCE AVKON_VIEW r_symbian_ua_gui_container_symbian_ua_gui_container_view
+	{
+	cba = r_symbian_ua_gui_container_control_pane;
+	menubar = r_symbian_ua_gui_container_options_menu;
+	}
+RESOURCE MENU_BAR r_symbian_ua_gui_container_options_menu
+	{titles =
+			{
+			MENU_TITLE
+				{
+				menu_pane = r_symbian_ua_gui_container_menu_pane1_menu_pane;
+				}
+			};
+
+	}
+RESOURCE STATUS_PANE_APP_MODEL r_symbian_ua_gui_container_status_pane
+	{
+	panes =
+		{
+		SPANE_PANE
+			{
+			id = EEikStatusPaneUidTitle;
+			type = EAknCtTitlePane;
+			resource = r_symbian_ua_gui_container_title_resource;
+			}
+		};
+	}
+RESOURCE TITLE_PANE r_symbian_ua_gui_container_title_resource
+	{
+	txt = STR_symbian_ua_guiContainerView_1;
+	}
+RESOURCE CBA r_symbian_ua_gui_container_control_pane
+	{
+	buttons =
+		{
+		CBA_BUTTON
+			{
+			id = EAknSoftkeyOptions;
+			txt = STR_symbian_ua_guiContainerView_7;
+			},
+		CBA_BUTTON
+			{
+			id = ESymbian_ua_guiContainerViewControlPaneRightId;
+			txt = STR_symbian_ua_guiContainerView_8;
+			}
+		};
+	}
+RESOURCE LABEL r_symbian_ua_gui_container_label1
+	{
+	txt = STR_symbian_ua_guiContainerView_2;
+	horiz_align = EEikLabelAlignHCenter;
+	}
+RESOURCE EDWIN r_symbian_ua_gui_container_ed_url
+	{
+	maxlength = 255;
+	default_case = EAknEditorLowerCase;
+	allowed_case_modes = EAknEditorAllCaseModes;
+	numeric_keymap = EAknEditorStandardNumberModeKeymap;
+	default_input_mode = EAknEditorTextInputMode;
+	allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorHalfWidthTextInputMode;
+	special_character_table = R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG;
+	avkon_flags = EAknEditorFlagNoT9 | EAknEditorFlagSupressShiftMenu;
+	}
+RESOURCE TBUF r_symbian_ua_gui_container_ed_url_2
+	{
+	buf = STR_symbian_ua_guiContainerView_4;
+	}
+RESOURCE MENU_PANE r_symbian_ua_gui_container_menu_pane1_menu_pane
+	{
+	items =
+		{
+		MENU_ITEM
+			{
+			command = ESymbian_ua_guiContainerViewSettingMenuItemCommand;
+			txt = STR_symbian_ua_guiContainerView_9;
+			},
+		MENU_ITEM
+			{
+			command = EAknCmdExit;
+			txt = STR_symbian_ua_guiContainerView_10;
+			}
+		};
+	}
+RESOURCE EDWIN r_symbian_ua_gui_container_ed_info
+	{
+	flags = EEikEdwinReadOnly;
+	lines = 10;
+	maxlength = 2000;
+	default_case = EAknEditorTextCase;
+	allowed_case_modes = EAknEditorAllCaseModes;
+	numeric_keymap = EAknEditorStandardNumberModeKeymap;
+	default_input_mode = EAknEditorTextInputMode;
+	allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorKatakanaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorFullWidthKatakanaInputMode | EAknEditorHiraganaKanjiInputMode | EAknEditorHalfWidthTextInputMode;
+	avkon_flags = EAknEditorFlagNoEditIndicators | EAknEditorFlagEnableScrollBars;
+	special_character_table = 0;
+	}
+RESOURCE TBUF r_symbian_ua_gui_container_ed_info_2
+	{
+	buf = STR_symbian_ua_guiContainerView_3;
+	}
+RESOURCE TBUF r_symbian_ua_gui_container_note_error
+	{
+	buf = STR_symbian_ua_guiContainerView_13;
+	}
+RESOURCE TBUF r_symbian_ua_gui_container_note_info
+	{
+	buf = STR_symbian_ua_guiContainerView_16;
+	}
+RESOURCE TBUF r_symbian_ua_gui_container_note_warning
+	{
+	buf = STR_symbian_ua_guiContainerView_17;
+	}
+RESOURCE DIALOG r_symbian_ua_gui_container_qry_accept_call
+	{
+	flags = EAknGeneralQueryFlags;
+	buttons = R_AVKON_SOFTKEYS_YES_NO;
+	items =
+		{
+		DLG_LINE
+			{
+			type = EAknCtQuery;
+			id = ESymbian_ua_guiContainerViewQry_accept_call;
+			control = AVKON_CONFIRMATION_QUERY
+				{
+				layout = EConfirmationQueryLayout;
+				label = STR_symbian_ua_guiContainerView_18;
+				};
+			}
+		};
+	}
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.l01
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.l01	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.l01	(revision 1973)
@@ -0,0 +1,31 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiSettingItemList.l01
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// localized strings for language: UK English (01)
+#define STR_symbian_ua_guiSettingItemListView_1 "Settings"
+#define STR_symbian_ua_guiSettingItemListView_2 "Account Settings"
+#define STR_symbian_ua_guiSettingItemListView_4 "Change"
+#define STR_symbian_ua_guiSettingItemListView_16 "Password"
+#define STR_symbian_ua_guiSettingItemListView_18 ""
+#define STR_symbian_ua_guiSettingItemListView_19 "STUN Server"
+#define STR_symbian_ua_guiSettingItemListView_24 "SRTP"
+#define STR_symbian_ua_guiSettingItemListView_25 "On"
+#define STR_symbian_ua_guiSettingItemListView_26 "Popup text for On"
+#define STR_symbian_ua_guiSettingItemListView_27 "Off"
+#define STR_symbian_ua_guiSettingItemListView_28 "Popup text for Off"
+#define STR_symbian_ua_guiSettingItemListView_3 ""
+#define STR_symbian_ua_guiSettingItemListView_5 "Registrar"
+#define STR_symbian_ua_guiSettingItemListView_7 ""
+#define STR_symbian_ua_guiSettingItemListView_8 "User"
+#define STR_symbian_ua_guiSettingItemListView_46 "ICE"
+#define STR_symbian_ua_guiSettingItemListView_47 "On"
+#define STR_symbian_ua_guiSettingItemListView_48 "Popup text for On"
+#define STR_symbian_ua_guiSettingItemListView_49 "Off"
+#define STR_symbian_ua_guiSettingItemListView_140 "Options"
+#define STR_symbian_ua_guiSettingItemListView_141 "Done"
+#define STR_symbian_ua_guiSettingItemListView_50 "Popup text for Off"
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.loc
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.loc	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.loc	(revision 1973)
@@ -0,0 +1,11 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiSettingItemList.loc
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifdef LANGUAGE_01
+#include "symbian_ua_guiSettingItemList.l01"
+#endif
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.rssi
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.rssi	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.rssi	(revision 1973)
@@ -0,0 +1,275 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiSettingItemList.rssi
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#include "symbian_ua_guiSettingItemList.hrh"
+#include "symbian_ua_guiSettingItemList.loc"
+
+RESOURCE AVKON_VIEW r_symbian_ua_gui_setting_item_list_symbian_ua_gui_setting_item_list_view
+	{
+	cba = r_symbian_ua_gui_setting_item_list_control_pane;
+	menubar = r_symbian_ua_gui_setting_item_list_options_menu;
+	}
+RESOURCE MENU_BAR r_symbian_ua_gui_setting_item_list_options_menu
+	{
+	titles =
+		{
+		MENU_TITLE
+			{
+			menu_pane = r_symbian_ua_gui_setting_item_list_menu_pane1_menu_pane;
+			}
+		};
+	}
+RESOURCE MENU_PANE r_symbian_ua_gui_setting_item_list_menu_pane1_menu_pane
+	{
+	items =
+		{
+		MENU_ITEM
+			{
+			command = ESymbian_ua_guiSettingItemListViewMenuItem1Command;
+			txt = STR_symbian_ua_guiSettingItemListView_4;
+			}
+		};
+	}
+RESOURCE STATUS_PANE_APP_MODEL r_symbian_ua_gui_setting_item_list_status_pane
+	{
+	panes =
+		{
+		SPANE_PANE
+			{
+			id = EEikStatusPaneUidTitle;
+			type = EAknCtTitlePane;
+			resource = r_symbian_ua_gui_setting_item_list_title_resource;
+			}
+		};
+	}
+RESOURCE TITLE_PANE r_symbian_ua_gui_setting_item_list_title_resource
+	{
+	txt = STR_symbian_ua_guiSettingItemListView_2;
+	}
+RESOURCE AVKON_SETTING_ITEM_LIST r_symbian_ua_gui_setting_item_list_symbian_ua_gui_setting_item_list
+	{
+	items =
+		{
+		AVKON_SETTING_ITEM
+			{
+			name = STR_symbian_ua_guiSettingItemListView_5;
+			identifier = ESymbian_ua_guiSettingItemListViewEd_registrar;
+			setting_page_resource = r_symbian_ua_gui_setting_item_list_ed_registrar_setting_page_resource;
+			},
+		AVKON_SETTING_ITEM
+			{
+			name = STR_symbian_ua_guiSettingItemListView_8;
+			identifier = ESymbian_ua_guiSettingItemListViewEd_user;
+			setting_page_resource = r_symbian_ua_gui_setting_item_list_ed_user_setting_page_resource;
+			},
+		AVKON_SETTING_ITEM
+			{
+			name = STR_symbian_ua_guiSettingItemListView_16;
+			identifier = ESymbian_ua_guiSettingItemListViewEd_password;
+			setting_page_resource = r_symbian_ua_gui_setting_item_list_ed_password_setting_page_resource;
+			},
+		AVKON_SETTING_ITEM
+			{
+			name = STR_symbian_ua_guiSettingItemListView_24;
+			identifier = ESymbian_ua_guiSettingItemListViewB_srtp;
+			setting_page_resource = r_symbian_ua_gui_setting_item_list_b_srtp_setting_page_resource;
+			associated_resource = r_symbian_ua_gui_setting_item_list_b_srtp;
+			},
+		AVKON_SETTING_ITEM
+			{
+			name = STR_symbian_ua_guiSettingItemListView_46;
+			identifier = ESymbian_ua_guiSettingItemListViewB_ice;
+			setting_page_resource = r_symbian_ua_gui_setting_item_list_b_ice_setting_page_resource;
+			associated_resource = r_symbian_ua_gui_setting_item_list_b_ice;
+			},
+		AVKON_SETTING_ITEM
+			{
+			name = STR_symbian_ua_guiSettingItemListView_19;
+			identifier = ESymbian_ua_guiSettingItemListViewEd_stun_server;
+			setting_page_resource = r_symbian_ua_gui_setting_item_list_ed_stun_server_setting_page_resource;
+			}
+		};
+	}
+RESOURCE CBA r_symbian_ua_gui_setting_item_list_control_pane
+	{
+	buttons =
+		{
+		CBA_BUTTON
+			{
+			id = EAknSoftkeyOptions;
+			txt = STR_symbian_ua_guiSettingItemListView_140;
+			},
+		CBA_BUTTON
+			{
+			id = EAknSoftkeySave;
+			txt = STR_symbian_ua_guiSettingItemListView_141;
+			}
+		};
+	}
+RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_ed_registrar_setting_page_resource
+	{
+	number = -16380;
+	label = STR_symbian_ua_guiSettingItemListView_5;
+	type = EEikCtEdwin;
+	editor_resource_id = r_symbian_ua_gui_setting_item_list_ed_registrar_editor_resource_id;
+	}
+RESOURCE EDWIN r_symbian_ua_gui_setting_item_list_ed_registrar_editor_resource_id
+	{
+	maxlength = 255;
+	default_case = EAknEditorLowerCase;
+	allowed_case_modes = EAknEditorAllCaseModes;
+	numeric_keymap = EAknEditorStandardNumberModeKeymap;
+	default_input_mode = EAknEditorTextInputMode;
+	allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorKatakanaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorFullWidthKatakanaInputMode | EAknEditorHiraganaKanjiInputMode | EAknEditorHalfWidthTextInputMode;
+	special_character_table = 0;
+	}
+RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_ed_user_setting_page_resource
+	{
+	number = -16380;
+	label = STR_symbian_ua_guiSettingItemListView_8;
+	type = EEikCtEdwin;
+	editor_resource_id = r_symbian_ua_gui_setting_item_list_ed_user_editor_resource_id;
+	}
+RESOURCE EDWIN r_symbian_ua_gui_setting_item_list_ed_user_editor_resource_id
+	{
+	maxlength = 255;
+	default_case = EAknEditorLowerCase;
+	allowed_case_modes = EAknEditorAllCaseModes;
+	numeric_keymap = EAknEditorStandardNumberModeKeymap;
+	default_input_mode = EAknEditorTextInputMode;
+	allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorKatakanaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorFullWidthKatakanaInputMode | EAknEditorHiraganaKanjiInputMode | EAknEditorHalfWidthTextInputMode;
+	special_character_table = 0;
+	}
+RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_ed_password_setting_page_resource
+	{
+	number = -16380;
+	label = STR_symbian_ua_guiSettingItemListView_16;
+	type = EEikCtSecretEd;
+	editor_resource_id = r_symbian_ua_gui_setting_item_list_ed_password_editor_resource_id;
+	}
+RESOURCE SECRETED r_symbian_ua_gui_setting_item_list_ed_password_editor_resource_id
+	{num_letters = 32;
+
+	}
+RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_ed_stun_server_setting_page_resource
+	{
+	number = -16380;
+	label = STR_symbian_ua_guiSettingItemListView_19;
+	type = EEikCtEdwin;
+	editor_resource_id = r_symbian_ua_gui_setting_item_list_ed_stun_server_editor_resource_id;
+	}
+RESOURCE EDWIN r_symbian_ua_gui_setting_item_list_ed_stun_server_editor_resource_id
+	{
+	maxlength = 255;
+	default_case = EAknEditorTextCase;
+	allowed_case_modes = EAknEditorAllCaseModes;
+	numeric_keymap = EAknEditorStandardNumberModeKeymap;
+	default_input_mode = EAknEditorTextInputMode;
+	allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorKatakanaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorFullWidthKatakanaInputMode | EAknEditorHiraganaKanjiInputMode | EAknEditorHalfWidthTextInputMode;
+	special_character_table = 0;
+	}
+RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_b_srtp_setting_page_resource
+	{
+	number = -16380;
+	label = STR_symbian_ua_guiSettingItemListView_24;
+	type = EAknCtPopupSettingList;
+	editor_resource_id = r_symbian_ua_gui_setting_item_list_b_srtp_editor_resource_id;
+	}
+RESOURCE POPUP_SETTING_LIST r_symbian_ua_gui_setting_item_list_b_srtp_editor_resource_id
+	{
+	}
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_symbian_ua_gui_setting_item_list_b_srtp
+	{
+	setting_texts_resource = r_symbian_ua_gui_setting_item_list_b_srtp_setting_texts_resource;
+	popped_up_texts_resource = r_symbian_ua_gui_setting_item_list_b_srtp_popped_up_texts_resource;
+	}
+RESOURCE ARRAY r_symbian_ua_gui_setting_item_list_b_srtp_setting_texts_resource
+	{
+	items =
+		{
+		AVKON_ENUMERATED_TEXT
+			{
+			text = STR_symbian_ua_guiSettingItemListView_25;
+			value = 1;
+			},
+		AVKON_ENUMERATED_TEXT
+			{
+			text = STR_symbian_ua_guiSettingItemListView_27;
+			}
+		};
+	}
+RESOURCE ARRAY r_symbian_ua_gui_setting_item_list_b_srtp_popped_up_texts_resource
+	{
+	items =
+		{
+		LBUF
+			{
+			txt = STR_symbian_ua_guiSettingItemListView_26;
+			},
+		LBUF
+			{
+			txt = STR_symbian_ua_guiSettingItemListView_28;
+			}
+		};
+	}
+RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_b_ice_setting_page_resource
+	{
+	number = -16380;
+	label = STR_symbian_ua_guiSettingItemListView_46;
+	type = EAknCtPopupSettingList;
+	editor_resource_id = r_symbian_ua_gui_setting_item_list_b_ice_editor_resource_id;
+	}
+RESOURCE POPUP_SETTING_LIST r_symbian_ua_gui_setting_item_list_b_ice_editor_resource_id
+	{
+	}
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_symbian_ua_gui_setting_item_list_b_ice
+	{
+	setting_texts_resource = r_symbian_ua_gui_setting_item_list_b_ice_setting_texts_resource;
+	popped_up_texts_resource = r_symbian_ua_gui_setting_item_list_b_ice_popped_up_texts_resource;
+	}
+RESOURCE ARRAY r_symbian_ua_gui_setting_item_list_b_ice_setting_texts_resource
+	{
+	items =
+		{
+		AVKON_ENUMERATED_TEXT
+			{
+			text = STR_symbian_ua_guiSettingItemListView_47;
+			value = 1;
+			},
+		AVKON_ENUMERATED_TEXT
+			{
+			text = STR_symbian_ua_guiSettingItemListView_49;
+			}
+		};
+	}
+RESOURCE ARRAY r_symbian_ua_gui_setting_item_list_b_ice_popped_up_texts_resource
+	{
+	items =
+		{
+		LBUF
+			{
+			txt = STR_symbian_ua_guiSettingItemListView_48;
+			},
+		LBUF
+			{
+			txt = STR_symbian_ua_guiSettingItemListView_50;
+			}
+		};
+	}
+RESOURCE TBUF r_symbian_ua_gui_setting_item_list_ed_registrar
+	{
+	buf = STR_symbian_ua_guiSettingItemListView_3;
+	}
+RESOURCE TBUF r_symbian_ua_gui_setting_item_list_ed_user
+	{
+	buf = STR_symbian_ua_guiSettingItemListView_7;
+	}
+RESOURCE TBUF r_symbian_ua_gui_setting_item_list_ed_stun_server
+	{
+	buf = STR_symbian_ua_guiSettingItemListView_18;
+	}
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.loc
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.loc	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.loc	(revision 1973)
@@ -0,0 +1,11 @@
+//  LOCALISATION STRINGS
+
+// Caption string for app.
+#define qtn_caption_string "symbian_ua_gui"
+
+// Short caption string for app.
+#define qtn_short_caption_string "HW"
+
+#define qtn_loc_resource_file_1 "\\resource\\apps\\symbian_ua_gui"
+
+// End of File
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.rss
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.rss	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.rss	(revision 1973)
@@ -0,0 +1,21 @@
+
+#include <eikon.rh>
+#include <avkon.rsg>
+#include <avkon.rh>
+#include <appinfo.rh>
+#include "symbian_ua_gui_reg.loc"
+#include <symbian_ua_gui.rsg>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0xEBD12EE4
+
+RESOURCE APP_REGISTRATION_INFO
+	{
+	app_file="symbian_ua_gui";
+	localisable_resource_file =  qtn_loc_resource_file_1;
+	localisable_resource_id = R_LOCALISABLE_APP_INFO;
+
+	embeddability=KAppNotEmbeddable;
+	newfile=KAppDoesNotSupportNewFile;
+	}
+
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/gfx/qgn_menu_symbian_ua_gui.svg
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/gfx/qgn_menu_symbian_ua_gui.svg	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/gfx/qgn_menu_symbian_ua_gui.svg	(revision 1973)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 88 87.999">
+<g>
+<g>
+<g>
+<g>
+<rect fill="none" width="88" height="87.999"/>
+</g>
+</g>
+<g>
+<linearGradient id="XMLID_7_" gradientUnits="userSpaceOnUse" x1="12.3042" y1="18.3799" x2="63.4113" y2="79.287">
+<stop offset="0" style="stop-color:#B3DDFF"/>
+<stop offset="0.8146" style="stop-color:#084296"/>
+<stop offset="1" style="stop-color:#084296"/>
+</linearGradient>
+<path fill="url(#XMLID_7_)" d="M32.135,7.415L14.363,17.432v23.167c0,0,8.926,15.351,10.468,18.001       c-2.386,1.704-15.44,11.03-15.44,11.03l21.613,12.652c0,0,12.907-9.85,14.71-11.226c1.979,1.109,16.231,9.101,16.231,9.101       l16.664-15.132c0,0-14.066-6.929-16.888-8.318c1.467-3.01,10.531-21.604,10.531-21.604l-22.298-9.59       c0,0-1.486,3.173-2.093,4.467c-2.046-0.88-6.573-2.826-6.573-2.826s-3.713,2.463-5.696,3.778       c-0.327-0.744-0.542-1.233-0.657-1.495c0.007-0.824,0.213-23.72,0.213-23.72L32.135,7.415z"/>
+<linearGradient id="XMLID_8_" gradientUnits="userSpaceOnUse" x1="40.8276" y1="52.1914" x2="16.1997" y2="21.1353">
+<stop offset="0" style="stop-color:#5AA7E0"/>
+<stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#XMLID_8_)" points="59.051,57.621 69.536,36.111 50.944,28.115 48.852,32.581 41.493,29.418 34.719,33.911        32.932,29.849 33.117,9.157 16.363,18.601 16.363,40.06 27.476,59.169 13.064,69.463 30.856,79.879 45.546,68.669        61.667,77.708 75.089,65.521 "/>
+<linearGradient id="XMLID_9_" gradientUnits="userSpaceOnUse" x1="60.585" y1="31.876" x2="53.8582" y2="45.1125">
+<stop offset="0" style="stop-color:#5AA7E0"/>
+<stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#XMLID_9_)" points="41.26,48.783 50.944,28.115 69.536,36.111 59.051,57.621 "/>
+<polygon fill="#0046B7" points="16.363,40.06 27.476,59.169 41.26,48.783 32.932,29.849 "/>
+<polygon fill="#3366CC" points="16.363,40.06 16.363,18.601 33.117,9.157 32.932,29.849 "/>
+<polygon fill="#CFECFF" points="26.696,39.23 41.493,29.418 59.523,37.168 45.546,47.954 "/>
+<path fill="#5AA7E0" d="M41.954,55.286"/>
+<polygon fill="#3366CC" points="26.696,39.23 27.476,59.169 45.546,68.669 45.546,47.954 "/>
+<polygon fill="#5AA7E0" points="13.064,69.463 27.476,59.169 45.546,68.669 30.856,79.879 "/>
+<linearGradient id="XMLID_10_" gradientUnits="userSpaceOnUse" x1="29.2085" y1="63.6836" x2="48.7102" y2="56.1976">
+<stop offset="0" style="stop-color:#5AA7E0"/>
+<stop offset="0.0056" style="stop-color:#5AA7E0"/>
+<stop offset="0.85" style="stop-color:#3366CC"/>
+<stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#XMLID_10_)" points="43.423,46.971 27.476,59.169 45.546,68.669 45.546,47.954 "/>
+<polygon fill="#0046B7" points="45.546,47.954 45.546,68.669 59.051,57.621 59.523,37.168 "/>
+<linearGradient id="XMLID_11_" gradientUnits="userSpaceOnUse" x1="45.3936" y1="59.5186" x2="59.0508" y2="59.5186">
+<stop offset="0" style="stop-color:#0046B7"/>
+<stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#XMLID_11_)" points="45.394,50.368 45.546,68.669 59.051,57.621 "/>
+<linearGradient id="XMLID_12_" gradientUnits="userSpaceOnUse" x1="60.8945" y1="68.6807" x2="57.2953" y2="58.792">
+<stop offset="0" style="stop-color:#5AA7E0"/>
+<stop offset="0.4101" style="stop-color:#5AA7E0"/>
+<stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#XMLID_12_)" points="61.667,77.708 45.546,68.669 59.051,57.621 75.089,65.521 "/>
+</g>
+</g>
+</g>
+</svg>
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/ABLD.BAT
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/ABLD.BAT	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/ABLD.BAT	(revision 1973)
@@ -0,0 +1,15 @@
+@ECHO OFF
+
+REM Bldmake-generated batch file - ABLD.BAT
+REM ** DO NOT EDIT **
+
+perl -S ABLD.PL "\project\pjproject-trunk\pjsip-apps\src\symbian_ua_gui\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
+if errorlevel==1 goto CheckPerl
+goto End
+
+:CheckPerl
+perl -v >NUL
+if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
+goto End
+
+:End
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/Icons_aif_scalable_dc.mk
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/Icons_aif_scalable_dc.mk	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/Icons_aif_scalable_dc.mk	(revision 1973)
@@ -0,0 +1,71 @@
+# ============================================================================
+#  Name	 : Icons_aif_scalable_dc.mk
+#  Part of  : symbian_ua_gui
+#
+#  Description:
+# 
+# ============================================================================
+
+
+ifeq (WINS,$(findstring WINS, $(PLATFORM)))
+ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
+else
+ZDIR=$(EPOCROOT)epoc32\data\z
+endif
+
+
+# ----------------------------------------------------------------------------
+# TODO: Configure these
+# ----------------------------------------------------------------------------
+
+TARGETDIR=$(ZDIR)\resource\apps
+ICONTARGETFILENAME=$(TARGETDIR)\symbian_ua_gui_aif.mif
+HEADERDIR=$(EPOCROOT)epoc32\include
+HEADERFILENAME=$(HEADERDIR)\symbian_ua_gui_aif.mbg
+
+ICONDIR=..\gfx
+
+do_nothing :
+	@rem do_nothing
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+CLEAN : do_nothing
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+# ----------------------------------------------------------------------------
+# TODO: Configure these.
+#
+# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
+# MifConv if the mask detph is defined.
+#
+# NOTE 2: Usually, source paths should not be included in the bitmap
+# definitions. MifConv searches for the icons in all icon directories in a
+# predefined order, which is currently \s60\icons, \s60\bitmaps2.
+# The directory \s60\icons is included in the search only if the feature flag
+# __SCALABLE_ICONS is defined.
+# ----------------------------------------------------------------------------
+# NOTE: if you have JUSTINTIME enabled for your S60 3rd FP1 or newer SDK
+# and this command crashes, consider adding "/X" to the command line.
+# See <http://forum.nokia.com/document/Forum_Nokia_Technical_Library_v1_35/contents/FNTL/Build_process_fails_at_mif_file_creation_in_S60_3rd_Ed_FP1_SDK.htm>
+# ----------------------------------------------------------------------------
+
+RESOURCE :	
+	mifconv $(ICONTARGETFILENAME) \
+		/H$(HEADERFILENAME) \
+		/c32,8 $(ICONDIR)\qgn_menu_symbian_ua_gui.svg
+		
+FREEZE : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES :
+	@echo $(ICONTARGETFILENAME)
+
+FINAL : do_nothing
+
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/bld.inf
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/bld.inf	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/bld.inf	(revision 1973)
@@ -0,0 +1,12 @@
+
+PRJ_PLATFORMS
+WINSCW ARMV5 GCCE
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+gnumakefile icons_aif_scalable_dc.mk
+
+
+symbian_ua_gui.mmp
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp	(revision 1973)
@@ -0,0 +1,60 @@
+TARGET			symbian_ua_gui.exe
+UID			   0x100039CE 0xEBD12EE4
+VENDORID	  	  0
+TARGETTYPE		exe
+EPOCSTACKSIZE	0x8000
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+SYSTEMINCLUDE	\epoc32\include \epoc32\include\variant \epoc32\include\ecom
+SYSTEMINCLUDE	\epoc32\include\libc
+SYSTEMINCLUDE	..\..\..\..\pjlib\include
+SYSTEMINCLUDE	..\..\..\..\pjlib-util\include
+SYSTEMINCLUDE	..\..\..\..\pjnath\include
+SYSTEMINCLUDE	..\..\..\..\pjmedia\include
+SYSTEMINCLUDE	..\..\..\..\pjsip\include
+
+USERINCLUDE	..\inc ..\data
+
+SOURCEPATH		..\data
+START RESOURCE	symbian_ua_gui.rss
+HEADER
+TARGETPATH resource\apps
+END //RESOURCE
+
+START RESOURCE	symbian_ua_gui_reg.rss
+TARGETPATH 	  \private\10003a3f\apps
+END //RESOURCE
+
+LIBRARY			euser.lib apparc.lib cone.lib eikcore.lib avkon.lib
+LIBRARY			commonengine.lib efsrv.lib estor.lib eikcoctl.lib eikdlg.lib 
+LIBRARY			eikctl.lib bafl.lib fbscli.lib aknnotify.lib aknicon.lib
+LIBRARY			etext.lib gdi.lib egul.lib insock.lib
+LIBRARY			ecom.lib InetProtUtil.lib http.lib esock.lib
+
+STATICLIBRARY	pjsua_lib.lib pjsip_ua.lib
+STATICLIBRARY	pjsip_simple.lib pjsip.lib pjsdp.lib pjmedia.lib
+STATICLIBRARY	pjnath.lib pjlib_util.lib pjlib.lib
+STATICLIBRARY	symbian_audio.lib
+STATICLIBRARY	libgsmcodec.lib
+STATICLIBRARY	libspeexcodec.lib
+
+LIBRARY		charconv.lib estlib.lib 
+LIBRARY 	mediaclientaudiostream.lib
+LIBRARY 	mediaclientaudioinputstream.lib
+
+LANG 				01
+
+START BITMAP	symbian_ua_gui.mbm
+HEADER
+TARGETPATH		\resource\apps
+SOURCEPATH		..\gfx
+SOURCE	c12,1	list_icon.bmp list_icon_mask.bmp
+END
+
+SOURCEPATH		..\src
+SOURCE symbian_ua_guiContainerView.cpp symbian_ua_guiContainer.cpp symbian_ua_guiAppUi.cpp symbian_ua_guiDocument.cpp symbian_ua_guiApplication.cpp symbian_ua_guiSettingItemList.cpp Symbian_ua_guiSettingItemListSets.cpp symbian_ua_guiSettingItemListView.cpp
+SOURCE symbian_ua.cpp
+
+CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment 
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/Symbian_ua_guiSettingItemListSettings.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/Symbian_ua_guiSettingItemListSettings.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/Symbian_ua_guiSettingItemListSettings.h	(revision 1973)
@@ -0,0 +1,63 @@
+/*
+========================================================================
+ Name        : Symbian_ua_guiSettingItemListSettings.h
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifndef SYMBIAN_UA_GUISETTINGITEMLISTSETTINGS_H
+#define SYMBIAN_UA_GUISETTINGITEMLISTSETTINGS_H
+			
+// [[[ begin generated region: do not modify [Generated Includes]
+#include <e32std.h>
+// ]]] end generated region [Generated Includes]
+
+// [[[ begin generated region: do not modify [Generated Constants]
+const int KEd_registrarMaxLength = 255;
+const int KEd_userMaxLength = 255;
+const int KEd_passwordMaxLength = 32;
+const int KEd_stun_serverMaxLength = 255;
+// ]]] end generated region [Generated Constants]
+
+/**
+ * @class	TSymbian_ua_guiSettingItemListSettings Symbian_ua_guiSettingItemListSettings.h
+ */
+class TSymbian_ua_guiSettingItemListSettings
+	{
+public:
+	// construct and destroy
+	static TSymbian_ua_guiSettingItemListSettings* NewL();
+	void ConstructL();
+		
+private:
+	// constructor
+	TSymbian_ua_guiSettingItemListSettings();
+	// [[[ begin generated region: do not modify [Generated Accessors]
+public:
+	TDes& Ed_registrar();
+	void SetEd_registrar(const TDesC& aValue);
+	TDes& Ed_user();
+	void SetEd_user(const TDesC& aValue);
+	TDes& Ed_password();
+	void SetEd_password(const TDesC& aValue);
+	TBool& B_srtp();
+	void SetB_srtp(const TBool& aValue);
+	TBool& B_ice();
+	void SetB_ice(const TBool& aValue);
+	TDes& Ed_stun_server();
+	void SetEd_stun_server(const TDesC& aValue);
+	// ]]] end generated region [Generated Accessors]
+	
+	// [[[ begin generated region: do not modify [Generated Members]
+protected:
+	TBuf<KEd_registrarMaxLength> iEd_registrar;
+	TBuf<KEd_userMaxLength> iEd_user;
+	TBuf<KEd_passwordMaxLength> iEd_password;
+	TBool iB_srtp;
+	TBool iB_ice;
+	TBuf<KEd_stun_serverMaxLength> iEd_stun_server;
+	// ]]] end generated region [Generated Members]
+	
+	};
+#endif // SYMBIAN_UA_GUISETTINGITEMLISTSETTINGS_H
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua.h	(revision 1973)
@@ -0,0 +1,47 @@
+/* $Id: ua.cpp 1793 2008-02-14 13:39:24Z bennylp $ */
+/* 
+ * Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+ */
+
+#ifndef __SYMBIAN_UA_H__
+#define __SYMBIAN_UA_H__
+
+typedef struct 
+{
+    void (*on_info)(const wchar_t* buf);
+    void (*on_incoming_call)(const wchar_t* caller_disp, const wchar_t* caller_uri);
+    void (*on_call_end)(const wchar_t* reason);
+    void (*on_reg_state)(bool success);
+    void (*on_unreg_state)(bool success);
+} symbian_ua_info_cb_t;
+
+int symbian_ua_init();
+int symbian_ua_destroy();
+
+void symbian_ua_set_info_callback(const symbian_ua_info_cb_t *cb);
+
+int symbian_ua_set_account(const char *domain, const char *username, 
+			   const char *password,
+			   bool use_srtp, bool use_ice);
+
+bool symbian_ua_anycall();
+int symbian_ua_makecall(const char* dest_url);
+int symbian_ua_endcall();
+int symbian_ua_answercall();
+
+#endif
+
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.hrh
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.hrh	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.hrh	(revision 1973)
@@ -0,0 +1,17 @@
+/*
+========================================================================
+ Name        : symbian_ua_gui.hrh
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+enum Tsymbian_ua_guiViewUids
+	{
+	ESymbian_ua_guiContainerViewId = 1,
+	ESymbian_ua_guiSettingItemListViewId
+	};
+enum TSymbian_ua_guiApplicationControls
+	{
+	ESymbian_ua_guiApplicationDlg_wait_init = 1
+	};
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.pan
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.pan	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.pan	(revision 1973)
@@ -0,0 +1,18 @@
+
+#ifndef SYMBIAN_UA_GUI_PAN_H
+#define SYMBIAN_UA_GUI_PAN_H
+
+/** symbian_ua_gui application panic codes */
+enum Tsymbian_ua_guiPanics
+	{
+	Esymbian_ua_guiUi = 1
+	// add further panics here
+	};
+
+inline void Panic(Tsymbian_ua_guiPanics aReason)
+	{
+	_LIT(applicationName,"symbian_ua_gui");
+	User::Panic(applicationName, aReason);
+	}
+
+#endif // SYMBIAN_UA_GUI_PAN_H
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiAppUi.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiAppUi.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiAppUi.h	(revision 1973)
@@ -0,0 +1,119 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiAppUi.h
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifndef SYMBIAN_UA_GUIAPPUI_H
+#define SYMBIAN_UA_GUIAPPUI_H
+
+// [[[ begin generated region: do not modify [Generated Includes]
+#include <aknviewappui.h>
+#include <aknwaitdialog.h>
+// ]]] end generated region [Generated Includes]
+
+// [[[ begin generated region: do not modify [Generated Forward Declarations]
+class Csymbian_ua_guiContainerView;
+class Csymbian_ua_guiSettingItemListView;
+// ]]] end generated region [Generated Forward Declarations]
+
+/**
+ * @class	Csymbian_ua_guiAppUi symbian_ua_guiAppUi.h
+ * @brief The AppUi class handles application-wide aspects of the user interface, including
+ *        view management and the default menu, control pane, and status pane.
+ */
+class Csymbian_ua_guiAppUi : public CAknViewAppUi, public CTimer
+	{
+public: 
+	// constructor and destructor
+	Csymbian_ua_guiAppUi();
+	virtual ~Csymbian_ua_guiAppUi();
+	void ConstructL();
+
+public:
+	// from CCoeAppUi
+	TKeyResponse HandleKeyEventL(
+				const TKeyEvent& aKeyEvent,
+				TEventCode aType );
+
+	// from CEikAppUi
+	void HandleCommandL( TInt aCommand );
+	void HandleResourceChangeL( TInt aType );
+
+	// from CAknAppUi
+	void HandleViewDeactivation( 
+			const TVwsViewId& aViewIdToBeDeactivated, 
+			const TVwsViewId& aNewlyActivatedViewId );
+
+private:
+	void InitializeContainersL();
+	// [[[ begin generated region: do not modify [Generated Methods]
+public: 
+	void ExecuteDlg_wait_initLD( const TDesC* aOverrideText = NULL );
+	void RemoveDlg_wait_initL();
+	// ]]] end generated region [Generated Methods]
+	
+	// [[[ begin generated region: do not modify [Generated Instance Variables]
+private: 
+	CAknWaitDialog* iDlg_wait_init;
+	class CProgressDialogCallback;
+	CProgressDialogCallback* iDlg_wait_initCallback;
+	Csymbian_ua_guiContainerView* iSymbian_ua_guiContainerView;
+	Csymbian_ua_guiSettingItemListView* iSymbian_ua_guiSettingItemListView;
+	// ]]] end generated region [Generated Instance Variables]
+	
+	
+	// [[[ begin [User Handlers]
+protected: 
+	void HandleSymbian_ua_guiAppUiApplicationSpecificEventL( 
+			TInt aType, 
+			const TWsEvent& anEvent );
+	void HandleDlg_wait_initCanceledL( CAknProgressDialog* aDialog );
+	// ]]] end [User Handlers]
+	
+	
+	// [[[ begin [Overridden Methods]
+protected: 
+	void HandleApplicationSpecificEventL( 
+			TInt aType, 
+			const TWsEvent& anEvent );
+	// ]]] end [Overridden Methods]
+	
+	virtual void RunL();
+	
+	// [[[ begin [MProgressDialogCallback support]
+private: 
+	typedef void ( Csymbian_ua_guiAppUi::*ProgressDialogEventHandler )( 
+			CAknProgressDialog* aProgressDialog );
+	
+	/**
+	 * This is a helper class for progress/wait dialog callbacks. It routes the dialog's
+	 * cancel notification to the handler function for the cancel event.
+	 */
+	class CProgressDialogCallback : public CBase, public MProgressDialogCallback
+		{ 
+		public:
+			CProgressDialogCallback( 
+					Csymbian_ua_guiAppUi* aHandlerObj, 
+					CAknProgressDialog* aDialog, 
+					ProgressDialogEventHandler aHandler ) :
+				handlerObj( aHandlerObj ), dialog( aDialog ), handler( aHandler )
+				{}
+				
+			void DialogDismissedL( TInt aButtonId ) 
+				{
+				( handlerObj->*handler )( dialog );
+				}
+		private:
+			Csymbian_ua_guiAppUi* handlerObj;
+			CAknProgressDialog* dialog;
+			ProgressDialogEventHandler handler;
+		};
+		
+	// ]]] end [MProgressDialogCallback support]
+	
+	};
+
+#endif // SYMBIAN_UA_GUIAPPUI_H			
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiApplication.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiApplication.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiApplication.h	(revision 1973)
@@ -0,0 +1,35 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiApplication.h
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifndef SYMBIAN_UA_GUIAPPLICATION_H
+#define SYMBIAN_UA_GUIAPPLICATION_H
+
+// [[[ begin generated region: do not modify [Generated Includes]
+#include <aknapp.h>
+// ]]] end generated region [Generated Includes]
+
+// [[[ begin generated region: do not modify [Generated Constants]
+const TUid KUidsymbian_ua_guiApplication = { 0xEBD12EE4 };
+// ]]] end generated region [Generated Constants]
+
+/**
+ *
+ * @class	Csymbian_ua_guiApplication symbian_ua_guiApplication.h
+ * @brief	A CAknApplication-derived class is required by the S60 application 
+ *          framework. It is subclassed to create the application's document 
+ *          object.
+ */
+class Csymbian_ua_guiApplication : public CAknApplication
+	{
+private:
+	TUid AppDllUid() const;
+	CApaDocument* CreateDocumentL();
+	
+	};
+			
+#endif // SYMBIAN_UA_GUIAPPLICATION_H		
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.h	(revision 1973)
@@ -0,0 +1,113 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiContainer.h
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifndef SYMBIAN_UA_GUICONTAINER_H
+#define SYMBIAN_UA_GUICONTAINER_H
+
+// [[[ begin generated region: do not modify [Generated Includes]
+#include <coecntrl.h>		
+// ]]] end generated region [Generated Includes]
+
+
+// [[[ begin [Event Handler Includes]
+// ]]] end [Event Handler Includes]
+
+// [[[ begin generated region: do not modify [Generated Forward Declarations]
+class MEikCommandObserver;		
+class CEikLabel;
+class CEikEdwin;
+// ]]] end generated region [Generated Forward Declarations]
+
+/**
+ * Container class for symbian_ua_guiContainer
+ * 
+ * @class	CSymbian_ua_guiContainer symbian_ua_guiContainer.h
+ */
+class CSymbian_ua_guiContainer : public CCoeControl
+	{
+public:
+	// constructors and destructor
+	CSymbian_ua_guiContainer();
+	static CSymbian_ua_guiContainer* NewL( 
+		const TRect& aRect, 
+		const CCoeControl* aParent, 
+		MEikCommandObserver* aCommandObserver );
+	static CSymbian_ua_guiContainer* NewLC( 
+		const TRect& aRect, 
+		const CCoeControl* aParent, 
+		MEikCommandObserver* aCommandObserver );
+	void ConstructL( 
+		const TRect& aRect, 
+		const CCoeControl* aParent, 
+		MEikCommandObserver* aCommandObserver );
+	virtual ~CSymbian_ua_guiContainer();
+
+public:
+	// from base class CCoeControl
+	TInt CountComponentControls() const;
+	CCoeControl* ComponentControl( TInt aIndex ) const;
+	TKeyResponse OfferKeyEventL( 
+			const TKeyEvent& aKeyEvent, 
+			TEventCode aType );
+	void HandleResourceChange( TInt aType );
+	
+protected:
+	// from base class CCoeControl
+	void SizeChanged();
+
+private:
+	// from base class CCoeControl
+	void Draw( const TRect& aRect ) const;
+
+private:
+	void InitializeControlsL();
+	void LayoutControls();
+	CCoeControl* iFocusControl;
+	MEikCommandObserver* iCommandObserver;
+	// [[[ begin generated region: do not modify [Generated Methods]
+public: 
+	// ]]] end generated region [Generated Methods]
+	
+	// [[[ begin generated region: do not modify [Generated Type Declarations]
+public: 
+	// ]]] end generated region [Generated Type Declarations]
+	
+	// [[[ begin generated region: do not modify [Generated Instance Variables]
+private: 
+	CEikLabel* iLabel1;
+	CEikEdwin* iEd_url;
+	CEikEdwin* iEd_info;
+	// ]]] end generated region [Generated Instance Variables]
+	
+	
+	// [[[ begin [Overridden Methods]
+protected: 
+	// ]]] end [Overridden Methods]
+	
+	
+	// [[[ begin [User Handlers]
+protected: 
+	// ]]] end [User Handlers]
+	
+public: 
+	enum TControls
+		{
+		// [[[ begin generated region: do not modify [Generated Contents]
+		ELabel1,
+		EEd_url,
+		EEd_info,
+		
+		// ]]] end generated region [Generated Contents]
+		
+		// add any user-defined entries here...
+		
+		ELastControl
+		};
+	};
+				
+#endif // SYMBIAN_UA_GUICONTAINER_H
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.hrh
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.hrh	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.hrh	(revision 1973)
@@ -0,0 +1,17 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiContainer.hrh
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+enum TSymbian_ua_guiContainerViewCommands
+	{
+	ESymbian_ua_guiContainerViewControlPaneRightId = 0x6000,
+	ESymbian_ua_guiContainerViewSettingMenuItemCommand
+	};
+enum TSymbian_ua_guiContainerViewControls
+	{
+	ESymbian_ua_guiContainerViewQry_accept_call = 1
+	};
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainerView.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainerView.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainerView.h	(revision 1973)
@@ -0,0 +1,88 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiContainerView.h
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifndef SYMBIAN_UA_GUICONTAINERVIEW_H
+#define SYMBIAN_UA_GUICONTAINERVIEW_H
+
+// [[[ begin generated region: do not modify [Generated Includes]
+#include <aknview.h>
+// ]]] end generated region [Generated Includes]
+
+
+// [[[ begin [Event Handler Includes]
+// ]]] end [Event Handler Includes]
+
+// [[[ begin generated region: do not modify [Generated Forward Declarations]
+class CSymbian_ua_guiContainer;
+// ]]] end generated region [Generated Forward Declarations]
+
+// [[[ begin generated region: do not modify [Generated Constants]
+// ]]] end generated region [Generated Constants]
+
+/**
+ * Avkon view class for symbian_ua_guiContainerView. It is register with the view server
+ * by the AppUi. It owns the container control.
+ * @class	Csymbian_ua_guiContainerView symbian_ua_guiContainerView.h
+ */
+class Csymbian_ua_guiContainerView : public CAknView
+	{
+public:
+	// constructors and destructor
+	Csymbian_ua_guiContainerView();
+	static Csymbian_ua_guiContainerView* NewL();
+	static Csymbian_ua_guiContainerView* NewLC();        
+	void ConstructL();
+	virtual ~Csymbian_ua_guiContainerView();
+
+public:
+	// from base class CAknView
+	TUid Id() const;
+	void HandleCommandL( TInt aCommand );
+	
+	void PutMessage(const TDesC &msg);
+
+protected:
+	// from base class CAknView
+	void DoActivateL(
+		const TVwsViewId& aPrevViewId,
+		TUid aCustomMessageId,
+		const TDesC8& aCustomMessage );
+	void DoDeactivate();
+	void HandleStatusPaneSizeChange();
+	
+private:
+	void SetupStatusPaneL();
+	void CleanupStatusPane();
+	// [[[ begin generated region: do not modify [Generated Methods]
+public: 
+	static void RunNote_errorL( const TDesC* aOverrideText = NULL );
+	static void RunNote_infoL( const TDesC* aOverrideText = NULL );
+	static void RunNote_warningL( const TDesC* aOverrideText = NULL );
+	static TInt RunQry_accept_callL( const TDesC* aOverrideText = NULL );
+	// ]]] end generated region [Generated Methods]
+	
+	
+	// [[[ begin [Overridden Methods]
+protected: 
+	// ]]] end [Overridden Methods]
+	
+	
+	// [[[ begin [User Handlers]
+protected: 
+	TBool CallSoftKeyPressedL( TInt aCommand );
+	TBool HandleSettingMenuItemSelectedL( TInt aCommand );
+	// ]]] end [User Handlers]
+	
+	// [[[ begin generated region: do not modify [Generated Instance Variables]
+private: 
+	CSymbian_ua_guiContainer* iSymbian_ua_guiContainer;
+	// ]]] end generated region [Generated Instance Variables]
+	
+	};
+
+#endif // SYMBIAN_UA_GUICONTAINERVIEW_H			
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiDocument.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiDocument.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiDocument.h	(revision 1973)
@@ -0,0 +1,36 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiDocument.h
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifndef SYMBIAN_UA_GUIDOCUMENT_H
+#define SYMBIAN_UA_GUIDOCUMENT_H
+
+#include <akndoc.h>
+		
+class CEikAppUi;
+
+/**
+* @class	Csymbian_ua_guiDocument symbian_ua_guiDocument.h
+* @brief	A CAknDocument-derived class is required by the S60 application 
+*           framework. It is responsible for creating the AppUi object. 
+*/
+class Csymbian_ua_guiDocument : public CAknDocument
+	{
+public: 
+	// constructor
+	static Csymbian_ua_guiDocument* NewL( CEikApplication& aApp );
+
+private: 
+	// constructors
+	Csymbian_ua_guiDocument( CEikApplication& aApp );
+	void ConstructL();
+	
+public: 
+	// from base class CEikDocument
+	CEikAppUi* CreateAppUiL();
+	};
+#endif // SYMBIAN_UA_GUIDOCUMENT_H
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.h	(revision 1973)
@@ -0,0 +1,87 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiSettingItemList.h
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifndef SYMBIAN_UA_GUISETTINGITEMLIST_H
+#define SYMBIAN_UA_GUISETTINGITEMLIST_H
+
+// [[[ begin generated region: do not modify [Generated Includes]
+#include <aknsettingitemlist.h>
+// ]]] end generated region [Generated Includes]
+
+
+// [[[ begin [Event Handler Includes]
+// ]]] end [Event Handler Includes]
+
+// [[[ begin generated region: do not modify [Generated Forward Declarations]
+class MEikCommandObserver;
+class TSymbian_ua_guiSettingItemListSettings;
+// ]]] end generated region [Generated Forward Declarations]
+
+/**
+ * @class	CSymbian_ua_guiSettingItemList symbian_ua_guiSettingItemList.h
+ */
+class CSymbian_ua_guiSettingItemList : public CAknSettingItemList
+	{
+public: // constructors and destructor
+
+	CSymbian_ua_guiSettingItemList( 
+			TSymbian_ua_guiSettingItemListSettings& settings, 
+			MEikCommandObserver* aCommandObserver );
+	virtual ~CSymbian_ua_guiSettingItemList();
+
+public:
+
+	// from CCoeControl
+	void HandleResourceChange( TInt aType );
+
+	// overrides of CAknSettingItemList
+	CAknSettingItem* CreateSettingItemL( TInt id );
+	void EditItemL( TInt aIndex, TBool aCalledFromMenu );
+	TKeyResponse OfferKeyEventL( 
+			const TKeyEvent& aKeyEvent, 
+			TEventCode aType );
+
+public:
+	// utility function for menu
+	void ChangeSelectedItemL();
+
+	void LoadSettingValuesL();
+	void SaveSettingValuesL();
+		
+private:
+	// override of CAknSettingItemList
+	void SizeChanged();
+
+private:
+	// current settings values
+	TSymbian_ua_guiSettingItemListSettings& iSettings;
+	MEikCommandObserver* iCommandObserver;
+	// [[[ begin generated region: do not modify [Generated Methods]
+public: 
+	// ]]] end generated region [Generated Methods]
+	
+	// [[[ begin generated region: do not modify [Generated Type Declarations]
+public: 
+	// ]]] end generated region [Generated Type Declarations]
+	
+	// [[[ begin generated region: do not modify [Generated Instance Variables]
+private: 
+	// ]]] end generated region [Generated Instance Variables]
+	
+	
+	// [[[ begin [Overridden Methods]
+protected: 
+	// ]]] end [Overridden Methods]
+	
+	
+	// [[[ begin [User Handlers]
+protected: 
+	// ]]] end [User Handlers]
+	
+	};
+#endif // SYMBIAN_UA_GUISETTINGITEMLIST_H
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.hrh
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.hrh	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.hrh	(revision 1973)
@@ -0,0 +1,22 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiSettingItemList.hrh
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+enum TSymbian_ua_guiSettingItemListViewCommands
+	{
+	ESymbian_ua_guiSettingItemListViewMenuItem1Command = 0x6000,
+	ESymbian_ua_guiSettingItemListViewSave_SettingsMenuItemCommand
+	};
+enum TSymbian_ua_guiSettingItemListViewSave_SettingsItems
+	{
+	ESymbian_ua_guiSettingItemListViewEd_registrar = 1,
+	ESymbian_ua_guiSettingItemListViewEd_user,
+	ESymbian_ua_guiSettingItemListViewEd_password,
+	ESymbian_ua_guiSettingItemListViewEd_stun_server,
+	ESymbian_ua_guiSettingItemListViewB_srtp,
+	ESymbian_ua_guiSettingItemListViewB_ice
+	};
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemListView.h
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemListView.h	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemListView.h	(revision 1973)
@@ -0,0 +1,85 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiSettingItemListView.h
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+#ifndef SYMBIAN_UA_GUISETTINGITEMLISTVIEW_H
+#define SYMBIAN_UA_GUISETTINGITEMLISTVIEW_H
+
+// [[[ begin generated region: do not modify [Generated Includes]
+#include <aknview.h>
+#include "Symbian_ua_guiSettingItemListSettings.h"
+// ]]] end generated region [Generated Includes]
+
+
+// [[[ begin [Event Handler Includes]
+// ]]] end [Event Handler Includes]
+
+// [[[ begin generated region: do not modify [Generated Forward Declarations]
+class CSymbian_ua_guiSettingItemList;
+// ]]] end generated region [Generated Forward Declarations]
+
+// [[[ begin generated region: do not modify [Generated Constants]
+// ]]] end generated region [Generated Constants]
+
+/**
+ * Avkon view class for symbian_ua_guiSettingItemListView. It is register with the view server
+ * by the AppUi. It owns the container control.
+ * @class	Csymbian_ua_guiSettingItemListView symbian_ua_guiSettingItemListView.h
+ */
+class Csymbian_ua_guiSettingItemListView : public CAknView
+	{
+public:
+	// constructors and destructor
+	Csymbian_ua_guiSettingItemListView();
+	static Csymbian_ua_guiSettingItemListView* NewL();
+	static Csymbian_ua_guiSettingItemListView* NewLC();        
+	void ConstructL();
+	virtual ~Csymbian_ua_guiSettingItemListView();
+
+public:
+	// from base class CAknView
+	TUid Id() const;
+	void HandleCommandL( TInt aCommand );
+
+protected:
+	// from base class CAknView
+	void DoActivateL(
+		const TVwsViewId& aPrevViewId,
+		TUid aCustomMessageId,
+		const TDesC8& aCustomMessage );
+	void DoDeactivate();
+	void HandleStatusPaneSizeChange();
+	
+private:
+	void SetupStatusPaneL();
+	void CleanupStatusPane();
+	// [[[ begin generated region: do not modify [Generated Methods]
+public: 
+	// ]]] end generated region [Generated Methods]
+	
+	
+	// [[[ begin [Overridden Methods]
+protected: 
+	// ]]] end [Overridden Methods]
+	
+	
+	// [[[ begin [User Handlers]
+protected: 
+	TBool HandleChangeSelectedSettingItemL( TInt aCommand );
+	TBool HandleControlPaneRightSoftKeyPressedL( TInt aCommand );
+	TBool HandleCancelMenuItemSelectedL( TInt aCommand );
+	// ]]] end [User Handlers]
+	
+	// [[[ begin generated region: do not modify [Generated Instance Variables]
+private: 
+	CSymbian_ua_guiSettingItemList* iSymbian_ua_guiSettingItemList;
+	TSymbian_ua_guiSettingItemListSettings* iSettings;
+	// ]]] end generated region [Generated Instance Variables]
+	
+	};
+
+#endif // SYMBIAN_UA_GUISETTINGITEMLISTVIEW_H			
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.pkg
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.pkg	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.pkg	(revision 1973)
@@ -0,0 +1,36 @@
+; symbian_ua_gui.pkg
+; This is an auto-generated PKG file by Carbide.
+; This file uses variables specific to Carbide builds that will not work
+; on command-line builds. If you want to use this generated PKG file from the
+; command-line tools you will need to modify the variables with the appropriate
+; values: $(EPOCROOT), $(PLATFORM), $(TARGET)
+; Also, the resource file entries should be changed to match the language
+; used in the build. For example, if building for LANGUAGE_01, change the file
+; extensions .rsc to .r01.
+;
+;Language - standard language definitions
+&EN
+
+; standard SIS file header
+#{"symbian_ua_gui"},(0xEBD12EE4),1,0,0
+
+;Localised Vendor name
+%{"Vendor-EN"}
+
+;Unique Vendor name
+:"Vendor"
+
+;Supports Series 60 v 3.0
+[0x101F7961], 0, 0, 0, {"Series60ProductID"}
+
+;Files to install
+;You should change the source paths to match that of your environment
+;<source> <destination>
+"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\symbian_ua_gui.exe"		-"!:\sys\bin\symbian_ua_gui.exe"
+"$(EPOCROOT)Epoc32\data\z\resource\apps\symbian_ua_gui.r01"		-"!:\resource\apps\symbian_ua_gui.r01"
+"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\symbian_ua_gui_reg.r01"	-"!:\private\10003a3f\import\apps\symbian_ua_gui_reg.r01"
+"$(EPOCROOT)epoc32\data\z\resource\apps\symbian_ua_gui_aif.mif" -"!:\resource\apps\symbian_ua_gui_aif.mif"
+"$(EPOCROOT)epoc32\data\z\resource\apps\symbian_ua_gui.mbm" -"!:\resource\apps\symbian_ua_gui.mbm"
+; Add any installation notes if applicable
+;"symbian_ua_gui.txt"					  -"!:\private\0xEBD12EE4\symbian_ua_gui.txt"
+
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/Symbian_ua_guiSettingItemListSets.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/Symbian_ua_guiSettingItemListSets.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/Symbian_ua_guiSettingItemListSets.cpp	(revision 1973)
@@ -0,0 +1,144 @@
+/*
+========================================================================
+ Name        : Symbian_ua_guiSettingItemListSettings.cpp
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+/**
+ *	Generated helper class which manages the settings contained 
+ *	in 'symbian_ua_guiSettingItemList'.  Each CAknSettingItem maintains
+ *	a reference to data in this class so that changes in the setting
+ *	item list can be synchronized with this storage.
+ */
+ 
+// [[[ begin generated region: do not modify [Generated Includes]
+#include <e32base.h>
+#include <stringloader.h>
+#include <barsread.h>
+#include <symbian_ua_gui.rsg>
+#include "Symbian_ua_guiSettingItemListSettings.h"
+// ]]] end generated region [Generated Includes]
+
+/**
+ * C/C++ constructor for settings data, cannot throw
+ */
+TSymbian_ua_guiSettingItemListSettings::TSymbian_ua_guiSettingItemListSettings()
+	{
+	}
+
+/**
+ * Two-phase constructor for settings data
+ */
+TSymbian_ua_guiSettingItemListSettings* TSymbian_ua_guiSettingItemListSettings::NewL()
+	{
+	TSymbian_ua_guiSettingItemListSettings* data = new( ELeave ) TSymbian_ua_guiSettingItemListSettings;
+	CleanupStack::PushL( data );
+	data->ConstructL();
+	CleanupStack::Pop( data );
+	return data;
+	}
+	
+/**
+ *	Second phase for initializing settings data
+ */
+void TSymbian_ua_guiSettingItemListSettings::ConstructL()
+	{
+	// [[[ begin generated region: do not modify [Generated Initializers]
+		{
+		HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_ED_REGISTRAR );
+		SetEd_registrar( text->Des() );
+		CleanupStack::PopAndDestroy( text );
+		}
+		{
+		HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_ED_USER );
+		SetEd_user( text->Des() );
+		CleanupStack::PopAndDestroy( text );
+		}
+	SetB_srtp( 0 );
+	SetB_ice( 0 );
+		{
+		HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_ED_STUN_SERVER );
+		SetEd_stun_server( text->Des() );
+		CleanupStack::PopAndDestroy( text );
+		}
+	// ]]] end generated region [Generated Initializers]
+	
+	}
+	
+// [[[ begin generated region: do not modify [Generated Contents]
+TDes& TSymbian_ua_guiSettingItemListSettings::Ed_registrar()
+	{
+	return iEd_registrar;
+	}
+
+void TSymbian_ua_guiSettingItemListSettings::SetEd_registrar(const TDesC& aValue)
+	{
+	if ( aValue.Length() < KEd_registrarMaxLength)
+		iEd_registrar.Copy( aValue );
+	else
+		iEd_registrar.Copy( aValue.Ptr(), KEd_registrarMaxLength);
+	}
+
+TDes& TSymbian_ua_guiSettingItemListSettings::Ed_user()
+	{
+	return iEd_user;
+	}
+
+void TSymbian_ua_guiSettingItemListSettings::SetEd_user(const TDesC& aValue)
+	{
+	if ( aValue.Length() < KEd_userMaxLength)
+		iEd_user.Copy( aValue );
+	else
+		iEd_user.Copy( aValue.Ptr(), KEd_userMaxLength);
+	}
+
+TDes& TSymbian_ua_guiSettingItemListSettings::Ed_password()
+	{
+	return iEd_password;
+	}
+
+void TSymbian_ua_guiSettingItemListSettings::SetEd_password(const TDesC& aValue)
+	{
+	if ( aValue.Length() < KEd_passwordMaxLength)
+		iEd_password.Copy( aValue );
+	else
+		iEd_password.Copy( aValue.Ptr(), KEd_passwordMaxLength);
+	}
+
+TBool& TSymbian_ua_guiSettingItemListSettings::B_srtp()
+	{
+	return iB_srtp;
+	}
+
+void TSymbian_ua_guiSettingItemListSettings::SetB_srtp(const TBool& aValue)
+	{
+	iB_srtp = aValue;
+	}
+
+TBool& TSymbian_ua_guiSettingItemListSettings::B_ice()
+	{
+	return iB_ice;
+	}
+
+void TSymbian_ua_guiSettingItemListSettings::SetB_ice(const TBool& aValue)
+	{
+	iB_ice = aValue;
+	}
+
+TDes& TSymbian_ua_guiSettingItemListSettings::Ed_stun_server()
+	{
+	return iEd_stun_server;
+	}
+
+void TSymbian_ua_guiSettingItemListSettings::SetEd_stun_server(const TDesC& aValue)
+	{
+	if ( aValue.Length() < KEd_stun_serverMaxLength)
+		iEd_stun_server.Copy( aValue );
+	else
+		iEd_stun_server.Copy( aValue.Ptr(), KEd_stun_serverMaxLength);
+	}
+
+// ]]] end generated region [Generated Contents]
+
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp	(revision 1973)
@@ -0,0 +1,504 @@
+/* $Id: ua.cpp 1793 2008-02-14 13:39:24Z bennylp $ */
+/* 
+ * Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+ */
+#include <pjsua-lib/pjsua.h>
+#include <pjsua-lib/pjsua_internal.h>
+#include <es_sock.h>
+#include "symbian_ua.h"
+
+#define THIS_FILE	"symbian_ua.cpp"
+#define LOG_LEVEL	3
+
+#define SIP_PORT	5060
+#define USE_ICE		0
+
+static RSocketServ aSocketServer;
+static RConnection aConn;
+
+static pjsua_acc_id g_acc_id = PJSUA_INVALID_ID;
+static pjsua_call_id g_call_id = PJSUA_INVALID_ID;
+static pjsua_buddy_id g_buddy_id = PJSUA_INVALID_ID;
+
+static symbian_ua_info_cb_t g_cb =  {NULL, NULL, NULL, NULL, NULL};
+
+static void log_writer(int level, const char *buf, int len)
+{
+    static wchar_t buf16[PJ_LOG_MAX_SIZE];
+
+    PJ_UNUSED_ARG(level);
+    
+    if (!g_cb.on_info)
+	return;
+
+    pj_ansi_to_unicode(buf, len, buf16, PJ_ARRAY_SIZE(buf16));
+    g_cb.on_info(buf16);
+}
+
+static void on_reg_state(pjsua_acc_id acc_id)
+{
+    pjsua_acc_info acc_info;
+    pj_status_t status;
+
+    status = pjsua_acc_get_info(acc_id, &acc_info);
+    if (status != PJ_SUCCESS)
+	return;
+
+    if (acc_info.status == 200) {
+	if (acc_info.expires) {
+	    PJ_LOG(3,(THIS_FILE, "Registration success!"));
+	    if (g_cb.on_reg_state) g_cb.on_reg_state(true);
+	} else {
+	    PJ_LOG(3,(THIS_FILE, "Unregistration success!"));
+	    if (g_cb.on_unreg_state) g_cb.on_unreg_state(true);
+	}
+    } else {
+	if (acc_info.expires) {
+	    PJ_LOG(3,(THIS_FILE, "Registration failed!"));
+	    if (g_cb.on_reg_state) g_cb.on_reg_state(false);
+	} else {
+	    PJ_LOG(3,(THIS_FILE, "Unregistration failed!"));
+	    if (g_cb.on_unreg_state) g_cb.on_unreg_state(false);
+	}
+    }
+}
+
+/* Callback called by the library upon receiving incoming call */
+static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id,
+			     pjsip_rx_data *rdata)
+{
+    pjsua_call_info ci;
+
+    PJ_UNUSED_ARG(acc_id);
+    PJ_UNUSED_ARG(rdata);
+
+    if (g_call_id != PJSUA_INVALID_ID) {
+    	pjsua_call_answer(call_id, PJSIP_SC_BUSY_HERE, NULL, NULL);
+    	return;
+    }
+    
+    pjsua_call_get_info(call_id, &ci);
+
+    PJ_LOG(3,(THIS_FILE, "Incoming call from %.*s!!",
+			 (int)ci.remote_info.slen,
+			 ci.remote_info.ptr));
+
+    g_call_id = call_id;
+    
+    /* Automatically answer incoming calls with 180/Ringing */
+    pjsua_call_answer(call_id, 180, NULL, NULL);
+
+    if (g_cb.on_incoming_call) {
+	static wchar_t disp[256];
+	static wchar_t uri[PJSIP_MAX_URL_SIZE];
+
+	pj_ansi_to_unicode(ci.remote_info.ptr, ci.remote_info.slen, 
+	    disp, PJ_ARRAY_SIZE(disp));
+	pj_ansi_to_unicode(ci.remote_contact.ptr, ci.remote_contact.slen, 
+	    uri, PJ_ARRAY_SIZE(uri));
+
+	g_cb.on_incoming_call(disp, uri);
+    }
+}
+
+/* Callback called by the library when call's state has changed */
+static void on_call_state(pjsua_call_id call_id, pjsip_event *e)
+{
+    pjsua_call_info ci;
+
+    PJ_UNUSED_ARG(e);
+
+    pjsua_call_get_info(call_id, &ci);
+    
+    if (ci.state == PJSIP_INV_STATE_DISCONNECTED) {
+    	if (call_id == g_call_id)
+    	    g_call_id = PJSUA_INVALID_ID;
+	if (g_cb.on_call_end) {
+	    static wchar_t reason[256];
+	    pj_ansi_to_unicode(ci.last_status_text.ptr, ci.last_status_text.slen, 
+		    reason, PJ_ARRAY_SIZE(reason));
+	    g_cb.on_call_end(reason);
+	}
+
+    } else if (ci.state != PJSIP_INV_STATE_INCOMING) {
+    	if (g_call_id == PJSUA_INVALID_ID)
+    	    g_call_id = call_id;
+    }
+    
+    PJ_LOG(3,(THIS_FILE, "Call %d state=%.*s", call_id,
+			 (int)ci.state_text.slen,
+			 ci.state_text.ptr));
+}
+
+/* Callback called by the library when call's media state has changed */
+static void on_call_media_state(pjsua_call_id call_id)
+{
+    pjsua_call_info ci;
+
+    pjsua_call_get_info(call_id, &ci);
+
+    if (ci.media_status == PJSUA_CALL_MEDIA_ACTIVE) {
+	// When media is active, connect call to sound device.
+	pjsua_conf_connect(ci.conf_slot, 0);
+	pjsua_conf_connect(0, ci.conf_slot);
+    }
+}
+
+
+/* Handler on buddy state changed. */
+static void on_buddy_state(pjsua_buddy_id buddy_id)
+{
+    pjsua_buddy_info info;
+    pjsua_buddy_get_info(buddy_id, &info);
+
+    PJ_LOG(3,(THIS_FILE, "%.*s status is %.*s",
+	      (int)info.uri.slen,
+	      info.uri.ptr,
+	      (int)info.status_text.slen,
+	      info.status_text.ptr));
+}
+
+
+/* Incoming IM message (i.e. MESSAGE request)!  */
+static void on_pager(pjsua_call_id call_id, const pj_str_t *from, 
+		     const pj_str_t *to, const pj_str_t *contact,
+		     const pj_str_t *mime_type, const pj_str_t *text)
+{
+    /* Note: call index may be -1 */
+    PJ_UNUSED_ARG(call_id);
+    PJ_UNUSED_ARG(to);
+    PJ_UNUSED_ARG(contact);
+    PJ_UNUSED_ARG(mime_type);
+
+    PJ_LOG(3,(THIS_FILE,"MESSAGE from %.*s: %.*s",
+	      (int)from->slen, from->ptr,
+	      (int)text->slen, text->ptr));
+}
+
+
+/* Received typing indication  */
+static void on_typing(pjsua_call_id call_id, const pj_str_t *from,
+		      const pj_str_t *to, const pj_str_t *contact,
+		      pj_bool_t is_typing)
+{
+    PJ_UNUSED_ARG(call_id);
+    PJ_UNUSED_ARG(to);
+    PJ_UNUSED_ARG(contact);
+
+    PJ_LOG(3,(THIS_FILE, "IM indication: %.*s %s",
+	      (int)from->slen, from->ptr,
+	      (is_typing?"is typing..":"has stopped typing")));
+}
+
+
+/* Call transfer request status. */
+static void on_call_transfer_status(pjsua_call_id call_id,
+				    int status_code,
+				    const pj_str_t *status_text,
+				    pj_bool_t final,
+				    pj_bool_t *p_cont)
+{
+    PJ_LOG(3,(THIS_FILE, "Call %d: transfer status=%d (%.*s) %s",
+	      call_id, status_code,
+	      (int)status_text->slen, status_text->ptr,
+	      (final ? "[final]" : "")));
+
+    if (status_code/100 == 2) {
+	PJ_LOG(3,(THIS_FILE, 
+	          "Call %d: call transfered successfully, disconnecting call",
+		  call_id));
+	pjsua_call_hangup(call_id, PJSIP_SC_GONE, NULL, NULL);
+	*p_cont = PJ_FALSE;
+    }
+}
+
+
+/* NAT detection result */
+static void on_nat_detect(const pj_stun_nat_detect_result *res) 
+{
+    if (res->status != PJ_SUCCESS) {
+	pjsua_perror(THIS_FILE, "NAT detection failed", res->status);
+    } else {
+	PJ_LOG(3, (THIS_FILE, "NAT detected as %s", res->nat_type_name));
+    }    
+}
+
+/* Notification that call is being replaced. */
+static void on_call_replaced(pjsua_call_id old_call_id,
+			     pjsua_call_id new_call_id)
+{
+    pjsua_call_info old_ci, new_ci;
+
+    pjsua_call_get_info(old_call_id, &old_ci);
+    pjsua_call_get_info(new_call_id, &new_ci);
+
+    PJ_LOG(3,(THIS_FILE, "Call %d with %.*s is being replaced by "
+			 "call %d with %.*s",
+			 old_call_id, 
+			 (int)old_ci.remote_info.slen, old_ci.remote_info.ptr,
+			 new_call_id,
+			 (int)new_ci.remote_info.slen, new_ci.remote_info.ptr));
+}
+
+int symbian_ua_init()
+{
+    TInt err;
+    pj_symbianos_params sym_params;
+    pj_status_t status;
+    
+    // Initialize RSocketServ
+    if ((err=aSocketServer.Connect()) != KErrNone)
+    	return PJ_STATUS_FROM_OS(err);
+    
+    // Open up a connection
+    if ((err=aConn.Open(aSocketServer)) != KErrNone) {
+	    aSocketServer.Close();
+		return PJ_STATUS_FROM_OS(err);
+    }
+    
+    if ((err=aConn.Start()) != KErrNone) {
+	aConn.Close();
+    	aSocketServer.Close();
+    	return PJ_STATUS_FROM_OS(err);
+    }
+    
+    // Set Symbian OS parameters in pjlib.
+    // This must be done before pj_init() is called.
+    pj_bzero(&sym_params, sizeof(sym_params));
+    sym_params.rsocketserv = &aSocketServer;
+    sym_params.rconnection = &aConn;
+    pj_symbianos_set_params(&sym_params);
+
+    /* Redirect log before pjsua_init() */
+    pj_log_set_log_func(&log_writer);
+    
+    /* Set log level */
+    pj_log_set_level(LOG_LEVEL);
+
+    /* Create pjsua first! */
+    status = pjsua_create();
+    if (status != PJ_SUCCESS) {
+    	pjsua_perror(THIS_FILE, "pjsua_create() error", status);
+    	return status;
+    }
+
+    /* Init pjsua */
+    pjsua_config cfg;
+
+    pjsua_config_default(&cfg);
+    cfg.max_calls = 2;
+    cfg.thread_cnt = 0; // Disable threading on Symbian
+    //cfg.use_srtp = 0;
+    //cfg.srtp_secure_signaling = 0;
+
+    cfg.cb.on_incoming_call = &on_incoming_call;
+    cfg.cb.on_call_media_state = &on_call_media_state;
+    cfg.cb.on_call_state = &on_call_state;
+    cfg.cb.on_buddy_state = &on_buddy_state;
+    cfg.cb.on_pager = &on_pager;
+    cfg.cb.on_typing = &on_typing;
+    cfg.cb.on_call_transfer_status = &on_call_transfer_status;
+    cfg.cb.on_call_replaced = &on_call_replaced;
+    cfg.cb.on_nat_detect = &on_nat_detect;
+    cfg.cb.on_reg_state = &on_reg_state;
+
+    pjsua_media_config med_cfg;
+
+    pjsua_media_config_default(&med_cfg);
+    med_cfg.thread_cnt = 0; // Disable threading on Symbian
+    med_cfg.has_ioqueue = PJ_FALSE;
+    med_cfg.clock_rate = 8000;
+    med_cfg.audio_frame_ptime = 40;
+    med_cfg.ec_tail_len = 0;
+    med_cfg.enable_ice = USE_ICE;
+
+    pjsua_logging_config log_cfg;
+
+    pjsua_logging_config_default(&log_cfg);
+    log_cfg.console_level = LOG_LEVEL;
+    log_cfg.cb = &log_writer;
+    log_cfg.decor = 0;
+
+    status = pjsua_init(&cfg, &log_cfg, &med_cfg);
+    if (status != PJ_SUCCESS) {
+	    pjsua_perror(THIS_FILE, "pjsua_init() error", status);
+	    pjsua_destroy();
+	    return status;
+    }
+
+    /* Add UDP transport. */
+    pjsua_transport_config tcfg;
+    pjsua_transport_id tid;
+
+    pjsua_transport_config_default(&tcfg);
+    tcfg.port = SIP_PORT;
+    status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &tcfg, &tid);
+    if (status != PJ_SUCCESS) {
+	    pjsua_perror(THIS_FILE, "Error creating transport", status);
+	    pjsua_destroy();
+	    return status;
+    }
+
+    /* Add account for the transport */
+    pjsua_acc_add_local(tid, PJ_TRUE, &g_acc_id);
+
+    /* Initialization is done, now start pjsua */
+    status = pjsua_start();
+    if (status != PJ_SUCCESS) {
+    	pjsua_perror(THIS_FILE, "Error starting pjsua", status);
+    	pjsua_destroy();
+    	return status;
+    }
+
+    /* Adjust Speex priority and enable only the narrowband */
+    {
+        pj_str_t codec_id = pj_str("speex/8000");
+        pjmedia_codec_mgr_set_codec_priority( 
+        	pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt),
+        	&codec_id, PJMEDIA_CODEC_PRIO_NORMAL+1);
+
+        codec_id = pj_str("speex/16000");
+        pjmedia_codec_mgr_set_codec_priority( 
+        	pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt),
+        	&codec_id, PJMEDIA_CODEC_PRIO_DISABLED);
+
+        codec_id = pj_str("speex/32000");
+        pjmedia_codec_mgr_set_codec_priority( 
+        	pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt),
+        	&codec_id, PJMEDIA_CODEC_PRIO_DISABLED);
+    }
+
+    return PJ_SUCCESS;
+}
+
+
+int symbian_ua_destroy()
+{
+    // Shutdown pjsua
+    pjsua_destroy();
+    
+    // Close connection and socket server
+    aConn.Close();
+    aSocketServer.Close();
+
+    return PJ_SUCCESS;
+}
+
+void symbian_ua_set_info_callback(const symbian_ua_info_cb_t *cb)
+{
+    if (cb)
+	g_cb = *cb;
+    else
+	pj_bzero(&g_cb, sizeof(g_cb));
+}
+
+int symbian_ua_set_account(const char *domain, const char *username, 
+			   const char *password,
+			   bool use_srtp, bool use_ice)
+{
+    pj_status_t status;
+
+    PJ_ASSERT_RETURN(username && password && domain, PJ_EINVAL);
+    PJ_UNUSED_ARG(use_srtp);
+    PJ_UNUSED_ARG(use_ice);
+
+    if (domain[0] == 0) {
+	    pjsua_acc_info acc_info;
+	    pj_status_t status;
+
+	    status = pjsua_acc_get_info(g_acc_id, &acc_info);
+	    if (status != PJ_SUCCESS)
+		return status;
+
+	    if (acc_info.status == 200) {
+			PJ_LOG(3,(THIS_FILE, "Unregistering.."));
+			pjsua_acc_set_registration(g_acc_id, PJ_FALSE);
+			g_acc_id = 0;
+	    }
+	    return PJ_SUCCESS;
+    }
+
+    if (pjsua_acc_get_count() > 1) {
+	status = pjsua_acc_del(g_acc_id);
+	if (status != PJ_SUCCESS) {
+	    pjsua_perror(THIS_FILE, "Error removing account", status);
+	    return status;
+	}
+	g_acc_id = 0;
+    }
+
+    pjsua_acc_config cfg;
+    char tmp_id[PJSIP_MAX_URL_SIZE];
+    char tmp_reg_uri[PJSIP_MAX_URL_SIZE];
+
+    if (!pj_ansi_strnicmp(domain, "sip:", 4)) {
+	domain += 4;
+    }
+
+    pjsua_acc_config_default(&cfg);
+    pj_ansi_sprintf(tmp_id, "sip:%s@%s", username, domain);
+    cfg.id = pj_str(tmp_id);
+    pj_ansi_sprintf(tmp_reg_uri, "sip:%s", domain);
+    cfg.reg_uri = pj_str(tmp_reg_uri);
+    cfg.cred_count = 1;
+    cfg.cred_info[0].realm = pj_str("*");
+    cfg.cred_info[0].scheme = pj_str("digest");
+    cfg.cred_info[0].username = pj_str((char*)username);
+    cfg.cred_info[0].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD;
+    cfg.cred_info[0].data = pj_str((char*)password);
+
+    status = pjsua_acc_add(&cfg, PJ_TRUE, &g_acc_id);
+    if (status != PJ_SUCCESS) {
+	    pjsua_perror(THIS_FILE, "Error setting account", status);
+	    pjsua_destroy();
+	    return status;
+    }
+
+    return PJ_SUCCESS;
+}
+
+int symbian_ua_makecall(const char* dest_url)
+{
+    if (pjsua_verify_sip_url(dest_url) == PJ_SUCCESS) {
+	    pj_str_t dst = pj_str((char*)dest_url);
+	    pjsua_call_make_call(g_acc_id, &dst, 0, NULL,
+				 NULL, &g_call_id);
+
+	    return PJ_SUCCESS;
+    }
+
+    return PJ_EINVAL;
+}
+
+int symbian_ua_endcall()
+{
+    pjsua_call_hangup_all();
+
+    return PJ_SUCCESS;
+}
+
+bool symbian_ua_anycall()
+{
+    return (pjsua_call_get_count()>0);
+}
+
+int symbian_ua_answercall()
+{
+    PJ_ASSERT_RETURN (g_call_id != PJSUA_INVALID_ID, PJ_EINVAL);
+
+    return pjsua_call_answer(g_call_id, 200, NULL, NULL);
+}
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp	(revision 1973)
@@ -0,0 +1,247 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiAppUi.cpp
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// [[[ begin generated region: do not modify [Generated System Includes]
+#include <eikmenub.h>
+#include <akncontext.h>
+#include <akntitle.h>
+#include <symbian_ua_gui.rsg>
+// ]]] end generated region [Generated System Includes]
+
+// [[[ begin generated region: do not modify [Generated User Includes]
+#include "symbian_ua_guiAppUi.h"
+#include "symbian_ua_gui.hrh"
+#include "symbian_ua_guiContainer.hrh"
+#include "symbian_ua_guiSettingItemList.hrh"
+#include "symbian_ua_guiContainerView.h"
+#include "symbian_ua_guiSettingItemListView.h"
+// ]]] end generated region [Generated User Includes]
+
+// [[[ begin generated region: do not modify [Generated Constants]
+// ]]] end generated region [Generated Constants]
+
+#include "symbian_ua.h"
+
+/**
+ * Construct the Csymbian_ua_guiAppUi instance
+ */ 
+Csymbian_ua_guiAppUi::Csymbian_ua_guiAppUi() : CTimer(0)
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+
+	}
+
+/** 
+ * The appui's destructor removes the container from the control
+ * stack and destroys it.
+ */
+Csymbian_ua_guiAppUi::~Csymbian_ua_guiAppUi()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	TRAPD( err_Dlg_wait_init, RemoveDlg_wait_initL() );
+	// ]]] end generated region [Generated Contents]
+
+	symbian_ua_destroy();
+	}
+
+// [[[ begin generated function: do not modify
+void Csymbian_ua_guiAppUi::InitializeContainersL()
+	{
+	iSymbian_ua_guiContainerView = Csymbian_ua_guiContainerView::NewL();
+	AddViewL( iSymbian_ua_guiContainerView );
+	iSymbian_ua_guiSettingItemListView = Csymbian_ua_guiSettingItemListView::NewL();
+	AddViewL( iSymbian_ua_guiSettingItemListView );
+	SetDefaultViewL( *iSymbian_ua_guiSettingItemListView );
+	}
+// ]]] end generated function
+
+/**
+ * Handle a command for this appui (override)
+ * @param aCommand command id to be handled
+ */
+void Csymbian_ua_guiAppUi::HandleCommandL( TInt aCommand )
+	{
+	// [[[ begin generated region: do not modify [Generated Code]
+	TBool commandHandled = EFalse;
+	switch ( aCommand )
+		{ // code to dispatch to the AppUi's menu and CBA commands is generated here
+		default:
+			break;
+		}
+	
+		
+	if ( !commandHandled ) 
+		{
+		if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit )
+			{
+			Exit();
+			}
+		}
+	// ]]] end generated region [Generated Code]
+	
+	}
+
+/** 
+ * Override of the HandleResourceChangeL virtual function
+ */
+void Csymbian_ua_guiAppUi::HandleResourceChangeL( TInt aType )
+	{
+	CAknViewAppUi::HandleResourceChangeL( aType );
+	// [[[ begin generated region: do not modify [Generated Code]
+	// ]]] end generated region [Generated Code]
+	
+	}
+				
+/** 
+ * Override of the HandleKeyEventL virtual function
+ * @return EKeyWasConsumed if event was handled, EKeyWasNotConsumed if not
+ * @param aKeyEvent 
+ * @param aType 
+ */
+TKeyResponse Csymbian_ua_guiAppUi::HandleKeyEventL(
+		const TKeyEvent& aKeyEvent,
+		TEventCode aType )
+	{
+	// The inherited HandleKeyEventL is private and cannot be called
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	return EKeyWasNotConsumed;
+	}
+
+/** 
+ * Override of the HandleViewDeactivation virtual function
+ *
+ * @param aViewIdToBeDeactivated 
+ * @param aNewlyActivatedViewId 
+ */
+void Csymbian_ua_guiAppUi::HandleViewDeactivation( 
+		const TVwsViewId& aViewIdToBeDeactivated, 
+		const TVwsViewId& aNewlyActivatedViewId )
+	{
+	CAknViewAppUi::HandleViewDeactivation( 
+			aViewIdToBeDeactivated, 
+			aNewlyActivatedViewId );
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+/**
+ * @brief Completes the second phase of Symbian object construction. 
+ * Put initialization code that could leave here. 
+ */ 
+void Csymbian_ua_guiAppUi::ConstructL()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	BaseConstructL( EAknEnableSkin );
+	InitializeContainersL();
+	// ]]] end generated region [Generated Contents]
+
+	// Create private folder
+	RProcess process;
+	TFileName path;
+	
+	path.Copy( process.FileName().Left(2) );
+	
+	if(path.Compare(_L("c")) || path.Compare(_L("C")))
+		CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveC);
+	else if(path.Compare(_L("e")) || path.Compare(_L("E")))
+		CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveE);	
+	
+	// Init PJSUA
+	if (symbian_ua_init() != 0) {
+	    Exit();
+	}
+	
+	ExecuteDlg_wait_initLD();
+
+	CTimer::ConstructL();
+	CActiveScheduler::Add( this );
+	After(4000000);
+	}
+
+/** 
+ * Override of the HandleApplicationSpecificEventL virtual function
+ */
+void Csymbian_ua_guiAppUi::HandleApplicationSpecificEventL( 
+		TInt aType, 
+		const TWsEvent& anEvent )
+	{
+	CAknViewAppUi::HandleApplicationSpecificEventL( aType, anEvent );
+	// [[[ begin generated region: do not modify [Generated Code]
+	// ]]] end generated region [Generated Code]
+	
+	}
+				
+/** 
+ * Handle the applicationSpecificEvent event.
+ */
+void Csymbian_ua_guiAppUi::HandleSymbian_ua_guiAppUiApplicationSpecificEventL( 
+		TInt /* aType */, 
+		const TWsEvent& /* anEvent */ )
+	{
+	// TODO: implement applicationSpecificEvent event handler
+	}
+				
+// [[[ begin generated function: do not modify
+/**
+ * Execute the wait dialog for dlg_wait_init. This routine returns
+ * while the dialog is showing. It will be closed and destroyed when
+ * RemoveDlg_wait_initL() or the user selects the Cancel soft key.
+ * @param aOverrideText optional override text. When null the text configured
+ * in the UI Designer is used.
+ */
+void Csymbian_ua_guiAppUi::ExecuteDlg_wait_initLD( const TDesC* aOverrideText )
+	{
+	iDlg_wait_init = new ( ELeave ) CAknWaitDialog( 
+			reinterpret_cast< CEikDialog** >( &iDlg_wait_init ), EFalse );
+	if ( aOverrideText != NULL )
+		{
+		iDlg_wait_init->SetTextL( *aOverrideText );
+		}
+	iDlg_wait_init->ExecuteLD( R_APPLICATION_DLG_WAIT_INIT );
+	iDlg_wait_initCallback = new ( ELeave ) CProgressDialogCallback( 
+		this, iDlg_wait_init, &Csymbian_ua_guiAppUi::HandleDlg_wait_initCanceledL );
+	iDlg_wait_init->SetCallback( iDlg_wait_initCallback );
+	}
+// ]]] end generated function
+
+// [[[ begin generated function: do not modify
+/**
+ * Close and dispose of the wait dialog for dlg_wait_init
+ */
+void Csymbian_ua_guiAppUi::RemoveDlg_wait_initL()
+	{
+	if ( iDlg_wait_init != NULL )
+		{
+		iDlg_wait_init->SetCallback( NULL );
+		iDlg_wait_init->ProcessFinishedL();    // deletes the dialog
+		iDlg_wait_init = NULL;
+		}
+	delete iDlg_wait_initCallback;
+	iDlg_wait_initCallback = NULL;
+	
+	}
+// ]]] end generated function
+
+/** 
+ * Handle the canceled event.
+ */
+void Csymbian_ua_guiAppUi::HandleDlg_wait_initCanceledL( CAknProgressDialog* /* aDialog */ )
+	{
+	// TODO: implement canceled event handler
+	
+	}
+				
+void Csymbian_ua_guiAppUi::RunL()
+	{
+	RemoveDlg_wait_initL();
+	iSymbian_ua_guiSettingItemListView->HandleCommandL(EAknSoftkeySave);
+	}
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiApplication.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiApplication.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiApplication.cpp	(revision 1973)
@@ -0,0 +1,82 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiApplication.cpp
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// [[[ begin generated region: do not modify [Generated System Includes]
+// ]]] end generated region [Generated System Includes]
+
+// [[[ begin generated region: do not modify [Generated Includes]
+#include "symbian_ua_guiApplication.h"
+#include "symbian_ua_guiDocument.h"
+#ifdef EKA2
+#include <eikstart.h>
+#endif
+// ]]] end generated region [Generated Includes]
+
+/**
+ * @brief Returns the application's UID (override from CApaApplication::AppDllUid())
+ * @return UID for this application (KUidsymbian_ua_guiApplication)
+ */
+TUid Csymbian_ua_guiApplication::AppDllUid() const
+	{
+	return KUidsymbian_ua_guiApplication;
+	}
+
+/**
+ * @brief Creates the application's document (override from CApaApplication::CreateDocumentL())
+ * @return Pointer to the created document object (Csymbian_ua_guiDocument)
+ */
+CApaDocument* Csymbian_ua_guiApplication::CreateDocumentL()
+	{
+	return Csymbian_ua_guiDocument::NewL( *this );
+	}
+
+#ifdef EKA2
+
+/**
+ *	@brief Called by the application framework to construct the application object
+ *  @return The application (Csymbian_ua_guiApplication)
+ */	
+LOCAL_C CApaApplication* NewApplication()
+	{
+	return new Csymbian_ua_guiApplication;
+	}
+
+/**
+* @brief This standard export is the entry point for all Series 60 applications
+* @return error code
+ */	
+GLDEF_C TInt E32Main()
+	{
+	TInt err;
+	
+	err = EikStart::RunApplication( NewApplication );
+
+	return err;
+	}
+	
+#else 	// Series 60 2.x main DLL program code
+
+/**
+* @brief This standard export constructs the application object.
+* @return The application (Csymbian_ua_guiApplication)
+*/
+EXPORT_C CApaApplication* NewApplication()
+	{
+	return new Csymbian_ua_guiApplication;
+	}
+
+/**
+* @brief This standard export is the entry point for all Series 60 applications
+* @return error code
+*/
+GLDEF_C TInt E32Dll(TDllReason /*reason*/)
+	{
+	return KErrNone;
+	}
+
+#endif // EKA2
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainer.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainer.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainer.cpp	(revision 1973)
@@ -0,0 +1,285 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiContainer.cpp
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// [[[ begin generated region: do not modify [Generated System Includes]
+#include <barsread.h>
+#include <stringloader.h>
+#include <eiklabel.h>
+#include <eikenv.h>
+#include <gdi.h>
+#include <eikedwin.h>
+#include <aknviewappui.h>
+#include <eikappui.h>
+#include <symbian_ua_gui.rsg>
+// ]]] end generated region [Generated System Includes]
+
+// [[[ begin generated region: do not modify [Generated User Includes]
+#include "symbian_ua_guiContainer.h"
+#include "symbian_ua_guiContainerView.h"
+#include "symbian_ua_gui.hrh"
+#include "symbian_ua_guiContainer.hrh"
+#include "symbian_ua_guiSettingItemList.hrh"
+// ]]] end generated region [Generated User Includes]
+
+// [[[ begin generated region: do not modify [Generated Constants]
+// ]]] end generated region [Generated Constants]
+
+/**
+ * First phase of Symbian two-phase construction. Should not 
+ * contain any code that could leave.
+ */
+CSymbian_ua_guiContainer::CSymbian_ua_guiContainer()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	iLabel1 = NULL;
+	iEd_url = NULL;
+	iEd_info = NULL;
+	// ]]] end generated region [Generated Contents]
+	
+	}
+/** 
+ * Destroy child controls.
+ */
+CSymbian_ua_guiContainer::~CSymbian_ua_guiContainer()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	delete iLabel1;
+	iLabel1 = NULL;
+	delete iEd_url;
+	iEd_url = NULL;
+	delete iEd_info;
+	iEd_info = NULL;
+	// ]]] end generated region [Generated Contents]
+	
+	}
+				
+/**
+ * Construct the control (first phase).
+ *  Creates an instance and initializes it.
+ *  Instance is not left on cleanup stack.
+ * @param aRect bounding rectangle
+ * @param aParent owning parent, or NULL
+ * @param aCommandObserver command observer
+ * @return initialized instance of CSymbian_ua_guiContainer
+ */
+CSymbian_ua_guiContainer* CSymbian_ua_guiContainer::NewL( 
+		const TRect& aRect, 
+		const CCoeControl* aParent, 
+		MEikCommandObserver* aCommandObserver )
+	{
+	CSymbian_ua_guiContainer* self = CSymbian_ua_guiContainer::NewLC( 
+			aRect, 
+			aParent, 
+			aCommandObserver );
+	CleanupStack::Pop( self );
+	return self;
+	}
+
+/**
+ * Construct the control (first phase).
+ *  Creates an instance and initializes it.
+ *  Instance is left on cleanup stack.
+ * @param aRect The rectangle for this window
+ * @param aParent owning parent, or NULL
+ * @param aCommandObserver command observer
+ * @return new instance of CSymbian_ua_guiContainer
+ */
+CSymbian_ua_guiContainer* CSymbian_ua_guiContainer::NewLC( 
+		const TRect& aRect, 
+		const CCoeControl* aParent, 
+		MEikCommandObserver* aCommandObserver )
+	{
+	CSymbian_ua_guiContainer* self = new ( ELeave ) CSymbian_ua_guiContainer();
+	CleanupStack::PushL( self );
+	self->ConstructL( aRect, aParent, aCommandObserver );
+	return self;
+	}
+			
+/**
+ * Construct the control (second phase).
+ *  Creates a window to contain the controls and activates it.
+ * @param aRect bounding rectangle
+ * @param aCommandObserver command observer
+ * @param aParent owning parent, or NULL
+ */ 
+void CSymbian_ua_guiContainer::ConstructL( 
+		const TRect& aRect, 
+		const CCoeControl* aParent, 
+		MEikCommandObserver* aCommandObserver )
+	{
+	if ( aParent == NULL )
+	    {
+		CreateWindowL();
+	    }
+	else
+	    {
+	    SetContainerWindowL( *aParent );
+	    }
+	iFocusControl = NULL;
+	iCommandObserver = aCommandObserver;
+	InitializeControlsL();
+	SetRect( aRect );
+	ActivateL();
+	// [[[ begin generated region: do not modify [Post-ActivateL initializations]
+	// ]]] end generated region [Post-ActivateL initializations]
+	
+	}
+			
+/**
+* Return the number of controls in the container (override)
+* @return count
+*/
+TInt CSymbian_ua_guiContainer::CountComponentControls() const
+	{
+	return ( int ) ELastControl;
+	}
+				
+/**
+* Get the control with the given index (override)
+* @param aIndex Control index [0...n) (limited by #CountComponentControls)
+* @return Pointer to control
+*/
+CCoeControl* CSymbian_ua_guiContainer::ComponentControl( TInt aIndex ) const
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	switch ( aIndex )
+		{
+		case ELabel1:
+			return iLabel1;
+		case EEd_url:
+			return iEd_url;
+		case EEd_info:
+			return iEd_info;
+		}
+	// ]]] end generated region [Generated Contents]
+	
+	// handle any user controls here...
+	
+	return NULL;
+	}
+				
+/**
+ *	Handle resizing of the container. This implementation will lay out
+ *  full-sized controls like list boxes for any screen size, and will layout
+ *  labels, editors, etc. to the size they were given in the UI designer.
+ *  This code will need to be modified to adjust arbitrary controls to
+ *  any screen size.
+ */				
+void CSymbian_ua_guiContainer::SizeChanged()
+	{
+	CCoeControl::SizeChanged();
+	LayoutControls();
+	// [[[ begin generated region: do not modify [Generated Contents]
+			
+	// ]]] end generated region [Generated Contents]
+	
+	}
+				
+// [[[ begin generated function: do not modify
+/**
+ * Layout components as specified in the UI Designer
+ */
+void CSymbian_ua_guiContainer::LayoutControls()
+	{
+	iLabel1->SetExtent( TPoint( 2, 23 ), TSize( 32, 28 ) );
+	iEd_url->SetExtent( TPoint( 49, 25 ), TSize( 197, 28 ) );
+	iEd_info->SetExtent( TPoint( 3, 78 ), TSize( 235, 143 ) );
+	}
+// ]]] end generated function
+
+/**
+ *	Handle key events.
+ */				
+TKeyResponse CSymbian_ua_guiContainer::OfferKeyEventL( 
+		const TKeyEvent& aKeyEvent, 
+		TEventCode aType )
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	
+	// ]]] end generated region [Generated Contents]
+	
+	if ( iFocusControl != NULL
+		&& iFocusControl->OfferKeyEventL( aKeyEvent, aType ) == EKeyWasConsumed )
+		{
+		return EKeyWasConsumed;
+		}
+	return CCoeControl::OfferKeyEventL( aKeyEvent, aType );
+	}
+				
+// [[[ begin generated function: do not modify
+/**
+ *	Initialize each control upon creation.
+ */				
+void CSymbian_ua_guiContainer::InitializeControlsL()
+	{
+	iLabel1 = new ( ELeave ) CEikLabel;
+	iLabel1->SetContainerWindowL( *this );
+		{
+		TResourceReader reader;
+		iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_CONTAINER_LABEL1 );
+		iLabel1->ConstructFromResourceL( reader );
+		CleanupStack::PopAndDestroy(); // reader internal state
+		}
+	iEd_url = new ( ELeave ) CEikEdwin;
+	iEd_url->SetContainerWindowL( *this );
+		{
+		TResourceReader reader;
+		iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_CONTAINER_ED_URL );
+		iEd_url->ConstructFromResourceL( reader );
+		CleanupStack::PopAndDestroy(); // reader internal state
+		}
+		{
+		HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_ED_URL_2 );
+		iEd_url->SetTextL( text );
+		CleanupStack::PopAndDestroy( text );
+		}
+	iEd_info = new ( ELeave ) CEikEdwin;
+	iEd_info->SetContainerWindowL( *this );
+		{
+		TResourceReader reader;
+		iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_CONTAINER_ED_INFO );
+		iEd_info->ConstructFromResourceL( reader );
+		CleanupStack::PopAndDestroy(); // reader internal state
+		}
+		{
+		HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_ED_INFO_2 );
+		iEd_info->SetTextL( text );
+		CleanupStack::PopAndDestroy( text );
+		}
+	
+	iEd_url->SetFocus( ETrue );
+	iFocusControl = iEd_url;
+	
+	}
+// ]]] end generated function
+
+/** 
+ * Handle global resource changes, such as scalable UI or skin events (override)
+ */
+void CSymbian_ua_guiContainer::HandleResourceChange( TInt aType )
+	{
+	CCoeControl::HandleResourceChange( aType );
+	SetRect( iAvkonViewAppUi->View( TUid::Uid( ESymbian_ua_guiContainerViewId ) )->ClientRect() );
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	}
+				
+/**
+ *	Draw container contents.
+ */				
+void CSymbian_ua_guiContainer::Draw( const TRect& aRect ) const
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	CWindowGc& gc = SystemGc();
+	gc.Clear( aRect );
+	
+	// ]]] end generated region [Generated Contents]
+	
+	}
+				
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainerView.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainerView.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainerView.cpp	(revision 1973)
@@ -0,0 +1,478 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiContainerView.cpp
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// [[[ begin generated region: do not modify [Generated System Includes]
+#include <aknviewappui.h>
+#include <eikmenub.h>
+#include <avkon.hrh>
+#include <barsread.h>
+#include <stringloader.h>
+#include <eiklabel.h>
+#include <eikenv.h>
+#include <gdi.h>
+#include <eikedwin.h>
+#include <akncontext.h>
+#include <akntitle.h>
+#include <eikbtgpc.h>
+#include <aknnotewrappers.h>
+#include <aknquerydialog.h>
+#include <symbian_ua_gui.rsg>
+// ]]] end generated region [Generated System Includes]
+
+// [[[ begin generated region: do not modify [Generated User Includes]
+#include "symbian_ua_gui.hrh"
+#include "symbian_ua_guiContainerView.h"
+#include "symbian_ua_guiContainer.hrh"
+#include "symbian_ua_guiSettingItemList.hrh"
+#include "symbian_ua_guiContainer.h"
+// ]]] end generated region [Generated User Includes]
+
+#include <UTF.H>
+#include "symbian_ua.h"
+
+// [[[ begin generated region: do not modify [Generated Constants]
+// ]]] end generated region [Generated Constants]
+
+Csymbian_ua_guiContainerView *myinstance = NULL;
+_LIT(KStCall, "Call");
+_LIT(KStHangUp, "Hang Up");
+
+void on_info(const wchar_t* buf)
+{
+	TPtrC aBuf((const TUint16*)buf);
+	
+	if (myinstance)
+		myinstance->PutMessage(aBuf);
+}
+
+void on_incoming_call(const wchar_t* caller_disp, const wchar_t* caller_uri)
+{
+	TBuf<512> buf;
+	TPtrC aDisp((const TUint16*)caller_disp);
+	TPtrC aUri((const TUint16*)caller_uri);
+	_LIT(KFormat, "Incoming call from %S, accept?");
+	
+	buf.Format(KFormat, &aDisp);
+	if (Csymbian_ua_guiContainerView::RunQry_accept_callL(&buf) == EAknSoftkeyYes)
+	{
+		CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
+		if (cba != NULL) {
+			TRAPD(result, cba->SetCommandL(ESymbian_ua_guiContainerViewControlPaneRightId, KStHangUp));
+			cba->DrawDeferred();
+		}
+		symbian_ua_answercall();
+	} else {
+		symbian_ua_endcall();	
+	}
+}
+
+void on_call_end(const wchar_t* reason)
+{
+	TPtrC aReason((const TUint16*)reason);
+	
+	CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
+	if (cba != NULL) {
+		TRAPD(result, cba->SetCommandL(ESymbian_ua_guiContainerViewControlPaneRightId, KStCall));
+		cba->DrawDeferred();
+	}
+	
+	Csymbian_ua_guiContainerView::RunNote_infoL(&aReason);
+}
+
+void on_reg_state(bool success)
+{
+	if (success)
+		Csymbian_ua_guiContainerView::RunNote_infoL();
+	else
+		Csymbian_ua_guiContainerView::RunNote_warningL();
+}
+
+void on_unreg_state(bool success)
+{
+	TPtrC st_success(_L("Unregistration Success!"));
+	TPtrC st_failed(_L("Unregistration Failed!"));
+	
+	if (success)
+		Csymbian_ua_guiContainerView::RunNote_infoL(&st_success);
+	else
+		Csymbian_ua_guiContainerView::RunNote_warningL(&st_failed);
+}
+
+void Csymbian_ua_guiContainerView::PutMessage(const TDesC &msg)
+	{
+	if (!iSymbian_ua_guiContainer)
+		return;
+	
+	CEikEdwin *obj_info = (CEikEdwin*) iSymbian_ua_guiContainer->ComponentControl(iSymbian_ua_guiContainer->EEd_info);
+
+	obj_info->SetTextL(&msg);
+	obj_info->DrawDeferred();
+	}
+
+/**
+ * First phase of Symbian two-phase construction. Should not contain any
+ * code that could leave.
+ */
+Csymbian_ua_guiContainerView::Csymbian_ua_guiContainerView()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	iSymbian_ua_guiContainer = NULL;
+	// ]]] end generated region [Generated Contents]
+	
+	}
+/** 
+ * The view's destructor removes the container from the control
+ * stack and destroys it.
+ */
+Csymbian_ua_guiContainerView::~Csymbian_ua_guiContainerView()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	delete iSymbian_ua_guiContainer;
+	iSymbian_ua_guiContainer = NULL;
+	// ]]] end generated region [Generated Contents]
+	
+	symbian_ua_set_info_callback(NULL);
+	myinstance = NULL;
+	}
+
+/**
+ * Symbian two-phase constructor.
+ * This creates an instance then calls the second-phase constructor
+ * without leaving the instance on the cleanup stack.
+ * @return new instance of Csymbian_ua_guiContainerView
+ */
+Csymbian_ua_guiContainerView* Csymbian_ua_guiContainerView::NewL()
+	{
+	Csymbian_ua_guiContainerView* self = Csymbian_ua_guiContainerView::NewLC();
+	CleanupStack::Pop( self );
+	return self;
+	}
+
+/**
+ * Symbian two-phase constructor.
+ * This creates an instance, pushes it on the cleanup stack,
+ * then calls the second-phase constructor.
+ * @return new instance of Csymbian_ua_guiContainerView
+ */
+Csymbian_ua_guiContainerView* Csymbian_ua_guiContainerView::NewLC()
+	{
+	Csymbian_ua_guiContainerView* self = new ( ELeave ) Csymbian_ua_guiContainerView();
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	return self;
+	}
+
+
+/**
+ * Second-phase constructor for view.  
+ * Initialize contents from resource.
+ */ 
+void Csymbian_ua_guiContainerView::ConstructL()
+	{
+	// [[[ begin generated region: do not modify [Generated Code]
+	BaseConstructL( R_SYMBIAN_UA_GUI_CONTAINER_SYMBIAN_UA_GUI_CONTAINER_VIEW );
+	// ]]] end generated region [Generated Code]
+	
+	// add your own initialization code here
+	symbian_ua_info_cb_t cb;
+	Mem::FillZ(&cb, sizeof(cb));
+
+	cb.on_info = &on_info;
+	cb.on_incoming_call = &on_incoming_call;
+	cb.on_reg_state = &on_reg_state;
+	cb.on_unreg_state = &on_unreg_state;
+	cb.on_call_end = &on_call_end;
+	
+	symbian_ua_set_info_callback(&cb);
+	myinstance = this;
+	}
+	
+/**
+ * @return The UID for this view
+ */
+TUid Csymbian_ua_guiContainerView::Id() const
+	{
+	return TUid::Uid( ESymbian_ua_guiContainerViewId );
+	}
+
+/**
+ * Handle a command for this view (override)
+ * @param aCommand command id to be handled
+ */
+void Csymbian_ua_guiContainerView::HandleCommandL( TInt aCommand )
+	{   
+	// [[[ begin generated region: do not modify [Generated Code]
+	TBool commandHandled = EFalse;
+	switch ( aCommand )
+		{	// code to dispatch to the AknView's menu and CBA commands is generated here
+	
+		case ESymbian_ua_guiContainerViewControlPaneRightId:
+			commandHandled = CallSoftKeyPressedL( aCommand );
+			break;
+		case ESymbian_ua_guiContainerViewSettingMenuItemCommand:
+			commandHandled = HandleSettingMenuItemSelectedL( aCommand );
+			break;
+		default:
+			break;
+		}
+	
+		
+	if ( !commandHandled ) 
+		{
+	
+		if ( aCommand == ESymbian_ua_guiContainerViewControlPaneRightId )
+			{
+			AppUi()->HandleCommandL( EEikCmdExit );
+			}
+	
+		}
+	// ]]] end generated region [Generated Code]
+	
+	}
+
+/**
+ *	Handles user actions during activation of the view, 
+ *	such as initializing the content.
+ */
+void Csymbian_ua_guiContainerView::DoActivateL(
+		const TVwsViewId& /*aPrevViewId*/,
+		TUid /*aCustomMessageId*/,
+		const TDesC8& /*aCustomMessage*/ )
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	SetupStatusPaneL();
+	
+	CEikButtonGroupContainer* cba = AppUi()->Cba();
+	if ( cba != NULL ) 
+		{
+		cba->MakeVisible( EFalse );
+		}
+	
+	if ( iSymbian_ua_guiContainer == NULL )
+		{
+		iSymbian_ua_guiContainer = CSymbian_ua_guiContainer::NewL( ClientRect(), NULL, this );
+		iSymbian_ua_guiContainer->SetMopParent( this );
+		AppUi()->AddToStackL( *this, iSymbian_ua_guiContainer );
+		} 
+	// ]]] end generated region [Generated Contents]
+	
+	cba = CEikButtonGroupContainer::Current();
+	if (cba != NULL) {
+		if (symbian_ua_anycall())
+			cba->SetCommandL(ESymbian_ua_guiContainerViewControlPaneRightId, KStHangUp);
+		else
+			cba->SetCommandL(ESymbian_ua_guiContainerViewControlPaneRightId, KStCall);
+	}
+	
+	}
+
+/**
+ */
+void Csymbian_ua_guiContainerView::DoDeactivate()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	CleanupStatusPane();
+	
+	CEikButtonGroupContainer* cba = AppUi()->Cba();
+	if ( cba != NULL ) 
+		{
+		cba->MakeVisible( ETrue );
+		cba->DrawDeferred();
+		}
+	
+	if ( iSymbian_ua_guiContainer != NULL )
+		{
+		AppUi()->RemoveFromViewStack( *this, iSymbian_ua_guiContainer );
+		delete iSymbian_ua_guiContainer;
+		iSymbian_ua_guiContainer = NULL;
+		}
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+// [[[ begin generated function: do not modify
+void Csymbian_ua_guiContainerView::SetupStatusPaneL()
+	{
+	// reset the context pane
+	TUid contextPaneUid = TUid::Uid( EEikStatusPaneUidContext );
+	CEikStatusPaneBase::TPaneCapabilities subPaneContext = 
+		StatusPane()->PaneCapabilities( contextPaneUid );
+	if ( subPaneContext.IsPresent() && subPaneContext.IsAppOwned() )
+		{
+		CAknContextPane* context = static_cast< CAknContextPane* > ( 
+			StatusPane()->ControlL( contextPaneUid ) );
+		context->SetPictureToDefaultL();
+		}
+	
+	// setup the title pane
+	TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle );
+	CEikStatusPaneBase::TPaneCapabilities subPaneTitle = 
+		StatusPane()->PaneCapabilities( titlePaneUid );
+	if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() )
+		{
+		CAknTitlePane* title = static_cast< CAknTitlePane* >( 
+			StatusPane()->ControlL( titlePaneUid ) );
+		TResourceReader reader;
+		iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_CONTAINER_TITLE_RESOURCE );
+		title->SetFromResourceL( reader );
+		CleanupStack::PopAndDestroy(); // reader internal state
+		}
+				
+	}
+// ]]] end generated function
+
+// [[[ begin generated function: do not modify
+void Csymbian_ua_guiContainerView::CleanupStatusPane()
+	{
+	}
+// ]]] end generated function
+
+/** 
+ * Handle status pane size change for this view (override)
+ */
+void Csymbian_ua_guiContainerView::HandleStatusPaneSizeChange()
+	{
+	CAknView::HandleStatusPaneSizeChange();
+	
+	// this may fail, but we're not able to propagate exceptions here
+	TInt result;
+	TRAP( result, SetupStatusPaneL() ); 
+	}
+	
+/** 
+ * Handle the rightSoftKeyPressed event.
+ * @return ETrue if the command was handled, EFalse if not
+ */
+TBool Csymbian_ua_guiContainerView::CallSoftKeyPressedL( TInt aCommand )
+	{
+	CEikEdwin *obj_url = (CEikEdwin*) iSymbian_ua_guiContainer->ComponentControl(iSymbian_ua_guiContainer->EEd_url);
+	CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
+	
+	if (symbian_ua_anycall()) {
+		symbian_ua_endcall();
+		return ETrue;
+	}
+
+	PutMessage(_L("Making call..."));
+	if ( cba != NULL ) {
+		cba->SetCommandL(aCommand, KStHangUp);
+		cba->DrawDeferred();
+	}
+	
+
+	TUint8 url[256];
+	TPtr8 aUrl(url, 256);
+
+	HBufC *buf = obj_url->GetTextInHBufL();
+	CnvUtfConverter::ConvertFromUnicodeToUtf8(aUrl, *buf);
+	delete buf;
+
+	if (symbian_ua_makecall((char *)aUrl.PtrZ()) != 0) {
+		PutMessage(_L("Making call failed!"));
+		if ( cba != NULL ) {
+			cba->SetCommandL(aCommand, KStCall);
+			cba->DrawDeferred();
+		}
+	}
+	
+	return ETrue;
+	}
+				
+/** 
+ * Handle the selected event.
+ * @param aCommand the command id invoked
+ * @return ETrue if the command was handled, EFalse if not
+ */
+TBool Csymbian_ua_guiContainerView::HandleSettingMenuItemSelectedL( TInt aCommand )
+	{
+	AppUi()->ActivateLocalViewL(TUid::Uid(ESymbian_ua_guiSettingItemListViewId));
+	return ETrue;
+	}
+				
+// [[[ begin generated function: do not modify
+/**
+ * Show the popup note for note_error
+ * @param aOverrideText optional override text
+ */
+void Csymbian_ua_guiContainerView::RunNote_errorL( const TDesC* aOverrideText )
+	{
+	CAknErrorNote* note = new ( ELeave ) CAknErrorNote();
+	if ( aOverrideText == NULL )
+		{
+		HBufC* noteText = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_NOTE_ERROR );
+		note->ExecuteLD( *noteText );
+		CleanupStack::PopAndDestroy( noteText );
+		}
+	else
+		{
+		note->ExecuteLD( *aOverrideText );
+		}
+	}
+// ]]] end generated function
+
+// [[[ begin generated function: do not modify
+/**
+ * Show the popup note for note_info
+ * @param aOverrideText optional override text
+ */
+void Csymbian_ua_guiContainerView::RunNote_infoL( const TDesC* aOverrideText )
+	{
+	CAknInformationNote* note = new ( ELeave ) CAknInformationNote();
+	if ( aOverrideText == NULL )
+		{
+		HBufC* noteText = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_NOTE_INFO );
+		note->ExecuteLD( *noteText );
+		CleanupStack::PopAndDestroy( noteText );
+		}
+	else
+		{
+		note->ExecuteLD( *aOverrideText );
+		}
+	}
+// ]]] end generated function
+
+// [[[ begin generated function: do not modify
+/**
+ * Show the popup note for note_warning
+ * @param aOverrideText optional override text
+ */
+void Csymbian_ua_guiContainerView::RunNote_warningL( const TDesC* aOverrideText )
+	{
+	CAknWarningNote* note = new ( ELeave ) CAknWarningNote();
+	if ( aOverrideText == NULL )
+		{
+		HBufC* noteText = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_NOTE_WARNING );
+		note->ExecuteLD( *noteText );
+		CleanupStack::PopAndDestroy( noteText );
+		}
+	else
+		{
+		note->ExecuteLD( *aOverrideText );
+		}
+	}
+// ]]] end generated function
+
+// [[[ begin generated function: do not modify
+/**
+ * Show the popup dialog for qry_accept_call
+ * @param aOverrideText optional override text
+ * @return EAknSoftkeyYes (left soft key id) or 0
+ */
+TInt Csymbian_ua_guiContainerView::RunQry_accept_callL( const TDesC* aOverrideText )
+	{
+				
+	CAknQueryDialog* queryDialog = CAknQueryDialog::NewL();	
+	
+	if ( aOverrideText != NULL )
+		{
+		queryDialog->SetPromptL( *aOverrideText );
+		}
+	return queryDialog->ExecuteLD( R_SYMBIAN_UA_GUI_CONTAINER_QRY_ACCEPT_CALL );
+	}
+// ]]] end generated function
+
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiDocument.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiDocument.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiDocument.cpp	(revision 1973)
@@ -0,0 +1,57 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiDocument.cpp
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// [[[ begin generated region: do not modify [Generated User Includes]
+#include "symbian_ua_guiDocument.h"
+#include "symbian_ua_guiAppUi.h"
+// ]]] end generated region [Generated User Includes]
+
+/**
+ * @brief Constructs the document class for the application.
+ * @param anApplication the application instance
+ */
+Csymbian_ua_guiDocument::Csymbian_ua_guiDocument( CEikApplication& anApplication )
+	: CAknDocument( anApplication )
+	{
+	}
+
+/**
+ * @brief Completes the second phase of Symbian object construction. 
+ * Put initialization code that could leave here.  
+ */ 
+void Csymbian_ua_guiDocument::ConstructL()
+	{
+	}
+	
+/**
+ * Symbian OS two-phase constructor.
+ *
+ * Creates an instance of Csymbian_ua_guiDocument, constructs it, and
+ * returns it.
+ *
+ * @param aApp the application instance
+ * @return the new Csymbian_ua_guiDocument
+ */
+Csymbian_ua_guiDocument* Csymbian_ua_guiDocument::NewL( CEikApplication& aApp )
+	{
+	Csymbian_ua_guiDocument* self = new ( ELeave ) Csymbian_ua_guiDocument( aApp );
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	CleanupStack::Pop( self );
+	return self;
+	}
+
+/**
+ * @brief Creates the application UI object for this document.
+ * @return the new instance
+ */	
+CEikAppUi* Csymbian_ua_guiDocument::CreateAppUiL()
+	{
+	return new ( ELeave ) Csymbian_ua_guiAppUi;
+	}
+				
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemList.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemList.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemList.cpp	(revision 1973)
@@ -0,0 +1,423 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiSettingItemList.cpp
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+
+// [[[ begin generated region: do not modify [Generated System Includes]
+#include <avkon.hrh>
+#include <avkon.rsg>
+#include <eikmenup.h>
+#include <aknappui.h>
+#include <eikcmobs.h>
+#include <barsread.h>
+#include <stringloader.h>
+#include <gdi.h>
+#include <eikedwin.h>
+#include <eikenv.h>
+#include <eikseced.h>
+#include <aknpopupfieldtext.h>
+#include <eikappui.h>
+#include <aknviewappui.h>
+#include <akntextsettingpage.h> 
+#include <symbian_ua_gui.rsg>
+// ]]] end generated region [Generated System Includes]
+
+// [[[ begin generated region: do not modify [Generated User Includes]
+#include "symbian_ua_guiSettingItemList.h"
+#include "Symbian_ua_guiSettingItemListSettings.h"
+#include "symbian_ua_guiSettingItemList.hrh"
+#include "symbian_ua_gui.hrh"
+#include "symbian_ua_guiSettingItemListView.h"
+// ]]] end generated region [Generated User Includes]
+
+
+#include <S32STOR.H>
+#include <S32FILE.H>
+
+
+// [[[ begin generated region: do not modify [Generated Constants]
+// ]]] end generated region [Generated Constants]
+
+
+_LIT(KtxDicFileName			,"settings.ini" );
+ 
+const TInt KRegistrar		= 2;
+const TInt KUsername		= 3;
+const TInt KPassword		= 4;
+const TInt KStunServer		= 5;
+const TInt KSrtp			= 6;
+const TInt KIce				= 7;
+
+/**
+ * Construct the CSymbian_ua_guiSettingItemList instance
+ * @param aCommandObserver command observer
+ */ 
+CSymbian_ua_guiSettingItemList::CSymbian_ua_guiSettingItemList( 
+		TSymbian_ua_guiSettingItemListSettings& aSettings, 
+		MEikCommandObserver* aCommandObserver )
+	: iSettings( aSettings ), iCommandObserver( aCommandObserver )
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	}
+/** 
+ * Destroy any instance variables
+ */
+CSymbian_ua_guiSettingItemList::~CSymbian_ua_guiSettingItemList()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+/**
+ * Handle system notification that the container's size has changed.
+ */
+void CSymbian_ua_guiSettingItemList::SizeChanged()
+	{
+	if ( ListBox() ) 
+		{
+		ListBox()->SetRect( Rect() );
+		}
+	}
+
+/**
+ * Create one setting item at a time, identified by id.
+ * CAknSettingItemList calls this method and takes ownership
+ * of the returned value.  The CAknSettingItem object owns
+ * a reference to the underlying data, which EditItemL() uses
+ * to edit and store the value.
+ */
+CAknSettingItem* CSymbian_ua_guiSettingItemList::CreateSettingItemL( TInt aId )
+	{
+	switch ( aId )
+		{
+	// [[[ begin generated region: do not modify [Initializers]
+		case ESymbian_ua_guiSettingItemListViewEd_registrar:
+			{			
+			CAknTextSettingItem* item = new ( ELeave ) 
+				CAknTextSettingItem( 
+					aId,
+					iSettings.Ed_registrar() );
+			item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed);
+			return item;
+			}
+		case ESymbian_ua_guiSettingItemListViewEd_user:
+			{			
+			CAknTextSettingItem* item = new ( ELeave ) 
+				CAknTextSettingItem( 
+					aId,
+					iSettings.Ed_user() );
+			item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed);
+			return item;
+			}
+		case ESymbian_ua_guiSettingItemListViewEd_password:
+			{			
+			CAknPasswordSettingItem* item = new ( ELeave ) 
+				CAknPasswordSettingItem( 
+					aId,
+					CAknPasswordSettingItem::EAlpha,
+					iSettings.Ed_password() );
+			item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed);
+			return item;
+			}
+		case ESymbian_ua_guiSettingItemListViewB_srtp:
+			{			
+			CAknBinaryPopupSettingItem* item = new ( ELeave ) 
+				CAknBinaryPopupSettingItem( 
+					aId,
+					iSettings.B_srtp() );
+			item->SetHidden( ETrue ); 
+			return item;
+			}
+		case ESymbian_ua_guiSettingItemListViewB_ice:
+			{			
+			CAknBinaryPopupSettingItem* item = new ( ELeave ) 
+				CAknBinaryPopupSettingItem( 
+					aId,
+					iSettings.B_ice() );
+			item->SetHidden( ETrue ); 
+			return item;
+			}
+		case ESymbian_ua_guiSettingItemListViewEd_stun_server:
+			{			
+			CAknTextSettingItem* item = new ( ELeave ) 
+				CAknTextSettingItem( 
+					aId,
+					iSettings.Ed_stun_server() );
+			item->SetHidden( ETrue ); 
+			return item;
+			}
+	// ]]] end generated region [Initializers]
+	
+		}
+		
+	return NULL;
+	}
+	
+/**
+ * Edit the setting item identified by the given id and store
+ * the changes into the store.
+ * @param aIndex the index of the setting item in SettingItemArray()
+ * @param aCalledFromMenu true: a menu item invoked editing, thus
+ *	always show the edit page and interactively edit the item;
+ *	false: change the item in place if possible, else show the edit page
+ */
+void CSymbian_ua_guiSettingItemList::EditItemL ( TInt aIndex, TBool aCalledFromMenu )
+	{
+	CAknSettingItem* item = ( *SettingItemArray() )[aIndex];
+	switch ( item->Identifier() )
+		{
+	// [[[ begin generated region: do not modify [Editing Started Invoker]
+	// ]]] end generated region [Editing Started Invoker]
+	
+		}
+	
+	CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu );
+	
+	TBool storeValue = ETrue;
+	switch ( item->Identifier() )
+		{
+	// [[[ begin generated region: do not modify [Editing Stopped Invoker]
+	// ]]] end generated region [Editing Stopped Invoker]
+	
+		}
+		
+	if ( storeValue )
+		{
+		item->StoreL();
+		SaveSettingValuesL();
+		}	
+	}
+/**
+ *	Handle the "Change" option on the Options menu.  This is an
+ *	alternative to the Selection key that forces the settings page
+ *	to come up rather than changing the value in place (if possible).
+ */
+void CSymbian_ua_guiSettingItemList::ChangeSelectedItemL()
+	{
+	if ( ListBox()->CurrentItemIndex() >= 0 )
+		{
+		EditItemL( ListBox()->CurrentItemIndex(), ETrue );
+		}
+	}
+
+/**
+ *	Load the initial contents of the setting items.  By default,
+ *	the setting items are populated with the default values from
+ * 	the design.  You can override those values here.
+ *	<p>
+ *	Note: this call alone does not update the UI.  
+ *	LoadSettingsL() must be called afterwards.
+ */
+void CSymbian_ua_guiSettingItemList::LoadSettingValuesL()
+	{
+	// load values into iSettings
+
+	TFileName path;
+	TFileName pathWithoutDrive;
+	CEikonEnv::Static()->FsSession().PrivatePath( pathWithoutDrive );
+
+	// Extract drive letter into appDrive:
+#ifdef __WINS__
+	path.Copy( _L("c:") );
+#else
+	RProcess process;
+	path.Copy( process.FileName().Left(2) );
+#endif
+
+	path.Append( pathWithoutDrive );
+	path.Append( KtxDicFileName );
+	
+	TFindFile AufFolder(CCoeEnv::Static()->FsSession());
+	if(KErrNone == AufFolder.FindByDir(path, KNullDesC))
+	{
+		CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC(CCoeEnv::Static()->FsSession(),AufFolder.File(), TUid::Uid(1));
+		TUid FileUid;
+		
+		FileUid.iUid = KRegistrar;
+		if(MyDStore->IsPresentL(FileUid))
+		{
+			RDictionaryReadStream in;
+			in.OpenLC(*MyDStore,FileUid);
+			in >> iSettings.Ed_registrar();
+			CleanupStack::PopAndDestroy(1);// in
+		}
+			
+		FileUid.iUid = KUsername;
+		if(MyDStore->IsPresentL(FileUid))
+		{
+			RDictionaryReadStream in;
+			in.OpenLC(*MyDStore,FileUid);
+			in >> iSettings.Ed_user();
+			CleanupStack::PopAndDestroy(1);// in
+		}
+
+		FileUid.iUid = KPassword;
+		if(MyDStore->IsPresentL(FileUid))
+		{
+			RDictionaryReadStream in;
+			in.OpenLC(*MyDStore,FileUid);
+			in >> iSettings.Ed_password();
+			CleanupStack::PopAndDestroy(1);// in
+		}
+
+		FileUid.iUid = KStunServer;
+		if(MyDStore->IsPresentL(FileUid))
+		{
+			RDictionaryReadStream in;
+			in.OpenLC(*MyDStore,FileUid);
+			in >> iSettings.Ed_stun_server();
+			CleanupStack::PopAndDestroy(1);// in
+		}
+
+		FileUid.iUid = KSrtp;
+		if(MyDStore->IsPresentL(FileUid))
+		{
+			RDictionaryReadStream in;
+			in.OpenLC(*MyDStore,FileUid);
+			iSettings.SetB_srtp((TBool)in.ReadInt32L());
+			CleanupStack::PopAndDestroy(1);// in
+		}
+		
+		FileUid.iUid = KIce;
+		if(MyDStore->IsPresentL(FileUid))
+		{
+			RDictionaryReadStream in;
+			in.OpenLC(*MyDStore,FileUid);
+			iSettings.SetB_ice((TBool)in.ReadInt32L());
+			CleanupStack::PopAndDestroy(1);// in
+		}
+
+		CleanupStack::PopAndDestroy(1);// Store		
+	}
+
+	}
+	
+/**
+ *	Save the contents of the setting items.  Note, this is called
+ *	whenever an item is changed and stored to the model, so it
+ *	may be called multiple times or not at all.
+ */
+void CSymbian_ua_guiSettingItemList::SaveSettingValuesL()
+	{
+	// store values from iSettings
+
+	TFileName path;
+	TFileName pathWithoutDrive;
+	CEikonEnv::Static()->FsSession().PrivatePath( pathWithoutDrive );
+
+	// Extract drive letter into appDrive:
+#ifdef __WINS__
+	path.Copy( _L("c:") );
+#else
+	RProcess process;
+	path.Copy( process.FileName().Left(2) );
+	
+	if(path.Compare(_L("c")) || path.Compare(_L("C")))
+		CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveC);
+	else if(path.Compare(_L("e")) || path.Compare(_L("E")))
+		CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveE);	
+#endif
+
+	path.Append( pathWithoutDrive );
+	path.Append( KtxDicFileName );
+	
+	TFindFile AufFolder(CCoeEnv::Static()->FsSession());
+	if(KErrNone == AufFolder.FindByDir(path, KNullDesC))
+	{
+		User::LeaveIfError(CCoeEnv::Static()->FsSession().Delete(AufFolder.File()));
+	}
+ 
+	CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC(CCoeEnv::Static()->FsSession(),path, TUid::Uid(1));
+ 
+	TUid FileUid = {0x0};
+		
+	FileUid.iUid = KRegistrar;
+	RDictionaryWriteStream out1;
+	out1.AssignLC(*MyDStore,FileUid);
+	out1 << iSettings.Ed_registrar();
+	out1.CommitL(); 	
+	CleanupStack::PopAndDestroy(1);// out2	
+	
+	FileUid.iUid = KUsername;
+	RDictionaryWriteStream out2;
+	out2.AssignLC(*MyDStore,FileUid);
+	out2 << iSettings.Ed_user();
+	out2.CommitL(); 	
+	CleanupStack::PopAndDestroy(1);// out2	
+	
+	FileUid.iUid = KPassword;
+	RDictionaryWriteStream out3;
+	out3.AssignLC(*MyDStore,FileUid);
+	out3 << iSettings.Ed_password();
+	out3.CommitL(); 	
+	CleanupStack::PopAndDestroy(1);// out2	
+	
+	FileUid.iUid = KStunServer;
+	RDictionaryWriteStream out4;
+	out4.AssignLC(*MyDStore,FileUid);
+	out4 << iSettings.Ed_stun_server();
+	out4.CommitL(); 	
+	CleanupStack::PopAndDestroy(1);// out2	
+	
+	FileUid.iUid = KSrtp;
+	RDictionaryWriteStream out5;
+	out5.AssignLC(*MyDStore,FileUid);
+	out5.WriteInt32L(iSettings.B_srtp());
+	out5.CommitL(); 	
+	CleanupStack::PopAndDestroy(1);// out1
+	
+	FileUid.iUid = KIce;
+	RDictionaryWriteStream out6;
+	out6.AssignLC(*MyDStore,FileUid);
+	out6.WriteInt32L(iSettings.B_ice());
+	out6.CommitL(); 	
+	CleanupStack::PopAndDestroy(1);// out1
+	 
+	MyDStore->CommitL();
+	CleanupStack::PopAndDestroy(1);// Store
+
+	}
+
+
+/** 
+ * Handle global resource changes, such as scalable UI or skin events (override)
+ */
+void CSymbian_ua_guiSettingItemList::HandleResourceChange( TInt aType )
+	{
+	CAknSettingItemList::HandleResourceChange( aType );
+	SetRect( iAvkonViewAppUi->View( TUid::Uid( ESymbian_ua_guiSettingItemListViewId ) )->ClientRect() );
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	}
+				
+/** 
+ * Handle key event (override)
+ * @param aKeyEvent key event
+ * @param aType event code
+ * @return EKeyWasConsumed if the event was handled, else EKeyWasNotConsumed
+ */
+TKeyResponse CSymbian_ua_guiSettingItemList::OfferKeyEventL( 
+		const TKeyEvent& aKeyEvent, 
+		TEventCode aType )
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	if ( aKeyEvent.iCode == EKeyLeftArrow 
+		|| aKeyEvent.iCode == EKeyRightArrow )
+		{
+		// allow the tab control to get the arrow keys
+		return EKeyWasNotConsumed;
+		}
+	
+	return CAknSettingItemList::OfferKeyEventL( aKeyEvent, aType );
+	}
+				
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemListView.cpp
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemListView.cpp	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemListView.cpp	(revision 1973)
@@ -0,0 +1,285 @@
+/*
+========================================================================
+ Name        : symbian_ua_guiSettingItemListView.cpp
+ Author      : nanang
+ Copyright   : (c) PJSIP 2008
+ Description : 
+========================================================================
+*/
+// [[[ begin generated region: do not modify [Generated System Includes]
+#include <aknviewappui.h>
+#include <eikmenub.h>
+#include <avkon.hrh>
+#include <akncontext.h>
+#include <akntitle.h>
+#include <stringloader.h>
+#include <barsread.h>
+#include <eikbtgpc.h>
+#include <symbian_ua_gui.rsg>
+// ]]] end generated region [Generated System Includes]
+
+// [[[ begin generated region: do not modify [Generated User Includes]
+#include "symbian_ua_gui.hrh"
+#include "symbian_ua_guiSettingItemListView.h"
+#include "symbian_ua_guiContainer.hrh"
+#include "symbian_ua_guiSettingItemList.hrh"
+#include "symbian_ua_guiSettingItemList.h"
+// ]]] end generated region [Generated User Includes]
+
+#include "symbian_ua.h"
+
+// [[[ begin generated region: do not modify [Generated Constants]
+// ]]] end generated region [Generated Constants]
+
+/**
+ * First phase of Symbian two-phase construction. Should not contain any
+ * code that could leave.
+ */
+Csymbian_ua_guiSettingItemListView::Csymbian_ua_guiSettingItemListView()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	}
+/** 
+ * The view's destructor removes the container from the control
+ * stack and destroys it.
+ */
+Csymbian_ua_guiSettingItemListView::~Csymbian_ua_guiSettingItemListView()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+/**
+ * Symbian two-phase constructor.
+ * This creates an instance then calls the second-phase constructor
+ * without leaving the instance on the cleanup stack.
+ * @return new instance of Csymbian_ua_guiSettingItemListView
+ */
+Csymbian_ua_guiSettingItemListView* Csymbian_ua_guiSettingItemListView::NewL()
+	{
+	Csymbian_ua_guiSettingItemListView* self = Csymbian_ua_guiSettingItemListView::NewLC();
+	CleanupStack::Pop( self );
+	return self;
+	}
+
+/**
+ * Symbian two-phase constructor.
+ * This creates an instance, pushes it on the cleanup stack,
+ * then calls the second-phase constructor.
+ * @return new instance of Csymbian_ua_guiSettingItemListView
+ */
+Csymbian_ua_guiSettingItemListView* Csymbian_ua_guiSettingItemListView::NewLC()
+	{
+	Csymbian_ua_guiSettingItemListView* self = new ( ELeave ) Csymbian_ua_guiSettingItemListView();
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	return self;
+	}
+
+
+/**
+ * Second-phase constructor for view.  
+ * Initialize contents from resource.
+ */ 
+void Csymbian_ua_guiSettingItemListView::ConstructL()
+	{
+	// [[[ begin generated region: do not modify [Generated Code]
+	BaseConstructL( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_VIEW );
+	// ]]] end generated region [Generated Code]
+	
+	// add your own initialization code here
+	}
+	
+/**
+ * @return The UID for this view
+ */
+TUid Csymbian_ua_guiSettingItemListView::Id() const
+	{
+	return TUid::Uid( ESymbian_ua_guiSettingItemListViewId );
+	}
+
+/**
+ * Handle a command for this view (override)
+ * @param aCommand command id to be handled
+ */
+void Csymbian_ua_guiSettingItemListView::HandleCommandL( TInt aCommand )
+	{   
+	// [[[ begin generated region: do not modify [Generated Code]
+	TBool commandHandled = EFalse;
+	switch ( aCommand )
+		{	// code to dispatch to the AknView's menu and CBA commands is generated here
+	
+		case EAknSoftkeySave:
+			commandHandled = HandleControlPaneRightSoftKeyPressedL( aCommand );
+			break;
+		case ESymbian_ua_guiSettingItemListViewMenuItem1Command:
+			commandHandled = HandleChangeSelectedSettingItemL( aCommand );
+			break;
+		default:
+			break;
+		}
+	
+		
+	if ( !commandHandled ) 
+		{
+	
+		}
+	// ]]] end generated region [Generated Code]
+	
+	}
+
+/**
+ *	Handles user actions during activation of the view, 
+ *	such as initializing the content.
+ */
+void Csymbian_ua_guiSettingItemListView::DoActivateL(
+		const TVwsViewId& /*aPrevViewId*/,
+		TUid /*aCustomMessageId*/,
+		const TDesC8& /*aCustomMessage*/ )
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	SetupStatusPaneL();
+	
+	CEikButtonGroupContainer* cba = AppUi()->Cba();
+	if ( cba != NULL ) 
+		{
+		cba->MakeVisible( EFalse );
+		}
+	
+	if ( iSymbian_ua_guiSettingItemList == NULL )
+		{
+		iSettings = TSymbian_ua_guiSettingItemListSettings::NewL();
+		iSymbian_ua_guiSettingItemList = new ( ELeave ) CSymbian_ua_guiSettingItemList( *iSettings, this );
+		iSymbian_ua_guiSettingItemList->SetMopParent( this );
+		iSymbian_ua_guiSettingItemList->ConstructFromResourceL( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_SYMBIAN_UA_GUI_SETTING_ITEM_LIST );
+		iSymbian_ua_guiSettingItemList->ActivateL();
+		iSymbian_ua_guiSettingItemList->LoadSettingValuesL();
+		iSymbian_ua_guiSettingItemList->LoadSettingsL();
+		AppUi()->AddToStackL( *this, iSymbian_ua_guiSettingItemList );
+		} 
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+/**
+ */
+void Csymbian_ua_guiSettingItemListView::DoDeactivate()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	CleanupStatusPane();
+	
+	CEikButtonGroupContainer* cba = AppUi()->Cba();
+	if ( cba != NULL ) 
+		{
+		cba->MakeVisible( ETrue );
+		cba->DrawDeferred();
+		}
+	
+	if ( iSymbian_ua_guiSettingItemList != NULL )
+		{
+		AppUi()->RemoveFromStack( iSymbian_ua_guiSettingItemList );
+		delete iSymbian_ua_guiSettingItemList;
+		iSymbian_ua_guiSettingItemList = NULL;
+		delete iSettings;
+		iSettings = NULL;
+		}
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+// [[[ begin generated function: do not modify
+void Csymbian_ua_guiSettingItemListView::SetupStatusPaneL()
+	{
+	// reset the context pane
+	TUid contextPaneUid = TUid::Uid( EEikStatusPaneUidContext );
+	CEikStatusPaneBase::TPaneCapabilities subPaneContext = 
+		StatusPane()->PaneCapabilities( contextPaneUid );
+	if ( subPaneContext.IsPresent() && subPaneContext.IsAppOwned() )
+		{
+		CAknContextPane* context = static_cast< CAknContextPane* > ( 
+			StatusPane()->ControlL( contextPaneUid ) );
+		context->SetPictureToDefaultL();
+		}
+	
+	// setup the title pane
+	TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle );
+	CEikStatusPaneBase::TPaneCapabilities subPaneTitle = 
+		StatusPane()->PaneCapabilities( titlePaneUid );
+	if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() )
+		{
+		CAknTitlePane* title = static_cast< CAknTitlePane* >( 
+			StatusPane()->ControlL( titlePaneUid ) );
+		TResourceReader reader;
+		iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_TITLE_RESOURCE );
+		title->SetFromResourceL( reader );
+		CleanupStack::PopAndDestroy(); // reader internal state
+		}
+				
+	}
+// ]]] end generated function
+
+// [[[ begin generated function: do not modify
+void Csymbian_ua_guiSettingItemListView::CleanupStatusPane()
+	{
+	}
+// ]]] end generated function
+
+/** 
+ * Handle status pane size change for this view (override)
+ */
+void Csymbian_ua_guiSettingItemListView::HandleStatusPaneSizeChange()
+	{
+	CAknView::HandleStatusPaneSizeChange();
+	
+	// this may fail, but we're not able to propagate exceptions here
+	TInt result;
+	TRAP( result, SetupStatusPaneL() ); 
+	}
+	
+/** 
+ * Handle the selected event.
+ * @param aCommand the command id invoked
+ * @return ETrue if the command was handled, EFalse if not
+ */
+TBool Csymbian_ua_guiSettingItemListView::HandleChangeSelectedSettingItemL( TInt aCommand )
+	{
+	iSymbian_ua_guiSettingItemList->ChangeSelectedItemL();
+	return ETrue;
+	}
+								
+/** 
+ * Handle the rightSoftKeyPressed event.
+ * @return ETrue if the command was handled, EFalse if not
+ */
+TBool Csymbian_ua_guiSettingItemListView::HandleControlPaneRightSoftKeyPressedL( TInt aCommand )
+	{
+	TUint8 domain[256] = {0};
+	TPtr8 cDomain(domain, sizeof(domain));
+	TUint8 user[64] = {0};
+	TPtr8 cUser(user, sizeof(user));
+	TUint8 pass[64] = {0};
+	TPtr8 cPass(pass, sizeof(pass));
+	
+	cDomain.Copy(iSettings->Ed_registrar());
+	cUser.Copy(iSettings->Ed_user());
+	cPass.Copy(iSettings->Ed_password());
+	symbian_ua_set_account((char*)domain, (char*)user, (char*)pass, false, false);
+	
+	AppUi()->ActivateLocalViewL(TUid::Uid(ESymbian_ua_guiContainerViewId));
+	return ETrue;
+	}
+
+/** 
+ * Handle the selected event.
+ * @param aCommand the command id invoked
+ * @return ETrue if the command was handled, EFalse if not
+ */
+TBool Csymbian_ua_guiSettingItemListView::HandleCancelMenuItemSelectedL( TInt aCommand )
+	{
+	AppUi()->ActivateLocalViewL(TUid::Uid(ESymbian_ua_guiContainerViewId));
+	return ETrue;
+	}
+				
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiContainer.uidesign
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiContainer.uidesign	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiContainer.uidesign	(revision 1973)
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<designerData version="1.1.0">
+  <componentManifest>
+    <manifestEntry id="com.nokia.sdt.series60.CAknView" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.DesignTimeContainer" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPane" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.ControlBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitle" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitleBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CBA" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CBABase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CCoeControl" version="1.1.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.ContainerBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CEikLabel" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CCoeControlBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CEikEdwin" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CEikEdwinBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.EditorBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuBar" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuPane" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuItem" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuItemBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StandardNote" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.NonLayoutBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.ConfirmationQuery" version="1.0.0"/>
+  </componentManifest>
+  <property id="com.nokia.sdt.symbian.dm.RESOURCE_DIRECTORY_ID">data</property>
+  <property id="com.nokia.sdt.component.symbian.vendor">com.nokia.series60</property>
+  <property id="com.nokia.sdt.component.symbian.version">3.0.1</property>
+  <property id="com.nokia.sdt.symbian.dm.COMPONENT_PROVIDER">com.nokia.sdt.component.symbian.Symbian-Provider</property>
+  <property id="com.nokia.sdt.symbian.dm.INCLUDE_DIRECTORY_ID">inc</property>
+  <property id="com.nokia.sdt.symbian.dm.SOURCE_DIRECTORY_ID">src</property>
+  <property id="com.nokia.sdt.symbian.dm.SOURCEGEN_PROVIDER">com.nokia.sdt.sourcegen.Symbian-Provider</property>
+  <property id="com.nokia.sdt.symbian.dm.BUILD_DIRECTORY_ID">group</property>
+  <component id="com.nokia.sdt.series60.CAknView">
+    <property id="className">Csymbian_ua_guiContainerView</property>
+    <compoundProperty id="location">
+      <property id="x">52</property>
+      <property id="y">45</property>
+    </compoundProperty>
+    <property id="optionsMenu" type="componentRef">optionsMenu</property>
+    <property id="name">symbian_ua_guiContainerView</property>
+    <compoundProperty id="size">
+      <property id="width">240</property>
+      <property id="height">320</property>
+    </compoundProperty>
+    <component id="com.nokia.sdt.series60.StatusPane">
+      <compoundProperty id="location">
+        <property id="x">20</property>
+      </compoundProperty>
+      <property id="name">statusPane</property>
+      <compoundProperty id="size">
+        <property id="width">204</property>
+        <property id="height">66</property>
+      </compoundProperty>
+      <component id="com.nokia.sdt.series60.StatusPaneTitle">
+        <compoundProperty id="location">
+          <property id="x">56</property>
+        </compoundProperty>
+        <property id="name">title</property>
+        <property id="titleText" type="i18n">STR_symbian_ua_guiContainerView_1</property>
+        <compoundProperty id="size">
+          <property id="width">148</property>
+          <property id="height">43</property>
+        </compoundProperty>
+        <compoundProperty id="image"/>
+      </component>
+    </component>
+    <component id="com.nokia.sdt.series60.CBA">
+      <compoundProperty id="location">
+        <property id="y">288</property>
+      </compoundProperty>
+      <compoundProperty id="info">
+        <property id="rightId">UNIQUE</property>
+        <property id="leftText" type="i18n">STR_symbian_ua_guiContainerView_7</property>
+        <property id="rightText" type="i18n">STR_symbian_ua_guiContainerView_8</property>
+      </compoundProperty>
+      <property id="name">controlPane</property>
+      <compoundProperty id="size">
+        <property id="width">240</property>
+        <property id="height">32</property>
+      </compoundProperty>
+      <eventBinding id="rightSoftKeyPressed" handlerDisplay="CallSoftKeyPressedL" handlerSymbol="cpp@src//symbian_ua_guiContainerView.cpp/function(Csymbian_ua_guiContainerView::CallSoftKeyPressedL(TInt))"/>
+    </component>
+    <component id="com.nokia.sdt.series60.CCoeControl">
+      <property id="initialFocus" type="componentRef">ed_url</property>
+      <compoundProperty id="location">
+        <property id="y">66</property>
+      </compoundProperty>
+      <property id="className">CSymbian_ua_guiContainer</property>
+      <property id="name">symbian_ua_guiContainer</property>
+      <compoundProperty id="size">
+        <property id="width">240</property>
+        <property id="height">222</property>
+      </compoundProperty>
+      <component id="com.nokia.sdt.series60.CEikLabel">
+        <compoundProperty id="location">
+          <property id="x">2</property>
+          <property id="y">23</property>
+        </compoundProperty>
+        <property id="name">label1</property>
+        <property id="text" type="i18n">STR_symbian_ua_guiContainerView_2</property>
+        <compoundProperty id="size">
+          <property id="width">32</property>
+          <property id="height">28</property>
+        </compoundProperty>
+      </component>
+      <component id="com.nokia.sdt.series60.CEikEdwin">
+        <property id="defaultCase">EAknEditorLowerCase</property>
+        <compoundProperty id="size">
+          <property id="width">197</property>
+          <property id="height">28</property>
+        </compoundProperty>
+        <compoundProperty id="avkonFlags">
+          <property id="EAknEditorFlagNoT9">true</property>
+          <property id="EAknEditorFlagFixedCase">false</property>
+          <property id="EAknEditorFlagNoEditIndicators">false</property>
+          <property id="EAknEditorFlagNoLRNavigation">false</property>
+          <property id="EAknEditorFlagSupressShiftMenu">true</property>
+          <property id="EAknEditorFlagEnableScrollBars">false</property>
+          <property id="EAknEditorFlagMTAutoOverwrite">false</property>
+          <property id="EAknEditorFlagUseSCTNumericCharmap">false</property>
+          <property id="EAknEditorFlagLatinInputModesOnly">false</property>
+          <property id="EAknEditorFlagForceTransparentFepModes">false</property>
+          <property id="EAknEditorFlagAllowEntersWithScrollDown">false</property>
+          <property id="EAknEditorFlagEnablePictographInput">false</property>
+          <property id="EAknEditorFlagFindPane">false</property>
+        </compoundProperty>
+        <compoundProperty id="location">
+          <property id="x">49</property>
+          <property id="y">25</property>
+        </compoundProperty>
+        <compoundProperty id="flags"/>
+        <compoundProperty id="allowedCaseModes"/>
+        <property id="name">ed_url</property>
+        <property id="text" type="i18n">STR_symbian_ua_guiContainerView_4</property>
+        <compoundProperty id="allowedInputModes">
+          <property id="EAknEditorFullWidthTextInputMode">true</property>
+          <property id="EAknEditorFullWidthNumericInputMode">true</property>
+          <property id="EAknEditorHalfWidthTextInputMode">true</property>
+          <property id="EAknEditorTextInputMode">true</property>
+          <property id="EAknEditorNumericInputMode">true</property>
+          <property id="EAknEditorSecretAlphaInputMode">true</property>
+          <property id="EAknEditorFullWidthKatakanaInputMode">false</property>
+          <property id="EAknEditorHiraganaInputMode">false</property>
+          <property id="EAknEditorHiraganaKanjiInputMode">false</property>
+          <property id="EAknEditorKatakanaInputMode">false</property>
+        </compoundProperty>
+        <property id="specialCharacterTable">R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG</property>
+      </component>
+      <component id="com.nokia.sdt.series60.CEikEdwin">
+        <compoundProperty id="size">
+          <property id="width">235</property>
+          <property id="height">143</property>
+        </compoundProperty>
+        <compoundProperty id="avkonFlags">
+          <property id="EAknEditorFlagNoEditIndicators">true</property>
+          <property id="EAknEditorFlagFixedCase">false</property>
+          <property id="EAknEditorFlagNoT9">false</property>
+          <property id="EAknEditorFlagNoLRNavigation">false</property>
+          <property id="EAknEditorFlagSupressShiftMenu">false</property>
+          <property id="EAknEditorFlagEnableScrollBars">true</property>
+          <property id="EAknEditorFlagMTAutoOverwrite">false</property>
+          <property id="EAknEditorFlagUseSCTNumericCharmap">false</property>
+          <property id="EAknEditorFlagLatinInputModesOnly">false</property>
+          <property id="EAknEditorFlagForceTransparentFepModes">false</property>
+          <property id="EAknEditorFlagAllowEntersWithScrollDown">false</property>
+          <property id="EAknEditorFlagEnablePictographInput">false</property>
+          <property id="EAknEditorFlagFindPane">false</property>
+        </compoundProperty>
+        <compoundProperty id="location">
+          <property id="x">3</property>
+          <property id="y">78</property>
+        </compoundProperty>
+        <compoundProperty id="flags">
+          <property id="EEikEdwinReadOnly">true</property>
+          <property id="EEikEdwinKeepDocument">false</property>
+          <property id="EEikEdwinSegmentedStorage">false</property>
+          <property id="EEikEdwinNoAutoSelection">false</property>
+          <property id="EEikEdwinJustAutoCurEnd">false</property>
+          <property id="EEikEdwinNoWrap">false</property>
+          <property id="EEikEdwinLineCursor">false</property>
+          <property id="EEikEdwinNoHorizScrolling">false</property>
+          <property id="EEikEdwinInclusiveSizeFixed">false</property>
+          <property id="EEikEdwinDisplayOnly">false</property>
+          <property id="EEikEdwinAlwaysShowSelection">false</property>
+          <property id="EEikEdwinAllowPictures">false</property>
+          <property id="EEikEdwinAllowUndo">false</property>
+          <property id="EEikEdwinNoLineOrParaBreaks">false</property>
+          <property id="EEikEdwinOnlyASCIIChars">false</property>
+          <property id="EEikEdwinIgnoreVirtualCursor">false</property>
+          <property id="EEikEdwinAvkonDisableCursor">false</property>
+          <property id="EEikEdwinAlternativeWrapping">false</property>
+          <property id="EEikEdwinResizable">false</property>
+        </compoundProperty>
+        <compoundProperty id="allowedCaseModes"/>
+        <property id="maxLength">2000</property>
+        <property id="name">ed_info</property>
+        <property id="text" type="i18n">STR_symbian_ua_guiContainerView_3</property>
+        <compoundProperty id="allowedInputModes">
+          <property id="EAknEditorKatakanaInputMode">true</property>
+          <property id="EAknEditorFullWidthTextInputMode">true</property>
+          <property id="EAknEditorFullWidthNumericInputMode">true</property>
+          <property id="EAknEditorFullWidthKatakanaInputMode">true</property>
+          <property id="EAknEditorHiraganaKanjiInputMode">true</property>
+          <property id="EAknEditorHalfWidthTextInputMode">true</property>
+        </compoundProperty>
+        <property id="lines">10</property>
+      </component>
+    </component>
+    <component id="com.nokia.sdt.series60.MenuBar">
+      <compoundProperty id="location">
+        <property id="x">3</property>
+        <property id="y">215</property>
+      </compoundProperty>
+      <property id="name">optionsMenu</property>
+      <compoundProperty id="size">
+        <property id="height">73</property>
+        <property id="width">237</property>
+      </compoundProperty>
+      <component id="com.nokia.sdt.series60.MenuPane">
+        <compoundProperty id="location"/>
+        <property id="name">menuPane1</property>
+        <compoundProperty id="size">
+          <property id="height">73</property>
+          <property id="width">237</property>
+        </compoundProperty>
+        <component id="com.nokia.sdt.series60.MenuItem">
+          <compoundProperty id="location">
+            <property id="x">5</property>
+            <property id="y">2</property>
+          </compoundProperty>
+          <property id="name">settingMenuItem</property>
+          <property id="text" type="i18n">STR_symbian_ua_guiContainerView_9</property>
+          <compoundProperty id="size">
+            <property id="width">222</property>
+            <property id="height">33</property>
+          </compoundProperty>
+          <eventBinding id="selected" handlerDisplay="HandleSettingMenuItemSelectedL" handlerSymbol="cpp@src//symbian_ua_guiContainerView.cpp/function(Csymbian_ua_guiContainerView::HandleSettingMenuItemSelectedL(TInt))"/>
+        </component>
+        <component id="com.nokia.sdt.series60.MenuItem">
+          <compoundProperty id="location">
+            <property id="x">5</property>
+            <property id="y">35</property>
+          </compoundProperty>
+          <property id="name">exitMenuItem</property>
+          <property id="text" type="i18n">STR_symbian_ua_guiContainerView_10</property>
+          <property id="command">EAknCmdExit</property>
+          <compoundProperty id="size">
+            <property id="width">222</property>
+            <property id="height">33</property>
+          </compoundProperty>
+        </component>
+      </component>
+    </component>
+    <component id="com.nokia.sdt.series60.StandardNote">
+      <property id="type">CAknErrorNote</property>
+      <compoundProperty id="location">
+        <property id="x">8</property>
+        <property id="y">171</property>
+      </compoundProperty>
+      <property id="name">note_error</property>
+      <property id="text" type="i18n">STR_symbian_ua_guiContainerView_13</property>
+      <compoundProperty id="size">
+        <property id="width">227</property>
+        <property id="height">114</property>
+      </compoundProperty>
+    </component>
+    <component id="com.nokia.sdt.series60.StandardNote">
+      <property id="type">CAknInformationNote</property>
+      <compoundProperty id="location">
+        <property id="x">8</property>
+        <property id="y">171</property>
+      </compoundProperty>
+      <property id="name">note_info</property>
+      <property id="text" type="i18n">STR_symbian_ua_guiContainerView_16</property>
+      <compoundProperty id="size">
+        <property id="width">227</property>
+        <property id="height">114</property>
+      </compoundProperty>
+    </component>
+    <component id="com.nokia.sdt.series60.StandardNote">
+      <property id="type">CAknWarningNote</property>
+      <compoundProperty id="location">
+        <property id="x">8</property>
+        <property id="y">171</property>
+      </compoundProperty>
+      <property id="name">note_warning</property>
+      <property id="text" type="i18n">STR_symbian_ua_guiContainerView_17</property>
+      <compoundProperty id="size">
+        <property id="width">227</property>
+        <property id="height">114</property>
+      </compoundProperty>
+    </component>
+    <component id="com.nokia.sdt.series60.ConfirmationQuery">
+      <compoundProperty id="location">
+        <property id="x">0</property>
+        <property id="y">171</property>
+      </compoundProperty>
+      <property id="name">qry_accept_call</property>
+      <property id="text" type="i18n">STR_symbian_ua_guiContainerView_18</property>
+      <compoundProperty id="size">
+        <property id="width">240</property>
+        <property id="height">149</property>
+      </compoundProperty>
+    </component>
+  </component>
+  <stringBundle>
+    <stringTable language="LANG_English">
+      <string id="STR_symbian_ua_guiContainerView_1">PJSUA for S60</string>
+      <string id="STR_symbian_ua_guiContainerView_2">URL</string>
+      <string id="STR_symbian_ua_guiContainerView_4">sip:</string>
+      <string id="STR_symbian_ua_guiContainerView_7">Options</string>
+      <string id="STR_symbian_ua_guiContainerView_8">Call</string>
+      <string id="STR_symbian_ua_guiContainerView_9">Setting</string>
+      <string id="STR_symbian_ua_guiContainerView_10">Exit</string>
+      <string id="STR_symbian_ua_guiContainerView_3"/>
+      <string id="STR_symbian_ua_guiContainerView_13">Failed initializing PJSUA!</string>
+      <string id="STR_symbian_ua_guiContainerView_16">Register Success</string>
+      <string id="STR_symbian_ua_guiContainerView_17">Register Failed</string>
+      <string id="STR_symbian_ua_guiContainerView_18">Accept Call</string>
+    </stringTable>
+  </stringBundle>
+  <macroTable/>
+  <sourceMappingState>
+    <resourceMappings>
+      <resourceMapping instanceName="qry_accept_call">r_symbian_ua_gui_container_qry_accept_call</resourceMapping>
+      <resourceMapping instanceName="note_warning">r_symbian_ua_gui_container_note_warning</resourceMapping>
+      <resourceMapping instanceName="ed_info" rsrcId="text">r_symbian_ua_gui_container_ed_info_2</resourceMapping>
+      <resourceMapping instanceName="optionsMenu">r_symbian_ua_gui_container_options_menu</resourceMapping>
+      <resourceMapping instanceName="menuPane1">r_symbian_ua_gui_container_menu_pane1_menu_pane</resourceMapping>
+      <resourceMapping instanceName="title">r_symbian_ua_gui_container_title_resource</resourceMapping>
+      <resourceMapping instanceName="statusPane">r_symbian_ua_gui_container_status_pane</resourceMapping>
+      <resourceMapping instanceName="ed_url">r_symbian_ua_gui_container_ed_url</resourceMapping>
+      <resourceMapping instanceName="symbian_ua_guiContainerView">r_symbian_ua_gui_container_symbian_ua_gui_container_view</resourceMapping>
+      <resourceMapping instanceName="label1">r_symbian_ua_gui_container_label1</resourceMapping>
+      <resourceMapping instanceName="controlPane">r_symbian_ua_gui_container_control_pane</resourceMapping>
+      <resourceMapping instanceName="ed_url" rsrcId="text">r_symbian_ua_gui_container_ed_url_2</resourceMapping>
+      <resourceMapping instanceName="note_info">r_symbian_ua_gui_container_note_info</resourceMapping>
+      <resourceMapping instanceName="note_error">r_symbian_ua_gui_container_note_error</resourceMapping>
+      <resourceMapping instanceName="ed_info">r_symbian_ua_gui_container_ed_info</resourceMapping>
+    </resourceMappings>
+    <enumMappings>
+      <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtTitlePane</enumMapping>
+      <enumMapping instanceName="settingMenuItem" propertyId="command" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">ESymbian_ua_guiContainerViewSettingMenuItemCommand</enumMapping>
+      <enumMapping instanceName="ed_info" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping>
+      <enumMapping instanceName="label1" propertyId="font">EEikLabelFontNormal</enumMapping>
+      <enumMapping instanceName="ed_url" propertyId="defaultCase">EAknEditorLowerCase</enumMapping>
+      <enumMapping instanceName="symbian_ua_guiContainerView" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">ESymbian_ua_guiContainerViewId</enumMapping>
+      <enumMapping instanceName="label1" propertyId="alignment">EEikLabelAlignHCenter</enumMapping>
+      <enumMapping instanceName="controlPane" propertyId="leftId" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">EAknSoftkeyOptions</enumMapping>
+      <enumMapping instanceName="qry_accept_call" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_DIALOG_LINE_ID">ESymbian_ua_guiContainerViewQry_accept_call</enumMapping>
+      <enumMapping instanceName="controlPane" propertyId="rightId" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">ESymbian_ua_guiContainerViewControlPaneRightId</enumMapping>
+      <enumMapping instanceName="exitMenuItem" propertyId="command" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">EAknCmdExit</enumMapping>
+      <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_STATUS_PANE_ID">EEikStatusPaneUidTitle</enumMapping>
+      <enumMapping instanceName="ed_url" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping>
+      <enumMapping instanceName="ed_info" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping>
+      <enumMapping instanceName="ed_url" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping>
+      <enumMapping instanceName="ed_info" propertyId="defaultCase">EAknEditorTextCase</enumMapping>
+    </enumMappings>
+    <arrayMappings/>
+  </sourceMappingState>
+  <generatedFiles>
+    <file>inc/symbian_ua_guiContainer.h</file>
+    <file>inc/symbian_ua_guiContainerView.h</file>
+    <file>src/symbian_ua_guiContainerView.cpp</file>
+    <file>src/symbian_ua_guiContainer.cpp</file>
+    <file>data/symbian_ua_gui.rss</file>
+    <file>data/symbian_ua_guiContainer.rssi</file>
+    <file>inc/symbian_ua_gui.hrh</file>
+    <file>inc/symbian_ua_guiContainer.hrh</file>
+    <file>data/symbian_ua_guiSettingItemList.rssi</file>
+    <file>inc/symbian_ua_guiSettingItemList.hrh</file>
+    <file>data/symbian_ua_gui.loc</file>
+    <file>data/symbian_ua_gui.l01</file>
+    <file>data/symbian_ua_guiContainer.loc</file>
+    <file>data/symbian_ua_guiContainer.l01</file>
+    <file>data/symbian_ua_guiSettingItemList.loc</file>
+    <file>data/symbian_ua_guiSettingItemList.l01</file>
+  </generatedFiles>
+</designerData>
Index: pjproject/trunk/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiSettingItemList.uidesign
===================================================================
--- pjproject/trunk/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiSettingItemList.uidesign	(revision 1973)
+++ pjproject/trunk/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiSettingItemList.uidesign	(revision 1973)
@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<designerData version="1.1.0">
+  <componentManifest>
+    <manifestEntry id="com.nokia.sdt.series60.CAknView" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.DesignTimeContainer" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPane" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.ControlBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitle" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitleBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CBA" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CBABase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CAknSettingItemList" version="1.1.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.ContainerBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CEikEdwin" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CEikEdwinBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.EditorBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CCoeControlBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.SecretEditor" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.CAknBinaryPopupSettingItem" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.EnumeratedTextPopupBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuBar" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuBase" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuPane" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuItem" version="1.0.0"/>
+    <manifestEntry id="com.nokia.sdt.series60.MenuItemBase" version="1.0.0"/>
+  </componentManifest>
+  <property id="com.nokia.sdt.symbian.dm.RESOURCE_DIRECTORY_ID">data</property>
+  <property id="com.nokia.sdt.component.symbian.vendor">com.nokia.series60</property>
+  <property id="com.nokia.sdt.component.symbian.version">3.0.1</property>
+  <property id="com.nokia.sdt.symbian.dm.COMPONENT_PROVIDER">com.nokia.sdt.component.symbian.Symbian-Provider</property>
+  <property id="com.nokia.sdt.symbian.dm.INCLUDE_DIRECTORY_ID">inc</property>
+  <property id="com.nokia.sdt.symbian.dm.SOURCE_DIRECTORY_ID">src</property>
+  <property id="com.nokia.sdt.symbian.dm.SOURCEGEN_PROVIDER">com.nokia.sdt.sourcegen.Symbian-Provider</property>
+  <property id="com.nokia.sdt.symbian.dm.BUILD_DIRECTORY_ID">group</property>
+  <component id="com.nokia.sdt.series60.CAknView">
+    <property id="className">Csymbian_ua_guiSettingItemListView</property>
+    <compoundProperty id="location">
+      <property id="x">52</property>
+      <property id="y">45</property>
+    </compoundProperty>
+    <property id="optionsMenu" type="componentRef">optionsMenu</property>
+    <property id="name">symbian_ua_guiSettingItemListView</property>
+    <compoundProperty id="size">
+      <property id="width">240</property>
+      <property id="height">320</property>
+    </compoundProperty>
+    <component id="com.nokia.sdt.series60.StatusPane">
+      <compoundProperty id="location">
+        <property id="x">20</property>
+      </compoundProperty>
+      <property id="name">statusPane</property>
+      <compoundProperty id="size">
+        <property id="width">204</property>
+        <property id="height">66</property>
+      </compoundProperty>
+      <component id="com.nokia.sdt.series60.StatusPaneTitle">
+        <compoundProperty id="location">
+          <property id="x">56</property>
+        </compoundProperty>
+        <property id="name">title</property>
+        <property id="titleText" type="i18n">STR_symbian_ua_guiSettingItemListView_2</property>
+        <compoundProperty id="size">
+          <property id="width">148</property>
+          <property id="height">43</property>
+        </compoundProperty>
+        <compoundProperty id="image"/>
+      </component>
+    </component>
+    <component id="com.nokia.sdt.series60.CBA">
+      <compoundProperty id="location">
+        <property id="y">288</property>
+      </compoundProperty>
+      <compoundProperty id="info">
+        <property id="leftText" type="i18n">STR_symbian_ua_guiSettingItemListView_140</property>
+        <property id="rightText" type="i18n">STR_symbian_ua_guiSettingItemListView_141</property>
+        <property id="rightId">EAknSoftkeySave</property>
+      </compoundProperty>
+      <property id="name">controlPane</property>
+      <compoundProperty id="size">
+        <property id="width">240</property>
+        <property id="height">32</property>
+      </compoundProperty>
+      <eventBinding id="rightSoftKeyPressed" handlerDisplay="HandleControlPaneRightSoftKeyPressedL" handlerSymbol="cpp@src//symbian_ua_guiSettingItemListView.cpp/function(Csymbian_ua_guiSettingItemListView::HandleControlPaneRightSoftKeyPressedL(TInt))"/>
+    </component>
+    <component id="com.nokia.sdt.series60.CAknSettingItemList">
+      <compoundProperty id="size">
+        <property id="width">240</property>
+        <property id="height">222</property>
+      </compoundProperty>
+      <property id="className">CSymbian_ua_guiSettingItemList</property>
+      <compoundProperty id="location">
+        <property id="y">66</property>
+      </compoundProperty>
+      <property id="EAknSettingItemNumberedStyle">false</property>
+      <property id="title" type="i18n">STR_symbian_ua_guiSettingItemListView_1</property>
+      <property id="name">symbian_ua_guiSettingItemList</property>
+      <property id="exitsApp">false</property>
+      <component id="com.nokia.sdt.series60.CEikEdwin">
+        <compoundProperty id="size">
+          <property id="height">58</property>
+          <property id="width">240</property>
+        </compoundProperty>
+        <property id="defaultCase">EAknEditorLowerCase</property>
+        <compoundProperty id="avkonFlags"/>
+        <compoundProperty id="location">
+          <property id="x">0</property>
+          <property id="y">0</property>
+        </compoundProperty>
+        <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_5</property>
+        <compoundProperty id="flags"/>
+        <compoundProperty id="allowedCaseModes"/>
+        <property id="name">ed_registrar</property>
+        <property id="text" type="i18n">STR_symbian_ua_guiSettingItemListView_3</property>
+        <compoundProperty id="allowedInputModes">
+          <property id="EAknEditorKatakanaInputMode">true</property>
+          <property id="EAknEditorFullWidthTextInputMode">true</property>
+          <property id="EAknEditorFullWidthNumericInputMode">true</property>
+          <property id="EAknEditorFullWidthKatakanaInputMode">true</property>
+          <property id="EAknEditorHiraganaKanjiInputMode">true</property>
+          <property id="EAknEditorHalfWidthTextInputMode">true</property>
+        </compoundProperty>
+      </component>
+      <component id="com.nokia.sdt.series60.CEikEdwin">
+        <compoundProperty id="size">
+          <property id="height">58</property>
+          <property id="width">240</property>
+        </compoundProperty>
+        <property id="defaultCase">EAknEditorLowerCase</property>
+        <compoundProperty id="avkonFlags"/>
+        <compoundProperty id="location">
+          <property id="x">0</property>
+          <property id="y">58</property>
+        </compoundProperty>
+        <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_8</property>
+        <compoundProperty id="flags"/>
+        <compoundProperty id="allowedCaseModes"/>
+        <property id="name">ed_user</property>
+        <property id="text" type="i18n">STR_symbian_ua_guiSettingItemListView_7</property>
+        <compoundProperty id="allowedInputModes">
+          <property id="EAknEditorKatakanaInputMode">true</property>
+          <property id="EAknEditorFullWidthTextInputMode">true</property>
+          <property id="EAknEditorFullWidthNumericInputMode">true</property>
+          <property id="EAknEditorFullWidthKatakanaInputMode">true</property>
+          <property id="EAknEditorHiraganaKanjiInputMode">true</property>
+          <property id="EAknEditorHalfWidthTextInputMode">true</property>
+        </compoundProperty>
+      </component>
+      <component id="com.nokia.sdt.series60.SecretEditor">
+        <property id="maxLength">32</property>
+        <compoundProperty id="location">
+          <property id="x">0</property>
+          <property id="y">116</property>
+        </compoundProperty>
+        <property id="name">ed_password</property>
+        <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_16</property>
+        <compoundProperty id="size">
+          <property id="height">58</property>
+          <property id="width">240</property>
+        </compoundProperty>
+      </component>
+      <component id="com.nokia.sdt.series60.CAknBinaryPopupSettingItem">
+        <sequenceProperty id="items">
+          <compoundElement>
+            <property id="settingText" type="i18n">STR_symbian_ua_guiSettingItemListView_25</property>
+            <property id="popupText" type="i18n">STR_symbian_ua_guiSettingItemListView_26</property>
+            <property id="value">1</property>
+          </compoundElement>
+          <compoundElement>
+            <property id="settingText" type="i18n">STR_symbian_ua_guiSettingItemListView_27</property>
+            <property id="popupText" type="i18n">STR_symbian_ua_guiSettingItemListView_28</property>
+          </compoundElement>
+        </sequenceProperty>
+        <compoundProperty id="size">
+          <property id="height">0</property>
+          <property id="width">240</property>
+        </compoundProperty>
+        <compoundProperty id="location">
+          <property id="x">0</property>
+          <property id="y">174</property>
+        </compoundProperty>
+        <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_24</property>
+        <property id="active">1</property>
+        <property id="name">b_srtp</property>
+        <property id="itemHidden">true</property>
+      </component>
+      <component id="com.nokia.sdt.series60.CAknBinaryPopupSettingItem">
+        <sequenceProperty id="items">
+          <compoundElement>
+            <property id="settingText" type="i18n">STR_symbian_ua_guiSettingItemListView_47</property>
+            <property id="popupText" type="i18n">STR_symbian_ua_guiSettingItemListView_48</property>
+            <property id="value">1</property>
+          </compoundElement>
+          <compoundElement>
+            <property id="settingText" type="i18n">STR_symbian_ua_guiSettingItemListView_49</property>
+            <property id="popupText" type="i18n">STR_symbian_ua_guiSettingItemListView_50</property>
+          </compoundElement>
+        </sequenceProperty>
+        <compoundProperty id="size">
+          <property id="height">0</property>
+          <property id="width">240</property>
+        </compoundProperty>
+        <compoundProperty id="location">
+          <property id="x">0</property>
+          <property id="y">174</property>
+        </compoundProperty>
+        <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_46</property>
+        <property id="active">1</property>
+        <property id="name">b_ice</property>
+        <property id="itemHidden">true</property>
+      </component>
+      <component id="com.nokia.sdt.series60.CEikEdwin">
+        <compoundProperty id="size">
+          <property id="height">0</property>
+          <property id="width">240</property>
+        </compoundProperty>
+        <compoundProperty id="avkonFlags"/>
+        <compoundProperty id="location">
+          <property id="x">0</property>
+          <property id="y">174</property>
+        </compoundProperty>
+        <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_19</property>
+        <compoundProperty id="flags"/>
+        <compoundProperty id="allowedCaseModes"/>
+        <property id="name">ed_stun_server</property>
+        <property id="text" type="i18n">STR_symbian_ua_guiSettingItemListView_18</property>
+        <property id="itemHidden">true</property>
+        <compoundProperty id="allowedInputModes">
+          <property id="EAknEditorKatakanaInputMode">true</property>
+          <property id="EAknEditorFullWidthTextInputMode">true</property>
+          <property id="EAknEditorFullWidthNumericInputMode">true</property>
+          <property id="EAknEditorFullWidthKatakanaInputMode">true</property>
+          <property id="EAknEditorHiraganaKanjiInputMode">true</property>
+          <property id="EAknEditorHalfWidthTextInputMode">true</property>
+        </compoundProperty>
+      </component>
+    </component>
+    <component id="com.nokia.sdt.series60.MenuBar">
+      <compoundProperty id="location">
+        <property id="x">3</property>
+        <property id="y">248</property>
+      </compoundProperty>
+      <property id="name">optionsMenu</property>
+      <compoundProperty id="size">
+        <property id="height">40</property>
+        <property id="width">237</property>
+      </compoundProperty>
+      <component id="com.nokia.sdt.series60.MenuPane">
+        <compoundProperty id="location"/>
+        <property id="name">menuPane1</property>
+        <compoundProperty id="size">
+          <property id="height">40</property>
+          <property id="width">237</property>
+        </compoundProperty>
+        <component id="com.nokia.sdt.series60.MenuItem">
+          <compoundProperty id="location">
+            <property id="x">5</property>
+            <property id="y">2</property>
+          </compoundProperty>
+          <property id="name">menuItem1</property>
+          <property id="text" type="i18n">STR_symbian_ua_guiSettingItemListView_4</property>
+          <compoundProperty id="size">
+            <property id="width">222</property>
+            <property id="height">33</property>
+          </compoundProperty>
+          <eventBinding id="selected" handlerDisplay="HandleChangeSelectedSettingItemL" handlerSymbol="cpp@src//symbian_ua_guiSettingItemListView.cpp/function(Csymbian_ua_guiSettingItemListView::HandleChangeSelectedSettingItemL(TInt))"/>
+        </component>
+      </component>
+    </component>
+  </component>
+  <stringBundle>
+    <stringTable language="LANG_English">
+      <string id="STR_symbian_ua_guiSettingItemListView_1">Settings</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_2">Account Settings</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_4">Change</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_3"/>
+      <string id="STR_symbian_ua_guiSettingItemListView_5">Registrar</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_7"/>
+      <string id="STR_symbian_ua_guiSettingItemListView_8">User</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_16">Password</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_18"/>
+      <string id="STR_symbian_ua_guiSettingItemListView_19">STUN Server</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_24">SRTP</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_25">On</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_26">Popup text for On</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_27">Off</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_28">Popup text for Off</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_46">ICE</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_47">On</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_48">Popup text for On</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_49">Off</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_50">Popup text for Off</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_140">Options</string>
+      <string id="STR_symbian_ua_guiSettingItemListView_141">Done</string>
+    </stringTable>
+  </stringBundle>
+  <macroTable/>
+  <sourceMappingState>
+    <resourceMappings>
+      <resourceMapping instanceName="b_srtp" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_b_srtp_setting_page_resource</resourceMapping>
+      <resourceMapping instanceName="ed_stun_server">r_symbian_ua_gui_setting_item_list_ed_stun_server_editor_resource_id</resourceMapping>
+      <resourceMapping instanceName="b_ice" rsrcId="setting">r_symbian_ua_gui_setting_item_list_b_ice_setting_texts_resource</resourceMapping>
+      <resourceMapping instanceName="ed_registrar">r_symbian_ua_gui_setting_item_list_ed_registrar_editor_resource_id</resourceMapping>
+      <resourceMapping instanceName="ed_user" rsrcId="text">r_symbian_ua_gui_setting_item_list_ed_user</resourceMapping>
+      <resourceMapping instanceName="b_srtp" rsrcId="popup">r_symbian_ua_gui_setting_item_list_b_srtp_popped_up_texts_resource</resourceMapping>
+      <resourceMapping instanceName="ed_stun_server" rsrcId="text">r_symbian_ua_gui_setting_item_list_ed_stun_server</resourceMapping>
+      <resourceMapping instanceName="optionsMenu">r_symbian_ua_gui_setting_item_list_options_menu</resourceMapping>
+      <resourceMapping instanceName="ed_password" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_ed_password_setting_page_resource</resourceMapping>
+      <resourceMapping instanceName="b_ice" rsrcId="popup">r_symbian_ua_gui_setting_item_list_b_ice_popped_up_texts_resource</resourceMapping>
+      <resourceMapping instanceName="symbian_ua_guiSettingItemListView">r_symbian_ua_gui_setting_item_list_symbian_ua_gui_setting_item_list_view</resourceMapping>
+      <resourceMapping instanceName="ed_password">r_symbian_ua_gui_setting_item_list_ed_password_editor_resource_id</resourceMapping>
+      <resourceMapping instanceName="symbian_ua_guiSettingItemList">r_symbian_ua_gui_setting_item_list_symbian_ua_gui_setting_item_list</resourceMapping>
+      <resourceMapping instanceName="b_ice" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_b_ice_setting_page_resource</resourceMapping>
+      <resourceMapping instanceName="statusPane">r_symbian_ua_gui_setting_item_list_status_pane</resourceMapping>
+      <resourceMapping instanceName="b_ice">r_symbian_ua_gui_setting_item_list_b_ice_editor_resource_id</resourceMapping>
+      <resourceMapping instanceName="ed_user">r_symbian_ua_gui_setting_item_list_ed_user_editor_resource_id</resourceMapping>
+      <resourceMapping instanceName="b_srtp" rsrcId="associated">r_symbian_ua_gui_setting_item_list_b_srtp</resourceMapping>
+      <resourceMapping instanceName="ed_registrar" rsrcId="text">r_symbian_ua_gui_setting_item_list_ed_registrar</resourceMapping>
+      <resourceMapping instanceName="b_srtp">r_symbian_ua_gui_setting_item_list_b_srtp_editor_resource_id</resourceMapping>
+      <resourceMapping instanceName="b_srtp" rsrcId="setting">r_symbian_ua_gui_setting_item_list_b_srtp_setting_texts_resource</resourceMapping>
+      <resourceMapping instanceName="ed_registrar" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_ed_registrar_setting_page_resource</resourceMapping>
+      <resourceMapping instanceName="menuPane1">r_symbian_ua_gui_setting_item_list_menu_pane1_menu_pane</resourceMapping>
+      <resourceMapping instanceName="ed_user" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_ed_user_setting_page_resource</resourceMapping>
+      <resourceMapping instanceName="controlPane">r_symbian_ua_gui_setting_item_list_control_pane</resourceMapping>
+      <resourceMapping instanceName="title">r_symbian_ua_gui_setting_item_list_title_resource</resourceMapping>
+      <resourceMapping instanceName="ed_stun_server" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_ed_stun_server_setting_page_resource</resourceMapping>
+      <resourceMapping instanceName="b_ice" rsrcId="associated">r_symbian_ua_gui_setting_item_list_b_ice</resourceMapping>
+    </resourceMappings>
+    <enumMappings>
+      <enumMapping instanceName="menuItem1" propertyId="command" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">ESymbian_ua_guiSettingItemListViewMenuItem1Command</enumMapping>
+      <enumMapping instanceName="ed_password" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewEd_password</enumMapping>
+      <enumMapping instanceName="ed_user" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EEikCtEdwin</enumMapping>
+      <enumMapping instanceName="ed_stun_server" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewEd_stun_server</enumMapping>
+      <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_STATUS_PANE_ID">EEikStatusPaneUidTitle</enumMapping>
+      <enumMapping instanceName="ed_user" propertyId="defaultCase">EAknEditorLowerCase</enumMapping>
+      <enumMapping instanceName="b_ice" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewB_ice</enumMapping>
+      <enumMapping instanceName="ed_user" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping>
+      <enumMapping instanceName="ed_stun_server" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EEikCtEdwin</enumMapping>
+      <enumMapping instanceName="b_srtp" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewB_srtp</enumMapping>
+      <enumMapping instanceName="ed_user" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping>
+      <enumMapping instanceName="ed_registrar" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping>
+      <enumMapping instanceName="b_srtp" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtPopupSettingList</enumMapping>
+      <enumMapping instanceName="ed_registrar" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping>
+      <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtTitlePane</enumMapping>
+      <enumMapping instanceName="symbian_ua_guiSettingItemListView" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">ESymbian_ua_guiSettingItemListViewId</enumMapping>
+      <enumMapping instanceName="ed_registrar" propertyId="defaultCase">EAknEditorLowerCase</enumMapping>
+      <enumMapping instanceName="ed_password" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EEikCtSecretEd</enumMapping>
+      <enumMapping instanceName="controlPane" propertyId="leftId" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">EAknSoftkeyOptions</enumMapping>
+      <enumMapping instanceName="ed_user" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewEd_user</enumMapping>
+      <enumMapping instanceName="controlPane" propertyId="rightId" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">EAknSoftkeySave</enumMapping>
+      <enumMapping instanceName="ed_stun_server" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping>
+      <enumMapping instanceName="save_SettingsMenuItem" propertyId="command" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">ESymbian_ua_guiSettingItemListViewSave_SettingsMenuItemCommand</enumMapping>
+      <enumMapping instanceName="ed_registrar" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewEd_registrar</enumMapping>
+      <enumMapping instanceName="ed_stun_server" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping>
+      <enumMapping instanceName="b_ice" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtPopupSettingList</enumMapping>
+      <enumMapping instanceName="ed_registrar" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EEikCtEdwin</enumMapping>
+      <enumMapping instanceName="ed_stun_server" propertyId="defaultCase">EAknEditorTextCase</enumMapping>
+    </enumMappings>
+    <arrayMappings/>
+  </sourceMappingState>
+  <generatedFiles>
+    <file>src/symbian_ua_guiSettingItemList.cpp</file>
+    <file>src/Symbian_ua_guiSettingItemListSets.cpp</file>
+    <file>src/symbian_ua_guiSettingItemListView.cpp</file>
+    <file>inc/Symbian_ua_guiSettingItemListSettings.h</file>
+    <file>inc/symbian_ua_guiSettingItemList.h</file>
+    <file>inc/symbian_ua_guiSettingItemListView.h</file>
+    <file>data/symbian_ua_gui.rss</file>
+    <file>data/symbian_ua_guiContainer.rssi</file>
+    <file>inc/symbian_ua_gui.hrh</file>
+    <file>inc/symbian_ua_guiContainer.hrh</file>
+    <file>data/symbian_ua_guiSettingItemList.rssi</file>
+    <file>inc/symbian_ua_guiSettingItemList.hrh</file>
+    <file>data/symbian_ua_gui.loc</file>
+    <file>data/symbian_ua_gui.l01</file>
+    <file>data/symbian_ua_guiContainer.loc</file>
+    <file>data/symbian_ua_guiContainer.l01</file>
+    <file>data/symbian_ua_guiSettingItemList.loc</file>
+    <file>data/symbian_ua_guiSettingItemList.l01</file>
+  </generatedFiles>
+</designerData>
