2 * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * Name : siphttpdigestchallengeobserver2.h
16 * Part of : SIP Client
17 * Interface : SDK API, SIP Client API
24 #ifndef MSIPHTTPDIGESTCHALLENGEOBSERVER2_H
25 #define MSIPHTTPDIGESTCHALLENGEOBSERVER2_H
30 // FORWARD DECLARATIONS
31 class CSIPClientTransaction;
39 * The user should implement this interface if it intends to
40 * provide HTTP Digest credentials upon received challenges
41 * from the SIP servers on the signaling path.
42 * The user should provide credentials or ignore the challenge
43 * using functions defined in CSIPHttpDigest class.
45 * Applications are encouraged to use implement below interface which
46 * provides functions to extract multiple challenges.
47 * MSIPHttpDigestChallengeObserver2 class is compliant to RFC 3261
51 class MSIPHttpDigestChallengeObserver2
53 public: // New functions
55 * A SIP request resulted in 401/407 response that contains
57 * The challenges can be obtained from Proxy-Authenticate- and/or
58 * WWW-Authenticate-headers in the CSIPResponseElements
59 * attached to the CSIPClientTransaction.
60 * The user must call CSIPHttpDigest::SetCredentialsL or
61 * CSIPHttpDigest::IgnoreChallenge for each challenge.
63 * @param aTransaction transaction which was completed with
64 * a response containing HTTP Digest challenge.
66 virtual void ChallengeReceived(
67 const CSIPClientTransaction& aTransaction) = 0;
70 * A refreshed SIP request resulted in 401/407 response that contains
72 * The challenges can be obtained from Proxy-Authenticate- and/or
73 * WWW-Authenticate-headers in the CSIPResponseElements
74 * attached to the CSIPClientTransaction attached to the CSIPRefresh.
75 * The user must call CSIPHttpDigest::SetCredentialsL or
76 * CSIPHttpDigest::IgnoreChallenge for each challenge.
78 * @param aRefresh the refresh for which a transaction completed with
79 * a response containing HTTP Digest challenge.
81 virtual void ChallengeReceived(
82 const CSIPRefresh& aRefresh) = 0;
85 #endif // MSIPHTTPDIGESTCHALLENGEOBSERVER2_H