voipplugins/voipadapters/cpvoipadapter/inc/CWPVoIPItem.h
branchRCL_3
changeset 22 d38647835c2e
parent 0 a4daefaec16c
equal deleted inserted replaced
21:f742655b05bf 22:d38647835c2e
       
     1 /*
       
     2 * Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Holds and stores one VoIP item.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CWPVOIPITEM_H
       
    20 #define CWPVOIPITEM_H
       
    21 
       
    22 //  INCLUDES
       
    23 #include <e32base.h> // CBase.
       
    24 #include <crcseprofileentry.h> // TOnOff, RCSE entry
       
    25 #include "CWPVoIPCodec.h" // VoIP codecs.
       
    26 
       
    27 // CONSTANTS
       
    28 const TUint KMaxTerminalTypeLength = 64;
       
    29 const TUint KWlanMacAddressLength  = 50;
       
    30 const TUint KPhoneModelLength      = 20;
       
    31 const TUint KUAHLength             = 200;
       
    32 
       
    33 // MACROS
       
    34 
       
    35 // DATA TYPES
       
    36 typedef CRCSEProfileEntry VoIPProfileEntry;
       
    37 
       
    38 // FORWARD DECLARATIONS
       
    39 class CWPCharacteristic;
       
    40 class CWPVoIPCodec;
       
    41 class CCoeEnv;
       
    42 
       
    43 // CLASS DECLARATION
       
    44 /**
       
    45  *  This class keeps transiently the VoIP setting values and stores the 
       
    46  *  values via interface provided by RCSE and SPS.
       
    47  *
       
    48  *  @lib CWPVoIPAdapter.lib
       
    49  *  @since S60 3.0
       
    50  */
       
    51 class CWPVoIPItem : public CBase
       
    52     {    
       
    53     #ifdef _DEBUG
       
    54     /**
       
    55      * Friend class for unit testing.
       
    56      */
       
    57     friend class UT_CWPVoIPItem;
       
    58     friend class UT_CWPVoIPAdapter;
       
    59     #endif
       
    60 
       
    61     public: // Data types 
       
    62         
       
    63         /**  For setting telephony preference */
       
    64         enum TTelephonyPreference
       
    65             {
       
    66             ECSPreferred,
       
    67             EPSPreferred
       
    68             };
       
    69 
       
    70         /** For telling which settings storage ID is related to. */
       
    71         enum TSettingsType
       
    72             {
       
    73             ESIP,
       
    74             ESCCP,
       
    75             ENATFW,
       
    76             EPresence,
       
    77             ESNAP
       
    78             };
       
    79 
       
    80     public: // Constructor and destructor
       
    81         
       
    82         static CWPVoIPItem* NewL();
       
    83         virtual ~CWPVoIPItem();
       
    84 
       
    85     public: // New functions
       
    86 
       
    87         /**
       
    88          * Setter for AppRef.
       
    89          *
       
    90          * @since S60 3.2
       
    91          * @param aAppRef.
       
    92          */
       
    93         void SetAppRefL( const TDesC8& aAppRef );
       
    94 
       
    95         /**
       
    96          * Getter for AppRef.
       
    97          *
       
    98          * @since S60 3.2
       
    99          * @return AppRef.
       
   100          */        
       
   101         HBufC8* AppRef();
       
   102 
       
   103         /**
       
   104          * Setter for provider.
       
   105          *
       
   106          * @since S60 3.0
       
   107          * @param aPROVIDERID.
       
   108          */
       
   109         void SetProviderIdL( const TDesC& aPROVIDERID );
       
   110 
       
   111         /**
       
   112          * Setter for user viewable name of the setting.
       
   113          *
       
   114          * @since S60 3.0
       
   115          * @param aNAME - value is TCP or UDP.
       
   116          */
       
   117         void SetNameL( const TDesC& aNAME );
       
   118 
       
   119         /**
       
   120          * Setter for TO-APPREF parameter values.
       
   121          *
       
   122          * @since S60 3.0
       
   123          * @param aTOAPPREF (i.e.actual CP parameter TO-APPREF).
       
   124          */
       
   125         void AddToAppRefL( const TDesC8& aTOAPPREF );
       
   126 
       
   127         /**
       
   128          * Setter for start media port.
       
   129          *
       
   130          * @since S60 3.0
       
   131          * @param aSMPORT.
       
   132          */
       
   133         void SetStartMediaPort( TInt aSMPORT );
       
   134 
       
   135         /**
       
   136          * Setter for end media port.
       
   137          *
       
   138          * @since S60 3.0
       
   139          * @param aEMPORT.
       
   140          */
       
   141         void SetEndMediaPort( TInt aEMPORT );
       
   142 
       
   143         /**
       
   144          * Setter for media QoS.
       
   145          *
       
   146          * @since S60 3.0
       
   147          * @param aMediaQoSValue.
       
   148          */
       
   149         void SetMediaQoS( TInt aMEDIAQOS );
       
   150 
       
   151         /**
       
   152          * Setter for switching DTMF in-band on/off.
       
   153          *
       
   154          * @since S60 3.0
       
   155          * @param aDTMFInBand (derived from CP parameter NODTMFIB, where
       
   156          * "NO" means negation).
       
   157          */
       
   158         void SetDTMFInBand( TInt aDTMFInBand );
       
   159 
       
   160         /**
       
   161          * Setter for DTMF out-of-band parameter.
       
   162          *
       
   163          * @since S60 3.0
       
   164          * @param aDTMFOutBandValue (derived from CP parameter 
       
   165          * NODTMFOOB, where "NO" means negation).
       
   166          */
       
   167         void SetDTMFOutBand( TInt aDTMFOutBandValue );
       
   168 
       
   169         /**
       
   170          * Setter for VoIP codecs.
       
   171          * Takes ownership of aVoIPCodec.
       
   172          *
       
   173          * @since S60 3.0
       
   174          * @param aVoIPCodec.
       
   175          */
       
   176         void AddCodecL( const CWPVoIPCodec* aVoIPCodec );
       
   177 
       
   178         /**
       
   179          * Setter for iSecureCallPreference.
       
   180          *
       
   181          * @since S60 3.0
       
   182          * @return aSecureCallPreference.
       
   183          */
       
   184         void SetSecureCallPref( TInt aSecureCallPref );
       
   185 
       
   186         /**
       
   187          * Setter for iRTCP.
       
   188          *
       
   189          * @since S60 3.0
       
   190          * @param aRTCP.
       
   191          */
       
   192         void SetRTCP( TInt aRTCP );
       
   193 
       
   194         /**
       
   195          * Setter for iUAHTerminalType.
       
   196          *
       
   197          * @since S60 3.0
       
   198          * @param aUAHTerminalType SIP User Agent Header:
       
   199          *                         terminal type display.
       
   200          */
       
   201         void SetUAHTerminalType( TInt aUAHTerminalType );
       
   202 
       
   203         /**
       
   204          * Setter for iUAHWLANMAC.
       
   205          *
       
   206          * @since S60 3.0
       
   207          * @param aUAHWLANMAC SIP User Agent Header: WLAN MAC address display.
       
   208          */
       
   209         void SetUAHWLANMAC( TInt aUAHWLANMAC );
       
   210 
       
   211         /**
       
   212          * Setter for iUAHString.
       
   213          *
       
   214          * @since S60 3.0
       
   215          * @param aUAHString SIP User Agent Header: free string.
       
   216          */
       
   217         void SetUAHStringL( const TDesC& aUAHString );
       
   218 
       
   219         /**
       
   220          * Setter for iProfileLockedToIAP.
       
   221          *
       
   222          * @since S60 3.0
       
   223          * @param aProfileLockedToIAP Is profile locked to a pre-defined IAP.
       
   224          */
       
   225         void SetProfileLockedToIAP( TInt aProfileLockedToIAP );
       
   226 
       
   227         /**
       
   228          * Setter for iVoIPPluginUid.
       
   229          *
       
   230          * @since S60 3.0
       
   231          * @param aVoIPPluginUid VoIP plugin UID.
       
   232          */
       
   233         void SetVoIPPluginUid( TInt aVoIPPluginUid );
       
   234 
       
   235         /**
       
   236          * Setter for iAllowVoIPOverWCDMA.
       
   237          *
       
   238          * @since S60 3.0
       
   239          * @param aAllowVoIPOverWCDMA Allow VoIP over WCDMA.
       
   240          */
       
   241         void SetAllowVoIPOverWCDMA( TInt aAllowVoIPOverWCDMA );
       
   242 
       
   243         /**
       
   244          * Setter for iVoIPDigits.
       
   245          *
       
   246          * @since S60 3.0
       
   247          * @param aVoIPDigits Number of meaningful VoIP digits for call
       
   248          *                    identification.
       
   249          */
       
   250         void SetVoIPDigits( TInt aVoIPDigits );
       
   251 
       
   252         /**
       
   253          * Setter for iDomainPartIgnoreRule.
       
   254          *
       
   255          * @since S60 3.0
       
   256          * @param aDomainPartIgnoreRule Rule for ignoring domain part of URI 
       
   257          *                              for VoIP calls.
       
   258          */
       
   259         void SetDomainPartIgnoreRule( TInt aDomainPartIgnoreRule );
       
   260 
       
   261         /**
       
   262          * Setter for iAddUserPhoneToAllNumbers.
       
   263          *
       
   264          * @since S60 3.2
       
   265          * @param aAddUserPhone The indication whether or not to add 
       
   266          *        user=phone to all numbers.
       
   267          */
       
   268         void SetAddUserPhone( TInt32 aAddUserPhone );
       
   269 
       
   270         /**
       
   271          * Setter for iSIPConnTestAddress.
       
   272          *
       
   273          * @since S60 3.2
       
   274          * @param aSIPConnTestAddress Connectivity test call address 
       
   275          *        in registering.
       
   276          */
       
   277         void SetSipConnTestAddressL( const TDesC& aSIPConnTestAddress );
       
   278 
       
   279          /**
       
   280           * Setter for iServiceProviderBookmark.
       
   281           *
       
   282           * @since S60 3.2
       
   283           * @param aServiceProviderBookmark Absolute URI for service 
       
   284           *        provider bookmark.
       
   285           */         
       
   286         void SetServiceProviderBookmarkL( 
       
   287             const TDesC& aServiceProviderBookmark );
       
   288 
       
   289         /**
       
   290          * Setter for iSIPMinSE.
       
   291          *
       
   292          * @since S60 3.2
       
   293          * @param aSIPMinSE The minimum allowed value for the session timer.
       
   294          */
       
   295         void SetSipMinSe( TInt32 aSIPMinSE );
       
   296 
       
   297         /**
       
   298          * Setter for iSIPSessionExpires.
       
   299          *
       
   300          * @since S60 3.2
       
   301          * @param aSIPMinSE The session interval for a SIP session.
       
   302          */
       
   303         void SetSipSessionExpires( TInt32 aSIPSessionExpires );
       
   304 
       
   305         /**
       
   306          * Setter for iIPVoiceMailBoxURI.
       
   307          *
       
   308          * @since S60 3.
       
   309          * @param aIPVoiceMailBoxURI IP Voice Mail Box address.
       
   310          */
       
   311         void SetIPVoiceMailBoxURIL( const TDesC& aIPVoiceMailBoxURI );
       
   312 
       
   313         /**
       
   314          * Setter for iVmbxListenAddress.
       
   315          *
       
   316          * @since S60 3.2
       
   317          * @param aVmbxListenAddress VoiceMailBox listening address.
       
   318          */
       
   319         void SetVoiceMailBoxListenURIL( const TDesC& aVmbxListenAddress );
       
   320 
       
   321         /**
       
   322          * Setter for iReSubscribeInterval.
       
   323          *
       
   324          * @since S60 3.2
       
   325          * @param aReSubscribeInterval Interval for sending re-SUBSCRIBE.
       
   326          */
       
   327         void SetReSubscribeInterval( TInt32 aReSubscribeInterval );
       
   328 
       
   329         /**
       
   330          * Setter for iBrandingDataAddress.
       
   331          *
       
   332          * @since S60 3.2
       
   333          * @param aBrandingDataAddress URI to branding data xml.
       
   334          */
       
   335         void SetBrandingDataAddressL( const TDesC& aVmbxListenAddress );
       
   336 
       
   337         /**
       
   338          * Setter for iAutoAcceptBuddy.
       
   339          *
       
   340          * @since S60 3.2
       
   341          * @param aAutoAcceptBuddy for defining auto accept buddy presence
       
   342          *        subscription request.
       
   343          */
       
   344         void SetAutoAcceptBuddyRequest( TInt32 aAutoAcceptBuddyRequest );
       
   345 
       
   346         /**
       
   347          * Setter for iAutoEnableService.
       
   348          *
       
   349          * @since S60 3.2
       
   350          * @param aAutoEnableService for defining 
       
   351          *        auto enable state of service.
       
   352          */
       
   353         void SetAutoEnableService( TInt32 aAutoEnableService );
       
   354 
       
   355         /**
       
   356          * Setter for NAPDEF (IAP settings).
       
   357          *
       
   358          * @since S60 3.2
       
   359          * @param aNapDef NAPDEF (IAP settings) characteristic.
       
   360          */
       
   361         void SetNapDef( CWPCharacteristic* aNapDef );
       
   362 
       
   363         /**
       
   364          * Setter for TO-NAPID parameter.
       
   365          *
       
   366          * @since S60 3.2
       
   367          * @param aNapDefName TO-NAPID value.
       
   368          */
       
   369         void SetToNapIdL( const TDesC8& ToNapId );
       
   370 
       
   371         /**
       
   372          * Setter for IAP ID.
       
   373          *
       
   374          * @since S60 3.2
       
   375          * @param aIapId IAP ID.
       
   376          */
       
   377         void SetIapId( TUint32 aIapId );
       
   378 
       
   379         /**
       
   380          * Setter for storage ID's (APPREF/TO-APPREF linkage).
       
   381          *
       
   382          * @since S60 3.2
       
   383          * @param aAppId APPID value.
       
   384          * @param aStorageId Storage ID.
       
   385          * @return ETrue if storage ID was set,
       
   386                    EFalse if storage ID was not set.
       
   387          */
       
   388         TBool SetStorageId( TSettingsType aProfileType, TUint32 aStorageId, 
       
   389             const TDesC8& aAppRef );
       
   390 
       
   391         /**
       
   392          * Sets TO-APPREF value to internal variable.
       
   393          *
       
   394          * @since S60 3.2
       
   395          * @param aToAppRef TO-APPREF value.
       
   396          */
       
   397         void SetVoipUrisToAppRefL( const TDesC8& aToAppRef );
       
   398 
       
   399         /**
       
   400          * Setter for iUsedNatProtocol.
       
   401          *
       
   402          * @since S60 3.2
       
   403          * @param aUsedNatProtocol for indicating which NAT protocol should
       
   404          *        be used.         
       
   405          */
       
   406          void SetUsedNatProtocol( TInt32 aUsedNatProtocol);
       
   407 
       
   408         /**
       
   409          * Getter for user viewable name of VoIP settings item.
       
   410          *
       
   411          * @since S60 3.0
       
   412          * @return Settings name.
       
   413          */
       
   414         const TDesC& Name() const; 
       
   415         
       
   416         /** 
       
   417          * Getter for iUAHString.
       
   418          *
       
   419          * @since S60 3.0
       
   420          * @return SIP VoIP User Agent header: free string.
       
   421          */
       
   422         const TDesC& UAHString() const;
       
   423 
       
   424         /**
       
   425          * Getter for NAPDEF (IAP settings).
       
   426          *
       
   427          * @since S60 3.2
       
   428          * @return NAPDEF characteristic.
       
   429          */
       
   430         CWPCharacteristic* NapDef();
       
   431 
       
   432         /**
       
   433          * Getter for TO-NAPID value.
       
   434          *
       
   435          * @since S60 3.2.
       
   436          * @return TO-NAPID value.
       
   437          */
       
   438         const TDesC8& ToNapId() const;
       
   439 
       
   440         /**
       
   441          * Returns TO-APPREF value.
       
   442          *
       
   443          * @since S60 3.2
       
   444          * @return TO-APPREF value.
       
   445          */
       
   446         const TDesC8& VoipUrisToAppRef() const;
       
   447 
       
   448         /**
       
   449          * Saves the VoIP settings and returns the uid of the stored new VoIP 
       
   450          * profile.
       
   451          *
       
   452          * @since S60 3.0
       
   453          * @return VoIP profile ID.
       
   454          */
       
   455         TUint StoreL();
       
   456 
       
   457         /**
       
   458          * Return profile ID as a descriptor.
       
   459          *
       
   460          * @since 3.0
       
   461          * @return ID of the VoIP item (VoIP profile ID).
       
   462          */
       
   463         const TDesC8& SaveData() const;
       
   464 
       
   465         /**
       
   466          * Make update for data that is received after the actual StoreL save 
       
   467          * method call. Data received after that can be: SIP profile ids in 
       
   468          * VoIP profile settings and in the SIP specific VoIP settings items 
       
   469          * and SCCP profile ids. SIP and SCCP ids are always received from the
       
   470          * other adapters via CWPAdapter::SettingsSaved mehod that can be
       
   471          * called after call to StoreL.
       
   472          *
       
   473          * @since S60 3.0
       
   474          */
       
   475         void SavingFinalizedL();
       
   476 
       
   477         /**
       
   478          * Sets CS/PS telephony preference.
       
   479          *
       
   480          * @since S60 3.0
       
   481          * @param aTelephonyPreference state to set
       
   482          */
       
   483         void SetTelephonyPreferenceL( const TTelephonyPreference& 
       
   484             aTelephonyPreference ) const;
       
   485 
       
   486         /**
       
   487          * Gather SIP User-Agent header.
       
   488          *
       
   489          * @since S60 3.0
       
   490          * @param aUserAgentHeader User Agent Header.
       
   491          */
       
   492         void GetUserAgentHeaderL( TBuf8<KUAHLength>& aUserAgentHeader ) const;
       
   493 
       
   494         /**
       
   495          * Getter for RCSE storage ID.
       
   496          *
       
   497          * @since S60 3.2
       
   498          * @return RCSE storage ID.
       
   499          */
       
   500         TUint32 ItemId();
       
   501 
       
   502         /**
       
   503          * Sets IM enabled flag to true.
       
   504          *
       
   505          * @since S60 3.2
       
   506          */
       
   507         void EnableIm();
       
   508 
       
   509     private:
       
   510 
       
   511         CWPVoIPItem();
       
   512         void ConstructL();
       
   513 
       
   514     private: // New functions
       
   515 
       
   516         /**
       
   517          * Check for duplicate provider and settingsname and renames if same.
       
   518          *
       
   519          * @since S60 3.0
       
   520          * @param aProfile Profile to check.
       
   521          * @return ETrue if operation was done; otherwise EFalse.
       
   522          */
       
   523         TBool CheckDuplicatesL( CRCSEProfileEntry& aEntry ) const;
       
   524 
       
   525         /**
       
   526          * Get Terminal Type for SIP User Agent Header.
       
   527          *
       
   528          * @since S60 3.0
       
   529          * @param aTeminalType Terminal type.
       
   530          */
       
   531         void GetTerminalTypeL( 
       
   532             TBuf<KMaxTerminalTypeLength>& aTerminalType ) const;
       
   533 
       
   534         /**
       
   535          * Get WLAN MAC address for SIP User Agent Header.
       
   536          *
       
   537          * @since S60 3.0
       
   538          * @param aMac WLAN MAC address.
       
   539          */
       
   540         void GetWlanMacAddressL( TBuf<KWlanMacAddressLength>& aMac ) const;
       
   541 
       
   542         /**
       
   543          * Cleanup method for array.
       
   544          *
       
   545          * @since S60 3.1
       
   546          * @param aParameter Parameter to be cleaned.
       
   547          */
       
   548         static void CleanupArrayItem( TAny* aArray );
       
   549 
       
   550         /**
       
   551          * Creates default codecs.
       
   552          *
       
   553          * @since S60 3.2
       
   554          * @param aProfile Profile to append new codecs.
       
   555          */
       
   556         void AddDefaultCodecsL( CRCSEProfileEntry& aProfileEntry );
       
   557 
       
   558     private: // Data.
       
   559 
       
   560         /*
       
   561          * VoIP codecs.
       
   562          * Own.
       
   563          */
       
   564          RPointerArray<CWPVoIPCodec> iCodecs;
       
   565 
       
   566         /*
       
   567          * Identifies the item.
       
   568          */
       
   569         TUint iItemId;
       
   570 
       
   571         /* Provider of settings. See OMA ProvCont document.
       
   572          * CP parameter: PROVIDER-ID.
       
   573          * Own.
       
   574          */
       
   575         HBufC* iProviderId;
       
   576 
       
   577         /* Name of VoIP settings visible to user when viewing the provisioning
       
   578          * message. See OMA ProvCont document.
       
   579          * CP parameter: NAME
       
   580          * Own.
       
   581          */
       
   582         HBufC* iName;
       
   583 
       
   584         /* All APPREFs that are referenced from this VoIP item's TO-APPREF 
       
   585          * parameter.
       
   586          * Own.
       
   587          */
       
   588         RPointerArray<HBufC8> iToAppRefs;
       
   589 
       
   590         /* Start media port.See w9013.txt or VoIP software settings document.
       
   591          * CP parameter: SMPORT.
       
   592          */
       
   593         TInt32 iStartMediaPort;
       
   594 
       
   595         /* End media port.See w9013.txt or VoIP software settings document.
       
   596          * CP parameter: EMPORT.
       
   597          */
       
   598         TInt32 iEndMediaPort;
       
   599 
       
   600         /* Quality of service for the media.See w9013.txt or VoIP software 
       
   601          * settings document.
       
   602          * CP parameter: MEDIAQOS.
       
   603          */
       
   604         TInt32 iMediaQoS;
       
   605 
       
   606         /* In band. See w9013.txt or VoIP software settings document.
       
   607          * CP parameter: NODTMFIB
       
   608          */
       
   609         TInt32 iDTMFInBand;
       
   610 
       
   611         /* Out-of-band. See w9013.txt or VoIP software settings document.
       
   612          * CP parameter: NODTMFOOB.
       
   613          */
       
   614         TInt32 iDTMFOutBand;
       
   615 
       
   616         /* VoIP id as descriptor to be returned by the SaveData method to the 
       
   617          * framework via adapter SaveDataL.
       
   618          * Own.
       
   619          */
       
   620         HBufC8* iSavedProfileId;
       
   621 
       
   622         /**
       
   623          * Secure call preference. See w9013.txt or VoIP software settings
       
   624          * document.
       
   625          */
       
   626         TInt iSecureCallPref;
       
   627 
       
   628         /**
       
   629          * RTCP, Real-Time Control Protocol reporting. See w9013.txt or VoIP
       
   630          * software settings document.
       
   631          */
       
   632         TInt iRTCP;
       
   633 
       
   634         /**
       
   635          * SIP VoIP User Agent header: terminal type display. See w9013.txt or
       
   636          * VoIP software settings document.
       
   637          */
       
   638         TInt iUAHTerminalType;
       
   639 
       
   640         /**
       
   641          * SIP VoIP User Agent header WLAN MAC address display. See w9013.txt
       
   642          * or VoIP software settings document.
       
   643          */
       
   644         TInt iUAHWLANMAC;
       
   645 
       
   646         /**
       
   647          * SIP VoIP User Agent header: free string. See w9013.txt or VoIP
       
   648          * software settings document.
       
   649          * Own.
       
   650          */
       
   651         HBufC* iUAHString;
       
   652 
       
   653         /**
       
   654          * Profile locked to IAP. See w9013.txt or VoIP software settings
       
   655          * document.
       
   656          */
       
   657         TInt iProfileLockedToIAP;
       
   658 
       
   659         /**
       
   660          * VoIP plugin UID. See w9013.txt or VoIP software settings document.
       
   661          */
       
   662         TInt iVoIPPluginUid;
       
   663 
       
   664         /**
       
   665          * Allow VoIP over WCDMA. See w9013.txt or VoIP software settings
       
   666          * document.
       
   667          */
       
   668         TInt iAllowVoIPOverWCDMA;
       
   669 
       
   670         /**
       
   671          * Number of meaningful VoIP digits for call identification.
       
   672          * See w9013.txt.
       
   673          */
       
   674         TInt iVoIPDigits;
       
   675 
       
   676         /**
       
   677          * Ignore domain part of address (URI) for VoIP calls rule.
       
   678          * See w9013.txt.
       
   679          */
       
   680         TInt iDomainPartIgnoreRule;
       
   681 
       
   682         /**
       
   683          * Flag to prevent set vmbx sip id if no vmbx settings are used.         
       
   684          */
       
   685         TBool iVmbxSettingsExist;
       
   686 
       
   687         /**
       
   688          * Whether or not to add user=phone to all numbers.
       
   689          * See w9013.txt.
       
   690          */
       
   691         TInt32 iAddUserPhoneToAllNumbers;
       
   692 
       
   693         /**
       
   694          * Connectivity test call address in registering.
       
   695          * See w9013.txt.
       
   696          * Own.
       
   697          */   
       
   698         HBufC* iSIPConnTestAddress;
       
   699 
       
   700         /**
       
   701          * Absolute URI for service provider bookmark.
       
   702          * See w9013.txt.
       
   703          * Own.
       
   704          */   
       
   705         HBufC* iServiceProviderBookmark;
       
   706 
       
   707         /**
       
   708          * The minimum allowed value for the session timer.
       
   709          * See w9013.txt.
       
   710          */
       
   711         TInt32 iSIPMinSE;
       
   712 
       
   713         /**
       
   714          * The session interval for a SIP session.
       
   715          * See w9013.txt.
       
   716          */
       
   717         TInt32 iSIPSessionExpires;
       
   718 
       
   719         /**
       
   720          * VoiceMailBox: MWI-URI.
       
   721          * See w9013.txt.
       
   722          * Own.
       
   723          */
       
   724         HBufC* iIPVoiceMailBoxURI;
       
   725 
       
   726         /**
       
   727          * VoiceMailBox: VoiceMailBox listening address.
       
   728          * See w9013.txt.
       
   729          * Own.
       
   730          */
       
   731         HBufC* iVmbxListenAddress;
       
   732 
       
   733         /**
       
   734          * VoiceMailBox: Interval for sending re-SUBSCRIBE.
       
   735          * See w9013.txt.
       
   736          */
       
   737         TInt32 iReSubscribeInterval;
       
   738 
       
   739         /**
       
   740          * VoiceMailBox: NAPDEF.
       
   741          * See w9013.txt.
       
   742          * Not own.
       
   743          */
       
   744         CWPCharacteristic* iNapDef;
       
   745 
       
   746         /**
       
   747          * VoiceMailBox: IAP ID.
       
   748          * See w9013.txt.
       
   749          */
       
   750         TUint32 iVmbxIapId;
       
   751 
       
   752         /**
       
   753          * URI to branding data xml.
       
   754          * See w9013.txt
       
   755          * Own.
       
   756          */   
       
   757         HBufC* iBrandingDataAddress;
       
   758 
       
   759         /**
       
   760          * Auto accept buddy presence subscription request.
       
   761          * see w9013.txt.
       
   762          */
       
   763         TInt32 iAutoAcceptBuddyRequest;
       
   764 
       
   765         /**
       
   766          * Auto enable state of service.
       
   767          * see w9013.txt.
       
   768          */
       
   769         TInt32 iAutoEnableService;
       
   770 
       
   771         /**
       
   772          * TO-NAPID value.
       
   773          * See w9013.txt
       
   774          * Own.
       
   775          */
       
   776         HBufC8* iToNapId;
       
   777 
       
   778         /**
       
   779          * SIP profile ID for VoIP profile.
       
   780          */
       
   781         TUint32 iSipId;
       
   782 
       
   783         /**
       
   784          * SCCP profile ID for VoIP profile.
       
   785          */
       
   786         TUint32 iSccpId;
       
   787 
       
   788         /**
       
   789          * SIP profile ID for VoiceMailBox.
       
   790          */
       
   791         TUint32 iVmbxSipId;
       
   792 
       
   793         /**
       
   794          * NATFW profile ID for VoIP profile.
       
   795          */
       
   796         TUint32 iNatFwId;
       
   797 
       
   798         /**
       
   799          * Presence settings ID for service settings.
       
   800          */
       
   801         TUint32 iPresenceId;
       
   802 
       
   803         /**
       
   804          * Boolean for telling if SIP ID is already set.
       
   805          */
       
   806         TBool iSipIdSet;
       
   807 
       
   808         /**
       
   809          * Boolean for telling if SCCP ID is already set.
       
   810          */
       
   811         TBool iSccpIdSet;
       
   812 
       
   813         /**
       
   814          * Boolean for telling if VMBX SIP ID is already set.
       
   815          */
       
   816         TBool iVmbxSipIdSet;
       
   817 
       
   818         /**
       
   819          * Boolean for telling if NATFW ID is already set.
       
   820          */
       
   821         TBool iNatFwIdSet;
       
   822 
       
   823         /**
       
   824          * Boolean for telling if Presence ID is already set.
       
   825          */
       
   826         TBool iPresenceIdSet;
       
   827 
       
   828         /**
       
   829          * TO-APPREF value under characteristic VOIPURIS.
       
   830          * Own.
       
   831          */
       
   832         HBufC8* iVoipUrisToAppRef;
       
   833 
       
   834         /**
       
   835          * Indicates which NAT protocol should be used.
       
   836          * see w9013.txt.
       
   837          */
       
   838         TInt32 iUsedNatProtocol;
       
   839 
       
   840         /**
       
   841          * Boolean for telling if SNAP ID is already set.
       
   842          */
       
   843         TBool iSnapIdSet;
       
   844 
       
   845         /**
       
   846          * SNAP profile ID for VoIP profile.
       
   847          */
       
   848         TUint32 iSnapId;        
       
   849 
       
   850         /**
       
   851          * APPREF of this settings item.
       
   852          * Own.
       
   853          */
       
   854         HBufC8* iAppRef;
       
   855 
       
   856         /**
       
   857          * Tells if IM is enabled or not.
       
   858          */
       
   859         TBool iImEnabled;
       
   860     };
       
   861 
       
   862 #endif      // CWPVOIPITEM_H
       
   863             
       
   864 // End of File