realtimenetprots/sipfw/SIP/Codec/src/CSIPAcceptEncodingHeader.cpp
changeset 34 3c8db403127f
parent 0 307788aac0a8
child 37 0295359a7673
--- a/realtimenetprots/sipfw/SIP/Codec/src/CSIPAcceptEncodingHeader.cpp	Fri Jun 11 14:01:23 2010 +0300
+++ b/realtimenetprots/sipfw/SIP/Codec/src/CSIPAcceptEncodingHeader.cpp	Wed Jun 23 18:36:31 2010 +0300
@@ -28,6 +28,7 @@
 #include "sipstrconsts.h"
 #include "sipcodecutils.h"
 #include "_sipcodecdefs.h"
+#include <featdiscovery.h>
 
 
 // ----------------------------------------------------------------------------
@@ -161,10 +162,19 @@
 	{
 	HBufC8* tmp = aCodings.AllocLC();
 	tmp->Des().Trim();
-	if (tmp->Length() > 0 && !SIPSyntaxCheck::Token(*tmp))
+	//Allowing '/' token for interoperability issues
+	RArray<TSIPChar> array;
+	if(CFeatureDiscovery::IsFeatureSupportedL(TUid::Uid(KFeatureIdFfSipApnSwitching)))
+	    {
+        array.Append('/');
+	    }
+	
+	if (tmp->Length() > 0 && !SIPSyntaxCheck::Token(*tmp,&array))
         {
+        array.Close();
         User::Leave(KErrSipCodecAcceptEncodingHeader);
 	    }
+	array.Close();
 	CleanupStack::Pop(tmp);
 	delete iCodings;
 	iCodings = tmp;