diff -r 000000000000 -r 1bce908db942 inc/natfwstunclientdefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/natfwstunclientdefs.h Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,126 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Defines all necessary constants used in STUN Client +* +*/ + + + + +#ifndef NATFWSTUNCLIENTDEFS_H +#define NATFWSTUNCLIENTDEFS_H + +#include + +_LIT8( KStun, "stun" ); +_LIT8( KStunRelay, "stun-relay" ); +const TInt KErrNATFWDnsFailure = -27000; + +/** Transport protocols */ +enum TTransportProtocol + { + EUndefinedTransportProtocol = 0, + ETcpProtocol, + EUdpProtocol + }; + +/** Known STUN error codes */ +enum TTransactionError + { + E1XX = 100, + E300TryAlternate = 300, + E4XX = 400, + E401Unauthorized = 401, + + // Server rejected request because it contained unknown attributes + E420UnknownAttributes = 420, + + E430StaleCredentials = 430, // removed from stunrfc3489bis-08 + E431IntegrityCheckFailure = 431, // removed from stunrfc3489bis-08 + E432MissingUsername = 432, // removed from stunrfc3489bis-08 + E433UseTLS = 433, // removed from stunrfc3489bis-08 + E434MissingRealm = 434, // removed from stunrfc3489bis-08 + E435MissingNonce = 435, // removed from stunrfc3489bis-08 + E436UnknownUsername = 436, // removed from stunrfc3489bis-08 + E438StaleNonce = 438, + + // draft-ietf-behave-turn-02 defines new error codes + E437NoBindind = 437, + E439Transitioning = 439, + E442UnsupportedTransportProtocol = 442, + E443InvalidIPAddress = 443, + E444InvalidPort = 444, + E445OperationForTCPOnly = 445, + E446ConnectionAlreadyExists = 446, + E486AllocationQuotaReached = 486, + E487RoleConflict = 487, + + E500ServerError = 500, + E507InsufficientCapacity = 507, + E600GlobalFailure = 600, // removed from stunrfc3489bis-08 + + // Request should be retried after adding XOR-ONLY attribute + ERetryAfterAddingXorOnly = 1001 + }; + + +/** ICE specific attributes */ +class TICEAttributes + { +public: + + inline TICEAttributes( ) : + iPriority( 0 ), + iUseCandidate( EFalse ), + iControlled( 0 ), + iControlling( 0 ) + { + } + + inline TICEAttributes( TUint aPriority, + TBool aUseCandidate, + TUint64 aControlled, + TUint64 aControlling ) : + iPriority( aPriority ), + iUseCandidate( aUseCandidate ), + iControlled( aControlled ), + iControlling( aControlling ) + { + } + +public: + /** + * Priority. Set to "0" if not used. + */ + TUint iPriority; + + /** + * Use candidate flag. If attribute not needed, set to "EFalse" + */ + TBool iUseCandidate; + + /** + * Controlled. If value is greater than "0", + * attribute is added to request. + */ + TUint64 iControlled; + + /** + * Controlling. If value is greater than "0", + * attribute is added to request. + */ + TUint64 iControlling; + }; + +#endif // NATFWSTUNCLIENTDEFS_H