--- /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 <e32std.h>
+
+_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