class CSIPProfile:
/** * SIP Profile ID which value is type of TUint32 */ const TUint32 KSIPProfileId = 1; /** * SIP Provider Name which value is type of TDesC8 */ const TUint32 KSIPProviderName = 2; /** * Access Point ID which value is type of TUint32 */ const TUint32 KSIPAccessPointId = 3; /** * Signaling compression (SigComp) which value is type of TBool. * ETrue indicates that SigComp is enabled */ const TUint32 KSIPSigComp = 4; /** * Security Negotiation which value is type of TBool. ETrue indicates that * Security Negotiation is enabled */ const TUint32 KSIPSecurityNegotiation = 5; /** * Auto Registration which value is type of TBool. ETrue indicates that * profile is enabled for auto registration */ const TUint32 KSIPAutoRegistration = 6; /** * Defined user's address-of-record which value is type of TDesC8 */ const TUint32 KSIPUserAor = 7; /** * Registration which value is type of TBool. ETrue indicates that * profile is registered */ const TUint32 KSIPProfileRegistered = 8; /** * Uers's registered address-of-records which value is of type MDesC8Array. * Note that array will contain AORs only in case the profile is registered. */ const TUint32 KSIPRegisteredAors = 9; /** * Negotiated security mechanism during registration procedure which value * is of type TDesC8. * Note that descriptor will contain value only in case the profile is * registered. */ const TUint32 KSIPNegotiatedSecurityMechanism = 10; /** * Default profile which value is type of TBool. * ETrue indicates that profile is default */ const TUint32 KSIPDefaultProfile = 11; /** * "Contact" header parameters used during registration which value *is of type MDesC8Array. Array element contains one "Contact" header * parameter. */ const TUint32 KSIPContactHeaderParams = 12; /** * SIP Registrar */ const TUint32 KSIPRegistrar = 130; /** * SIP Outbound Proxy */ const TUint32 KSIPOutboundProxy = 131; /** * HTTP Digest user name which value is type of TDesC8 */ const TUint32 KSIPDigestUserName = 150; /** * HTTP Digest realm which value is type of TDesC8 */ const TUint32 KSIPDigestRealm = 151; /** * SIP server's address which value is of type TDesC8 */ const TUint32 KSIPServerAddress = 152;
class MSIPProfileRegistryObserver:
/** Profile Registry events */
enum TEvent
{
/**
* Profile created.
* Signals the creation of a SIP profile, indicating that a new profile
* is added into permanent store.
* This event is sent to all observers.
*/
EProfileCreated = 0,
/**
* Profile updated.
* Signals the updating of a SIP profile, indicating that the data of
* an existing profile is updated into permanent store. This event is
* sent to those observers who have the corresponding profile
* instantiated.
* Newly updated values of the profile are available for clients after
* they receive this signal. If profile was registered while updated,
* reregistration of the profile may occur. Updated values of the
* profile are uploaded into network when SIP registration process
* is completed. It is possible (but not recommended) that profile is
* updated even when it is being enabled by the client. If client
* receives this event for enabled profile, client should react as if
* error was occurred in the exception that profile is disabled
* or deleted first.
*/
EProfileUpdated,
/**
* Profile registered.
* Signals the registering of a SIP profile.
* This event is sent to those observers who have the corresponding
* profile instantiated.
*/
EProfileRegistered,
/**
* Profile deregistered
* Signals the deregistering of a SIP profile.
* This event is sent to those observers who have the corresponding
* profile instantiated.
*/
EProfileDeregistered,
/**
* Profile destroyed.
* Signals the destruction of a SIP profile, indicating that the
* profile has been removed from the permanent store and cannot
* be used anymore.This event is sent to those observers who have
* the corresponding profile instantiated.
*/
EProfileDestroyed
};
class TSIPProfileTypeInfo:
typedef TBuf8<25> TSIPProfileName;
/** Profile classes */
enum TSIPProfileClass
{
/** Network compliant with IETF standards */
EInternet,
/** Network compliant with 3GPP standards */
EIms,
/** Other */
EOther
};
class CSIPProfile
IMPORT_C ~CSIPProfile(); IMPORT_C TInt GetParameter(TUint32 aParam, TDesC8 const *& aVal) const; IMPORT_C TInt GetParameter(TUint32 aParam, TUint32& aVal) const; IMPORT_C TInt GetParameter(TUint32 aParam, TBool& aVal) const; IMPORT_C TInt GetParameter(TUint32 aParam, MDesC8Array const *& aVal) const; IMPORT_C TInt GetParameter(TUint32 aServerType, TUint32 aParam, TDesC8 const *& aVal) const; IMPORT_C const TSIPProfileTypeInfo& Type() const;
class CSIPProfileRegistry
IMPORT_C ~CSIPProfileRegistry(); IMPORT_C CSIPConnection* ConnectionL(CSIPProfile& aProfile); IMPORT_C TInt Disable(CSIPProfile& aProfile); IMPORT_C void EnableL(CSIPProfile& aProfile, MSIPConnectionObserver &aObserver); IMPORT_C TBool IsEnabled(const CSIPProfile& aProfile) const; IMPORT_C static CSIPProfileRegistry* NewL(CSIP& aSip,MSIPProfileRegistryObserver& aObserver); IMPORT_C static CSIPProfileRegistry* NewLC(CSIP& aSip, MSIPProfileRegistryObserver& aObserver); IMPORT_C CSIP& SIP() const;
class CSIPProfileRegistryBase
IMPORT_C ~CSIPProfileRegistryBase(); IMPORT_C CSIPProfile* DefaultProfileL(); IMPORT_C TInt LastRegistrationError(const CSIPProfile& aProfile) const; IMPORT_C CSIPProfile* ProfileL(TUint32 aId); IMPORT_C void ProfilesL(RPointerArray<CSIPProfile>& aProfiles); IMPORT_C void ProfilesL(const TSIPProfileTypeInfo& aType, RPointerArray<CSIPProfile>& aProfiles); IMPORT_C void ProfilesL(const TDesC8& aAOR, RPointerArray<CSIPProfile>& aProfiles); IMPORT_C void SupportedProfileTypesL(RArray<TSIPProfileTypeInfo>& aSupportedProfileTypes);
class MSIPProfileRegistryObserver
virtual void ProfileRegistryEventOccurred(TUint32 aProfileId, TEvent aEvent)=0; virtual void ProfileRegistryErrorOccurred(TUint32 aProfileId, TInt aError)=0;
class TSIPProfileTypeInfo
class TSIPProfileTypeInfo
{
public: // data members
/** Profile class */
TSIPProfileClass iSIPProfileClass;
/** Profile type name */
TSIPProfileName iSIPProfileName;
};