adaptationlayer/tsy/nokiatsy_dll/src/cmmpacketcontextmesshandler.cpp
changeset 9 8486d82aef45
parent 8 6295dc2169f3
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
    35 #include <gpdsisi.h>
    35 #include <gpdsisi.h>
    36 #include "tsylogger.h"
    36 #include "tsylogger.h"
    37 #include <gpds_sharedisi.h>
    37 #include <gpds_sharedisi.h>
    38 #include <ctsy/pluginapi/cmmdatapackage.h>
    38 #include <ctsy/pluginapi/cmmdatapackage.h>
    39 #include <call_modemisi.h>
    39 #include <call_modemisi.h>
       
    40 #include <nsisi.h>
       
    41 #include <pep_bca_types.h>
    40 
    42 
    41 #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
    43 #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
    42 #include <cmmcommonstaticutility.h>
    44 #include <cmmcommonstaticutility.h>
    43 #endif // (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
    45 #endif // (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
    44 #include "OstTraceDefinitions.h"
    46 #include "OstTraceDefinitions.h"
    54 
    56 
    55 // CONSTANTS
    57 // CONSTANTS
    56 // Offset to subblock length in EIsiSubBlockTypeId8Len8 subblock
    58 // Offset to subblock length in EIsiSubBlockTypeId8Len8 subblock
    57 const TUint KSubblockTypeId8Len8LengthOffset = 1;
    59 const TUint KSubblockTypeId8Len8LengthOffset = 1;
    58 
    60 
       
    61 // Can be used as parameter in places where tr id is needed, but
       
    62 // the value is not relevant
       
    63 const TUint8 KNoTrId                         = 0;
       
    64 
       
    65 // Masks for getting bytes out of name_add_ind and name_remove_ind
       
    66 const TUint KMaskNameByte1 = 0x000000FF;
       
    67 const TUint KMaskNameByte2 = 0x0000FF00;
       
    68 const TUint KMaskNameByte3 = 0x00FF0000;
       
    69 
    59 // MACROS
    70 // MACROS
    60     //None
    71     //None
    61 
    72 
    62 // LOCAL CONSTANTS AND MACROS
    73 // LOCAL CONSTANTS AND MACROS
    63     //None
    74     //None
    89     CMmPacketQoSMessHandler* aMmPacketQoSMessHandler,
   100     CMmPacketQoSMessHandler* aMmPacketQoSMessHandler,
    90     CMmMessageRouter* aMessageRouter )
   101     CMmMessageRouter* aMessageRouter )
    91     {
   102     {
    92 
   103 
    93     TFLOGSTRING("TSY: CMmPacketContextMessHandler::NewL." );
   104     TFLOGSTRING("TSY: CMmPacketContextMessHandler::NewL." );
    94 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_NEWL, "CMmPacketContextMessHandler::NewL" );
   105 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_NEWL_TD, "CMmPacketContextMessHandler::NewL" );
    95 
   106 
    96     CMmPacketContextMessHandler* packetContextMessHandler =
   107     CMmPacketContextMessHandler* packetContextMessHandler =
    97         new ( ELeave ) CMmPacketContextMessHandler();
   108         new ( ELeave ) CMmPacketContextMessHandler();
    98 
   109 
    99     CleanupStack::PushL( packetContextMessHandler );
   110     CleanupStack::PushL( packetContextMessHandler );
   143     aPhoNetReceiver->RegisterL(
   154     aPhoNetReceiver->RegisterL(
   144         packetContextMessHandler, PN_MODEM_CALL, CALL_MODEM_RESOURCE_IND );
   155         packetContextMessHandler, PN_MODEM_CALL, CALL_MODEM_RESOURCE_IND );
   145     aPhoNetReceiver->RegisterL(
   156     aPhoNetReceiver->RegisterL(
   146         packetContextMessHandler, PN_MODEM_CALL, CALL_MODEM_RESOURCE_RESP );
   157         packetContextMessHandler, PN_MODEM_CALL, CALL_MODEM_RESOURCE_RESP );
   147 
   158 
       
   159     aPhoNetReceiver->RegisterL(
       
   160         packetContextMessHandler, PN_NAMESERVICE, PNS_NAME_ADD_IND );
       
   161     aPhoNetReceiver->RegisterL(
       
   162         packetContextMessHandler, PN_NAMESERVICE, PNS_NAME_REMOVE_IND );
       
   163 
   148     CleanupStack::Pop( packetContextMessHandler );
   164     CleanupStack::Pop( packetContextMessHandler );
   149 
   165 
   150     return packetContextMessHandler;
   166     return packetContextMessHandler;
   151     }
   167     }
   152 
   168 
   157 //
   173 //
   158 CMmPacketContextMessHandler::CMmPacketContextMessHandler()
   174 CMmPacketContextMessHandler::CMmPacketContextMessHandler()
   159     {
   175     {
   160     //None
   176     //None
   161     TFLOGSTRING("TSY: CMmPacketContextMessHandler::CMmPacketContextMessHandler" );
   177     TFLOGSTRING("TSY: CMmPacketContextMessHandler::CMmPacketContextMessHandler" );
   162 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_CMMPACKETCONTEXTMESSHANDLER, "CMmPacketContextMessHandler::CMmPacketContextMessHandler" );
   178 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_CMMPACKETCONTEXTMESSHANDLER_TD, "CMmPacketContextMessHandler::CMmPacketContextMessHandler" );
   163 
   179 
   164     }
   180     }
   165 
   181 
   166 // -----------------------------------------------------------------------------
   182 // -----------------------------------------------------------------------------
   167 // CMmPacketContextMessHandler::ConstructL
   183 // CMmPacketContextMessHandler::ConstructL
   170 //
   186 //
   171 void CMmPacketContextMessHandler::ConstructL()
   187 void CMmPacketContextMessHandler::ConstructL()
   172     {
   188     {
   173 
   189 
   174     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ConstructL.");
   190     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ConstructL.");
   175 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_CONSTRUCTL, "CMmPacketContextMessHandler::ConstructL" );
   191 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_CONSTRUCTL_TD, "CMmPacketContextMessHandler::ConstructL" );
   176 
   192 
   177 #ifdef DUMMY_NIF_PEP_FOR_PACKET_DATA_TESTING_DOS
   193 #ifdef DUMMY_NIF_PEP_FOR_PACKET_DATA_TESTING_DOS
   178      iTransIdForProxies = 0;
   194      iTransIdForProxies = 0;
   179 #endif // DUMMY_NIF_PEP_FOR_PACKET_DATA_TESTING_DOS
   195 #endif // DUMMY_NIF_PEP_FOR_PACKET_DATA_TESTING_DOS
   180 
   196 
   197 //
   213 //
   198 CMmPacketContextMessHandler::~CMmPacketContextMessHandler()
   214 CMmPacketContextMessHandler::~CMmPacketContextMessHandler()
   199     {
   215     {
   200 
   216 
   201     TFLOGSTRING("TSY: CMmPacketContextMessHandler::~CMmPacketContextMessHandler." );
   217     TFLOGSTRING("TSY: CMmPacketContextMessHandler::~CMmPacketContextMessHandler." );
   202 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_CMMPACKETCONTEXTMESSHANDLER, "CMmPacketContextMessHandler::~CMmPacketContextMessHandler" );
   218 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_CMMPACKETCONTEXTMESSHANDLER_TD, "CMmPacketContextMessHandler::~CMmPacketContextMessHandler" );
   203 
   219 
   204     // Delete owned iMmPipeControl object
   220     // Delete owned iMmPipeControl object
   205     if ( iMmPipeController )
   221     if ( iMmPipeController )
   206         {
   222         {
   207         delete iMmPipeController;
   223         delete iMmPipeController;
   231 void CMmPacketContextMessHandler::ReceiveMessageL(
   247 void CMmPacketContextMessHandler::ReceiveMessageL(
   232     const TIsiReceiveC& aIsiMessage )
   248     const TIsiReceiveC& aIsiMessage )
   233     {
   249     {
   234 
   250 
   235     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ReceiveMessageL" );
   251     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ReceiveMessageL" );
   236 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_RECEIVEMESSAGEL, "CMmPacketContextMessHandler::ReceiveMessageL" );
   252 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmPacketContextMessHandler::ReceiveMessageL" );
   237 
   253 
   238     TInt resource( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) );
   254     TInt resource( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) );
   239     TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) );
   255     TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) );
   240 
   256 
   241     switch ( resource )
   257     switch ( resource )
   332                     }
   348                     }
   333                 default:
   349                 default:
   334                     {
   350                     {
   335 
   351 
   336                     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ReceiveMessageL. Switch messageId case default");
   352                     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ReceiveMessageL. Switch messageId case default");
   337 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_RECEIVEMESSAGEL, "CMmPacketContextMessHandler::ReceiveMessageL" );
   353 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmPacketContextMessHandler::ReceiveMessageL" );
   338 
   354 
   339                     //None
   355                     //None
   340                     break;
   356                     break;
   341                     }
   357                     }
   342                 }
   358                 }
   356                 }
   372                 }
   357             //no else
   373             //no else
   358             break;
   374             break;
   359             }
   375             }
   360 
   376 
       
   377         case PN_NAMESERVICE:
       
   378             {
       
   379             switch( messageId )
       
   380                 {
       
   381                 case PNS_NAME_ADD_IND:
       
   382                     {
       
   383                     PnsNameAddInd( aIsiMessage );
       
   384                     break;
       
   385                     }
       
   386                 case PNS_NAME_REMOVE_IND:
       
   387                     {
       
   388                     PnsNameRemoveInd( aIsiMessage );
       
   389                     break;
       
   390                     }
       
   391                 default:
       
   392                     {
       
   393                     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::ReceiveMessageL - PN_NAMESERVICE - unknown msgId: %d", messageId);
       
   394                     OstTrace1( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmPacketContextMessHandler::ReceiveMessageL;unknown messageId=%d", messageId );
       
   395                     break;
       
   396                     }
       
   397                 }
       
   398             break;
       
   399             }
       
   400 
   361         default:
   401         default:
   362             {
   402             {
   363 
   403 
   364             TFLOGSTRING("TSY: CMmPacketContextMessHandler::ReceiveMessageL. Switch resource case default");
   404 TFLOGSTRING("TSY: CMmPacketContextMessHandler::ReceiveMessageL. Switch resource case default");
   365 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_RECEIVEMESSAGEL, "CMmPacketContextMessHandler::ReceiveMessageL" );
   405 OstTrace0( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmPacketContextMessHandler::ReceiveMessageL" );
   366 
   406 
   367             //None
   407             //None
   368             break;
   408             break;
   369             }
   409             }
   370         } // switch
   410         } // switch
   378 TInt CMmPacketContextMessHandler::GpdsContextIdCreateReq(
   418 TInt CMmPacketContextMessHandler::GpdsContextIdCreateReq(
   379     const TUint8 aCreateContextIdTransId ) const
   419     const TUint8 aCreateContextIdTransId ) const
   380     {
   420     {
   381 
   421 
   382     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextIdCreateReq. TransId: %d", aCreateContextIdTransId );
   422     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextIdCreateReq. TransId: %d", aCreateContextIdTransId );
   383 OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDCREATEREQ, "CMmPacketContextMessHandler::GpdsContextIdCreateReq;aCreateContextIdTransId=%hhu", aCreateContextIdTransId );
   423 OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDCREATEREQ_TD, "CMmPacketContextMessHandler::GpdsContextIdCreateReq;aCreateContextIdTransId=%hhu", aCreateContextIdTransId );
   384 
   424 
   385     //Append data for ISI message
   425     //Append data for ISI message
   386     TBuf8<1> data;
   426     TBuf8<1> data;
   387     // Send Isi message via Phonet
   427     // Send Isi message via Phonet
   388     return iPhoNetSender->Send(
   428     return iPhoNetSender->Send(
   404     // Get transaction id
   444     // Get transaction id
   405     TUint8 createContextIdTraId( aIsiMessage.Get8bit(
   445     TUint8 createContextIdTraId( aIsiMessage.Get8bit(
   406         ISI_HEADER_SIZE + GPDS_CONTEXT_ID_CREATE_RESP_OFFSET_UTID ) );
   446         ISI_HEADER_SIZE + GPDS_CONTEXT_ID_CREATE_RESP_OFFSET_UTID ) );
   407 
   447 
   408     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextIdCreateResp.CreateTraId: %d", createContextIdTraId );
   448     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextIdCreateResp.CreateTraId: %d", createContextIdTraId );
   409 OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDCREATERESP, "CMmPacketContextMessHandler::GpdsContextIdCreateResp;createContextIdTraId=%hhu", createContextIdTraId );
   449 OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDCREATERESP_TD, "CMmPacketContextMessHandler::GpdsContextIdCreateResp;createContextIdTraId=%hhu", createContextIdTraId );
   410 
   450 
   411     // context stuff exists
   451     // context stuff exists
   412     TInt ret = iContextList->CreateContextIdTraIdOK( createContextIdTraId );
   452     TInt ret = iContextList->CreateContextIdTraIdOK( createContextIdTraId );
   413 
   453 
   414     if ( KErrNone == ret )
   454     if ( KErrNone == ret )
   425             // Store the context id to contextList
   465             // Store the context id to contextList
   426             iContextList->SetContextId( contextId, createContextIdTraId );
   466             iContextList->SetContextId( contextId, createContextIdTraId );
   427             }
   467             }
   428         else
   468         else
   429             {
   469             {
   430             InitialiseContextPhase3( status, contextId );
   470             InitialiseContextPhase3( status, contextId, createContextIdTraId );
   431             }
   471             }
   432         }
   472         }
   433     //no else
   473     //no else
   434     }
   474     }
   435 
   475 
   441 void CMmPacketContextMessHandler::GpdsContextIdCreateInd(
   481 void CMmPacketContextMessHandler::GpdsContextIdCreateInd(
   442     const TIsiReceiveC& aIsiMessage )
   482     const TIsiReceiveC& aIsiMessage )
   443     {
   483     {
   444 
   484 
   445     TFLOGSTRING( "TSY: CMmPacketContextMessHandler::GpdsContextIdCreateInd." );
   485     TFLOGSTRING( "TSY: CMmPacketContextMessHandler::GpdsContextIdCreateInd." );
   446 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDCREATEIND, "CMmPacketContextMessHandler::GpdsContextIdCreateInd" );
   486 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDCREATEIND_TD, "CMmPacketContextMessHandler::GpdsContextIdCreateInd" );
   447 
   487 
   448     // Get context id
   488     // Get context id
   449     TUint8 contextId(  aIsiMessage.Get8bit(
   489     TUint8 contextId(  aIsiMessage.Get8bit(
   450         ISI_HEADER_SIZE + GPDS_CONTEXT_ID_CREATE_IND_OFFSET_CID ) );
   490         ISI_HEADER_SIZE + GPDS_CONTEXT_ID_CREATE_IND_OFFSET_CID ) );
   451 
   491 
   469     // Context stuff exists in list
   509     // Context stuff exists in list
   470     if ( KErrNone == ret )
   510     if ( KErrNone == ret )
   471         {
   511         {
   472          // Creation of context id succeeded -> Call
   512          // Creation of context id succeeded -> Call
   473          // InitialiseContextPhase3L with GPDS_OK
   513          // InitialiseContextPhase3L with GPDS_OK
   474         InitialiseContextPhase3( GPDS_OK, contextId );
   514         InitialiseContextPhase3( GPDS_OK, contextId, KNoTrId );
   475         }
   515         }
   476     // no else
   516     // no else
   477     }
   517     }
   478 
   518 
   479 // -----------------------------------------------------------------------------
   519 // -----------------------------------------------------------------------------
   487     const TUint8 aContextId,
   527     const TUint8 aContextId,
   488     const TUint8 aPipeHandle ) const
   528     const TUint8 aPipeHandle ) const
   489     {
   529     {
   490 
   530 
   491     TFLOGSTRING3( "TSY: CMmPacketContextMessHandler::GpdsLlConfigureReq. TransId: %d, ContextId: %d", aTransactionId, aContextId );
   531     TFLOGSTRING3( "TSY: CMmPacketContextMessHandler::GpdsLlConfigureReq. TransId: %d, ContextId: %d", aTransactionId, aContextId );
   492 OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSLLCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsLlConfigureReq;aTransactionId=%hhu;aContextId=%hhu", aTransactionId, aContextId );
   532 OstTraceExt2( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSLLCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsLlConfigureReq;aTransactionId=%hhu;aContextId=%hhu", aTransactionId, aContextId );
   493     TFLOGSTRING2( "TSY: CMmPacketContextMessHandler::GpdsLlConfigureReq. PipeHandle: %d", aPipeHandle );
   533     TFLOGSTRING2( "TSY: CMmPacketContextMessHandler::GpdsLlConfigureReq. PipeHandle: %d", aPipeHandle );
   494 OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSLLCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsLlConfigureReq;aPipeHandle=%hhu", aPipeHandle );
   534 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSLLCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsLlConfigureReq;aPipeHandle=%hhu", aPipeHandle );
   495 
   535 
   496     // Set the message data that consists of three parameters
   536     // Set the message data that consists of three parameters
   497     TBuf8<SIZE_GPDS_LL_CONFIGURE_REQ> messageData;
   537     TBuf8<SIZE_GPDS_LL_CONFIGURE_REQ> messageData;
   498     messageData.Append( aContextId );
   538     messageData.Append( aContextId );
   499     messageData.Append( aPipeHandle );
   539     messageData.Append( aPipeHandle );
   516 void CMmPacketContextMessHandler::GpdsLlConfigureResp(
   556 void CMmPacketContextMessHandler::GpdsLlConfigureResp(
   517     const TIsiReceiveC& aIsiMessage )
   557     const TIsiReceiveC& aIsiMessage )
   518     {
   558     {
   519 
   559 
   520     TFLOGSTRING( "TSY: CMmPacketContextMessHandler::GpdsLlConfigureResp.");
   560     TFLOGSTRING( "TSY: CMmPacketContextMessHandler::GpdsLlConfigureResp.");
   521 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSLLCONFIGURERESP, "CMmPacketContextMessHandler::GpdsLlConfigureResp" );
   561 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSLLCONFIGURERESP_TD, "CMmPacketContextMessHandler::GpdsLlConfigureResp" );
   522 
   562 
   523     // Get transaction id
   563     // Get transaction id
   524     TUint8 transActionId( aIsiMessage.Get8bit(
   564     TUint8 transActionId( aIsiMessage.Get8bit(
   525         ISI_HEADER_SIZE + GPDS_LL_CONFIGURE_RESP_OFFSET_UTID ) );
   565         ISI_HEADER_SIZE + GPDS_LL_CONFIGURE_RESP_OFFSET_UTID ) );
   526 
   566 
   557                     }
   597                     }
   558                 else if( KErrArgument == ret )
   598                 else if( KErrArgument == ret )
   559                     {
   599                     {
   560 
   600 
   561                     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsLlConfigureResp. Initialisation Complete failed" );
   601                     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsLlConfigureResp. Initialisation Complete failed" );
   562 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSLLCONFIGURERESP, "CMmPacketContextMessHandler::GpdsLlConfigureResp, Initialisation Complete failed" );
   602 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSLLCONFIGURERESP_TD, "CMmPacketContextMessHandler::GpdsLlConfigureResp, Initialisation Complete failed" );
   563                     }
   603                     }
   564                 //no else
   604                 //no else
   565                 }
   605                 }
   566             else
   606             else
   567                 {
   607                 {
   626     TBool aPCFCSAddressIndication,
   666     TBool aPCFCSAddressIndication,
   627     TBool aDNSAddressRequestIndication )
   667     TBool aDNSAddressRequestIndication )
   628     {
   668     {
   629 
   669 
   630     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. TransId: %d ContextId: %d", aTransactionId, aContextId );
   670     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. TransId: %d ContextId: %d", aTransactionId, aContextId );
   631 OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsContextConfigureReq;aTransactionId=%hhu;aContextId=%hhu", aTransactionId, aContextId );
   671 OstTraceExt2( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsContextConfigureReq;aTransactionId=%hhu;aContextId=%hhu", aTransactionId, aContextId );
   632 
   672 
   633     // Initializing ret value to KErrNone
   673     // Initializing ret value to KErrNone
   634     TInt ret( KErrNone );
   674     TInt ret( KErrNone );
   635 
   675 
   636     // Create isi message
   676     // Create isi message
   670     // QoS sub-block or IM CN Subsystem Signaling Flag sub-block.
   710     // QoS sub-block or IM CN Subsystem Signaling Flag sub-block.
   671     if( aSignallingIndication )
   711     if( aSignallingIndication )
   672         {
   712         {
   673 
   713 
   674         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. signalling indication ON");
   714         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. signalling indication ON");
   675 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsContextConfigureReq, signalling indication ON" );
   715 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsContextConfigureReq, signalling indication ON" );
   676 
   716 
   677         TBuf8<SIZE_GPDS_SHARED_IM_CN_SIGNALING_FLAG_INFO> tempSbBuffer;
   717         TBuf8<SIZE_GPDS_SHARED_IM_CN_SIGNALING_FLAG_INFO> tempSbBuffer;
   678         TIsiSubBlock flagInfoSubBlock(
   718         TIsiSubBlock flagInfoSubBlock(
   679             tempSbBuffer,
   719             tempSbBuffer,
   680             GPDS_SHARED_IM_CN_SIGNALING_FLAG_INFO,
   720             GPDS_SHARED_IM_CN_SIGNALING_FLAG_INFO,
   695     // An OPTIONAL sub block of Configure Req
   735     // An OPTIONAL sub block of Configure Req
   696     if( aDNSAddressRequestIndication )
   736     if( aDNSAddressRequestIndication )
   697         {
   737         {
   698 
   738 
   699         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. DNS address request indication indication ON");
   739         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. DNS address request indication indication ON");
   700 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsContextConfigureReq, DNS address request indication indication ON" );
   740 OstTrace0( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsContextConfigureReq, DNS address request indication indication ON" );
   701 
   741 
   702         TInt ret( iContextList->SetDNSAddressInfoToContextInfo( aContextId ) );
   742         TInt ret( iContextList->SetDNSAddressInfoToContextInfo( aContextId ) );
   703 
   743 
   704         if ( KErrNone == ret )
   744         if ( KErrNone == ret )
   705             {
   745             {
   706 
   746 
   707             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. DNS Requested");
   747             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. DNS Requested");
   708 OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsContextConfigureReq, DNS Requested" );
   748 OstTrace0( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsContextConfigureReq, DNS Requested" );
   709 
   749 
   710             TBuf8<SIZE_GPDS_DNS_ADDRESS_REQ_INFO> tempDnsAddrInfo;
   750             TBuf8<SIZE_GPDS_DNS_ADDRESS_REQ_INFO> tempDnsAddrInfo;
   711             TIsiSubBlock reqInfoSubBlock(
   751             TIsiSubBlock reqInfoSubBlock(
   712                 tempDnsAddrInfo,
   752                 tempDnsAddrInfo,
   713                 GPDS_DNS_ADDRESS_REQ_INFO,
   753                 GPDS_DNS_ADDRESS_REQ_INFO,
   735 
   775 
   736         if ( KErrNone == ret )
   776         if ( KErrNone == ret )
   737             {
   777             {
   738 
   778 
   739             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. PCSCF Requested");
   779             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. PCSCF Requested");
   740 OstTrace0( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsContextConfigureReq, PCSCF Requested" );
   780 OstTrace0( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsContextConfigureReq, PCSCF Requested" );
   741 
   781 
   742             TBuf8<SIZE_GPDS_SHARED_PCSCF_ADDRESS_REQ_INFO> tempPscfAddrInfo;
   782             TBuf8<SIZE_GPDS_SHARED_PCSCF_ADDRESS_REQ_INFO> tempPscfAddrInfo;
   743             TIsiSubBlock reqInfoSubBlock(
   783             TIsiSubBlock reqInfoSubBlock(
   744                 tempPscfAddrInfo,
   784                 tempPscfAddrInfo,
   745                 GPDS_SHARED_PCSCF_ADDRESS_REQ_INFO,
   785                 GPDS_SHARED_PCSCF_ADDRESS_REQ_INFO,
   761     // GPDS_TFT_INFO
   801     // GPDS_TFT_INFO
   762     // An OPTIONAL sub block of Configure Req.
   802     // An OPTIONAL sub block of Configure Req.
   763     if ( aMediaAuthorization || aPacketFilterPtr )
   803     if ( aMediaAuthorization || aPacketFilterPtr )
   764         {
   804         {
   765         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. MediaAuthorization || PacketFilterPtr");
   805         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. MediaAuthorization || PacketFilterPtr");
   766 OstTrace0( TRACE_NORMAL, DUP5_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsContextConfigureReq, MediaAuthorization || PacketFilterPtr" );
   806 OstTrace0( TRACE_NORMAL,  DUP5_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsContextConfigureReq, MediaAuthorization || PacketFilterPtr" );
   767 
   807 
   768         TBuf8<KMaximumLengthOfGpdsTftInfo> gpdsTftInfoSbBuffer;
   808         TBuf8<KMaximumLengthOfGpdsTftInfo> gpdsTftInfoSbBuffer;
   769         TIsiSubBlock gpdsTftInfoSubBlock(
   809         TIsiSubBlock gpdsTftInfoSubBlock(
   770             gpdsTftInfoSbBuffer,
   810             gpdsTftInfoSbBuffer,
   771             GPDS_TFT_INFO,
   811             GPDS_TFT_INFO,
   787 
   827 
   788     // If there were no errors
   828     // If there were no errors
   789     if ( KErrNone == ret )
   829     if ( KErrNone == ret )
   790         {
   830         {
   791         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. there were no errors");
   831         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureReq. there were no errors");
   792 OstTrace0( TRACE_NORMAL, DUP7_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ, "CMmPacketContextMessHandler::GpdsContextConfigureReq, there were no errors" );
   832 OstTrace0( TRACE_NORMAL,  DUP7_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGUREREQ_TD, "CMmPacketContextMessHandler::GpdsContextConfigureReq, there were no errors" );
   793 
   833 
   794         // Add GPDS_COMP_INFO subblock
   834         // Add GPDS_COMP_INFO subblock
   795         // sub block of Configure Req
   835         // sub block of Configure Req
   796         TBuf8<SIZE_GPDS_COMP_INFO> compInfo;
   836         TBuf8<SIZE_GPDS_COMP_INFO> compInfo;
   797         TIsiSubBlock compInfoSubBlock(
   837         TIsiSubBlock compInfoSubBlock(
   875 
   915 
   876     TInfoName contextName;
   916     TInfoName contextName;
   877     ret = iContextList->GetContextNameByContextId( contextId, contextName );
   917     ret = iContextList->GetContextNameByContextId( contextId, contextName );
   878 
   918 
   879     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextConfigureResp. GetContextNameByContextId returns:%d", ret);
   919     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextConfigureResp. GetContextNameByContextId returns:%d", ret);
   880 OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGURERESP, "CMmPacketContextMessHandler::GpdsContextConfigureResp;returns=%d", ret );
   920 OstTrace1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGURERESP_TD, "CMmPacketContextMessHandler::GpdsContextConfigureResp;returns=%d", ret );
   881 
   921 
   882     // Check that transactionId and context exists
   922     // Check that transactionId and context exists
   883     if ( transactionId == proxyId && KErrNone == ret )
   923     if ( transactionId == proxyId && KErrNone == ret )
   884         {
   924         {
   885         CMmDataPackage dataPackage;
   925         CMmDataPackage dataPackage;
   886         dataPackage.PackData( &contextName );
   926         dataPackage.PackData( &contextName );
   887         TUint8 status( aIsiMessage.Get8bit(
   927         TUint8 status( aIsiMessage.Get8bit(
   888             ISI_HEADER_SIZE + GPDS_CONTEXT_CONFIGURE_RESP_OFFSET_STATUS ) );
   928             ISI_HEADER_SIZE + GPDS_CONTEXT_CONFIGURE_RESP_OFFSET_STATUS ) );
   889 
   929 
   890         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextConfigureResp. status: %d", status);
   930         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextConfigureResp. status: %d", status);
   891 OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGURERESP, "CMmPacketContextMessHandler::GpdsContextConfigureResp;status=%hhu", status );
   931 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGURERESP_TD, "CMmPacketContextMessHandler::GpdsContextConfigureResp;status=%hhu", status );
   892 
   932 
   893         if ( GPDS_OK == status )
   933         if ( GPDS_OK == status )
   894             {
   934             {
   895             TInt configurationType( iContextList->
   935             TInt configurationType( iContextList->
   896                 GetContextConfigurationType( contextId ) );
   936                 GetContextConfigurationType( contextId ) );
   897 
   937 
   898             if( KTIntNotDefined != configurationType )
   938             if( KTIntNotDefined != configurationType )
   899                 {
   939                 {
   900 
   940 
   901                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureResp. KTIntNotDefined != configurationType");
   941                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureResp. KTIntNotDefined != configurationType");
   902 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGURERESP, "CMmPacketContextMessHandler::GpdsContextConfigureResp, KTIntNotDefined != configurationType" );
   942 OstTrace0( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGURERESP_TD, "CMmPacketContextMessHandler::GpdsContextConfigureResp, KTIntNotDefined != configurationType" );
   903 
   943 
   904                 if( TPacketDataConfigBase::KConfigGPRS == configurationType )
   944                 if( TPacketDataConfigBase::KConfigGPRS == configurationType )
   905                     {
   945                     {
   906 
   946 
   907                     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureResp. configurationType == KConfigGPRS");
   947                     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextConfigureResp. configurationType == KConfigGPRS");
   908 OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGURERESP, "CMmPacketContextMessHandler::GpdsContextConfigureResp, configurationType == KConfigGPRS" );
   948 OstTrace0( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTCONFIGURERESP_TD, "CMmPacketContextMessHandler::GpdsContextConfigureResp, configurationType == KConfigGPRS" );
   909 
   949 
   910                      // authentication info included in setconfig. Send auth reg
   950                      // authentication info included in setconfig. Send auth reg
   911                     RPacketContext::TContextConfigGPRS* config =
   951                     RPacketContext::TContextConfigGPRS* config =
   912                         reinterpret_cast<RPacketContext::TContextConfigGPRS*>(
   952                         reinterpret_cast<RPacketContext::TContextConfigGPRS*>(
   913                             iContextList->GetConfig( contextId,
   953                             iContextList->GetConfig( contextId,
  1057     const TDesC8& aPdpAddress,
  1097     const TDesC8& aPdpAddress,
  1058     const TUint8 aPdpType ) const
  1098     const TUint8 aPdpType ) const
  1059     {
  1099     {
  1060 
  1100 
  1061     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextActivateReq. TransId: %d ContextId: %d", aTransactionId, aContextId );
  1101     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextActivateReq. TransId: %d ContextId: %d", aTransactionId, aContextId );
  1062 OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEREQ, "CMmPacketContextMessHandler::GpdsContextActivateReq;aTransactionId=%hhu;aContextId=%hhu", aTransactionId, aContextId );
  1102 OstTraceExt2( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEREQ_TD, "CMmPacketContextMessHandler::GpdsContextActivateReq;aTransactionId=%hhu;aContextId=%hhu", aTransactionId, aContextId );
  1063 
  1103 
  1064     TInt ret(iContextList->SetActivationTraId( aContextId, aTransactionId ));
  1104     TInt ret(iContextList->SetActivationTraId( aContextId, aTransactionId ));
  1065 
  1105 
  1066     if( KErrNone == ret )
  1106     if( KErrNone == ret )
  1067         {
  1107         {
  1103             gpdsActivateReq.Append( 0 ); //sub block count
  1143             gpdsActivateReq.Append( 0 ); //sub block count
  1104             }
  1144             }
  1105 
  1145 
  1106         if ( KErrNone == ret )
  1146         if ( KErrNone == ret )
  1107             {
  1147             {
       
  1148             // Use channel id as transaction id
       
  1149             TUint8 channelId( iContextList->ProxyIdByContextId( aContextId ) );
  1108             // Send Isi message via Phonet
  1150             // Send Isi message via Phonet
  1109             ret = iPhoNetSender->Send( PN_GPDS,
  1151             ret = iPhoNetSender->Send( PN_GPDS,
  1110                 aTransactionId, GPDS_CONTEXT_ACTIVATE_REQ, gpdsActivateReq );
  1152                 channelId, GPDS_CONTEXT_ACTIVATE_REQ, gpdsActivateReq );
  1111             }
  1153             }
  1112         // no else
  1154         // no else
  1113 
  1155 
  1114         }
  1156         }
  1115     // no else
  1157     // no else
  1132 
  1174 
  1133     // Get transaction id for completion
  1175     // Get transaction id for completion
  1134     iContextList->GetAndResetActivationTraId( contextId );
  1176     iContextList->GetAndResetActivationTraId( contextId );
  1135 
  1177 
  1136     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. ContextId: %d", contextId );
  1178     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. ContextId: %d", contextId );
  1137 OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND, "CMmPacketContextMessHandler::GpdsContextActivatingInd;contextId=%hhu", contextId );
  1179 OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND_TD, "CMmPacketContextMessHandler::GpdsContextActivatingInd;contextId=%hhu", contextId );
  1138 
  1180 
  1139     CMmDataPackage data;
  1181     CMmDataPackage data;
  1140     TInt dialUpContext( KTIntNotDefined );
  1182     TInt dialUpContext( KTIntNotDefined );
  1141     TInfoName contextName;
  1183     TInfoName contextName;
  1142     TInt ret( KErrNone );
  1184     TInt ret( KErrNone );
  1143     TUint sbStartOffSet( 0 );
  1185     TUint sbStartOffSet( 0 );
  1144 
  1186 
  1145     ret = iContextList->GetContextNameByContextId( contextId, contextName );
  1187     ret = iContextList->GetContextNameByContextId( contextId, contextName );
  1146 
  1188 
  1147     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. GetContextNameByContextId returns: %d", ret );
  1189     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. GetContextNameByContextId returns: %d", ret );
  1148 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND, "CMmPacketContextMessHandler::GpdsContextActivatingInd;ret=%d", ret );
  1190 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND_TD, "CMmPacketContextMessHandler::GpdsContextActivatingInd;ret=%d", ret );
  1149 
  1191 
  1150     // context not found, check dial-up context
  1192     // context not found, check dial-up context
  1151     if ( KErrArgument == ret  )
  1193     if ( KErrArgument == ret  )
  1152         {
  1194         {
  1153         dialUpContext = iContextList->DialUpContextName( contextId, contextName );
  1195         dialUpContext = iContextList->DialUpContextName( contextId, contextName );
  1163 
  1205 
  1164         if( TPacketDataConfigBase::KConfigGPRS == configurationType )
  1206         if( TPacketDataConfigBase::KConfigGPRS == configurationType )
  1165             {
  1207             {
  1166 
  1208 
  1167             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. KConfigGPRS");
  1209             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. KConfigGPRS");
  1168 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND, "CMmPacketContextMessHandler::GpdsContextActivatingInd, KConfigGPRS" );
  1210 OstTrace0( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND_TD, "CMmPacketContextMessHandler::GpdsContextActivatingInd, KConfigGPRS" );
  1169 
  1211 
  1170             RPacketContext::TContextConfigGPRS* config =
  1212             RPacketContext::TContextConfigGPRS* config =
  1171                 reinterpret_cast<RPacketContext::TContextConfigGPRS*>(
  1213                 reinterpret_cast<RPacketContext::TContextConfigGPRS*>(
  1172                     configBase );
  1214                     configBase );
  1173 
  1215 
  1200 
  1242 
  1201             if ( NULL != apn.Ptr() )
  1243             if ( NULL != apn.Ptr() )
  1202                 {
  1244                 {
  1203 
  1245 
  1204                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. apn is not null");
  1246                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. apn is not null");
  1205 OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND, "CMmPacketContextMessHandler::GpdsContextActivatingInd, apn is not null" );
  1247 OstTrace0( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND_TD, "CMmPacketContextMessHandler::GpdsContextActivatingInd, apn is not null" );
  1206 
  1248 
  1207                 config->iAccessPointName.Copy( apn );
  1249                 config->iAccessPointName.Copy( apn );
  1208                 }
  1250                 }
  1209             else
  1251             else
  1210                 {
  1252                 {
  1220             }
  1262             }
  1221         else if( TPacketDataConfigBase::KConfigRel99Rel4 == configurationType )
  1263         else if( TPacketDataConfigBase::KConfigRel99Rel4 == configurationType )
  1222             {
  1264             {
  1223 
  1265 
  1224             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. KConfigRel99Rel4");
  1266             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. KConfigRel99Rel4");
  1225 OstTrace0( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND, "CMmPacketContextMessHandler::GpdsContextActivatingInd, KConfigRel99Rel4" );
  1267 OstTrace0( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND_TD, "CMmPacketContextMessHandler::GpdsContextActivatingInd, KConfigRel99Rel4" );
  1226 
  1268 
  1227             RPacketContext::TContextConfigR99_R4* config =
  1269             RPacketContext::TContextConfigR99_R4* config =
  1228                 reinterpret_cast<RPacketContext::TContextConfigR99_R4*>(
  1270                 reinterpret_cast<RPacketContext::TContextConfigR99_R4*>(
  1229                     configBase );
  1271                     configBase );
  1230 
  1272 
  1257 
  1299 
  1258             if ( NULL != apn.Ptr() )
  1300             if ( NULL != apn.Ptr() )
  1259                 {
  1301                 {
  1260 
  1302 
  1261                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. accesspointname is not null");
  1303                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivatingInd. accesspointname is not null");
  1262 OstTrace0( TRACE_NORMAL, DUP5_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND, "CMmPacketContextMessHandler::GpdsContextActivatingInd, accesspointname is not null" );
  1304 OstTrace0( TRACE_NORMAL,  DUP5_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATINGIND_TD, "CMmPacketContextMessHandler::GpdsContextActivatingInd, accesspointname is not null" );
  1263 
  1305 
  1264                 config->iAccessPointName.Copy( apn );
  1306                 config->iAccessPointName.Copy( apn );
  1265                 }
  1307                 }
  1266             else if ( NULL == apn.Ptr() )
  1308             else if ( NULL == apn.Ptr() )
  1267                 {
  1309                 {
  1346 
  1388 
  1347     TUint8 contextId( aIsiMessage.Get8bit(
  1389     TUint8 contextId( aIsiMessage.Get8bit(
  1348         ISI_HEADER_SIZE + GPDS_CONTEXT_ACTIVATE_IND_OFFSET_CID ) );
  1390         ISI_HEADER_SIZE + GPDS_CONTEXT_ACTIVATE_IND_OFFSET_CID ) );
  1349 
  1391 
  1350     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. ContextId: %d", contextId);
  1392     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. ContextId: %d", contextId);
  1351 OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;contextId=%hhu", contextId );
  1393 OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;contextId=%hhu", contextId );
  1352 
  1394 
  1353     TUint sbStartOffSet( 0 );
  1395     TUint sbStartOffSet( 0 );
  1354 
  1396 
  1355     TInfoName contextName;
  1397     TInfoName contextName;
  1356     TInt ret( iContextList->
  1398     TInt ret( iContextList->
  1357         GetContextNameByContextId( contextId, contextName ) );
  1399         GetContextNameByContextId( contextId, contextName ) );
  1358 
  1400 
  1359     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GetContextNameByContextId returns:%d", ret );
  1401     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GetContextNameByContextId returns:%d", ret );
  1360 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;ret=%d", ret );
  1402 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;ret=%d", ret );
  1361 
  1403 
  1362     if( KErrArgument == ret )
  1404     if( KErrArgument == ret )
  1363         {
  1405         {
  1364         ret = iContextList->DialUpContextName( contextId, contextName );
  1406         ret = iContextList->DialUpContextName( contextId, contextName );
  1365         }
  1407         }
  1399                 addrLen ) );
  1441                 addrLen ) );
  1400             }
  1442             }
  1401             // no else
  1443             // no else
  1402 
  1444 
  1403         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. pdpAddress length:%d", pdpAddress.Length() );
  1445         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. pdpAddress length:%d", pdpAddress.Length() );
  1404 OstTrace1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL; pdpAddress length=%d", pdpAddress.Length() );
  1446 OstTrace1( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL; pdpAddress length=%d", pdpAddress.Length() );
  1405 
  1447 
  1406         // Get PDP address
  1448         // Get PDP address
  1407         if ( 0 < pdpAddress.Length() )
  1449         if ( 0 < pdpAddress.Length() )
  1408             {
  1450             {
  1409             CMmStaticUtility::ConvertIPAddressToClient(
  1451             CMmStaticUtility::ConvertIPAddressToClient(
  1417             GPDS_APN_INFO,
  1459             GPDS_APN_INFO,
  1418             EIsiSubBlockTypeId8Len8,
  1460             EIsiSubBlockTypeId8Len8,
  1419             sbStartOffSet );
  1461             sbStartOffSet );
  1420 
  1462 
  1421         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. find sub block. retValue:%d", retValue );
  1463         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. find sub block. retValue:%d", retValue );
  1422 OstTrace1( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;retValue=%d", retValue );
  1464 OstTrace1( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;retValue=%d", retValue );
  1423 
  1465 
  1424         if ( KErrNone == retValue )
  1466         if ( KErrNone == retValue )
  1425             {
  1467             {
  1426             TUint8 nameLen ( aIsiMessage.Get8bit(
  1468             TUint8 nameLen ( aIsiMessage.Get8bit(
  1427                 sbStartOffSet + GPDS_APN_INFO_OFFSET_ADDRLENGTH ) );
  1469                 sbStartOffSet + GPDS_APN_INFO_OFFSET_ADDRLENGTH ) );
  1435         // Get Access point name.
  1477         // Get Access point name.
  1436         if ( NULL != apn.Ptr() )
  1478         if ( NULL != apn.Ptr() )
  1437             {
  1479             {
  1438 
  1480 
  1439             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. apn.Ptr is not null");
  1481             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. apn.Ptr is not null");
  1440 OstTrace0( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL, apn.Ptr is not null" );
  1482 OstTrace0( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL, apn.Ptr is not null" );
  1441 
  1483 
  1442             config.iAccessPointName.Copy( apn );
  1484             config.iAccessPointName.Copy( apn );
  1443             }
  1485             }
  1444         // no else
  1486         // no else
  1445 
  1487 
  1476                 addrLen ) );
  1518                 addrLen ) );
  1477             }
  1519             }
  1478         // no else
  1520         // no else
  1479 
  1521 
  1480         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. primary DNS address length:%d", pDnsAddress.Length() );
  1522         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. primary DNS address length:%d", pDnsAddress.Length() );
  1481 OstTrace1( TRACE_NORMAL, DUP5_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;primary DNS address length=%d", pDnsAddress.Length() );
  1523 OstTrace1( TRACE_NORMAL,  DUP5_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;primary DNS address length=%d", pDnsAddress.Length() );
  1482 
  1524 
  1483         // Get Primary DNS address.
  1525         // Get Primary DNS address.
  1484         if ( 0 < pDnsAddress.Length() )
  1526         if ( 0 < pDnsAddress.Length() )
  1485             {
  1527             {
  1486             CMmStaticUtility::ConvertIPAddressToClient(
  1528             CMmStaticUtility::ConvertIPAddressToClient(
  1506                 addrLen ) );
  1548                 addrLen ) );
  1507             }
  1549             }
  1508         // no else
  1550         // no else
  1509 
  1551 
  1510         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. secondary DNS address length:%d", sDnsAddress.Length());
  1552         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. secondary DNS address length:%d", sDnsAddress.Length());
  1511 OstTrace1( TRACE_NORMAL, DUP6_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;secondary DNS address length=%d", sDnsAddress.Length() );
  1553 OstTrace1( TRACE_NORMAL,  DUP6_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;secondary DNS address length=%d", sDnsAddress.Length() );
  1512 
  1554 
  1513         // Get Secondary DNS address.
  1555         // Get Secondary DNS address.
  1514         if ( 0 < sDnsAddress.Length() )
  1556         if ( 0 < sDnsAddress.Length() )
  1515             {
  1557             {
  1516             CMmStaticUtility::ConvertIPAddressToClient(
  1558             CMmStaticUtility::ConvertIPAddressToClient(
  1537 
  1579 
  1538         if ( GPDS_PDP_DCOMP_DEFAULT != dataCompression )
  1580         if ( GPDS_PDP_DCOMP_DEFAULT != dataCompression )
  1539             {
  1581             {
  1540 
  1582 
  1541             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GPDS_PDP_DCOMP_DEFAULT != dataCompression");
  1583             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GPDS_PDP_DCOMP_DEFAULT != dataCompression");
  1542 OstTrace0( TRACE_NORMAL, DUP7_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL, GPDS_PDP_DCOMP_DEFAULT != dataCompression" );
  1584 OstTrace0( TRACE_NORMAL,  DUP7_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL, GPDS_PDP_DCOMP_DEFAULT != dataCompression" );
  1543 
  1585 
  1544             if ( GPDS_PDP_DCOMP_ON == dataCompression )
  1586             if ( GPDS_PDP_DCOMP_ON == dataCompression )
  1545                 {
  1587                 {
  1546 
  1588 
  1547                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GPDS_PDP_DCOMP_ON == dataCompression");
  1589                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GPDS_PDP_DCOMP_ON == dataCompression");
  1548 OstTrace0( TRACE_NORMAL, DUP8_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL,  GPDS_PDP_DCOMP_ON == dataCompression" );
  1590 OstTrace0( TRACE_NORMAL,  DUP8_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL,  GPDS_PDP_DCOMP_ON == dataCompression" );
  1549 
  1591 
  1550                 if ( !( config.iPdpCompression &
  1592                 if ( !( config.iPdpCompression &
  1551                     RPacketContext::KPdpDataCompression ) )
  1593                     RPacketContext::KPdpDataCompression ) )
  1552                     {
  1594                     {
  1553                     config.iPdpCompression ^=
  1595                     config.iPdpCompression ^=
  1570 
  1612 
  1571         if ( GPDS_PDP_DCOMP_DEFAULT != headerCompression )
  1613         if ( GPDS_PDP_DCOMP_DEFAULT != headerCompression )
  1572             {
  1614             {
  1573 
  1615 
  1574             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GPDS_PDP_DCOMP_DEFAULT != headerCompression");
  1616             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GPDS_PDP_DCOMP_DEFAULT != headerCompression");
  1575 OstTrace0( TRACE_NORMAL, DUP9_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateInd, GPDS_PDP_DCOMP_DEFAULT != headerCompressionL" );
  1617 OstTrace0( TRACE_NORMAL,  DUP9_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateInd, GPDS_PDP_DCOMP_DEFAULT != headerCompressionL" );
  1576 
  1618 
  1577             if ( GPDS_PDP_DCOMP_ON == headerCompression )
  1619             if ( GPDS_PDP_DCOMP_ON == headerCompression )
  1578                 {
  1620                 {
  1579 
  1621 
  1580                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GPDS_PDP_DCOMP_ON == headerCompression");
  1622                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. GPDS_PDP_DCOMP_ON == headerCompression");
  1581 OstTrace0( TRACE_NORMAL, DUP10_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL, GPDS_PDP_DCOMP_ON == headerCompression" );
  1623 OstTrace0( TRACE_NORMAL,  DUP10_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL, GPDS_PDP_DCOMP_ON == headerCompression" );
  1582 
  1624 
  1583                 if ( !( config.iPdpCompression &
  1625                 if ( !( config.iPdpCompression &
  1584                     RPacketContext::KPdpHeaderCompression ) )
  1626                     RPacketContext::KPdpHeaderCompression ) )
  1585                     {
  1627                     {
  1586                     config.iPdpCompression ^=
  1628                     config.iPdpCompression ^=
  1616         // If asked add to TLV struct
  1658         // If asked add to TLV struct
  1617         if ( iContextList->GetDNSAddressInfoToContextInfo( contextId ) )
  1659         if ( iContextList->GetDNSAddressInfoToContextInfo( contextId ) )
  1618             {
  1660             {
  1619 
  1661 
  1620             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. add to TLV struct");
  1662             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. add to TLV struct");
  1621 OstTrace0( TRACE_NORMAL, DUP11_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL, add to TLV struct" );
  1663 OstTrace0( TRACE_NORMAL,  DUP11_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL, add to TLV struct" );
  1622 
  1664 
  1623             // Type is always ipv6
  1665             // Type is always ipv6
  1624             if ( KIpv6AddressLen == pDnsAddress.Length() )
  1666             if ( KIpv6AddressLen == pDnsAddress.Length() )
  1625                 {
  1667                 {
  1626                 for ( TInt i = 0; i < KIpv6AddressLen; i++ )
  1668                 for ( TInt i = 0; i < KIpv6AddressLen; i++ )
  1638         // add secondary DNS
  1680         // add secondary DNS
  1639         if ( iContextList->GetDNSAddressInfoToContextInfo( contextId ) )
  1681         if ( iContextList->GetDNSAddressInfoToContextInfo( contextId ) )
  1640             {
  1682             {
  1641 
  1683 
  1642             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. add secondary DNS");
  1684             TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. add secondary DNS");
  1643 OstTrace0( TRACE_NORMAL, DUP12_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL, add secondary DNS" );
  1685 OstTrace0( TRACE_NORMAL,  DUP12_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL, add secondary DNS" );
  1644 
  1686 
  1645             // Type is allways ipv6
  1687             // Type is allways ipv6
  1646             if ( KIpv6AddressLen == sDnsAddress.Length() )
  1688             if ( KIpv6AddressLen == sDnsAddress.Length() )
  1647                 {
  1689                 {
  1648                 for ( TInt i = 0; i < KIpv6AddressLen; i++ )
  1690                 for ( TInt i = 0; i < KIpv6AddressLen; i++ )
  1665             GPDS_SHARED_PCSCF_ADDRESS_INFO,
  1707             GPDS_SHARED_PCSCF_ADDRESS_INFO,
  1666             EIsiSubBlockTypeId8Len8,
  1708             EIsiSubBlockTypeId8Len8,
  1667             sbStartOffSet );
  1709             sbStartOffSet );
  1668 
  1710 
  1669         TFLOGSTRING2("TSY: GPDS_SHARED_PCSCF_ADDRESS_INFO sub-block, retValue %d.", retValue );
  1711         TFLOGSTRING2("TSY: GPDS_SHARED_PCSCF_ADDRESS_INFO sub-block, retValue %d.", retValue );
  1670 OstTrace1( TRACE_NORMAL, DUP13_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;GPDS_SHARED_PCSCF_ADDRESS_INFO sub-block retValue=%d", retValue );
  1712 OstTrace1( TRACE_NORMAL,  DUP13_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;GPDS_SHARED_PCSCF_ADDRESS_INFO sub-block retValue=%d", retValue );
  1671 
  1713 
  1672         if( KErrNone == retValue )
  1714         if( KErrNone == retValue )
  1673             {
  1715             {
  1674             TUint8 addrLen ( aIsiMessage.Get8bit(
  1716             TUint8 addrLen ( aIsiMessage.Get8bit(
  1675                 sbStartOffSet +
  1717                 sbStartOffSet +
  1681                 addrLen ) );
  1723                 addrLen ) );
  1682             }
  1724             }
  1683         // no else
  1725         // no else
  1684 
  1726 
  1685         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. PCSCF address length:%d", pcScfAddress.Length() );
  1727         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. PCSCF address length:%d", pcScfAddress.Length() );
  1686 OstTrace1( TRACE_NORMAL, DUP14_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;PCSCF address length=%d", pcScfAddress.Length() );
  1728 OstTrace1( TRACE_NORMAL,  DUP14_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;PCSCF address length=%d", pcScfAddress.Length() );
  1687 
  1729 
  1688         // PCSCF address types IPv6 and IPv4 are valid
  1730         // PCSCF address types IPv6 and IPv4 are valid
  1689         // The length of IPv4 address is 4
  1731         // The length of IPv4 address is 4
  1690         if( KIpv4AddressLen == pcScfAddress.Length() )
  1732         if( KIpv4AddressLen == pcScfAddress.Length() )
  1691             {
  1733             {
  1729             tlvLen += KIpv4AddressLen;
  1771             tlvLen += KIpv4AddressLen;
  1730             }
  1772             }
  1731         // no else
  1773         // no else
  1732 
  1774 
  1733         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. tlv length:%d", tlvLen );
  1775         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. tlv length:%d", tlvLen );
  1734 OstTrace1( TRACE_NORMAL, DUP15_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;tlvLen=%d", tlvLen );
  1776 OstTrace1( TRACE_NORMAL,  DUP15_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;tlvLen=%d", tlvLen );
  1735 
  1777 
  1736         // Initialise buffer
  1778         // Initialise buffer
  1737         if( 0 < tlvLen )
  1779         if( 0 < tlvLen )
  1738             {
  1780             {
  1739             config.iProtocolConfigOption.iMiscBuffer.SetLength( tlvLen );
  1781             config.iProtocolConfigOption.iMiscBuffer.SetLength( tlvLen );
  1758                     pDnsBuffer.Length() );
  1800                     pDnsBuffer.Length() );
  1759                 pcoId = RPacketContext::EEtelPcktDNSServerAddressRequest;
  1801                 pcoId = RPacketContext::EEtelPcktDNSServerAddressRequest;
  1760                 ret = smallTLV.AppendItemL( pcoId, pDnsBufferPtr );
  1802                 ret = smallTLV.AppendItemL( pcoId, pDnsBufferPtr );
  1761 
  1803 
  1762                 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd.EEtelPcktDNSServerAddressRequest, Prim. DNS, AppendItemL ret=%d ",ret );
  1804                 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd.EEtelPcktDNSServerAddressRequest, Prim. DNS, AppendItemL ret=%d ",ret );
  1763 OstTrace1( TRACE_NORMAL, DUP16_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;Prim. DNS, AppendItemL ret=%d", ret );
  1805 OstTrace1( TRACE_NORMAL,  DUP16_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;Prim. DNS, AppendItemL ret=%d", ret );
  1764                 }
  1806                 }
  1765             // no else
  1807             // no else
  1766 
  1808 
  1767             // Append secondary DNS
  1809             // Append secondary DNS
  1768             if( KDNSBufferLength == sDnsBuffer.Length() )
  1810             if( KDNSBufferLength == sDnsBuffer.Length() )
  1773                     sDnsBuffer.Length() );
  1815                     sDnsBuffer.Length() );
  1774                 pcoId = RPacketContext::EEtelPcktDNSServerAddressRequest;
  1816                 pcoId = RPacketContext::EEtelPcktDNSServerAddressRequest;
  1775                 ret = smallTLV.AppendItemL( pcoId, sDnsBufferPtr );
  1817                 ret = smallTLV.AppendItemL( pcoId, sDnsBufferPtr );
  1776 
  1818 
  1777                 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd.EEtelPcktDNSServerAddressRequest, Sec. DNS, AppendItemL ret=%d ",ret );
  1819                 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd.EEtelPcktDNSServerAddressRequest, Sec. DNS, AppendItemL ret=%d ",ret );
  1778 OstTrace1( TRACE_NORMAL, DUP17_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL; Sec. DNS, AppendItemL ret=%d", ret );
  1820 OstTrace1( TRACE_NORMAL,  DUP17_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL; Sec. DNS, AppendItemL ret=%d", ret );
  1779                 }
  1821                 }
  1780             // no else
  1822             // no else
  1781 
  1823 
  1782             // Append PCSCFBuffer address
  1824             // Append PCSCFBuffer address
  1783             // (IPv6 (length 16) and IPv4 (length 4) address supported)
  1825             // (IPv6 (length 16) and IPv4 (length 4) address supported)
  1790                     pCSCFBuffer.Length() );
  1832                     pCSCFBuffer.Length() );
  1791                 pcoId = RPacketContext::EEtelPcktPCSCFAddressRequest;
  1833                 pcoId = RPacketContext::EEtelPcktPCSCFAddressRequest;
  1792                 ret = smallTLV.AppendItemL( pcoId, pCSCFBufferPtr );
  1834                 ret = smallTLV.AppendItemL( pcoId, pCSCFBufferPtr );
  1793 
  1835 
  1794                 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd.EEtelPcktPCSCFAddressRequest AppendItemL ret=%d ",ret );
  1836                 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd.EEtelPcktPCSCFAddressRequest AppendItemL ret=%d ",ret );
  1795 OstTrace1( TRACE_NORMAL, DUP18_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;EEtelPcktPCSCFAddressRequest AppendItemL ret=%d", ret );
  1837 OstTrace1( TRACE_NORMAL,  DUP18_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;EEtelPcktPCSCFAddressRequest AppendItemL ret=%d", ret );
  1796                 }
  1838                 }
  1797             // no else
  1839             // no else
  1798 
  1840 
  1799             // Append IM CNMS sub system Signalling Flag
  1841             // Append IM CNMS sub system Signalling Flag
  1800             if( KSignallingFlagBuffer == signallingFlagBuffer.Length() )
  1842             if( KSignallingFlagBuffer == signallingFlagBuffer.Length() )
  1805                     signallingFlagBuffer.Length() );
  1847                     signallingFlagBuffer.Length() );
  1806                 pcoId = RPacketContext::EEtelPcktIMCNMSSubsystemSignallingFlag;
  1848                 pcoId = RPacketContext::EEtelPcktIMCNMSSubsystemSignallingFlag;
  1807                 ret = smallTLV.AppendItemL( pcoId, signallingFlagBufferPtr );
  1849                 ret = smallTLV.AppendItemL( pcoId, signallingFlagBufferPtr );
  1808 
  1850 
  1809                 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd.EEtelPcktIMCNMSSubsystemSignallingFlag AppendItemL ret=%d ",ret );
  1851                 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd.EEtelPcktIMCNMSSubsystemSignallingFlag AppendItemL ret=%d ",ret );
  1810 OstTrace1( TRACE_NORMAL, DUP19_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL;EEtelPcktIMCNMSSubsystemSignallingFlag AppendItemL ret=%d", ret );
  1852 OstTrace1( TRACE_NORMAL,  DUP19_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL;EEtelPcktIMCNMSSubsystemSignallingFlag AppendItemL ret=%d", ret );
  1811                 }
  1853                 }
  1812             // no else
  1854             // no else
  1813             }
  1855             }
  1814         // no else
  1856         // no else
  1815 
  1857 
  1827             KErrNone );
  1869             KErrNone );
  1828         }
  1870         }
  1829     // no else
  1871     // no else
  1830 
  1872 
  1831     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. End point.");
  1873     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateInd. End point.");
  1832 OstTrace0( TRACE_NORMAL, DUP20_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL, "CMmPacketContextMessHandler::GpdsContextActivateIndL, End point" );
  1874 OstTrace0( TRACE_NORMAL,  DUP20_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEINDL_TD, "CMmPacketContextMessHandler::GpdsContextActivateIndL, End point" );
  1833     }
  1875     }
  1834 
  1876 
  1835 // -----------------------------------------------------------------------------
  1877 // -----------------------------------------------------------------------------
  1836 // CMmPacketContextMessHandler::GpdsContextActivateFailIndL
  1878 // CMmPacketContextMessHandler::GpdsContextActivateFailIndL
  1837 // Breaks gpds context activate fail indication message.
  1879 // Breaks gpds context activate fail indication message.
  1841 void CMmPacketContextMessHandler::GpdsContextActivateFailInd(
  1883 void CMmPacketContextMessHandler::GpdsContextActivateFailInd(
  1842     const TIsiReceiveC& aIsiMessage )
  1884     const TIsiReceiveC& aIsiMessage )
  1843     {
  1885     {
  1844 
  1886 
  1845     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateFailInd.");
  1887     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextActivateFailInd.");
  1846 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEFAILIND, "CMmPacketContextMessHandler::GpdsContextActivateFailInd" );
  1888 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTACTIVATEFAILIND_TD, "CMmPacketContextMessHandler::GpdsContextActivateFailInd" );
  1847 
  1889 
  1848     // initialise struct for completion
  1890     // initialise struct for completion
  1849     #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
  1891     #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
  1850     CMmCommonStaticUtility::TContextMisc misc;
  1892     CMmCommonStaticUtility::TContextMisc misc;
  1851     #else
  1893     #else
  1859         ISI_HEADER_SIZE + GPDS_CONTEXT_ACTIVATE_FAIL_IND_OFFSET_CID ) );
  1901         ISI_HEADER_SIZE + GPDS_CONTEXT_ACTIVATE_FAIL_IND_OFFSET_CID ) );
  1860 
  1902 
  1861     TInfoName contextName;
  1903     TInfoName contextName;
  1862     TInt ret( iContextList->
  1904     TInt ret( iContextList->
  1863         GetContextNameByContextId( contextId, contextName ) );
  1905         GetContextNameByContextId( contextId, contextName ) );
       
  1906 
       
  1907     if ( KErrNone != ret )
       
  1908         {
       
  1909         ret = iContextList->DialUpContextName( contextId, contextName );
       
  1910         }
  1864 
  1911 
  1865     if ( KErrNone == ret )
  1912     if ( KErrNone == ret )
  1866         {
  1913         {
  1867         TUint8 cause( aIsiMessage.Get8bit(  ISI_HEADER_SIZE +
  1914         TUint8 cause( aIsiMessage.Get8bit(  ISI_HEADER_SIZE +
  1868             GPDS_CONTEXT_ACTIVATE_FAIL_IND_OFFSET_CAUSE ) );
  1915             GPDS_CONTEXT_ACTIVATE_FAIL_IND_OFFSET_CAUSE ) );
  1946     TInfoName contextName;
  1993     TInfoName contextName;
  1947     TInt ret( iContextList->
  1994     TInt ret( iContextList->
  1948         GetContextNameByContextId( contextId, contextName ) );
  1995         GetContextNameByContextId( contextId, contextName ) );
  1949 
  1996 
  1950     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextModifyInd. ContextId:%d", contextId);
  1997     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextModifyInd. ContextId:%d", contextId);
  1951 OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYIND, "CMmPacketContextMessHandler::GpdsContextModifyInd;contextId=%hhu", contextId );
  1998 OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYIND_TD, "CMmPacketContextMessHandler::GpdsContextModifyInd;contextId=%hhu", contextId );
  1952 
  1999 
  1953     if( KErrArgument == ret )
  2000     if( KErrArgument == ret )
  1954         {
  2001         {
  1955         ret = iContextList->DialUpContextName( contextId, contextName );
  2002         ret = iContextList->DialUpContextName( contextId, contextName );
  1956         }
  2003         }
  2012 
  2059 
  2013     if ( GPDS_CID_VOID != contextId )
  2060     if ( GPDS_CID_VOID != contextId )
  2014         {
  2061         {
  2015         TUint8 transactionId( GenerateTraId( contextId ) );
  2062         TUint8 transactionId( GenerateTraId( contextId ) );
  2016 TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateReq. TransId: %d ContextId: %d", transactionId, contextId );
  2063 TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateReq. TransId: %d ContextId: %d", transactionId, contextId );
  2017 OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATEREQ, "CMmPacketContextMessHandler::GpdsContextDeactivateReq;transactionId=%hhu;contextId=%hhu", transactionId, contextId );
  2064 OstTraceExt2( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATEREQ_TD, "CMmPacketContextMessHandler::GpdsContextDeactivateReq;transactionId=%hhu;contextId=%hhu", transactionId, contextId );
  2018         // Set the message data that consists of one parameter
  2065         // Set the message data that consists of one parameter
  2019         TBuf8<KMessageDataBufSize1> messageData;
  2066         TBuf8<KMessageDataBufSize1> messageData;
  2020         messageData.Append( contextId );
  2067         messageData.Append( contextId );
  2021 
  2068 
  2022         // Send Isi message via Phonet
  2069         // Send Isi message via Phonet
  2024             transactionId, GPDS_CONTEXT_DEACTIVATE_REQ, messageData );
  2071             transactionId, GPDS_CONTEXT_DEACTIVATE_REQ, messageData );
  2025         }
  2072         }
  2026     else
  2073     else
  2027         {
  2074         {
  2028 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateReq. Context ID not found, return KErrNotFound" );
  2075 TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateReq. Context ID not found, return KErrNotFound" );
  2029 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATEREQ, "CMmPacketContextMessHandler::GpdsContextDeactivateReq. Context ID not found, return KErrNotFound" );
  2076 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATEREQ_TD, "CMmPacketContextMessHandler::GpdsContextDeactivateReq. Context ID not found, return KErrNotFound" );
  2030         ret = KErrNotFound;
  2077         ret = KErrNotFound;
  2031         }
  2078         }
  2032     return ret;
  2079     return ret;
  2033     }
  2080     }
  2034 
  2081 
  2040 void CMmPacketContextMessHandler::GpdsContextDeactivateRespL(
  2087 void CMmPacketContextMessHandler::GpdsContextDeactivateRespL(
  2041     const TIsiReceiveC& aIsiMessage )
  2088     const TIsiReceiveC& aIsiMessage )
  2042     {
  2089     {
  2043 
  2090 
  2044     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateRespL.");
  2091     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateRespL.");
  2045 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATERESPL, "CMmPacketContextMessHandler::GpdsContextDeactivateRespL" );
  2092 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATERESPL_TD, "CMmPacketContextMessHandler::GpdsContextDeactivateRespL" );
  2046 
  2093 
  2047     // Get transaction id
  2094     // Get transaction id
  2048     TUint8 transactionId( aIsiMessage.Get8bit(
  2095     TUint8 transactionId( aIsiMessage.Get8bit(
  2049        ISI_HEADER_SIZE + GPDS_CONTEXT_DEACTIVATE_RESP_OFFSET_UTID ) );
  2096        ISI_HEADER_SIZE + GPDS_CONTEXT_DEACTIVATE_RESP_OFFSET_UTID ) );
  2050     TUint8 status( aIsiMessage.Get8bit(
  2097     TUint8 status( aIsiMessage.Get8bit(
  2078 
  2125 
  2079                     if( KErrNone != ret )
  2126                     if( KErrNone != ret )
  2080                         {
  2127                         {
  2081 
  2128 
  2082                         TFLOGSTRING( "TSY: CMmPacketContextMessHandler::GpdsContextDeactivateRespL. SetPipeResetTraId failed " );
  2129                         TFLOGSTRING( "TSY: CMmPacketContextMessHandler::GpdsContextDeactivateRespL. SetPipeResetTraId failed " );
  2083 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATERESPL, "CMmPacketContextMessHandler::GpdsContextDeactivateRespL, SetPipeResetTraId failed" );
  2130 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATERESPL_TD, "CMmPacketContextMessHandler::GpdsContextDeactivateRespL, SetPipeResetTraId failed" );
  2084                         }
  2131                         }
  2085                     // no else
  2132                     // no else
  2086                     }
  2133                     }
  2087                 // no else
  2134                 // no else
  2088                 }
  2135                 }
  2111                 result );
  2158                 result );
  2112             }
  2159             }
  2113         // no else
  2160         // no else
  2114 
  2161 
  2115         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateRespL. Error(0=OK): %d ", found );
  2162         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateRespL. Error(0=OK): %d ", found );
  2116 OstTrace1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATERESPL, "CMmPacketContextMessHandler::GpdsContextDeactivateRespL;Error(0=OK)=%d", found );
  2163 OstTrace1( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATERESPL_TD, "CMmPacketContextMessHandler::GpdsContextDeactivateRespL;Error(0=OK)=%d", found );
  2117 
  2164 
  2118         // check if incoming call allowation is requested
  2165         // check if incoming call allowation is requested
  2119         // (for allow incoming call feature)
  2166         // (for allow incoming call feature)
  2120         if ( GPDS_OK == status &&
  2167         if ( GPDS_OK == status &&
  2121             CALL_MODEM_ID_NONE != iCallModemResourceCallId )
  2168             CALL_MODEM_ID_NONE != iCallModemResourceCallId )
  2160 
  2207 
  2161     TUint8 contextId( aIsiMessage.Get8bit(
  2208     TUint8 contextId( aIsiMessage.Get8bit(
  2162         ISI_HEADER_SIZE + GPDS_CONTEXT_DEACTIVATING_IND_OFFSET_CID ) );
  2209         ISI_HEADER_SIZE + GPDS_CONTEXT_DEACTIVATING_IND_OFFSET_CID ) );
  2163 
  2210 
  2164     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextDeactivatingInd. Context id: %d", contextId );
  2211     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextDeactivatingInd. Context id: %d", contextId );
  2165 OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATINGIND, "CMmPacketContextMessHandler::GpdsContextDeactivatingInd;contextId=%hhu", contextId );
  2212 OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATINGIND_TD, "CMmPacketContextMessHandler::GpdsContextDeactivatingInd;contextId=%hhu", contextId );
  2166 
  2213 
  2167     TInfoName contextName;
  2214     TInfoName contextName;
  2168     TInt ret( iContextList->
  2215     TInt ret( iContextList->
  2169         GetContextNameByContextId( contextId, contextName ) );
  2216         GetContextNameByContextId( contextId, contextName ) );
  2170 
  2217 
  2196         }
  2243         }
  2197     // no else
  2244     // no else
  2198 
  2245 
  2199     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextDeactivatingInd. Error(0=OK): %d ", ret );
  2246     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextDeactivatingInd. Error(0=OK): %d ", ret );
  2200 
  2247 
  2201 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATINGIND, "CMmPacketContextMessHandler::GpdsContextDeactivatingInd;Error(0=OK)=%d", ret );
  2248 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATINGIND_TD, "CMmPacketContextMessHandler::GpdsContextDeactivatingInd;Error(0=OK)=%d", ret );
  2202     }
  2249     }
  2203 
  2250 
  2204 // -----------------------------------------------------------------------------
  2251 // -----------------------------------------------------------------------------
  2205 // CMmPacketContextMessHandler::GpdsContextDeactivateInd
  2252 // CMmPacketContextMessHandler::GpdsContextDeactivateInd
  2206 // Breaks gpds context deactivate indication message.
  2253 // Breaks gpds context deactivate indication message.
  2210 void CMmPacketContextMessHandler::GpdsContextDeactivateInd(
  2257 void CMmPacketContextMessHandler::GpdsContextDeactivateInd(
  2211    const TIsiReceiveC& aIsiMessage )
  2258    const TIsiReceiveC& aIsiMessage )
  2212     {
  2259     {
  2213 
  2260 
  2214     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateInd.");
  2261     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextDeactivateInd.");
  2215 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATEIND, "CMmPacketContextMessHandler::GpdsContextDeactivateInd" );
  2262 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTDEACTIVATEIND_TD, "CMmPacketContextMessHandler::GpdsContextDeactivateInd" );
  2216 
  2263 
  2217     TUint8 contextId( aIsiMessage.Get8bit(
  2264     TUint8 contextId( aIsiMessage.Get8bit(
  2218         ISI_HEADER_SIZE + GPDS_CONTEXT_DEACTIVATE_IND_OFFSET_CID ) );
  2265         ISI_HEADER_SIZE + GPDS_CONTEXT_DEACTIVATE_IND_OFFSET_CID ) );
  2219 
  2266 
  2220     TInfoName contextName;
  2267     TInfoName contextName;
  2283 
  2330 
  2284     TInt ret( KErrNotReady );
  2331     TInt ret( KErrNotReady );
  2285     TUint8 transactionId( GenerateTraId( contextId ) );
  2332     TUint8 transactionId( GenerateTraId( contextId ) );
  2286 
  2333 
  2287     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextStatusReq. TransId: %d ContextId: %d", transactionId, contextId );
  2334     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextStatusReq. TransId: %d ContextId: %d", transactionId, contextId );
  2288 OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTSTATUSREQ, "CMmPacketContextMessHandler::GpdsContextStatusReq;transactionId=%hhu;contextId=%hhu", transactionId, contextId );
  2335 OstTraceExt2( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTSTATUSREQ_TD, "CMmPacketContextMessHandler::GpdsContextStatusReq;transactionId=%hhu;contextId=%hhu", transactionId, contextId );
  2289 
  2336 
  2290     if(  GPDS_CID_VOID != contextId  )
  2337     if(  GPDS_CID_VOID != contextId  )
  2291         {
  2338         {
  2292         // Set the message data that consists of one parameter
  2339         // Set the message data that consists of one parameter
  2293         TBuf8<KMessageDataBufSize1> messageData;
  2340         TBuf8<KMessageDataBufSize1> messageData;
  2310 void CMmPacketContextMessHandler::GpdsContextStatusResp(
  2357 void CMmPacketContextMessHandler::GpdsContextStatusResp(
  2311     const TIsiReceiveC& aIsiMessage )
  2358     const TIsiReceiveC& aIsiMessage )
  2312     {
  2359     {
  2313 
  2360 
  2314     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextStatusResp.");
  2361     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextStatusResp.");
  2315 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTSTATUSRESP, "CMmPacketContextMessHandler::GpdsContextStatusResp" );
  2362 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTSTATUSRESP_TD, "CMmPacketContextMessHandler::GpdsContextStatusResp" );
  2316 
  2363 
  2317     // Get context id
  2364     // Get context id
  2318     TUint8 contextId( aIsiMessage.Get8bit(
  2365     TUint8 contextId( aIsiMessage.Get8bit(
  2319        ISI_HEADER_SIZE + GPDS_CONTEXT_STATUS_RESP_OFFSET_CID ) );
  2366        ISI_HEADER_SIZE + GPDS_CONTEXT_STATUS_RESP_OFFSET_CID ) );
  2320     TInfoName contextName;
  2367     TInfoName contextName;
  2369 void CMmPacketContextMessHandler::GpdsContextStatusInd(
  2416 void CMmPacketContextMessHandler::GpdsContextStatusInd(
  2370     const TIsiReceiveC& aIsiMessage )
  2417     const TIsiReceiveC& aIsiMessage )
  2371     {
  2418     {
  2372 
  2419 
  2373     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextStatusInd.");
  2420     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextStatusInd.");
  2374 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTSTATUSIND, "CMmPacketContextMessHandler::GpdsContextStatusInd" );
  2421 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTSTATUSIND_TD, "CMmPacketContextMessHandler::GpdsContextStatusInd" );
  2375 
  2422 
  2376     // Get context id
  2423     // Get context id
  2377     TUint8 contextId( aIsiMessage.Get8bit(
  2424     TUint8 contextId( aIsiMessage.Get8bit(
  2378        ISI_HEADER_SIZE + GPDS_CONTEXT_STATUS_IND_OFFSET_CID  ) );
  2425        ISI_HEADER_SIZE + GPDS_CONTEXT_STATUS_IND_OFFSET_CID  ) );
  2379     TInfoName contextName;
  2426     TInfoName contextName;
  2419 void CMmPacketContextMessHandler::GpdsContextIdDeleteInd(
  2466 void CMmPacketContextMessHandler::GpdsContextIdDeleteInd(
  2420     const TIsiReceiveC& aIsiMessage )
  2467     const TIsiReceiveC& aIsiMessage )
  2421     {
  2468     {
  2422 
  2469 
  2423     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextIdDeleteInd.");
  2470     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextIdDeleteInd.");
  2424 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDDELETEIND, "CMmPacketContextMessHandler::GpdsContextIdDeleteInd" );
  2471 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDDELETEIND_TD, "CMmPacketContextMessHandler::GpdsContextIdDeleteInd" );
  2425 
  2472 
  2426     TUint8 contextId( aIsiMessage.Get8bit(
  2473     TUint8 contextId( aIsiMessage.Get8bit(
  2427        ISI_HEADER_SIZE + GPDS_CONTEXT_ID_DELETE_IND_OFFSET_CID  ) );
  2474        ISI_HEADER_SIZE + GPDS_CONTEXT_ID_DELETE_IND_OFFSET_CID  ) );
  2428     // Get transaction id
  2475     // Get transaction id
  2429     TUint8 transactionId( iContextList->
  2476     TUint8 transactionId( iContextList->
  2441 
  2488 
  2442     if( KErrNone == ret )
  2489     if( KErrNone == ret )
  2443         {
  2490         {
  2444 
  2491 
  2445         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextIdDeleteInd. Context name found.");
  2492         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextIdDeleteInd. Context name found.");
  2446 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDDELETEIND, "CMmPacketContextMessHandler::GpdsContextIdDeleteInd, Context name found" );
  2493 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTIDDELETEIND_TD, "CMmPacketContextMessHandler::GpdsContextIdDeleteInd, Context name found" );
  2447 
  2494 
  2448         // initialise struct for completion
  2495         // initialise struct for completion
  2449         #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
  2496         #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
  2450         CMmCommonStaticUtility::TContextMisc misc;
  2497         CMmCommonStaticUtility::TContextMisc misc;
  2451         #else
  2498         #else
  2501     aDataPackage->UnPackData( configuration, mediaAuthorizationArray );
  2548     aDataPackage->UnPackData( configuration, mediaAuthorizationArray );
  2502 
  2549 
  2503     contextName = configuration.iContextName;
  2550     contextName = configuration.iContextName;
  2504 
  2551 
  2505     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextModifyReq. Context:%s", &contextName );
  2552     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextModifyReq. Context:%s", &contextName );
  2506 OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYREQ, "CMmPacketContextMessHandler::GpdsContextModifyReq;contextName=%S", contextName );
  2553 OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYREQ_TD, "CMmPacketContextMessHandler::GpdsContextModifyReq;contextName=%S", contextName );
  2507 
  2554 
  2508     TUint8 contextId(iContextList->GetContextIdByContextName( &contextName ));
  2555     TUint8 contextId(iContextList->GetContextIdByContextName( &contextName ));
  2509 
  2556 
  2510     // Initializing ret value to KErrNone
  2557     // Initializing ret value to KErrNone
  2511     TInt ret( KErrNone );
  2558     TInt ret( KErrNone );
  2513     if( GPDS_CID_VOID != contextId )
  2560     if( GPDS_CID_VOID != contextId )
  2514         {
  2561         {
  2515         TUint8 modifyTraId( GenerateTraId( contextId ) );
  2562         TUint8 modifyTraId( GenerateTraId( contextId ) );
  2516 
  2563 
  2517         TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextModifyReq. TransId: %d ContextId: %d", modifyTraId, contextId );
  2564         TFLOGSTRING3("TSY: CMmPacketContextMessHandler::GpdsContextModifyReq. TransId: %d ContextId: %d", modifyTraId, contextId );
  2518 OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYREQ, "CMmPacketContextMessHandler::GpdsContextModifyReq;modifyTraId=%hhu;contextId=%hhu", modifyTraId, contextId );
  2565 OstTraceExt2( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYREQ_TD, "CMmPacketContextMessHandler::GpdsContextModifyReq;modifyTraId=%hhu;contextId=%hhu", modifyTraId, contextId );
  2519 
  2566 
  2520         TUint8 tftOperation( 0 );
  2567         TUint8 tftOperation( 0 );
  2521 
  2568 
  2522         MapTftOperation( configuration.iTftOperation, tftOperation );
  2569         MapTftOperation( configuration.iTftOperation, tftOperation );
  2523 
  2570 
  2761     TInt errorValue( KErrNone );
  2808     TInt errorValue( KErrNone );
  2762     TUint8 contextId( aIsiMessage.Get8bit(
  2809     TUint8 contextId( aIsiMessage.Get8bit(
  2763         ISI_HEADER_SIZE + GPDS_CONTEXT_MODIFY_RESP_OFFSET_CID ) );
  2810         ISI_HEADER_SIZE + GPDS_CONTEXT_MODIFY_RESP_OFFSET_CID ) );
  2764 
  2811 
  2765     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextModifyResp. Context id:%d", contextId );
  2812     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::GpdsContextModifyResp. Context id:%d", contextId );
  2766 OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYRESP, "CMmPacketContextMessHandler::GpdsContextModifyResp;contextId=%hhu", contextId );
  2813 OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYRESP_TD, "CMmPacketContextMessHandler::GpdsContextModifyResp;contextId=%hhu", contextId );
  2767 
  2814 
  2768     sbStartOffSet = 0;
  2815     sbStartOffSet = 0;
  2769 
  2816 
  2770     if( GPDS_CID_VOID != contextId )
  2817     if( GPDS_CID_VOID != contextId )
  2771         {
  2818         {
  2772 
  2819 
  2773         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextModifyResp. Context != GPDS_CID_VOID");
  2820         TFLOGSTRING("TSY: CMmPacketContextMessHandler::GpdsContextModifyResp. Context != GPDS_CID_VOID");
  2774 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYRESP, "CMmPacketContextMessHandler::GpdsContextModifyResp, Context != GPDS_CID_VOID" );
  2821 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYRESP_TD, "CMmPacketContextMessHandler::GpdsContextModifyResp, Context != GPDS_CID_VOID" );
  2775 
  2822 
  2776         // Get transaction id
  2823         // Get transaction id
  2777         TUint8 transactionId( aIsiMessage.Get8bit(
  2824         TUint8 transactionId( aIsiMessage.Get8bit(
  2778            ISI_HEADER_SIZE + GPDS_CONTEXT_MODIFY_RESP_OFFSET_UTID ) );
  2825            ISI_HEADER_SIZE + GPDS_CONTEXT_MODIFY_RESP_OFFSET_UTID ) );
  2779         TUint8 modifyTraId( GenerateTraId( contextId ) );
  2826         TUint8 modifyTraId( GenerateTraId( contextId ) );
  2820             TBuf8<1> rejectionCauseBuf;
  2867             TBuf8<1> rejectionCauseBuf;
  2821             rejectionCauseBuf.Zero();
  2868             rejectionCauseBuf.Zero();
  2822             rejectionCauseBuf.Append( rejectionCause );
  2869             rejectionCauseBuf.Append( rejectionCause );
  2823 
  2870 
  2824             TFLOGSTRING4("TSY: CMmPacketContextMessHandler::GpdsContextModifyResp. status:%d, errorValue:%d, rejCause:%d", status, errorValue, rejectionCause);
  2871             TFLOGSTRING4("TSY: CMmPacketContextMessHandler::GpdsContextModifyResp. status:%d, errorValue:%d, rejCause:%d", status, errorValue, rejectionCause);
  2825 OstTraceExt3( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYRESP, "CMmPacketContextMessHandler::GpdsContextModifyResp;status=%hhu;errorValue=%d;rejectionCause=%hhu", status, errorValue, rejectionCause );
  2872 OstTraceExt3( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_GPDSCONTEXTMODIFYRESP_TD, "CMmPacketContextMessHandler::GpdsContextModifyResp;status=%hhu;errorValue=%d;rejectionCause=%hhu", status, errorValue, rejectionCause );
  2826 
  2873 
  2827             // Make sure that buffer is empty if rejection code is not there
  2874             // Make sure that buffer is empty if rejection code is not there
  2828             if( KErrNone == rejectionCause )
  2875             if( KErrNone == rejectionCause )
  2829                 {
  2876                 {
  2830                 rejectionCauseBuf.Zero();
  2877                 rejectionCauseBuf.Zero();
  2860     RPacketContext::TPacketFilterV2* aFilter,
  2907     RPacketContext::TPacketFilterV2* aFilter,
  2861     TDes8& aBuffer ) const
  2908     TDes8& aBuffer ) const
  2862     {
  2909     {
  2863 
  2910 
  2864     TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo");
  2911     TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo");
  2865 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo" );
  2912 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo" );
  2866 
  2913 
  2867     // Initialize variable which indicates number of components
  2914     // Initialize variable which indicates number of components
  2868     // in PacketFilter
  2915     // in PacketFilter
  2869     TUint8 numberOfSubSubBlocks( 0 );
  2916     TUint8 numberOfSubSubBlocks( 0 );
  2870     // Create tftFilterInfo
  2917     // Create tftFilterInfo
  2889     // Checking also is given value valid. Value 0 means Optional
  2936     // Checking also is given value valid. Value 0 means Optional
  2890     if ( ( 0 < aFilter->iFlowLabel ) && ( GPDS_PDP_TYPE_IPV6 == aPdpType ) )
  2937     if ( ( 0 < aFilter->iFlowLabel ) && ( GPDS_PDP_TYPE_IPV6 == aPdpType ) )
  2891         {
  2938         {
  2892 
  2939 
  2893         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. GPDS_PDP_TYPE_IPV6");
  2940         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. GPDS_PDP_TYPE_IPV6");
  2894 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo, GPDS_PDP_TYPE_IPV6" );
  2941 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo, GPDS_PDP_TYPE_IPV6" );
  2895 
  2942 
  2896         AppendGpdsFilterFlowLabelInfo( *aFilter, tftFilterInfo,
  2943         AppendGpdsFilterFlowLabelInfo( *aFilter, tftFilterInfo,
  2897                                        numberOfSubSubBlocks );
  2944                                        numberOfSubSubBlocks );
  2898         }
  2945         }
  2899     // no else
  2946     // no else
  2901     // If TOSorTrafficClass have valid value
  2948     // If TOSorTrafficClass have valid value
  2902     // Value 0 means Optional
  2949     // Value 0 means Optional
  2903     if ( 0 < aFilter->iTOSorTrafficClass )
  2950     if ( 0 < aFilter->iTOSorTrafficClass )
  2904         {
  2951         {
  2905         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. TOSorTrafficClass have valid value");
  2952         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. TOSorTrafficClass have valid value");
  2906 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo, TOSorTrafficClass have valid value" );
  2953 OstTrace0( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo, TOSorTrafficClass have valid value" );
  2907 
  2954 
  2908         AppendGpdsFilterTosInfo( *aFilter, tftFilterInfo, numberOfSubSubBlocks );
  2955         AppendGpdsFilterTosInfo( *aFilter, tftFilterInfo, numberOfSubSubBlocks );
  2909         }
  2956         }
  2910     // no else
  2957     // no else
  2911 
  2958 
  2912     // If IPSecSPI have valid value
  2959     // If IPSecSPI have valid value
  2913     // Value 0 means Optional
  2960     // Value 0 means Optional
  2914     if ( 0 < aFilter->iIPSecSPI )
  2961     if ( 0 < aFilter->iIPSecSPI )
  2915         {
  2962         {
  2916         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. IPSecSPI have valid value");
  2963         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. IPSecSPI have valid value");
  2917 OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo, IPSecSPI have valid value" );
  2964 OstTrace0( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo, IPSecSPI have valid value" );
  2918 
  2965 
  2919         AppendGpdsFilterSpiInfo( *aFilter, tftFilterInfo, numberOfSubSubBlocks );
  2966         AppendGpdsFilterSpiInfo( *aFilter, tftFilterInfo, numberOfSubSubBlocks );
  2920         }
  2967         }
  2921     // no else
  2968     // no else
  2922 
  2969 
  2924     // Value 0 means Optional
  2971     // Value 0 means Optional
  2925     if ( ( 0 < aFilter->iSrcPortMin ) && ( 0 < aFilter->iSrcPortMax ) )
  2972     if ( ( 0 < aFilter->iSrcPortMin ) && ( 0 < aFilter->iSrcPortMax ) )
  2926         {
  2973         {
  2927 
  2974 
  2928         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. SrcPortMin and SrcPortMax both have valid value");
  2975         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. SrcPortMin and SrcPortMax both have valid value");
  2929 OstTrace0( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo, SrcPortMin and SrcPortMax both have valid value" );
  2976 OstTrace0( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo, SrcPortMin and SrcPortMax both have valid value" );
  2930 
  2977 
  2931         AppendGpdsFilterSrcPortRangeInfo( *aFilter, tftFilterInfo,
  2978         AppendGpdsFilterSrcPortRangeInfo( *aFilter, tftFilterInfo,
  2932                                           numberOfSubSubBlocks );
  2979                                           numberOfSubSubBlocks );
  2933         }
  2980         }
  2934     // no else
  2981     // no else
  2936     // If DestPortMin and DestPortMax both have valid value
  2983     // If DestPortMin and DestPortMax both have valid value
  2937     // Value 0 means Optional
  2984     // Value 0 means Optional
  2938     if ( ( 0 < aFilter->iDestPortMin ) && ( 0 < aFilter->iDestPortMax ) )
  2985     if ( ( 0 < aFilter->iDestPortMin ) && ( 0 < aFilter->iDestPortMax ) )
  2939         {
  2986         {
  2940         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. DestPortMin and DestPortMax both have valid value");
  2987         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. DestPortMin and DestPortMax both have valid value");
  2941 OstTrace0( TRACE_NORMAL, DUP5_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo, DestPortMin and DestPortMax both have valid value" );
  2988 OstTrace0( TRACE_NORMAL,  DUP5_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo, DestPortMin and DestPortMax both have valid value" );
  2942 
  2989 
  2943         AppendGpdsFilterDstPortRangeInfo( *aFilter, tftFilterInfo,
  2990         AppendGpdsFilterDstPortRangeInfo( *aFilter, tftFilterInfo,
  2944                                           numberOfSubSubBlocks );
  2991                                           numberOfSubSubBlocks );
  2945         }
  2992         }
  2946     // no else
  2993     // no else
  2948     // If ProtocolNumberOrNextHeader have valid value
  2995     // If ProtocolNumberOrNextHeader have valid value
  2949     // Value 0 means Optional
  2996     // Value 0 means Optional
  2950     if ( 0 < aFilter->iProtocolNumberOrNextHeader )
  2997     if ( 0 < aFilter->iProtocolNumberOrNextHeader )
  2951         {
  2998         {
  2952         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. ProtocolNumberOrNextHeader have valid value");
  2999         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. ProtocolNumberOrNextHeader have valid value");
  2953 OstTrace0( TRACE_NORMAL, DUP6_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo, ProtocolNumberOrNextHeader have valid value" );
  3000 OstTrace0( TRACE_NORMAL,  DUP6_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo, ProtocolNumberOrNextHeader have valid value" );
  2954 
  3001 
  2955         AppendGpdsFilterProtocolInfo( *aFilter, tftFilterInfo,
  3002         AppendGpdsFilterProtocolInfo( *aFilter, tftFilterInfo,
  2956                                       numberOfSubSubBlocks );
  3003                                       numberOfSubSubBlocks );
  2957         }
  3004         }
  2958     // no else
  3005     // no else
  2959 
  3006 
  2960     // If given aPdpType indicates the Src Addr is type IPv4
  3007     // If given aPdpType indicates the Src Addr is type IPv4
  2961     if ( GPDS_PDP_TYPE_IPV4 == aPdpType )
  3008     if ( GPDS_PDP_TYPE_IPV4 == aPdpType )
  2962         {
  3009         {
  2963         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. aPdpType == GPDS_PDP_TYPE_IPV4");
  3010         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. aPdpType == GPDS_PDP_TYPE_IPV4");
  2964 OstTrace0( TRACE_NORMAL, DUP7_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo, aPdpType == GPDS_PDP_TYPE_IPV4" );
  3011 OstTrace0( TRACE_NORMAL,  DUP7_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo, aPdpType == GPDS_PDP_TYPE_IPV4" );
  2965 
  3012 
  2966         AppendGpdsFilterSrcIPv4AddressInfo( *aFilter, tftFilterInfo,
  3013         AppendGpdsFilterSrcIPv4AddressInfo( *aFilter, tftFilterInfo,
  2967                                             numberOfSubSubBlocks );
  3014                                             numberOfSubSubBlocks );
  2968         }
  3015         }
  2969     // If given aPdpType indicates the Src Addr is type IPv6
  3016     // If given aPdpType indicates the Src Addr is type IPv6
  2970     else if ( GPDS_PDP_TYPE_IPV6 == aPdpType )
  3017     else if ( GPDS_PDP_TYPE_IPV6 == aPdpType )
  2971         {
  3018         {
  2972         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. aPdpType == GPDS_PDP_TYPE_IPV6");
  3019         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. aPdpType == GPDS_PDP_TYPE_IPV6");
  2973 OstTrace0( TRACE_NORMAL, DUP8_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo, aPdpType == GPDS_PDP_TYPE_IPV6" );
  3020 OstTrace0( TRACE_NORMAL,  DUP8_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo, aPdpType == GPDS_PDP_TYPE_IPV6" );
  2974 
  3021 
  2975         AppendGpdsFilterSrcIPv6AddressInfo( *aFilter, tftFilterInfo,
  3022         AppendGpdsFilterSrcIPv6AddressInfo( *aFilter, tftFilterInfo,
  2976                                             numberOfSubSubBlocks );
  3023                                             numberOfSubSubBlocks );
  2977         }
  3024         }
  2978     // no else
  3025     // no else
  2984         GPDS_TFT_FILTER_INFO_OFFSET_NUMBEROFSUBBLOCKS, sbCountBuf );
  3031         GPDS_TFT_FILTER_INFO_OFFSET_NUMBEROFSUBBLOCKS, sbCountBuf );
  2985     // Add GPDS_TFT_FILTER_INFO subblock
  3032     // Add GPDS_TFT_FILTER_INFO subblock
  2986     aBuffer.Append( tftFilterInfoSubBlock.CompleteSubBlock() );
  3033     aBuffer.Append( tftFilterInfoSubBlock.CompleteSubBlock() );
  2987 
  3034 
  2988     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. Return tftFilterInfo length: %d", tftFilterInfo.Length() );
  3035     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::AddPacketFilterInfo. Return tftFilterInfo length: %d", tftFilterInfo.Length() );
  2989 OstTrace1( TRACE_NORMAL, DUP9_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO, "CMmPacketContextMessHandler::AddPacketFilterInfo;Return tftFilterInfo length=%d", tftFilterInfo.Length() );
  3036 OstTrace1( TRACE_NORMAL,  DUP9_CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTERINFO_TD, "CMmPacketContextMessHandler::AddPacketFilterInfo;Return tftFilterInfo length=%d", tftFilterInfo.Length() );
  2990 
  3037 
  2991     return static_cast<TUint16>( tftFilterInfo.Length() );
  3038     return static_cast<TUint16>( tftFilterInfo.Length() );
  2992     }
  3039     }
  2993 
  3040 
  2994 // -----------------------------------------------------------------------------
  3041 // -----------------------------------------------------------------------------
  3004     RPacketContext::TAuthData aChallenge,
  3051     RPacketContext::TAuthData aChallenge,
  3005     TUint8  aId )
  3052     TUint8  aId )
  3006     {
  3053     {
  3007 
  3054 
  3008     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. TransId: %d ContextId: %d", aTransactionId, aContextId );
  3055     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. TransId: %d ContextId: %d", aTransactionId, aContextId );
  3009 OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ, "CMmPacketContextMessHandler::SetAuthenticationConfigReq;aTransactionId=%hhu;aContextId=%hhu", aTransactionId, aContextId );
  3056 OstTraceExt2( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ_TD, "CMmPacketContextMessHandler::SetAuthenticationConfigReq;aTransactionId=%hhu;aContextId=%hhu", aTransactionId, aContextId );
  3010 
  3057 
  3011     TInt ret( KErrNone );
  3058     TInt ret( KErrNone );
  3012 
  3059 
  3013     // Create isi message
  3060     // Create isi message
  3014     TIsiSend gpdsContextAuthReq( iPhoNetSender->SendBufferDes() );
  3061     TIsiSend gpdsContextAuthReq( iPhoNetSender->SendBufferDes() );
  3031     if ( RPacketContext::KMaxAuthDataLength >=
  3078     if ( RPacketContext::KMaxAuthDataLength >=
  3032             aAuthInfo.iUsername.Length() )
  3079             aAuthInfo.iUsername.Length() )
  3033         {
  3080         {
  3034 
  3081 
  3035         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. aAuthInfo.iUsername.Length: %d", aAuthInfo.iUsername.Length());
  3082         TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. aAuthInfo.iUsername.Length: %d", aAuthInfo.iUsername.Length());
  3036 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ, "CMmPacketContextMessHandler::SetAuthenticationConfigReq;aAuthInfo.iUsername.Length=%d", aAuthInfo.iUsername.Length() );
  3083 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ_TD, "CMmPacketContextMessHandler::SetAuthenticationConfigReq;aAuthInfo.iUsername.Length=%d", aAuthInfo.iUsername.Length() );
  3037 
  3084 
  3038         // Add GPDS_USERNAME_INFO subblock
  3085         // Add GPDS_USERNAME_INFO subblock
  3039         // Set the Username info
  3086         // Set the Username info
  3040         // Length must correspond to KMaxAuthDataLength (+6 for ISI message)
  3087         // Length must correspond to KMaxAuthDataLength (+6 for ISI message)
  3041         const TInt KBytesForISIMessage( 6 );
  3088         const TInt KBytesForISIMessage( 6 );
  3071         ( RPacketContext::KMaxAuthDataLength >=
  3118         ( RPacketContext::KMaxAuthDataLength >=
  3072             aAuthInfo.iPassword.Length() ) )
  3119             aAuthInfo.iPassword.Length() ) )
  3073         {
  3120         {
  3074 
  3121 
  3075         TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. Protocol EProtocolPAP");
  3122         TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. Protocol EProtocolPAP");
  3076 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ, "CMmPacketContextMessHandler::SetAuthenticationConfigReq, Protocol EProtocolPAP" );
  3123 OstTrace0( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ_TD, "CMmPacketContextMessHandler::SetAuthenticationConfigReq, Protocol EProtocolPAP" );
  3077 
  3124 
  3078         // Add GPDS_PASSWORD_INFO subblock
  3125         // Add GPDS_PASSWORD_INFO subblock
  3079         // Set the Password info
  3126         // Set the Password info
  3080         // Length must correspond to KMaxAuthDataLength (+6 for isi message)
  3127         // Length must correspond to KMaxAuthDataLength (+6 for isi message)
  3081         TBuf8<RPacketContext::KMaxAuthDataLength + 6> passwordInfo;
  3128         TBuf8<RPacketContext::KMaxAuthDataLength + 6> passwordInfo;
  3107             aAuthInfo.iUsername.Length() ) &&
  3154             aAuthInfo.iUsername.Length() ) &&
  3108         ( RPacketContext::KMaxAuthDataLength >= aResponse.Length() ) )
  3155         ( RPacketContext::KMaxAuthDataLength >= aResponse.Length() ) )
  3109         {
  3156         {
  3110 
  3157 
  3111         TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. Protocol EProtocolCHAP");
  3158         TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. Protocol EProtocolCHAP");
  3112 OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ, "CMmPacketContextMessHandler::SetAuthenticationConfigReq, Protocol EProtocolCHAP" );
  3159 OstTrace0( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ_TD, "CMmPacketContextMessHandler::SetAuthenticationConfigReq, Protocol EProtocolCHAP" );
  3113 
  3160 
  3114         // Add GPDS_CHALLENGE_INFO subblock
  3161         // Add GPDS_CHALLENGE_INFO subblock
  3115         // Set the Challenge info
  3162         // Set the Challenge info
  3116         // Length must correspond to KMaxAuthDataLength (+6 for ISI message)
  3163         // Length must correspond to KMaxAuthDataLength (+6 for ISI message)
  3117         TBuf8<RPacketContext::KMaxAuthDataLength + 6> challengeInfo;
  3164         TBuf8<RPacketContext::KMaxAuthDataLength + 6> challengeInfo;
  3168         }
  3215         }
  3169     else
  3216     else
  3170         {
  3217         {
  3171 
  3218 
  3172         TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. return KErrTooBig");
  3219         TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. return KErrTooBig");
  3173 OstTrace0( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ, "CMmPacketContextMessHandler::SetAuthenticationConfigReq,return KErrTooBig" );
  3220 OstTrace0( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ_TD, "CMmPacketContextMessHandler::SetAuthenticationConfigReq,return KErrTooBig" );
  3174 
  3221 
  3175         ret = KErrTooBig;
  3222         ret = KErrTooBig;
  3176         }
  3223         }
  3177 
  3224 
  3178     if ( KErrNone == ret )
  3225     if ( KErrNone == ret )
  3181         gpdsContextAuthReq.Set8bit(
  3228         gpdsContextAuthReq.Set8bit(
  3182             ISI_HEADER_SIZE + GPDS_CONTEXT_AUTH_REQ_OFFSET_NUMBEROFSUBBLOCKS,
  3229             ISI_HEADER_SIZE + GPDS_CONTEXT_AUTH_REQ_OFFSET_NUMBEROFSUBBLOCKS,
  3183             numOfSbInMessage );
  3230             numOfSbInMessage );
  3184 
  3231 
  3185         TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. Send GPDS_CONTEXT_AUTH_REQ message");
  3232         TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetAuthenticationConfigReq. Send GPDS_CONTEXT_AUTH_REQ message");
  3186 OstTrace0( TRACE_NORMAL, DUP5_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ, "CMmPacketContextMessHandler::SetAuthenticationConfigReq, Send GPDS_CONTEXT_AUTH_REQ message" );
  3233 OstTrace0( TRACE_NORMAL,  DUP5_CMMPACKETCONTEXTMESSHANDLER_SETAUTHENTICATIONCONFIGREQ_TD, "CMmPacketContextMessHandler::SetAuthenticationConfigReq, Send GPDS_CONTEXT_AUTH_REQ message" );
  3187 
  3234 
  3188         // Send GPDS_CONTEXT_AUTH_REQ message
  3235         // Send GPDS_CONTEXT_AUTH_REQ message
  3189         ret = iPhoNetSender->Send( gpdsContextAuthReq.Complete() );
  3236         ret = iPhoNetSender->Send( gpdsContextAuthReq.Complete() );
  3190         }
  3237         }
  3191     // no else
  3238     // no else
  3202     TInt aIpc,
  3249     TInt aIpc,
  3203     const CMmDataPackage* aDataPackage )
  3250     const CMmDataPackage* aDataPackage )
  3204     {
  3251     {
  3205 
  3252 
  3206     TFLOGSTRING2( "TSY: CMmPacketContextMessHandler::ExtFuncL. IPC: %d", aIpc );
  3253     TFLOGSTRING2( "TSY: CMmPacketContextMessHandler::ExtFuncL. IPC: %d", aIpc );
  3207 OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_EXTFUNCL, "CMmPacketContextMessHandler::ExtFuncL;aIpc=%d", aIpc );
  3254 OstTrace1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_EXTFUNCL_TD, "CMmPacketContextMessHandler::ExtFuncL;aIpc=%d", aIpc );
  3208 
  3255 
  3209     // add the usage of ASSERT MACRO for aDataPackage when it's available
  3256     // add the usage of ASSERT MACRO for aDataPackage when it's available
  3210     TInt ret( KErrNotSupported );
  3257     TInt ret( KErrNotSupported );
  3211 
  3258 
  3212     switch ( aIpc )
  3259     switch ( aIpc )
  3231             ret = SetConfigL( *aDataPackage );
  3278             ret = SetConfigL( *aDataPackage );
  3232             break;
  3279             break;
  3233             }
  3280             }
  3234         case EPacketContextActivate:
  3281         case EPacketContextActivate:
  3235             {
  3282             {
  3236             ret = iMmPipeController->PnsPipeEnableReq( *aDataPackage );
  3283             // Call ActivatePhase2L
       
  3284             ret = ActivatePhase2( *aDataPackage );
  3237             break;
  3285             break;
  3238             }
  3286             }
  3239         case EPacketContextDeactivate:
  3287         case EPacketContextDeactivate:
  3240             {
  3288             {
  3241             ret = GpdsContextDeactivateReq( *aDataPackage );
  3289             ret = GpdsContextDeactivateReq( *aDataPackage );
  3280         default:
  3328         default:
  3281             {
  3329             {
  3282 
  3330 
  3283             TFLOGSTRING2("TSY: CMmPacketContextMessHandler::ExtFuncL - Unknown IPC: %d", aIpc);
  3331             TFLOGSTRING2("TSY: CMmPacketContextMessHandler::ExtFuncL - Unknown IPC: %d", aIpc);
  3284 
  3332 
  3285 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_EXTFUNCL, "CMmPacketContextMessHandler::ExtFuncL;Unknown aIpc=%d", aIpc );
  3333 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_EXTFUNCL_TD, "CMmPacketContextMessHandler::ExtFuncL;Unknown aIpc=%d", aIpc );
  3286             break;
  3334             break;
  3287             }
  3335             }
  3288         }
  3336         }
  3289 
  3337     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::ExtFuncL exit: 0x%x", ret);
       
  3338     OstTrace1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_EXTFUNCL_TD, "CMmPacketContextMessHandler::ExtFuncL;ret=%x", ret );
  3290     return ret;
  3339     return ret;
  3291     }
  3340     }
  3292 
  3341 
  3293 // -----------------------------------------------------------------------------
  3342 // -----------------------------------------------------------------------------
  3294 // CMmPacketContextMessHandler::InitialiseContext
  3343 // CMmPacketContextMessHandler::InitialiseContext
  3298 TInt CMmPacketContextMessHandler::InitialiseContext(
  3347 TInt CMmPacketContextMessHandler::InitialiseContext(
  3299     const CMmDataPackage& aDataPackage )
  3348     const CMmDataPackage& aDataPackage )
  3300     {
  3349     {
  3301 
  3350 
  3302     TFLOGSTRING( "TSY: CMmPacketContextMessHandler::InitialiseContext");
  3351     TFLOGSTRING( "TSY: CMmPacketContextMessHandler::InitialiseContext");
  3303 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXT, "CMmPacketContextMessHandler::InitialiseContext" );
  3352 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXT_TD, "CMmPacketContextMessHandler::InitialiseContext" );
  3304 
  3353 
  3305     TInt channelId( KTUint8NotDefined );
  3354     TInt channelId( KTUint8NotDefined );
  3306     TInfoName* contextName = NULL;
  3355     TInfoName* contextName = NULL;
  3307     TInfoName* hostCidName = NULL;
  3356     TInfoName* hostCidName = NULL;
  3308     TInt ret( KErrNone );
  3357     TInt ret( KErrNone );
  3427 TInt CMmPacketContextMessHandler::InitialiseContextPhase2(
  3476 TInt CMmPacketContextMessHandler::InitialiseContextPhase2(
  3428     TUint8 aPipeHandle )
  3477     TUint8 aPipeHandle )
  3429     {
  3478     {
  3430 
  3479 
  3431     TFLOGSTRING("TSY: CMmPacketContextGsmWcdmaExt::InitialiseContextPhase2.");
  3480     TFLOGSTRING("TSY: CMmPacketContextGsmWcdmaExt::InitialiseContextPhase2.");
  3432 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXTPHASE2, "CMmPacketContextMessHandler::InitialiseContextPhase2" );
  3481 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXTPHASE2_TD, "CMmPacketContextMessHandler::InitialiseContextPhase2" );
  3433 
  3482 
  3434     TInt ret( KErrNone );
  3483     TInt ret( KErrNone );
  3435     TUint8 createContextIdTransId( iContextList->
  3484     TUint8 createContextIdTransId( iContextList->
  3436         CreateContextIdTransIdByPipeHandle( aPipeHandle ) );
  3485         CreateContextIdTransIdByPipeHandle( aPipeHandle ) );
  3437 
  3486 
  3453                 }
  3502                 }
  3454             // no else
  3503             // no else
  3455 
  3504 
  3456             TFLOGSTRING2("TSY: CMmPacketContextGsmWcdmaExt::InitialiseContextPhase2. Error(0=OK) %d", ret );
  3505             TFLOGSTRING2("TSY: CMmPacketContextGsmWcdmaExt::InitialiseContextPhase2. Error(0=OK) %d", ret );
  3457 
  3506 
  3458 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXTPHASE2, "CMmPacketContextMessHandler::InitialiseContextPhase2;Error(0=OK) %d", ret );
  3507 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXTPHASE2_TD, "CMmPacketContextMessHandler::InitialiseContextPhase2;Error(0=OK) %d", ret );
  3459             }
  3508             }
  3460         // no else
  3509         // no else
  3461         }
  3510         }
  3462     // no else
  3511     // no else
  3463 
  3512 
  3468 // CMmPacketContextMessHandler::InitialiseContextPhase3
  3517 // CMmPacketContextMessHandler::InitialiseContextPhase3
  3469 // This function starts the third phase of the context initialisation.
  3518 // This function starts the third phase of the context initialisation.
  3470 // -----------------------------------------------------------------------------
  3519 // -----------------------------------------------------------------------------
  3471 //
  3520 //
  3472 void CMmPacketContextMessHandler::InitialiseContextPhase3(
  3521 void CMmPacketContextMessHandler::InitialiseContextPhase3(
  3473     const TUint8 aStatus,
  3522     TUint8 aStatus,
  3474     const TUint8 aContextId )
  3523     TUint8 aContextId,
       
  3524     TUint8 aTrId )
  3475     {
  3525     {
  3476 
  3526 
  3477     TFLOGSTRING3("TSY: CMmPacketContextGsmWcdmaExt::InitialiseContextPhase3. ContextId:%d aStatus:%d", aContextId, aStatus );
  3527     TFLOGSTRING3("TSY: CMmPacketContextGsmWcdmaExt::InitialiseContextPhase3. ContextId:%d aStatus:%d", aContextId, aStatus );
  3478 OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXTPHASE3, "CMmPacketContextMessHandler::InitialiseContextPhase3;aContextId=%d;aStatus=%d", aContextId, aStatus );
  3528 OstTraceExt2( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXTPHASE3_TD, "CMmPacketContextMessHandler::InitialiseContextPhase3;aContextId=%d;aStatus=%d", aContextId, aStatus );
  3479 
  3529 
  3480     TInt ret( KErrGeneral );
  3530     TInt ret( KErrGeneral );
  3481 
  3531 
  3482     if ( GPDS_OK == aStatus )
  3532     if ( GPDS_OK == aStatus )
  3483         {
  3533         {
  3515         CMmDataPackage data;
  3565         CMmDataPackage data;
  3516         TInt found( iContextList->
  3566         TInt found( iContextList->
  3517             GetContextNameByContextId( aContextId, contextname ) );
  3567             GetContextNameByContextId( aContextId, contextname ) );
  3518 
  3568 
  3519         TFLOGSTRING2("TSY: CMmPacketContextGsmWcdmaExt::InitialiseContextPhase3. Error:%d", ret );
  3569         TFLOGSTRING2("TSY: CMmPacketContextGsmWcdmaExt::InitialiseContextPhase3. Error:%d", ret );
  3520 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXTPHASE3, "CMmPacketContextMessHandler::InitialiseContextPhase3;Error=%d", ret );
  3570 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_INITIALISECONTEXTPHASE3_TD, "CMmPacketContextMessHandler::InitialiseContextPhase3;Error=%d", ret );
  3521 
  3571 
  3522         iInitialiseError = ret;
  3572         iInitialiseError = ret;
  3523         // Remove the pipe
  3573         // Remove the pipe
  3524         // Context not found->pipehandle not found
  3574         // Context not found->pipehandle not found
  3525         if( KErrNotFound == ret )
  3575         if( KErrNotFound == ret )
  3559                 if ( GPDS_ERROR == aStatus )
  3609                 if ( GPDS_ERROR == aStatus )
  3560                     {
  3610                     {
  3561                     // If GPDS_STATUS in GPDS_CONTEXT_ID_CREATE_RESP is
  3611                     // If GPDS_STATUS in GPDS_CONTEXT_ID_CREATE_RESP is
  3562                     // GPDS_ERROR, max number of contexts already in use
  3612                     // GPDS_ERROR, max number of contexts already in use
  3563                     // (~=ALL_PIPES_IN_USE). => remove pipe if created
  3613                     // (~=ALL_PIPES_IN_USE). => remove pipe if created
  3564                     TUint8 pipeRemoveTraId( GenerateTraId( aContextId ) );
       
  3565                     TUint8 pipeHandle( iContextList->
  3614                     TUint8 pipeHandle( iContextList->
  3566                         PipeHandleByContextName( &contextname ) );
  3615                         PipeHandleByContextName( &contextname ) );
  3567 
  3616 
  3568                     ret = iMmPipeController->PnsPipeRemoveReq(
  3617                     ret = iMmPipeController->PnsPipeRemoveReq(
  3569                         pipeRemoveTraId, pipeHandle );
  3618                         aTrId, pipeHandle );
  3570 
  3619 
  3571                     if ( KErrNone == ret )
  3620                     if ( KErrNone == ret )
  3572                         {
  3621                         {
  3573                         // Store the trans id
  3622                         // Store the trans id
  3574                         ret = iContextList->
  3623                         ret = iContextList->
  3575                             SetRemovePipeTraId( pipeRemoveTraId, pipeHandle );
  3624                             SetRemovePipeTraId( aTrId, pipeHandle );
  3576                         }
  3625                         }
  3577                     ret = CMmStaticUtility::EpocErrorCode(
  3626                     ret = CMmStaticUtility::EpocErrorCode(
  3578                         KErrOverflow, KErrUmtsMaxNumOfContextExceededByPhone );
  3627                         KErrOverflow, KErrUmtsMaxNumOfContextExceededByPhone );
  3579                      }
  3628                      }
  3580                 // no else
  3629                 // no else
  3602     const TUint8 aPipeHandle,
  3651     const TUint8 aPipeHandle,
  3603     const TUint8 aErrorCause )
  3652     const TUint8 aErrorCause )
  3604     {
  3653     {
  3605 
  3654 
  3606     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::CompletePipeOperation. MessageId:%d Pipe handle:%d", aMessageId, aPipeHandle );
  3655     TFLOGSTRING3("TSY: CMmPacketContextMessHandler::CompletePipeOperation. MessageId:%d Pipe handle:%d", aMessageId, aPipeHandle );
  3607 OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation;aMessageId=%d;aPipeHandle=%hhu", aMessageId, aPipeHandle );
  3656 OstTraceExt2( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation;aMessageId=%d;aPipeHandle=%hhu", aMessageId, aPipeHandle );
  3608     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CompletePipeOperation. Error cause:%d", aErrorCause );
  3657     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CompletePipeOperation. Error cause:%d", aErrorCause );
  3609 OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation;aErrorCause=%hhu", aErrorCause );
  3658 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation;aErrorCause=%hhu", aErrorCause );
  3610 
  3659 
  3611     TInt errorCause( KErrNone );
  3660     TInt errorCause( KErrNone );
  3612 
  3661 
  3613     if ( PN_PIPE_NO_ERROR != aErrorCause )
  3662     if ( PN_PIPE_NO_ERROR != aErrorCause )
  3614         {
  3663         {
  3630 
  3679 
  3631     switch ( aMessageId )
  3680     switch ( aMessageId )
  3632         {
  3681         {
  3633         case PNS_PIPE_CREATE_RESP:
  3682         case PNS_PIPE_CREATE_RESP:
  3634             {
  3683             {
       
  3684             TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation - PNS_PIPE_CREATE_RESP" );
       
  3685             OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation - PNS_PIPE_CREATE_RESP" );
  3635             if ( PN_PIPE_NO_ERROR == aErrorCause )
  3686             if ( PN_PIPE_NO_ERROR == aErrorCause )
  3636                 {
  3687                 {
  3637                 // Store the pipe handle
  3688                 // Store the pipe handle
  3638                 TInt ret( iContextList->
  3689                 TInt ret( iContextList->
  3639                     SetPipeHandle( aTransactionId, aPipeHandle ) );
  3690                     SetPipeHandle( aTransactionId, aPipeHandle ) );
  3669 
  3720 
  3670                             if( KErrNone != ret2 )
  3721                             if( KErrNone != ret2 )
  3671                                 {
  3722                                 {
  3672 
  3723 
  3673                                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation. Cannot Complete Initialisation");
  3724                                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation. Cannot Complete Initialisation");
  3674 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation, Cannot Complete Initialisation" );
  3725 OstTrace0( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation, Cannot Complete Initialisation" );
  3675                                 }
  3726                                 }
  3676                             // no else
  3727                             // no else
  3677                             }
  3728                             }
  3678                         // no else
  3729                         // no else
  3679                         }
  3730                         }
  3707                     // no else
  3758                     // no else
  3708                     if( KErrNone != ret )
  3759                     if( KErrNone != ret )
  3709                         {
  3760                         {
  3710 
  3761 
  3711                         TFLOGSTRING("LTSY: CMmPacketContextMessHandler::CompletePipeOperationL. Cannot Complete failed initialisation" );
  3762                         TFLOGSTRING("LTSY: CMmPacketContextMessHandler::CompletePipeOperationL. Cannot Complete failed initialisation" );
  3712 OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation, Cannot Complete failed initialisation" );
  3763 OstTrace0( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation, Cannot Complete failed initialisation" );
  3713                         }
  3764                         }
  3714                     // no else
  3765                     // no else
  3715                     }
  3766                     }
  3716                 else if( PN_PIPE_ERR_GENERAL == aErrorCause  )
  3767                 else if( PN_PIPE_ERR_GENERAL == aErrorCause  )
  3717                     {
  3768                     {
  3724                     if( KErrNone == ret  )
  3775                     if( KErrNone == ret  )
  3725                         {
  3776                         {
  3726 
  3777 
  3727                         TFLOGSTRING2("LTSY: CMmPacketContextMessHandler::CompletePipeOperationL.Complete context initialisation with %d", errorCause );
  3778                         TFLOGSTRING2("LTSY: CMmPacketContextMessHandler::CompletePipeOperationL.Complete context initialisation with %d", errorCause );
  3728 
  3779 
  3729 OstTraceExt1( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation;Complete context initialisation with=%hhu", aErrorCause );
  3780 OstTraceExt1( TRACE_NORMAL,  DUP5_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation;Complete context initialisation with=%hhu", aErrorCause );
  3730                         //Completion because of some error in PIPE
  3781                         //Completion because of some error in PIPE
  3731                         CMmDataPackage data;
  3782                         CMmDataPackage data;
  3732                         data.PackData( &contextname );
  3783                         data.PackData( &contextname );
  3733                         iMessageRouter->Complete(
  3784                         iMessageRouter->Complete(
  3734                             EPacketContextInitialiseContext,
  3785                             EPacketContextInitialiseContext,
  3741 
  3792 
  3742                     if( KErrNone != ret )
  3793                     if( KErrNone != ret )
  3743                         {
  3794                         {
  3744 
  3795 
  3745                         TFLOGSTRING("LTSY: CMmPacketContextMessHandler::CompletePipeOperationL. Cannot Complete failed initialisation");
  3796                         TFLOGSTRING("LTSY: CMmPacketContextMessHandler::CompletePipeOperationL. Cannot Complete failed initialisation");
  3746 OstTrace0( TRACE_NORMAL, DUP5_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation, Cannot Complete failed initialisation" );
  3797 OstTrace0( TRACE_NORMAL,  DUP6_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation, Cannot Complete failed initialisation" );
  3747                         }
  3798                         }
  3748                     // no else
  3799                     // no else
  3749                     }
  3800                     }
  3750                 else
  3801                 else
  3751                     {
  3802                     {
  3774 
  3825 
  3775                         if( KErrNone != ret )
  3826                         if( KErrNone != ret )
  3776                             {
  3827                             {
  3777 
  3828 
  3778                             TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation. Cannot Complete Initialisation");
  3829                             TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation. Cannot Complete Initialisation");
  3779 OstTrace0( TRACE_NORMAL, DUP6_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation, Cannot Complete Initialisation" );
  3830 OstTrace0( TRACE_NORMAL,  DUP7_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation, Cannot Complete Initialisation" );
  3780                             }
  3831                             }
  3781                         // no else
  3832                         // no else
  3782                         }
  3833                         }
  3783                     // no else
  3834                     // no else
  3784                     }
  3835                     }
  3785                 }
  3836                 }
  3786             break;
  3837             break;
  3787             }
  3838             }
  3788         case PNS_PIPE_ENABLE_RESP:
  3839         case PNS_PIPE_ENABLE_RESP:
  3789             {
  3840             {
  3790 
  3841             TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation - PNS_PIPE_ENABLE_RESP");
       
  3842             OstTrace0( TRACE_NORMAL, DUP8_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation - PNS_PIPE_ENABLE_RESP" );
       
  3843 
       
  3844             // Pipe status is enabled
       
  3845             iContextList->SetPipeStatus( aPipeHandle, PN_PIPE_ENABLE );
       
  3846 
       
  3847             TUint8 proxyId( iContextList->ProxyIdByPipeHandle( aPipeHandle ) );
       
  3848             TUint8 devId( 0 );
       
  3849             TUint8 objId( 0 );
       
  3850             iContextList->GetExternalDevice( proxyId, devId, objId );
  3791             if ( PN_PIPE_NO_ERROR == aErrorCause )
  3851             if ( PN_PIPE_NO_ERROR == aErrorCause )
  3792                 {
  3852                 {
  3793                 // Pipe status is enabled
  3853                 iMmPipeController->PnsPepCtrlReq(
  3794                 iContextList->SetPipeStatus( aPipeHandle, PN_PIPE_ENABLE );
  3854                     devId,
  3795                 // Call ActivatePhase2L
  3855                     objId,
  3796                 ActivatePhase2( aPipeHandle, aTransactionId );
  3856                     aTransactionId,
  3797                 }
  3857                     aPipeHandle,
  3798             // no else
  3858                     PEP_CTRL_ID_LOAN,
       
  3859                     PEP_BCA_OK,
       
  3860                     proxyId );
       
  3861                 }
       
  3862             else
       
  3863                 {
       
  3864                 iMmPipeController->PnsPepCtrlReq(
       
  3865                     devId,
       
  3866                     objId,
       
  3867                     aTransactionId,
       
  3868                     aPipeHandle,
       
  3869                     PEP_CTRL_ID_LOAN,
       
  3870                     PEP_BCA_FAIL,
       
  3871                     proxyId );
       
  3872                 }
  3799 
  3873 
  3800             // This is executed in special case when user has cancelled
  3874             // This is executed in special case when user has cancelled
  3801             // activation, NIF's pep is desctructed and due that pipe server
  3875             // activation, NIF's pep is desctructed and due that pipe server
  3802             // returns an error in PNS_PIPE_ENABLE_RESP message.
  3876             // returns an error in PNS_PIPE_ENABLE_RESP message.
  3803             if ( PN_PIPE_ERR_GENERAL == aErrorCause )
  3877             if ( PN_PIPE_ERR_GENERAL == aErrorCause )
  3804                 {
  3878                 {
  3805                 TUint8 contextId( iContextList->
  3879                 TUint8 contextId( iContextList->
  3806                     ContextIdByPipeHandle( aPipeHandle ) );
  3880                     ContextIdByPipeHandle( aPipeHandle ) );
  3807 
       
  3808                 TInfoName contextname;
  3881                 TInfoName contextname;
  3809                 TInt ret( iContextList->
  3882                 TInt ret( iContextList->
  3810                     GetContextNameByContextId( contextId, contextname ) );
  3883                     GetContextNameByContextId( contextId, contextname ) );
  3811 
       
  3812                 if ( ret == KErrNone )
       
  3813                     {
       
  3814 
       
  3815                     TFLOGSTRING("LTSY: CMmPacketContextMessHandler::CompletePipeOperationL.Complete ACTIVATION with KErrGeneral");
       
  3816 OstTrace0( TRACE_NORMAL, DUP7_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation, Complete ACTIVATION with KErrGeneral" );
       
  3817 
       
  3818                     CMmDataPackage data;
       
  3819                     TAny* ptr = NULL;
       
  3820                     data.PackData( &contextname, ptr );
       
  3821                     iMessageRouter->Complete(
       
  3822                         EPacketContextActivate,
       
  3823                         &data,
       
  3824                         KErrGeneral );
       
  3825                     }
       
  3826                 // no else
       
  3827 
       
  3828                 TUint8 pipeHandle( iContextList->
  3884                 TUint8 pipeHandle( iContextList->
  3829                     PipeHandleByContextName( &contextname ) );
  3885                     PipeHandleByContextName( &contextname ) );
  3830 
  3886 
  3831                 ret = iMmPipeController->
  3887                 ret = iMmPipeController->
  3832                     PnsPipeRemoveReq( aTransactionId, pipeHandle );
  3888                     PnsPipeRemoveReq( aTransactionId, pipeHandle );
  3848             }
  3904             }
  3849         case PNS_PIPE_REMOVE_RESP:
  3905         case PNS_PIPE_REMOVE_RESP:
  3850             {
  3906             {
  3851             TUint8 channelId( iContextList->ProxyIdByPipeHandle( aPipeHandle ) );
  3907             TUint8 channelId( iContextList->ProxyIdByPipeHandle( aPipeHandle ) );
  3852             TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CompletePipeOperation;closing channelId=%d", channelId);
  3908             TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CompletePipeOperation;closing channelId=%d", channelId);
  3853             OstTraceExt1( TRACE_NORMAL, DUP9_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation;closing channelId=%hhu", channelId );
  3909             OstTraceExt1( TRACE_NORMAL,  DUP9_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation;closing channelId=%hhu", channelId );
  3854             iContextList->CloseChannel( channelId );
  3910             iContextList->CloseChannel( channelId );
  3855             TUint8 contextId( iContextList->
  3911             TUint8 contextId( iContextList->
  3856                 ContextIdByPipeHandle( aPipeHandle ) );
  3912                 ContextIdByPipeHandle( aPipeHandle ) );
  3857 
  3913 
  3858             if( iContextList->GetInitialiseMember( aPipeHandle ) )
  3914             if( iContextList->GetInitialiseMember( aPipeHandle ) )
  3899                 {
  3955                 {
  3900                 // Reset pipe handle and pipe status
  3956                 // Reset pipe handle and pipe status
  3901                 iContextList->ResetPipeHandleAndStatus( aPipeHandle );
  3957                 iContextList->ResetPipeHandleAndStatus( aPipeHandle );
  3902 
  3958 
  3903                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation.");
  3959                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation.");
  3904 OstTrace0( TRACE_NORMAL, DUP8_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION, "CMmPacketContextMessHandler::CompletePipeOperation" );
  3960 OstTrace0( TRACE_NORMAL,  DUP10_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation" );
  3905 
  3961 
  3906                 iContextList->RemoveObject( contextId );
  3962                 iContextList->RemoveObject( contextId );
  3907                 }
  3963                 }
  3908             // no else
  3964             // no else
  3909             break;
  3965             break;
  3910             }
  3966             }
       
  3967         case PNS_PIPE_REDIRECT_RESP:
       
  3968             {
       
  3969             TUint8 channelId( iContextList->ProxyIdByPipeHandle( aPipeHandle ) );
       
  3970             TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CompletePipeOperation - PNS_PIPE_REDIRECT_RESP;channelId=0x%x", channelId);
       
  3971             OstTrace1( TRACE_NORMAL, DUP11_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation - PNS_PIPE_REDIRECT_RESP;channelId=%x", channelId );
       
  3972 
       
  3973             TBool isLoan( !iContextList->IsLoanReturning( aPipeHandle ) );
       
  3974             TUint8 controlId( 0 );
       
  3975             TUint8 devId( 0 );
       
  3976             TUint8 objId( 0 );
       
  3977             iContextList->GetExternalDevice( channelId, devId, objId );
       
  3978             
       
  3979             if ( isLoan )
       
  3980                 {
       
  3981                 controlId = PEP_CTRL_ID_LOAN;
       
  3982                 }
       
  3983             else
       
  3984                 {
       
  3985                 controlId = PEP_CTRL_ID_RETURNLOAN;
       
  3986                 }
       
  3987 
       
  3988             if ( aErrorCause == KErrNone )
       
  3989                 {
       
  3990                 if ( isLoan )
       
  3991                     {
       
  3992                     iMmPipeController->PnsPipeEnableReq( aPipeHandle, aTransactionId );
       
  3993                     }
       
  3994                 else
       
  3995                     {
       
  3996                     iMmPipeController->PnsPepCtrlReq(
       
  3997                         devId,
       
  3998                         objId,
       
  3999                         aTransactionId,
       
  4000                         aPipeHandle,
       
  4001                         controlId,
       
  4002                         PEP_BCA_OK,
       
  4003                         channelId );
       
  4004                     }
       
  4005                 }
       
  4006             else
       
  4007                 {
       
  4008                 iMmPipeController->PnsPepCtrlReq(
       
  4009                     devId,
       
  4010                     objId,
       
  4011                     aTransactionId,
       
  4012                     aPipeHandle,
       
  4013                     controlId,
       
  4014                     PEP_BCA_FAIL,
       
  4015                     channelId );
       
  4016                 }
       
  4017             break;
       
  4018             }
       
  4019         case PNS_PEP_CTRL_RESP:
       
  4020             {
       
  4021             TUint8 channelId( iContextList->ProxyIdByPipeHandle( aPipeHandle ) );
       
  4022             TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CompletePipeOperation - PNS_PEP_CTRL_RESP;channelId=0x%x", channelId);
       
  4023             OstTrace1( TRACE_NORMAL, DUP12_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation - PNS_PEP_CTRL_RESP;channelId=%x", channelId );
       
  4024             if ( KErrNone != aErrorCause )
       
  4025                 {
       
  4026                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompletePipeOperation - PNS_PEP_CTRL_RESP - Error!");
       
  4027                 OstTrace0( TRACE_NORMAL, DUP13_CMMPACKETCONTEXTMESSHANDLER_COMPLETEPIPEOPERATION_TD, "CMmPacketContextMessHandler::CompletePipeOperation -  - PNS_PEP_CTRL_RESP - Error!" );
       
  4028                 }
       
  4029             break;
       
  4030             }
  3911         default:
  4031         default:
  3912             {
  4032             {
  3913             break;
  4033             break;
  3914             }
  4034             }
  3915         }
  4035         }
  3923 TInt CMmPacketContextMessHandler::Delete(
  4043 TInt CMmPacketContextMessHandler::Delete(
  3924     const CMmDataPackage& aDataPackage )
  4044     const CMmDataPackage& aDataPackage )
  3925     {
  4045     {
  3926 
  4046 
  3927     TFLOGSTRING("TSY: CMmPacketContextMessHandler::Delete");
  4047     TFLOGSTRING("TSY: CMmPacketContextMessHandler::Delete");
  3928 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_DELETE, "CMmPacketContextMessHandler::Delete" );
  4048 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_DELETE_TD, "CMmPacketContextMessHandler::Delete" );
  3929 
  4049 
  3930     TInt ret( KErrNone );
  4050     TInt ret( KErrNone );
  3931     TInfoName* contextName = NULL;
  4051     TInfoName* contextName = NULL;
  3932     aDataPackage.UnPackData( &contextName );
  4052     aDataPackage.UnPackData( &contextName );
  3933 
  4053 
  3962 TInt CMmPacketContextMessHandler::SetConfigL(
  4082 TInt CMmPacketContextMessHandler::SetConfigL(
  3963     const CMmDataPackage& aDataPackage )
  4083     const CMmDataPackage& aDataPackage )
  3964     {
  4084     {
  3965 
  4085 
  3966     TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetConfigL");
  4086     TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetConfigL");
  3967 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL" );
  4087 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL" );
  3968 
  4088 
  3969     TInt ret( KErrNone );
  4089     TInt ret( KErrNone );
  3970     TInfoName* contextName = NULL;
  4090     TInfoName* contextName = NULL;
  3971     TPacketDataConfigBase* config = NULL;
  4091     TPacketDataConfigBase* config = NULL;
  3972 
  4092 
  3979     if ( TPacketDataConfigBase::KConfigGPRS == config->ExtensionId() )
  4099     if ( TPacketDataConfigBase::KConfigGPRS == config->ExtensionId() )
  3980         {
  4100         {
  3981         if ( GPDS_CID_VOID != contextId )
  4101         if ( GPDS_CID_VOID != contextId )
  3982             {
  4102             {
  3983 TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetConfig -> Rel97");
  4103 TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetConfig -> Rel97");
  3984 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL -> Rel97" );
  4104 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL -> Rel97" );
  3985 
  4105 
  3986             iContextList->SetInitialiseMember( contextId, ETrue );
  4106             iContextList->SetInitialiseMember( contextId, ETrue );
  3987 
  4107 
  3988             RPacketContext::TContextConfigGPRS& configGPRS =
  4108             RPacketContext::TContextConfigGPRS& configGPRS =
  3989                 *reinterpret_cast<RPacketContext::TContextConfigGPRS*>(
  4109                 *reinterpret_cast<RPacketContext::TContextConfigGPRS*>(
  3990                     config );
  4110                     config );
  3991 
  4111 
  3992 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig IP.Length() = %d", configGPRS.iPdpAddress.Length());
  4112 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig IP.Length() = %d", configGPRS.iPdpAddress.Length());
  3993 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iPrimaryDns.Length() = %d", configGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length() );
  4113 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iPrimaryDns.Length() = %d", configGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length() );
  3994 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iSecondaryDns.Length() = %d", configGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length());
  4114 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iSecondaryDns.Length() = %d", configGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length());
  3995 OstTrace1( TRACE_NORMAL, DUP10_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iPdpAddress.Length()=%d", configGPRS.iPdpAddress.Length() );
  4115 OstTrace1( TRACE_NORMAL,  DUP10_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iPdpAddress.Length()=%d", configGPRS.iPdpAddress.Length() );
  3996 OstTrace1( TRACE_NORMAL, DUP11_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length()=%d", configGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length() );
  4116 OstTrace1( TRACE_NORMAL,  DUP11_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length()=%d", configGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length() );
  3997 OstTrace1( TRACE_NORMAL, DUP12_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length()=%d", configGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length() );
  4117 OstTrace1( TRACE_NORMAL,  DUP12_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length()=%d", configGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length() );
  3998 
  4118 
  3999             iContextList->SetContextConfigurationType(
  4119             iContextList->SetContextConfigurationType(
  4000                 contextId, TPacketDataConfigBase::KConfigGPRS );
  4120                 contextId, TPacketDataConfigBase::KConfigGPRS );
  4001             // save authentication data
  4121             // save authentication data
  4002             ret = iContextList->SaveConfig(
  4122             ret = iContextList->SaveConfig(
  4132         if ( GPDS_CID_VOID != contextId )
  4252         if ( GPDS_CID_VOID != contextId )
  4133             {
  4253             {
  4134             if ( TPacketDataConfigBase::KConfigRel5 == config->ExtensionId() )
  4254             if ( TPacketDataConfigBase::KConfigRel5 == config->ExtensionId() )
  4135                 {
  4255                 {
  4136 TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetConfig -> R5");
  4256 TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetConfig -> R5");
  4137 OstTrace0( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL -> R5" );
  4257 OstTrace0( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL -> R5" );
  4138                 }
  4258                 }
  4139             else
  4259             else
  4140                 {
  4260                 {
  4141 TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetConfig -> R99");
  4261 TFLOGSTRING("TSY: CMmPacketContextMessHandler::SetConfig -> R99");
  4142 OstTrace0( TRACE_NORMAL, DUP5_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL -> R99" );
  4262 OstTrace0( TRACE_NORMAL,  DUP5_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL -> R99" );
  4143                 }
  4263                 }
  4144 
  4264 
  4145             RPacketContext::TContextConfigR99_R4& configR99_R4 =
  4265             RPacketContext::TContextConfigR99_R4& configR99_R4 =
  4146                 *reinterpret_cast<RPacketContext::TContextConfigR99_R4*>(
  4266                 *reinterpret_cast<RPacketContext::TContextConfigR99_R4*>(
  4147                     config );
  4267                     config );
  4148 
  4268 
  4149 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iMiscBuffer:%S", &configR99_R4.iProtocolConfigOption.iMiscBuffer );
  4269 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iMiscBuffer:%S", &configR99_R4.iProtocolConfigOption.iMiscBuffer );
  4150 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig IP.Length() = %d", configR99_R4.iPdpAddress.Length());
  4270 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig IP.Length() = %d", configR99_R4.iPdpAddress.Length());
  4151 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iPrimaryDns.Length() = %d", configR99_R4.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length() );
  4271 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iPrimaryDns.Length() = %d", configR99_R4.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length() );
  4152 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iSecondaryDns.Length() = %d", configR99_R4.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length());
  4272 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConfig iSecondaryDns.Length() = %d", configR99_R4.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length());
  4153 OstTrace1( TRACE_NORMAL, DUP6_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iPdpAddress.Length()=%d", configR99_R4.iPdpAddress.Length() );
  4273 OstTrace1( TRACE_NORMAL,  DUP6_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iPdpAddress.Length()=%d", configR99_R4.iPdpAddress.Length() );
  4154 OstTrace1( TRACE_NORMAL, DUP7_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length()=%d", configR99_R4.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length() );
  4274 OstTrace1( TRACE_NORMAL,  DUP7_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length()=%d", configR99_R4.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Length() );
  4155 OstTrace1( TRACE_NORMAL, DUP8_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length()=%d", configR99_R4.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length() );
  4275 OstTrace1( TRACE_NORMAL,  DUP8_CMMPACKETCONTEXTMESSHANDLER_SETCONFIGL_TD, "CMmPacketContextMessHandler::SetConfigL;configGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length()=%d", configR99_R4.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Length() );
  4156 
  4276 
  4157             iContextList->SetContextConfigurationType(
  4277             iContextList->SetContextConfigurationType(
  4158                 contextId, TPacketDataConfigBase::KConfigRel99Rel4 );
  4278                 contextId, TPacketDataConfigBase::KConfigRel99Rel4 );
  4159             // save authentication data
  4279             // save authentication data
  4160             // No need to save REL5 type-> more complexity later as there is no
  4280             // No need to save REL5 type-> more complexity later as there is no
  4303 TInt CMmPacketContextMessHandler::AddPacketFilter(
  4423 TInt CMmPacketContextMessHandler::AddPacketFilter(
  4304     const CMmDataPackage* aDataPackage )
  4424     const CMmDataPackage* aDataPackage )
  4305     {
  4425     {
  4306 
  4426 
  4307     TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilter" );
  4427     TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddPacketFilter" );
  4308 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTER, "CMmPacketContextMessHandler::AddPacketFilter" );
  4428 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_ADDPACKETFILTER_TD, "CMmPacketContextMessHandler::AddPacketFilter" );
  4309 
  4429 
  4310     // includes context configuration information
  4430     // includes context configuration information
  4311     TInt contextConfigurationType;
  4431     TInt contextConfigurationType;
  4312     RPacketContext::TContextConfigGPRS config;
  4432     RPacketContext::TContextConfigGPRS config;
  4313     CArrayFixFlat<RPacketContext::TPacketFilterV2>* filterTemporaryArray = NULL;
  4433     CArrayFixFlat<RPacketContext::TPacketFilterV2>* filterTemporaryArray = NULL;
  4390 // -----------------------------------------------------------------------------
  4510 // -----------------------------------------------------------------------------
  4391 // CMmPacketContextMessHandler::ActivatePhase2
  4511 // CMmPacketContextMessHandler::ActivatePhase2
  4392 // This function starts the second phase of the context activation.
  4512 // This function starts the second phase of the context activation.
  4393 // -----------------------------------------------------------------------------
  4513 // -----------------------------------------------------------------------------
  4394 //
  4514 //
  4395 void CMmPacketContextMessHandler::ActivatePhase2(
  4515 TInt CMmPacketContextMessHandler::ActivatePhase2(
  4396     const TUint8 aPipeHandle,
  4516     const CMmDataPackage& aDataPackage )
  4397     const TUint8 aTransactionId )
  4517     {
  4398     {
       
  4399 
       
  4400     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ActivatePhase2.");
  4518     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ActivatePhase2.");
  4401 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_ACTIVATEPHASE2, "CMmPacketContextMessHandler::ActivatePhase2" );
  4519     OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_ACTIVATEPHASE2_TD, "CMmPacketContextMessHandler::ActivatePhase2" );
       
  4520 
       
  4521     TInfoName* contextName = NULL;
       
  4522     aDataPackage.UnPackData( &contextName );
       
  4523     TUint8 contextId( iContextList->GetContextIdByContextName( contextName ) );
       
  4524     TUint8 transId = iContextList->GetActivationTraId( contextId );
  4402 
  4525 
  4403     TUint8 pdpType( 0 );
  4526     TUint8 pdpType( 0 );
  4404     TInt ret( KErrNone );
  4527     TInt ret( KErrNone );
  4405     TUint8 contextId( iContextList->
       
  4406         ContextIdByPipeHandle( aPipeHandle ) );
       
  4407     TInt configurationType( iContextList->
  4528     TInt configurationType( iContextList->
  4408         GetContextConfigurationType( contextId ) );
  4529         GetContextConfigurationType( contextId ) );
  4409 
  4530 
  4410     TPacketDataConfigBase* configBase = NULL;
  4531     TPacketDataConfigBase* configBase = NULL;
  4411     configBase = iContextList->
  4532     configBase = iContextList->
  4418             RPacketContext::TContextConfigGPRS* config = NULL;
  4539             RPacketContext::TContextConfigGPRS* config = NULL;
  4419             config = reinterpret_cast<RPacketContext::TContextConfigGPRS*>(
  4540             config = reinterpret_cast<RPacketContext::TContextConfigGPRS*>(
  4420                 configBase );
  4541                 configBase );
  4421             MapPdpType( pdpType, config->iPdpType );
  4542             MapPdpType( pdpType, config->iPdpType );
  4422             ret = GpdsContextActivateReq(
  4543             ret = GpdsContextActivateReq(
  4423                 aTransactionId, contextId, config->iPdpAddress, pdpType );
  4544                 transId, contextId, config->iPdpAddress, pdpType );
  4424             }
  4545             }
  4425         else if( TPacketDataConfigBase::KConfigRel99Rel4 == configurationType )
  4546         else if( TPacketDataConfigBase::KConfigRel99Rel4 == configurationType )
  4426             {
  4547             {
  4427             RPacketContext::TContextConfigR99_R4* config99 = NULL;
  4548             RPacketContext::TContextConfigR99_R4* config99 = NULL;
  4428             config99 = reinterpret_cast<RPacketContext::TContextConfigR99_R4*>(
  4549             config99 = reinterpret_cast<RPacketContext::TContextConfigR99_R4*>(
  4429                 configBase );
  4550                 configBase );
  4430             MapPdpType( pdpType, config99->iPdpType );
  4551             MapPdpType( pdpType, config99->iPdpType );
  4431             ret = GpdsContextActivateReq(
  4552             ret = GpdsContextActivateReq(
  4432                 aTransactionId, contextId, config99->iPdpAddress, pdpType );
  4553                 transId, contextId, config99->iPdpAddress, pdpType );
  4433             }
  4554             }
  4434         // no else
  4555         // no else
  4435 
  4556 
  4436         if ( KErrNone != ret )
  4557         if ( KErrNone != ret )
  4437             {
  4558             {
  4438 
       
  4439             TFLOGSTRING2("TSY: CMmPacketContextGsmWcdmaExt::ActivatePhase2. Error: %d", ret );
  4559             TFLOGSTRING2("TSY: CMmPacketContextGsmWcdmaExt::ActivatePhase2. Error: %d", ret );
  4440 
  4560             OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_ACTIVATEPHASE2_TD, "CMmPacketContextMessHandler::ActivatePhase2;Error=%d", ret );
  4441 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_ACTIVATEPHASE2, "CMmPacketContextMessHandler::ActivatePhase2;Error=%d", ret );
       
  4442             TInfoName contextname;
  4561             TInfoName contextname;
  4443             // Context name found
  4562             // Context name found
  4444             if( KErrNone == iContextList->
  4563             if( KErrNone == iContextList->
  4445                 GetContextNameByContextId( contextId, contextname ) )
  4564                 GetContextNameByContextId( contextId, contextname ) )
  4446                 {
  4565                 {
  4455                 // Complete with KErrNone -> setLastErrorCause is NOT set then.
  4574                 // Complete with KErrNone -> setLastErrorCause is NOT set then.
  4456                 iMessageRouter->Complete(
  4575                 iMessageRouter->Complete(
  4457                     EPacketContextNotifyConfigChanged,
  4576                     EPacketContextNotifyConfigChanged,
  4458                     &data,
  4577                     &data,
  4459                     ret );
  4578                     ret );
  4460                 TUint8 transId( GenerateTraId( contextId ) );
       
  4461 
       
  4462                 // Reset the pipe
       
  4463                 ret = iMmPipeController->PnsPipeResetReq(
       
  4464                     transId, aPipeHandle, PN_PIPE_DISABLE );
       
  4465 
       
  4466                 if ( KErrNone == ret )
       
  4467                     {
       
  4468                     // Store the trans id
       
  4469                     iContextList->SetPipeResetTraId( contextId, transId );
       
  4470                     }
       
  4471                 else if( KErrNotFound == ret)
       
  4472                     {
       
  4473 
       
  4474                     TFLOGSTRING("TSY: CMmPacketContextMessHandler::ActivatePhase2. SetPipeResetTraId failed");
       
  4475 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_ACTIVATEPHASE2, "CMmPacketContextMessHandler::ActivatePhase2, SetPipeResetTraId failed" );
       
  4476                     }
       
  4477                 // no else
       
  4478                 }
  4579                 }
  4479             // no else
  4580             // no else
  4480             }
  4581             }
  4481         // no else
  4582         // no else
  4482         }
  4583         }
  4483     // no else
  4584     // no else
       
  4585     return ret;
  4484     }
  4586     }
  4485 
  4587 
  4486 // -----------------------------------------------------------------------------
  4588 // -----------------------------------------------------------------------------
  4487 // CMmPacketContextMessHandler::MapPdpType
  4589 // CMmPacketContextMessHandler::MapPdpType
  4488 // This function maps the client pdp type to Gpds server pdp type.
  4590 // This function maps the client pdp type to Gpds server pdp type.
  4492     TUint8& aPdpTypeServer,
  4594     TUint8& aPdpTypeServer,
  4493     const RPacketContext::TProtocolType aPdpTypeClient )
  4595     const RPacketContext::TProtocolType aPdpTypeClient )
  4494     {
  4596     {
  4495 
  4597 
  4496     TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapPdpType");
  4598     TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapPdpType");
  4497 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_MAPPDPTYPE, "CMmPacketContextMessHandler::MapPdpType" );
  4599 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_MAPPDPTYPE_TD, "CMmPacketContextMessHandler::MapPdpType" );
  4498 
  4600 
  4499     TInt ret( KErrNone );
  4601     TInt ret( KErrNone );
  4500 
  4602 
  4501     switch ( aPdpTypeClient )
  4603     switch ( aPdpTypeClient )
  4502         {
  4604         {
  4519             }
  4621             }
  4520         default:
  4622         default:
  4521             {
  4623             {
  4522 
  4624 
  4523             TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapPdpType. Switch aPdpTypeClient case - default");
  4625             TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapPdpType. Switch aPdpTypeClient case - default");
  4524 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_MAPPDPTYPE, "CMmPacketContextMessHandler::MapPdpType,Switch aPdpTypeClient case - default" );
  4626 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_MAPPDPTYPE_TD, "CMmPacketContextMessHandler::MapPdpType,Switch aPdpTypeClient case - default" );
  4525 
  4627 
  4526             ret = KErrArgument;
  4628             ret = KErrArgument;
  4527             break;
  4629             break;
  4528             }
  4630             }
  4529         }
  4631         }
  4539     const TUint8 aConnectionSpeedServer,
  4641     const TUint8 aConnectionSpeedServer,
  4540     TInt& aConnectionSpeedClient )
  4642     TInt& aConnectionSpeedClient )
  4541     {
  4643     {
  4542 
  4644 
  4543     TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapConnectionSpeed");
  4645     TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapConnectionSpeed");
  4544 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_MAPCONNECTIONSPEED, "CMmPacketContextMessHandler::MapConnectionSpeed" );
  4646 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_MAPCONNECTIONSPEED_TD, "CMmPacketContextMessHandler::MapConnectionSpeed" );
  4545 
  4647 
  4546     switch ( aConnectionSpeedServer )
  4648     switch ( aConnectionSpeedServer )
  4547         {
  4649         {
  4548         // Connection speed rate varies between 0 and 2097152 bps
  4650         // Connection speed rate varies between 0 and 2097152 bps
  4549         case GPDS_QOS_PETC_1:
  4651         case GPDS_QOS_PETC_1:
  4594         // case GPDS_QOS_PETC_0:
  4696         // case GPDS_QOS_PETC_0:
  4595         default:
  4697         default:
  4596             {
  4698             {
  4597 
  4699 
  4598             TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapConnectionSpeed. Switch aConnectionSpeedServer case - default");
  4700             TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapConnectionSpeed. Switch aConnectionSpeedServer case - default");
  4599 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_MAPCONNECTIONSPEED, "CMmPacketContextMessHandler::MapConnectionSpeed, Switch aConnectionSpeedServer case - default" );
  4701 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_MAPCONNECTIONSPEED_TD, "CMmPacketContextMessHandler::MapConnectionSpeed, Switch aConnectionSpeedServer case - default" );
  4600 
  4702 
  4601             aConnectionSpeedClient = KClientSpeeed0;
  4703             aConnectionSpeedClient = KClientSpeeed0;
  4602             break;
  4704             break;
  4603             }
  4705             }
  4604         }
  4706         }
  4605 
  4707 
  4606     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConnectionSpeed. Connection Speed: %d bps", aConnectionSpeedClient );
  4708     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::SetConnectionSpeed. Connection Speed: %d bps", aConnectionSpeedClient );
  4607 
  4709 
  4608 OstTrace1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_MAPCONNECTIONSPEED, "CMmPacketContextMessHandler::MapConnectionSpeed;Connection Speed=%d bps", aConnectionSpeedClient );
  4710 OstTrace1( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_MAPCONNECTIONSPEED_TD, "CMmPacketContextMessHandler::MapConnectionSpeed;Connection Speed=%d bps", aConnectionSpeedClient );
  4609     }
  4711     }
  4610 
  4712 
  4611 // -----------------------------------------------------------------------------
  4713 // -----------------------------------------------------------------------------
  4612 // CMmPacketContextMessHandler::GenerateTraId
  4714 // CMmPacketContextMessHandler::GenerateTraId
  4613 // Generate transaction id for use of current context.
  4715 // Generate transaction id for use of current context.
  4616 TUint8 CMmPacketContextMessHandler::GenerateTraId(
  4718 TUint8 CMmPacketContextMessHandler::GenerateTraId(
  4617     const TUint8 aContextId )
  4719     const TUint8 aContextId )
  4618     {
  4720     {
  4619 
  4721 
  4620     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GenerateTraId");
  4722     TFLOGSTRING("TSY: CMmPacketContextMessHandler::GenerateTraId");
  4621 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GENERATETRAID, "CMmPacketContextMessHandler::GenerateTraId" );
  4723 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GENERATETRAID_TD, "CMmPacketContextMessHandler::GenerateTraId" );
  4622 
  4724 
  4623     TUint8 proxyId( iContextList->
  4725     TUint8 proxyId( iContextList->
  4624         ProxyIdByContextId( aContextId ) );
  4726         ProxyIdByContextId( aContextId ) );
  4625 
  4727 
  4626 #ifdef DUMMY_NIF_PEP_FOR_PACKET_DATA_TESTING_DOS
  4728 #ifdef DUMMY_NIF_PEP_FOR_PACKET_DATA_TESTING_DOS
  4644     const TInt aClientTypeOperation,
  4746     const TInt aClientTypeOperation,
  4645     TUint8& aTftOperation )
  4747     TUint8& aTftOperation )
  4646     {
  4748     {
  4647 
  4749 
  4648     TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapTftOperation");
  4750     TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapTftOperation");
  4649 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_MAPTFTOPERATION, "CMmPacketContextMessHandler::MapTftOperation" );
  4751 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_MAPTFTOPERATION_TD, "CMmPacketContextMessHandler::MapTftOperation" );
  4650 
  4752 
  4651     switch( aClientTypeOperation )
  4753     switch( aClientTypeOperation )
  4652         {
  4754         {
  4653         case ETftCreateNew:
  4755         case ETftCreateNew:
  4654             {
  4756             {
  4682             }
  4784             }
  4683         default:
  4785         default:
  4684             {
  4786             {
  4685 
  4787 
  4686             TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapTftOperation. Switch aClientTypeOperation case - default");
  4788             TFLOGSTRING("TSY: CMmPacketContextMessHandler::MapTftOperation. Switch aClientTypeOperation case - default");
  4687 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_MAPTFTOPERATION, "CMmPacketContextMessHandler::MapTftOperation,Switch aClientTypeOperation case - default" );
  4789 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_MAPTFTOPERATION_TD, "CMmPacketContextMessHandler::MapTftOperation,Switch aClientTypeOperation case - default" );
  4688 
  4790 
  4689             aTftOperation = GPDS_TFT_DELETE_EXISTING;
  4791             aTftOperation = GPDS_TFT_DELETE_EXISTING;
  4690             break;
  4792             break;
  4691             }
  4793             }
  4692         }
  4794         }
  4700 TInt CMmPacketContextMessHandler::AddMediaAuthorizationL(
  4802 TInt CMmPacketContextMessHandler::AddMediaAuthorizationL(
  4701     const CMmDataPackage* aDataPackage )
  4803     const CMmDataPackage* aDataPackage )
  4702     {
  4804     {
  4703 
  4805 
  4704     TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddMediaAuthorizationL.");
  4806     TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddMediaAuthorizationL.");
  4705 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_ADDMEDIAAUTHORIZATIONL, "CMmPacketContextMessHandler::AddMediaAuthorizationL" );
  4807 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_ADDMEDIAAUTHORIZATIONL_TD, "CMmPacketContextMessHandler::AddMediaAuthorizationL" );
  4706 
  4808 
  4707     const CMmPacketDataPackage* data =
  4809     const CMmPacketDataPackage* data =
  4708         reinterpret_cast<const CMmPacketDataPackage*>( aDataPackage );
  4810         reinterpret_cast<const CMmPacketDataPackage*>( aDataPackage );
  4709 
  4811 
  4710     TInt ret( KErrGeneral );
  4812     TInt ret( KErrGeneral );
  4771     TInt ret( 0 == count && aMediaAuthorizationArray ?
  4873     TInt ret( 0 == count && aMediaAuthorizationArray ?
  4772         KErrNone : KErrGeneral );
  4874         KErrNone : KErrGeneral );
  4773     TInt arrayIndex( 0 );
  4875     TInt arrayIndex( 0 );
  4774 
  4876 
  4775     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::AddMediaAuthorizationInfo. aMediaAuthorizationArray count: %d", count);
  4877     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::AddMediaAuthorizationInfo. aMediaAuthorizationArray count: %d", count);
  4776 OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_ADDMEDIAAUTHORIZATIONINFO, "CMmPacketContextMessHandler::AddMediaAuthorizationInfo;aMediaAuthorizationArray count=%d", count );
  4878 OstTrace1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_ADDMEDIAAUTHORIZATIONINFO_TD, "CMmPacketContextMessHandler::AddMediaAuthorizationInfo;aMediaAuthorizationArray count=%d", count );
  4777 
  4879 
  4778     while ( KErrNone == ret && count > 0 )
  4880     while ( KErrNone == ret && count > 0 )
  4779         {
  4881         {
  4780         ret = AppendMediaAuthorizationUnit(
  4882         ret = AppendMediaAuthorizationUnit(
  4781                             aMediaAuthorizationArray->At( arrayIndex ),
  4883                             aMediaAuthorizationArray->At( arrayIndex ),
  4796     const RPacketContext::CTFTMediaAuthorizationV3& aMediaAuthorization,
  4898     const RPacketContext::CTFTMediaAuthorizationV3& aMediaAuthorization,
  4797     TDes8& aBuffer,
  4899     TDes8& aBuffer,
  4798     TUint8& aNumOfSbs ) const
  4900     TUint8& aNumOfSbs ) const
  4799     {
  4901     {
  4800 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendMediaAuthorizationUnit");
  4902 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendMediaAuthorizationUnit");
  4801 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDMEDIAAUTHORIZATIONUNIT, "CMmPacketContextMessHandler::AppendMediaAuthorizationUnit" );
  4903 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDMEDIAAUTHORIZATIONUNIT_TD, "CMmPacketContextMessHandler::AppendMediaAuthorizationUnit" );
  4802     //Add GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO sub block
  4904     //Add GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO sub block
  4803     TInt ret = AppendGpdsSharedTFTParameterAuthTokenInfo(
  4905     TInt ret = AppendGpdsSharedTFTParameterAuthTokenInfo(
  4804             aMediaAuthorization.iAuthorizationToken, aBuffer, aNumOfSbs );
  4906             aMediaAuthorization.iAuthorizationToken, aBuffer, aNumOfSbs );
  4805 
  4907 
  4806     //GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO sub block
  4908     //GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO sub block
  4813     // GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO (= 0xF1)
  4915     // GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO (= 0xF1)
  4814     // Make sub block for (2 and 3)
  4916     // Make sub block for (2 and 3)
  4815     if ( KErrNone == ret )
  4917     if ( KErrNone == ret )
  4816         {
  4918         {
  4817 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddMediaAuthorizationUnit. Make sub block for (2 and 3)");
  4919 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddMediaAuthorizationUnit. Make sub block for (2 and 3)");
  4818 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_APPENDMEDIAAUTHORIZATIONUNIT, "CMmPacketContextMessHandler::AppendMediaAuthorizationUnit, Make sub block for (2 and 3)" );
  4920 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_APPENDMEDIAAUTHORIZATIONUNIT_TD, "CMmPacketContextMessHandler::AppendMediaAuthorizationUnit, Make sub block for (2 and 3)" );
  4819         ret = AppendGpdsSharedTFTParameterAuthTokenInfo(
  4921         ret = AppendGpdsSharedTFTParameterAuthTokenInfo(
  4820                 aMediaAuthorization.iAuthorizationToken, aBuffer, aNumOfSbs );
  4922                 aMediaAuthorization.iAuthorizationToken, aBuffer, aNumOfSbs );
  4821         }
  4923         }
  4822     // GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO (2 and 3)
  4924     // GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO (2 and 3)
  4823     // make sure that there is more than one class in Array
  4925     // make sure that there is more than one class in Array
  4824     TInt flowIdsArrayCount( aMediaAuthorization.iFlowIds.Count() );
  4926     TInt flowIdsArrayCount( aMediaAuthorization.iFlowIds.Count() );
  4825     if ( KErrNone == ret && KGdpsSharedTftParamIPFlowInfo2 <= flowIdsArrayCount )
  4927     if ( KErrNone == ret && KGdpsSharedTftParamIPFlowInfo2 <= flowIdsArrayCount )
  4826         {
  4928         {
  4827 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddMediaAuthorizationUnit. make sure that there is more than one class in Array");
  4929 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AddMediaAuthorizationUnit. make sure that there is more than one class in Array");
  4828 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_APPENDMEDIAAUTHORIZATIONUNIT, "CMmPacketContextMessHandler::AppendMediaAuthorizationUnit, Make sure that there is more than one class in Array" );
  4930 OstTrace0( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_APPENDMEDIAAUTHORIZATIONUNIT_TD, "CMmPacketContextMessHandler::AppendMediaAuthorizationUnit, Make sure that there is more than one class in Array" );
  4829         for (TInt flowIdsArrayIndex = KFlowIdsArrayIndex1;
  4931         for (TInt flowIdsArrayIndex = KFlowIdsArrayIndex1;
  4830              flowIdsArrayIndex < flowIdsArrayCount && KErrNone == ret;
  4932              flowIdsArrayIndex < flowIdsArrayCount && KErrNone == ret;
  4831              flowIdsArrayIndex++)
  4933              flowIdsArrayIndex++)
  4832             {
  4934             {
  4833             ret = AppendGpdsSharedTFTParameterIPFlowInfo(
  4935             ret = AppendGpdsSharedTFTParameterIPFlowInfo(
  4834                     aMediaAuthorization.iFlowIds[flowIdsArrayIndex],
  4936                     aMediaAuthorization.iFlowIds[flowIdsArrayIndex],
  4835                     aBuffer, aNumOfSbs );
  4937                     aBuffer, aNumOfSbs );
  4836             }
  4938             }
  4837         }
  4939         }
  4838 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::AppendMediaAuthorizationUnit;ret=%d", ret);
  4940 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::AppendMediaAuthorizationUnit;ret=%d", ret);
  4839 OstTrace1( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_APPENDMEDIAAUTHORIZATIONUNIT, "CMmPacketContextMessHandler::AppendMediaAuthorizationUnit;ret=%d", ret );
  4941 OstTrace1( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_APPENDMEDIAAUTHORIZATIONUNIT_TD, "CMmPacketContextMessHandler::AppendMediaAuthorizationUnit;ret=%d", ret );
  4840     return ret;
  4942     return ret;
  4841     }
  4943     }
  4842 
  4944 
  4843 // -----------------------------------------------------------------------------
  4945 // -----------------------------------------------------------------------------
  4844 // CMmPacketContextMessHandler::AllowIncomingCallActivationL
  4946 // CMmPacketContextMessHandler::AllowIncomingCallActivationL
  4848 // -----------------------------------------------------------------------------
  4950 // -----------------------------------------------------------------------------
  4849 //
  4951 //
  4850 void CMmPacketContextMessHandler::AllowIncomingCallActivationL()
  4952 void CMmPacketContextMessHandler::AllowIncomingCallActivationL()
  4851     {
  4953     {
  4852 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL");
  4954 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL");
  4853 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL, "CMmPacketContextMessHandler::AllowIncomingCallActivationL" );
  4955 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL_TD, "CMmPacketContextMessHandler::AllowIncomingCallActivationL" );
  4854 
  4956 
  4855     if ( CALL_MODEM_ID_NONE != iCallModemResourceCallId &&
  4957     if ( CALL_MODEM_ID_NONE != iCallModemResourceCallId &&
  4856         NULL == iDeactivateContextList )
  4958         NULL == iDeactivateContextList )
  4857         {
  4959         {
  4858         TUint8 contextId( GPDS_CID_VOID );
  4960         TUint8 contextId( GPDS_CID_VOID );
  4862         iDeactivateContextList = new (ELeave) CArrayFixFlat<TUint8>(
  4964         iDeactivateContextList = new (ELeave) CArrayFixFlat<TUint8>(
  4863             KMmMaxNumberOfContexts );
  4965             KMmMaxNumberOfContexts );
  4864         iDeactivateContextList->Reset();
  4966         iDeactivateContextList->Reset();
  4865 
  4967 
  4866         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL, Find secondary context");
  4968         TFLOGSTRING("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL, Find secondary context");
  4867 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL, "CMmPacketContextMessHandler::AllowIncomingCallActivationL, Find secondary context" );
  4969 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL_TD, "CMmPacketContextMessHandler::AllowIncomingCallActivationL, Find secondary context" );
  4868         // check if there is contexts created
  4970         // check if there is contexts created
  4869         if ( 1 < contextCount )
  4971         if ( 1 < contextCount )
  4870             {
  4972             {
  4871             // check if there is active secondary context
  4973             // check if there is active secondary context
  4872             for ( TInt i = 0; i < contextCount; i++ )
  4974             for ( TInt i = 0; i < contextCount; i++ )
  4879                      ( PN_PIPE_ENABLE == iContextList->
  4981                      ( PN_PIPE_ENABLE == iContextList->
  4880                          GetPipeStatus( contextId ) ))
  4982                          GetPipeStatus( contextId ) ))
  4881                     {
  4983                     {
  4882 
  4984 
  4883                     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL, Secondary context found, List index: %d", i );
  4985                     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL, Secondary context found, List index: %d", i );
  4884 OstTrace1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL, "CMmPacketContextMessHandler::AllowIncomingCallActivationL;, Secondary context found, List index=%d", i );
  4986 OstTrace1( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL_TD, "CMmPacketContextMessHandler::AllowIncomingCallActivationL;, Secondary context found, List index=%d", i );
  4885                     // secondary context found
  4987                     // secondary context found
  4886                     iDeactivateContextList->AppendL( contextId );
  4988                     iDeactivateContextList->AppendL( contextId );
  4887                     // break the loop
  4989                     // break the loop
  4888                     i = contextCount;
  4990                     i = contextCount;
  4889                     }
  4991                     }
  4897         contextId = iContextList->GetDialUpContextIdByName( &contextName );
  4999         contextId = iContextList->GetDialUpContextIdByName( &contextName );
  4898         if ( GPDS_CID_VOID != contextId )
  5000         if ( GPDS_CID_VOID != contextId )
  4899             {
  5001             {
  4900 
  5002 
  4901             TFLOGSTRING("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL, Secondary dial-up context found");
  5003             TFLOGSTRING("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL, Secondary dial-up context found");
  4902 OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL, "CMmPacketContextMessHandler::AllowIncomingCallActivationL, Secondary dial-up context found" );
  5004 OstTrace0( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL_TD, "CMmPacketContextMessHandler::AllowIncomingCallActivationL, Secondary dial-up context found" );
  4903             // secondary context found
  5005             // secondary context found
  4904             iDeactivateContextList->AppendL( contextId );
  5006             iDeactivateContextList->AppendL( contextId );
  4905             }
  5007             }
  4906         //no else
  5008         //no else
  4907         }
  5009         }
  4916             TUint8 transactionId(
  5018             TUint8 transactionId(
  4917                 GenerateTraId( iDeactivateContextList->At( 0 ) ) );
  5019                 GenerateTraId( iDeactivateContextList->At( 0 ) ) );
  4918 
  5020 
  4919             TFLOGSTRING2("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL, Deactivating context, ContextId: %d", iDeactivateContextList->At( 0 ) );
  5021             TFLOGSTRING2("TSY: CMmPacketContextMessHandler::AllowIncomingCallActivationL, Deactivating context, ContextId: %d", iDeactivateContextList->At( 0 ) );
  4920 
  5022 
  4921 OstTrace1( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL, "CMmPacketContextMessHandler::AllowIncomingCallActivationL;ContextId=%d", iDeactivateContextList->At( 0 ) );
  5023 OstTrace1( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_ALLOWINCOMINGCALLACTIVATIONL_TD, "CMmPacketContextMessHandler::AllowIncomingCallActivationL;ContextId=%d", iDeactivateContextList->At( 0 ) );
  4922             // Set the message data that consists of one parameter
  5024             // Set the message data that consists of one parameter
  4923             TBuf8<1> messageData;
  5025             TBuf8<1> messageData;
  4924             // deactivate first context from the list
  5026             // deactivate first context from the list
  4925             messageData.Append( iDeactivateContextList->At( 0 ) );
  5027             messageData.Append( iDeactivateContextList->At( 0 ) );
  4926 
  5028 
  4939                 // detailed cause values.
  5041                 // detailed cause values.
  4940                 // see 3GPP TS 24.008 V5.16.0 spec
  5042                 // see 3GPP TS 24.008 V5.16.0 spec
  4941                 _LIT8(KDetailedCause, "\xc0\x95\x82\x02");
  5043                 _LIT8(KDetailedCause, "\xc0\x95\x82\x02");
  4942                 CallModemResourceReqDenied(
  5044                 CallModemResourceReqDenied(
  4943                     CALL_MODEM_CAUSE_TYPE_CLIENT,
  5045                     CALL_MODEM_CAUSE_TYPE_CLIENT,
  4944                     CALL_MODEM_CAUSE_RELEASE_BY_USER, 
  5046                     CALL_MODEM_CAUSE_RELEASE_BY_USER,
  4945                     KDetailedCause );
  5047                     KDetailedCause );
  4946                 }
  5048                 }
  4947             //no else
  5049             //no else
  4948             }
  5050             }
  4949         else // no secondary contexts found => allow incoming call
  5051         else // no secondary contexts found => allow incoming call
  4968         const TDesC8& aAuthorizationToken,
  5070         const TDesC8& aAuthorizationToken,
  4969         TDes8& aBuffer,
  5071         TDes8& aBuffer,
  4970         TUint8& aNumOfSbs ) const
  5072         TUint8& aNumOfSbs ) const
  4971     {
  5073     {
  4972 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo");
  5074 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo");
  4973 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSSHAREDTFTPARAMETERAUTHTOKENINFO, "CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo" );
  5075 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSSHAREDTFTPARAMETERAUTHTOKENINFO_TD, "CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo" );
  4974     TInt ret( KErrTooBig );
  5076     TInt ret( KErrTooBig );
  4975     TInt authTokenLength( aAuthorizationToken.Length() );
  5077     TInt authTokenLength( aAuthorizationToken.Length() );
  4976 
  5078 
  4977     if ( authTokenLength < ( KMaximumLengthOfGpdsTftAuthTokenInfo -
  5079     if ( authTokenLength < ( KMaximumLengthOfGpdsTftAuthTokenInfo -
  4978             KAuthTokenInfoChecking ) )
  5080             KAuthTokenInfoChecking ) )
  4979         {
  5081         {
  4980 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo. Add GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO sub block");
  5082 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo. Add GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO sub block");
  4981 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSSHAREDTFTPARAMETERAUTHTOKENINFO, "CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo, Add GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO sub block" );
  5083 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSSHAREDTFTPARAMETERAUTHTOKENINFO_TD, "CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo, Add GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO sub block" );
  4982         ret = KErrNone;
  5084         ret = KErrNone;
  4983         TBuf<RPacketContext::KMaxFQDNLength> tempAuthorizationTokenInfo;
  5085         TBuf<RPacketContext::KMaxFQDNLength> tempAuthorizationTokenInfo;
  4984         tempAuthorizationTokenInfo.Copy( aAuthorizationToken );
  5086         tempAuthorizationTokenInfo.Copy( aAuthorizationToken );
  4985         TBuf8<KMaximumLengthOfGpdsTftAuthTokenInfo>
  5087         TBuf8<KMaximumLengthOfGpdsTftAuthTokenInfo>
  4986              authorizationTokenInfo;
  5088              authorizationTokenInfo;
  4997         aBuffer.Append( authTokenSubBlock.CompleteSubBlock() );
  5099         aBuffer.Append( authTokenSubBlock.CompleteSubBlock() );
  4998         // increase subblock count
  5100         // increase subblock count
  4999         aNumOfSbs++;
  5101         aNumOfSbs++;
  5000         }
  5102         }
  5001 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo;ret=%d", ret);
  5103 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo;ret=%d", ret);
  5002 OstTrace1( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSSHAREDTFTPARAMETERAUTHTOKENINFO, "CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo;ret=%d", ret );
  5104 OstTrace1( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSSHAREDTFTPARAMETERAUTHTOKENINFO_TD, "CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterAuthTokenInfo;ret=%d", ret );
  5003     return ret;
  5105     return ret;
  5004     }
  5106     }
  5005 
  5107 
  5006 // -----------------------------------------------------------------------------
  5108 // -----------------------------------------------------------------------------
  5007 // CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterIPFlowInfo
  5109 // CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterIPFlowInfo
  5014         aFlowIdentifier,
  5116         aFlowIdentifier,
  5015         TDes8& aBuffer,
  5117         TDes8& aBuffer,
  5016         TUint8& aNumOfSbs ) const
  5118         TUint8& aNumOfSbs ) const
  5017     {
  5119     {
  5018 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterIPFlowInfo");
  5120 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterIPFlowInfo");
  5019 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSSHAREDTFTPARAMETERIPFLOWINFO, "CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterIPFlowInfo" );
  5121 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSSHAREDTFTPARAMETERIPFLOWINFO_TD, "CMmPacketContextMessHandler::AppendGpdsSharedTFTParameterIPFlowInfo" );
  5020     TBuf8<SIZE_GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO> tempIPFlowInfo;
  5122     TBuf8<SIZE_GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO> tempIPFlowInfo;
  5021     TIsiSubBlock ipFlowInfoSubBlock( tempIPFlowInfo,
  5123     TIsiSubBlock ipFlowInfoSubBlock( tempIPFlowInfo,
  5022         GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO,
  5124         GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO,
  5023         EIsiSubBlockTypeId8Len8 );
  5125         EIsiSubBlockTypeId8Len8 );
  5024 
  5126 
  5053         CArrayFixFlat<RPacketContext::TPacketFilterV2>* aPacketFilterPtr,
  5155         CArrayFixFlat<RPacketContext::TPacketFilterV2>* aPacketFilterPtr,
  5054         TUint8 aPdpType,
  5156         TUint8 aPdpType,
  5055         TDes8& aBuffer ) const
  5157         TDes8& aBuffer ) const
  5056     {
  5158     {
  5057 TFLOGSTRING("TSY:CMmPacketContextMessHandler::FillGpdsTFTInfo");
  5159 TFLOGSTRING("TSY:CMmPacketContextMessHandler::FillGpdsTFTInfo");
  5058 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_FILLGPDSTFTINFO, "CMmPacketContextMessHandler::FillGpdsTFTInfo" );
  5160 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_FILLGPDSTFTINFO_TD, "CMmPacketContextMessHandler::FillGpdsTFTInfo" );
  5059     TInt ret( KErrNone );
  5161     TInt ret( KErrNone );
  5060     TUint8 numOfSbsInsideSb( 0 );
  5162     TUint8 numOfSbsInsideSb( 0 );
  5061 
  5163 
  5062     // setting desired operation
  5164     // setting desired operation
  5063     aBuffer.Append( aOperation );
  5165     aBuffer.Append( aOperation );
  5066     // GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO
  5168     // GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO
  5067     // and GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO of GPDS_TFT_INFO
  5169     // and GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO of GPDS_TFT_INFO
  5068     if ( aMediaAuthorization )
  5170     if ( aMediaAuthorization )
  5069         {
  5171         {
  5070 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AppendGpdsTFTInfo. MediaAuthorization");
  5172 TFLOGSTRING("TSY: CMmPacketContextMessHandler::AppendGpdsTFTInfo. MediaAuthorization");
  5071 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_FILLGPDSTFTINFO, "CMmPacketContextMessHandler::FillGpdsTFTInfo, MediaAuthorization" );
  5173 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_FILLGPDSTFTINFO_TD, "CMmPacketContextMessHandler::FillGpdsTFTInfo, MediaAuthorization" );
  5072          ret = AppendMediaAuthorizationUnit( *aMediaAuthorization, aBuffer,
  5174          ret = AppendMediaAuthorizationUnit( *aMediaAuthorization, aBuffer,
  5073                                              numOfSbsInsideSb );
  5175                                              numOfSbsInsideSb );
  5074         }
  5176         }
  5075     // end for sub blocks GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO
  5177     // end for sub blocks GPDS_SHARED_TFT_PARAMETER_AUTH_TOKEN_INFO
  5076     // and GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO of GPDS_TFT_INFO
  5178     // and GPDS_SHARED_TFT_PARAMETER_IP_FLOW_INFO of GPDS_TFT_INFO
  5117     // Complete GPDS_TFT_INFO subblock and set subblock count
  5219     // Complete GPDS_TFT_INFO subblock and set subblock count
  5118     TBuf8<1> sbCountbuf;
  5220     TBuf8<1> sbCountbuf;
  5119     sbCountbuf.Append( numOfSbsInsideSb );
  5221     sbCountbuf.Append( numOfSbsInsideSb );
  5120     aBuffer.Insert( GPDS_TFT_INFO_OFFSET_NUMBEROFSUBBLOCKS, sbCountbuf );
  5222     aBuffer.Insert( GPDS_TFT_INFO_OFFSET_NUMBEROFSUBBLOCKS, sbCountbuf );
  5121 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::FillGpdsTFTInfo;ret=%d", ret);
  5223 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::FillGpdsTFTInfo;ret=%d", ret);
  5122 OstTrace1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_FILLGPDSTFTINFO, "CMmPacketContextMessHandler::FillGpdsTFTInfo;ret=%d", ret );
  5224 OstTrace1( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_FILLGPDSTFTINFO_TD, "CMmPacketContextMessHandler::FillGpdsTFTInfo;ret=%d", ret );
  5123     return ret;
  5225     return ret;
  5124     }
  5226     }
  5125 
  5227 
  5126 // -----------------------------------------------------------------------------
  5228 // -----------------------------------------------------------------------------
  5127 // CMmPacketContextMessHandler::FillGpdsQos99ReqInfo
  5229 // CMmPacketContextMessHandler::FillGpdsQos99ReqInfo
  5131 TInt CMmPacketContextMessHandler::FillGpdsQos99ReqInfo(
  5233 TInt CMmPacketContextMessHandler::FillGpdsQos99ReqInfo(
  5132         const RPacketQoS::TQoSR99_R4Requested& aQos99Params,
  5234         const RPacketQoS::TQoSR99_R4Requested& aQos99Params,
  5133         TDes8& aBuffer)
  5235         TDes8& aBuffer)
  5134     {
  5236     {
  5135 TFLOGSTRING("TSY:CMmPacketContextMessHandler::FillGpdsQos99ReqInfo");
  5237 TFLOGSTRING("TSY:CMmPacketContextMessHandler::FillGpdsQos99ReqInfo");
  5136 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_FILLGPDSQOS99REQINFO, "CMmPacketContextMessHandler::FillGpdsQos99ReqInfo" );
  5238 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_FILLGPDSQOS99REQINFO_TD, "CMmPacketContextMessHandler::FillGpdsQos99ReqInfo" );
  5137     TInt ret( KErrNone );
  5239     TInt ret( KErrNone );
  5138     CMmPacketQoSMessHandler::TQoS99Info qoS99ReqInfoServer;
  5240     CMmPacketQoSMessHandler::TQoS99Info qoS99ReqInfoServer;
  5139 
  5241 
  5140     // Map classified QoS R99 requested parameter values to server
  5242     // Map classified QoS R99 requested parameter values to server
  5141     // side struct
  5243     // side struct
  5199             qoS99ReqInfoServer.iGuaranteedDownlinkRate >> KShift8Bits ) );
  5301             qoS99ReqInfoServer.iGuaranteedDownlinkRate >> KShift8Bits ) );
  5200         aBuffer.Append( static_cast<TUint8>(
  5302         aBuffer.Append( static_cast<TUint8>(
  5201             qoS99ReqInfoServer.iGuaranteedDownlinkRate ) );
  5303             qoS99ReqInfoServer.iGuaranteedDownlinkRate ) );
  5202         }
  5304         }
  5203 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::FillGpdsQos99ReqInfo;ret=%d", ret);
  5305 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::FillGpdsQos99ReqInfo;ret=%d", ret);
  5204 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_FILLGPDSQOS99REQINFO, "CMmPacketContextMessHandler::FillGpdsQos99ReqInfo;ret=%d", ret );
  5306 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_FILLGPDSQOS99REQINFO_TD, "CMmPacketContextMessHandler::FillGpdsQos99ReqInfo;ret=%d", ret );
  5205     return ret;
  5307     return ret;
  5206     }
  5308     }
  5207 
  5309 
  5208 // -----------------------------------------------------------------------------
  5310 // -----------------------------------------------------------------------------
  5209 // CMmPacketContextMessHandler::FillGpdsQosReqInfo
  5311 // CMmPacketContextMessHandler::FillGpdsQosReqInfo
  5213 TInt CMmPacketContextMessHandler::FillGpdsQosReqInfo(
  5315 TInt CMmPacketContextMessHandler::FillGpdsQosReqInfo(
  5214         const RPacketQoS::TQoSGPRSRequested& aQos97Params,
  5316         const RPacketQoS::TQoSGPRSRequested& aQos97Params,
  5215         TDes8& aBuffer )
  5317         TDes8& aBuffer )
  5216     {
  5318     {
  5217 TFLOGSTRING("TSY:CMmPacketContextMessHandler::FillGpdsQosReqInfo");
  5319 TFLOGSTRING("TSY:CMmPacketContextMessHandler::FillGpdsQosReqInfo");
  5218 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_FILLGPDSQOSREQINFO, "CMmPacketContextMessHandler::FillGpdsQosReqInfo" );
  5320 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_FILLGPDSQOSREQINFO_TD, "CMmPacketContextMessHandler::FillGpdsQosReqInfo" );
  5219     TInt ret( KErrNone );
  5321     TInt ret( KErrNone );
  5220 
  5322 
  5221     // Map QoS R97/98 requested parameter values to server
  5323     // Map QoS R97/98 requested parameter values to server
  5222     // side struct
  5324     // side struct
  5223     CMmPacketQoSMessHandler::TQoSInfo qosInfo;
  5325     CMmPacketQoSMessHandler::TQoSInfo qosInfo;
  5238         aBuffer.Append( qosInfo.iPeakThroughput );
  5340         aBuffer.Append( qosInfo.iPeakThroughput );
  5239         aBuffer.Append( qosInfo.iMeanThroughput );
  5341         aBuffer.Append( qosInfo.iMeanThroughput );
  5240         aBuffer.Append( KGpdsPadding );
  5342         aBuffer.Append( KGpdsPadding );
  5241         }
  5343         }
  5242 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::FillGpdsQosReqInfo;ret=%d", ret);
  5344 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::FillGpdsQosReqInfo;ret=%d", ret);
  5243 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_FILLGPDSQOSREQINFO, "CMmPacketContextMessHandler::FillGpdsQosReqInfo;ret=%d", ret );
  5345 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_FILLGPDSQOSREQINFO_TD, "CMmPacketContextMessHandler::FillGpdsQosReqInfo;ret=%d", ret );
  5244     return ret;
  5346     return ret;
  5245     }
  5347     }
  5246 
  5348 
  5247 // -----------------------------------------------------------------------------
  5349 // -----------------------------------------------------------------------------
  5248 // CMmPacketContextMessHandler::AppendGpdsFilterFlowLabelInfo
  5350 // CMmPacketContextMessHandler::AppendGpdsFilterFlowLabelInfo
  5253         const RPacketContext::TPacketFilterV2& aFilter,
  5355         const RPacketContext::TPacketFilterV2& aFilter,
  5254         TDes8& aBuffer,
  5356         TDes8& aBuffer,
  5255         TUint8& aNumOfSbs ) const
  5357         TUint8& aNumOfSbs ) const
  5256     {
  5358     {
  5257 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterFlowLabelInfo");
  5359 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterFlowLabelInfo");
  5258 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERFLOWLABELINFO, "CMmPacketContextMessHandler::AppendGpdsFilterFlowLabelInfo" );
  5360 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERFLOWLABELINFO_TD, "CMmPacketContextMessHandler::AppendGpdsFilterFlowLabelInfo" );
  5259     // Create flowlabelInfo buffer for parameters
  5361     // Create flowlabelInfo buffer for parameters
  5260     TBuf8<SIZE_GPDS_FILT_FLOW_LABEL_INFO> flowLabelInfo;
  5362     TBuf8<SIZE_GPDS_FILT_FLOW_LABEL_INFO> flowLabelInfo;
  5261     TIsiSubBlock flowLabelInfoSubBlock(
  5363     TIsiSubBlock flowLabelInfoSubBlock(
  5262         flowLabelInfo,
  5364         flowLabelInfo,
  5263         GPDS_FILT_FLOW_LABEL_INFO,
  5365         GPDS_FILT_FLOW_LABEL_INFO,
  5293         const RPacketContext::TPacketFilterV2& aFilter,
  5395         const RPacketContext::TPacketFilterV2& aFilter,
  5294         TDes8& aBuffer,
  5396         TDes8& aBuffer,
  5295         TUint8& aNumOfSbs ) const
  5397         TUint8& aNumOfSbs ) const
  5296     {
  5398     {
  5297 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterTosInfo");
  5399 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterTosInfo");
  5298 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERTOSINFO, "CMmPacketContextMessHandler::AppendGpdsFilterTosInfo" );
  5400 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERTOSINFO_TD, "CMmPacketContextMessHandler::AppendGpdsFilterTosInfo" );
  5299     // Create tosInfo buffer for parameters
  5401     // Create tosInfo buffer for parameters
  5300     TBuf8<SIZE_GPDS_FILT_TOS_INFO> tosInfo;
  5402     TBuf8<SIZE_GPDS_FILT_TOS_INFO> tosInfo;
  5301     TIsiSubBlock tosInfoSubBlock(
  5403     TIsiSubBlock tosInfoSubBlock(
  5302         tosInfo,
  5404         tosInfo,
  5303         GPDS_FILT_TOS_INFO,
  5405         GPDS_FILT_TOS_INFO,
  5327         const RPacketContext::TPacketFilterV2& aFilter,
  5429         const RPacketContext::TPacketFilterV2& aFilter,
  5328         TDes8& aBuffer,
  5430         TDes8& aBuffer,
  5329         TUint8& aNumOfSbs ) const
  5431         TUint8& aNumOfSbs ) const
  5330     {
  5432     {
  5331 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterSpiInfo");
  5433 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterSpiInfo");
  5332 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERSPIINFO, "CMmPacketContextMessHandler::AppendGpdsFilterSpiInfo" );
  5434 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERSPIINFO_TD, "CMmPacketContextMessHandler::AppendGpdsFilterSpiInfo" );
  5333     // Create spiInfo buffer for parameters
  5435     // Create spiInfo buffer for parameters
  5334     TBuf8<SIZE_GPDS_FILT_SPI_INFO> spiInfo;
  5436     TBuf8<SIZE_GPDS_FILT_SPI_INFO> spiInfo;
  5335     TIsiSubBlock spiInfoSubBlock(
  5437     TIsiSubBlock spiInfoSubBlock(
  5336         spiInfo,
  5438         spiInfo,
  5337         GPDS_FILT_SPI_INFO,
  5439         GPDS_FILT_SPI_INFO,
  5368         const RPacketContext::TPacketFilterV2& aFilter,
  5470         const RPacketContext::TPacketFilterV2& aFilter,
  5369         TDes8& aBuffer,
  5471         TDes8& aBuffer,
  5370         TUint8& aNumOfSbs ) const
  5472         TUint8& aNumOfSbs ) const
  5371     {
  5473     {
  5372 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterSrcPortRangeInfo");
  5474 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterSrcPortRangeInfo");
  5373 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERSRCPORTRANGEINFO, "CMmPacketContextMessHandler::AppendGpdsFilterSrcPortRangeInfo" );
  5475 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERSRCPORTRANGEINFO_TD, "CMmPacketContextMessHandler::AppendGpdsFilterSrcPortRangeInfo" );
  5374     // Create srcPortRangeInfo buffer for parameters
  5476     // Create srcPortRangeInfo buffer for parameters
  5375     TBuf8<SIZE_GPDS_FILT_SRC_PORT_RANGE_INFO> srcPortRangeInfo;
  5477     TBuf8<SIZE_GPDS_FILT_SRC_PORT_RANGE_INFO> srcPortRangeInfo;
  5376     TIsiSubBlock srcPortRangeSubBlock(
  5478     TIsiSubBlock srcPortRangeSubBlock(
  5377         srcPortRangeInfo,
  5479         srcPortRangeInfo,
  5378         GPDS_FILT_SRC_PORT_RANGE_INFO,
  5480         GPDS_FILT_SRC_PORT_RANGE_INFO,
  5412 TInt CMmPacketContextMessHandler::AppendGpdsFilterDstPortRangeInfo(
  5514 TInt CMmPacketContextMessHandler::AppendGpdsFilterDstPortRangeInfo(
  5413         const RPacketContext::TPacketFilterV2& aFilter,
  5515         const RPacketContext::TPacketFilterV2& aFilter,
  5414         TDes8& aBuffer, TUint8& aNumOfSbs ) const
  5516         TDes8& aBuffer, TUint8& aNumOfSbs ) const
  5415     {
  5517     {
  5416 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterDstPortRangeInfo");
  5518 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterDstPortRangeInfo");
  5417 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERDSTPORTRANGEINFO, "CMmPacketContextMessHandler::AppendGpdsFilterDstPortRangeInfo" );
  5519 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERDSTPORTRANGEINFO_TD, "CMmPacketContextMessHandler::AppendGpdsFilterDstPortRangeInfo" );
  5418     // Create destPortRangeInfo buffer for parameters
  5520     // Create destPortRangeInfo buffer for parameters
  5419     TBuf8<SIZE_GPDS_FILT_DST_PORT_RANGE_INFO> destPortRangeInfo;
  5521     TBuf8<SIZE_GPDS_FILT_DST_PORT_RANGE_INFO> destPortRangeInfo;
  5420     TIsiSubBlock destPortRangeSubBlock(
  5522     TIsiSubBlock destPortRangeSubBlock(
  5421         destPortRangeInfo,
  5523         destPortRangeInfo,
  5422         GPDS_FILT_DST_PORT_RANGE_INFO,
  5524         GPDS_FILT_DST_PORT_RANGE_INFO,
  5457         const RPacketContext::TPacketFilterV2& aFilter,
  5559         const RPacketContext::TPacketFilterV2& aFilter,
  5458         TDes8& aBuffer,
  5560         TDes8& aBuffer,
  5459         TUint8& aNumOfSbs ) const
  5561         TUint8& aNumOfSbs ) const
  5460     {
  5562     {
  5461 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterProtocolInfo");
  5563 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterProtocolInfo");
  5462 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERPROTOCOLINFO, "CMmPacketContextMessHandler::AppendGpdsFilterProtocolInfo" );
  5564 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERPROTOCOLINFO_TD, "CMmPacketContextMessHandler::AppendGpdsFilterProtocolInfo" );
  5463     // Create protocolInfo buffer for parameter, length 1 byte
  5565     // Create protocolInfo buffer for parameter, length 1 byte
  5464     TBuf8<SIZE_GPDS_FILT_PROTOCOL_INFO> protocolInfo;
  5566     TBuf8<SIZE_GPDS_FILT_PROTOCOL_INFO> protocolInfo;
  5465     TIsiSubBlock protocolInfoSubBlock(
  5567     TIsiSubBlock protocolInfoSubBlock(
  5466         protocolInfo,
  5568         protocolInfo,
  5467         GPDS_FILT_PROTOCOL_INFO,
  5569         GPDS_FILT_PROTOCOL_INFO,
  5490         const RPacketContext::TPacketFilterV2& aFilter,
  5592         const RPacketContext::TPacketFilterV2& aFilter,
  5491         TDes8& aBuffer,
  5593         TDes8& aBuffer,
  5492         TUint8& aNumOfSbs ) const
  5594         TUint8& aNumOfSbs ) const
  5493     {
  5595     {
  5494 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterSrcIPv4AddressInfo");
  5596 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterSrcIPv4AddressInfo");
  5495 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERSRCIPV4ADDRESSINFO, "CMmPacketContextMessHandler::AppendGpdsFilterSrcIPv4AddressInfo" );
  5597 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERSRCIPV4ADDRESSINFO_TD, "CMmPacketContextMessHandler::AppendGpdsFilterSrcIPv4AddressInfo" );
  5496     // Create ipv4AddrInfo buffer for parameters
  5598     // Create ipv4AddrInfo buffer for parameters
  5497     TBuf8<SIZE_GPDS_FILT_SRC_IPV4_ADDR_INFO> ipv4AddrInfo;
  5599     TBuf8<SIZE_GPDS_FILT_SRC_IPV4_ADDR_INFO> ipv4AddrInfo;
  5498     TIsiSubBlock ipv4AddrInfoSubBlock(
  5600     TIsiSubBlock ipv4AddrInfoSubBlock(
  5499         ipv4AddrInfo,
  5601         ipv4AddrInfo,
  5500         GPDS_FILT_SRC_IPV4_ADDR_INFO,
  5602         GPDS_FILT_SRC_IPV4_ADDR_INFO,
  5524         const RPacketContext::TPacketFilterV2& aFilter,
  5626         const RPacketContext::TPacketFilterV2& aFilter,
  5525         TDes8& aBuffer,
  5627         TDes8& aBuffer,
  5526         TUint8& aNumOfSbs ) const
  5628         TUint8& aNumOfSbs ) const
  5527     {
  5629     {
  5528 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterSrcIPv6AddressInfo");
  5630 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsFilterSrcIPv6AddressInfo");
  5529 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERSRCIPV6ADDRESSINFO, "CMmPacketContextMessHandler::AppendGpdsFilterSrcIPv6AddressInfo" );
  5631 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSFILTERSRCIPV6ADDRESSINFO_TD, "CMmPacketContextMessHandler::AppendGpdsFilterSrcIPv6AddressInfo" );
  5530     // Create ipv6AddrInfo buffer for parameters
  5632     // Create ipv6AddrInfo buffer for parameters
  5531     TBuf8<SIZE_GPDS_FILT_SRC_IPV6_ADDR_INFO> ipv6AddrInfo;
  5633     TBuf8<SIZE_GPDS_FILT_SRC_IPV6_ADDR_INFO> ipv6AddrInfo;
  5532     TIsiSubBlock ipv6AddrInfoSubBlock(
  5634     TIsiSubBlock ipv6AddrInfoSubBlock(
  5533             ipv6AddrInfo,
  5635             ipv6AddrInfo,
  5534         GPDS_FILT_SRC_IPV6_ADDR_INFO,
  5636         GPDS_FILT_SRC_IPV6_ADDR_INFO,
  5558         const TDesC8& aInputIpAddress,
  5660         const TDesC8& aInputIpAddress,
  5559         const TDesC8& aInputIpAddressMask,
  5661         const TDesC8& aInputIpAddressMask,
  5560         TDes8& aBuffer ) const
  5662         TDes8& aBuffer ) const
  5561     {
  5663     {
  5562 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendIpAddressInfo");
  5664 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendIpAddressInfo");
  5563 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDIPADDRESSINFO, "CMmPacketContextMessHandler::AppendIpAddressInfo" );
  5665 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDIPADDRESSINFO_TD, "CMmPacketContextMessHandler::AppendIpAddressInfo" );
  5564     TInt ret( KErrArgument );
  5666     TInt ret( KErrArgument );
  5565 
  5667 
  5566     // check that address 0.0.0.0 is not used.
  5668     // check that address 0.0.0.0 is not used.
  5567     TUint addressCounter( 0 );
  5669     TUint addressCounter( 0 );
  5568     for ( TInt i = 0; i < aInputIpAddress.Length(); i++ )
  5670     for ( TInt i = 0; i < aInputIpAddress.Length(); i++ )
  5614         aBuffer.Append( amountOfBitsMasked );
  5716         aBuffer.Append( amountOfBitsMasked );
  5615         aBuffer.Append( KGpdsPadding );
  5717         aBuffer.Append( KGpdsPadding );
  5616         aBuffer.Append( aInputIpAddress );
  5718         aBuffer.Append( aInputIpAddress );
  5617         }
  5719         }
  5618 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::AppendIpAddressInfo;ret=%d", ret);
  5720 TFLOGSTRING2("TSY:CMmPacketContextMessHandler::AppendIpAddressInfo;ret=%d", ret);
  5619 OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_APPENDIPADDRESSINFO, "CMmPacketContextMessHandler::AppendIpAddressInfo;ret=%d", ret );
  5721 OstTrace1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_APPENDIPADDRESSINFO_TD, "CMmPacketContextMessHandler::AppendIpAddressInfo;ret=%d", ret );
  5620     return ret;
  5722     return ret;
  5621     }
  5723     }
  5622 
  5724 
  5623 // -----------------------------------------------------------------------------
  5725 // -----------------------------------------------------------------------------
  5624 // CMmPacketContextMessHandler::AppendGpdsTftFilterInfo
  5726 // CMmPacketContextMessHandler::AppendGpdsTftFilterInfo
  5629         TUint8 aFilterId,
  5731         TUint8 aFilterId,
  5630         TDes8& aBuffer,
  5732         TDes8& aBuffer,
  5631         TUint8& aNumOfSbs ) const
  5733         TUint8& aNumOfSbs ) const
  5632     {
  5734     {
  5633 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsTftFilterInfo");
  5735 TFLOGSTRING("TSY:CMmPacketContextMessHandler::AppendGpdsTftFilterInfo");
  5634 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSTFTFILTERINFO, "CMmPacketContextMessHandler::AppendGpdsTftFilterInfo" );
  5736 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_APPENDGPDSTFTFILTERINFO_TD, "CMmPacketContextMessHandler::AppendGpdsTftFilterInfo" );
  5635     // Add GPDS_TFT_FILTER_INFO subblock
  5737     // Add GPDS_TFT_FILTER_INFO subblock
  5636     TBuf8<SIZE_GPDS_TFT_FILTER_INFO> filterInfoSbBuffer;
  5738     TBuf8<SIZE_GPDS_TFT_FILTER_INFO> filterInfoSbBuffer;
  5637     TIsiSubBlock gpdsFilterInfoSubBlock(
  5739     TIsiSubBlock gpdsFilterInfoSubBlock(
  5638         filterInfoSbBuffer,
  5740         filterInfoSbBuffer,
  5639         GPDS_TFT_FILTER_INFO,
  5741         GPDS_TFT_FILTER_INFO,
  5664 //
  5766 //
  5665 void CMmPacketContextMessHandler::CallModemResourceIndL(
  5767 void CMmPacketContextMessHandler::CallModemResourceIndL(
  5666     const TIsiReceiveC &aIsiMessage )
  5768     const TIsiReceiveC &aIsiMessage )
  5667     {
  5769     {
  5668 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceIndL" );
  5770 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceIndL" );
  5669 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL, "CMmPacketContextMessHandler::CallModemResourceIndL" );
  5771 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL_TD, "CMmPacketContextMessHandler::CallModemResourceIndL" );
  5670 
  5772 
  5671     TUint sbStartOffset( 0 );
  5773     TUint sbStartOffset( 0 );
  5672     //Default, 0 is unused value
  5774     //Default, 0 is unused value
  5673     TUint resourceId( 0 );
  5775     TUint resourceId( 0 );
  5674     TBool callModeFound( EFalse );
  5776     TBool callModeFound( EFalse );
  5677     iResourceControlMsg = HBufC8::NewL( aIsiMessage.GetBuffer().Length() );
  5779     iResourceControlMsg = HBufC8::NewL( aIsiMessage.GetBuffer().Length() );
  5678     // Copy data.
  5780     // Copy data.
  5679     *iResourceControlMsg = aIsiMessage.GetBuffer();
  5781     *iResourceControlMsg = aIsiMessage.GetBuffer();
  5680 
  5782 
  5681 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CallModemResourceIndL, messagedata saved");
  5783 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CallModemResourceIndL, messagedata saved");
  5682 OstTrace0( TRACE_NORMAL, DUP9_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL, "CMmPacketContextMessHandler::CallModemResourceIndL, messagedata saved" );
  5784 OstTrace0( TRACE_NORMAL,  DUP9_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL_TD, "CMmPacketContextMessHandler::CallModemResourceIndL, messagedata saved" );
  5683 
  5785 
  5684     TUint8 callId = aIsiMessage.Get8bit(
  5786     TUint8 callId = aIsiMessage.Get8bit(
  5685         ISI_HEADER_SIZE + CALL_MODEM_RESOURCE_IND_OFFSET_CALLID );
  5787         ISI_HEADER_SIZE + CALL_MODEM_RESOURCE_IND_OFFSET_CALLID );
  5686 
  5788 
  5687     if ( KErrNone == aIsiMessage.FindSubBlockOffsetById(
  5789     if ( KErrNone == aIsiMessage.FindSubBlockOffsetById(
  5709             {
  5811             {
  5710             // if DCM drive mode flag is enabled
  5812             // if DCM drive mode flag is enabled
  5711             if ( iDriveModeFlag )
  5813             if ( iDriveModeFlag )
  5712                 {
  5814                 {
  5713 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceIndL - DCM Drive Mode enabled" );
  5815 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceIndL - DCM Drive Mode enabled" );
  5714 OstTrace0( TRACE_NORMAL, DUP8_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL, "CMmPacketContextMessHandler::CallModemResourceIndL - DCM Drive Mode enabled" );
  5816 OstTrace0( TRACE_NORMAL,  DUP8_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL_TD, "CMmPacketContextMessHandler::CallModemResourceIndL - DCM Drive Mode enabled" );
  5715 
  5817 
  5716                 // Complete DCM specific functionality
  5818                 // Complete DCM specific functionality
  5717                 // Drive mode rejects automatically incoming calls
  5819                 // Drive mode rejects automatically incoming calls
  5718                 CompleteDCMdrivemodeFunctionalityL();
  5820                 CompleteDCMdrivemodeFunctionalityL();
  5719 
  5821 
  5720                 // detailed cause values.
  5822                 // detailed cause values.
  5721                 // see 3GPP TS 24.008 V5.16.0 spec
  5823                 // see 3GPP TS 24.008 V5.16.0 spec
  5722                 _LIT8(KDetailedCause, "\xc0\x95\x82\x02");
  5824                 _LIT8(KDetailedCause, "\xc0\x95\x82\x02");
  5723                 CallModemResourceReqDenied(
  5825                 CallModemResourceReqDenied(
  5724                     CALL_MODEM_CAUSE_TYPE_CLIENT,
  5826                     CALL_MODEM_CAUSE_TYPE_CLIENT,
  5725                     CALL_MODEM_CAUSE_RELEASE_BY_USER, 
  5827                     CALL_MODEM_CAUSE_RELEASE_BY_USER,
  5726                     KDetailedCause );
  5828                     KDetailedCause );
  5727                 }
  5829                 }
  5728             else
  5830             else
  5729                 {
  5831                 {
  5730 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceIndL - Allow incoming call activation" );
  5832 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceIndL - Allow incoming call activation" );
  5731 OstTrace0( TRACE_NORMAL, DUP6_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL, "CMmPacketContextMessHandler::CallModemResourceIndL - Allow incoming call activation" );
  5833 OstTrace0( TRACE_NORMAL,  DUP6_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL_TD, "CMmPacketContextMessHandler::CallModemResourceIndL - Allow incoming call activation" );
  5732 
  5834 
  5733                 // allow incoming call activation
  5835                 // allow incoming call activation
  5734                 iCallModemResourceCallId = callId;
  5836                 iCallModemResourceCallId = callId;
  5735                 AllowIncomingCallActivationL();
  5837                 AllowIncomingCallActivationL();
  5736                 }
  5838                 }
  5737             }
  5839             }
  5738         else
  5840         else
  5739             {
  5841             {
  5740 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceIndL - Call mode missing, resource is denied" );
  5842 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceIndL - Call mode missing, resource is denied" );
  5741 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL, "CMmPacketContextMessHandler::CallModemResourceIndL - Call mode missing, resource is denied" );
  5843 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEINDL_TD, "CMmPacketContextMessHandler::CallModemResourceIndL - Call mode missing, resource is denied" );
  5742 
  5844 
  5743             // detailed cause values.
  5845             // detailed cause values.
  5744             // see 3GPP TS 24.008 V5.16.0 spec
  5846             // see 3GPP TS 24.008 V5.16.0 spec
  5745             // in this case we need to return detailed cause as
  5847             // in this case we need to return detailed cause as
  5746             // 0xE0 (coding standard GSM PLMN, location user)
  5848             // 0xE0 (coding standard GSM PLMN, location user)
  5747             // 0xD8 (cause 88)
  5849             // 0xD8 (cause 88)
  5748             _LIT8(KDetailedCause, "\xe0\xd8");
  5850             _LIT8(KDetailedCause, "\xe0\xd8");
  5749             CallModemResourceReqDenied(
  5851             CallModemResourceReqDenied(
  5750                 CALL_MODEM_CAUSE_TYPE_NETWORK, 
  5852                 CALL_MODEM_CAUSE_TYPE_NETWORK,
  5751                 CALL_MODEM_NW_CAUSE_INCOMPATIBLE_DEST,
  5853                 CALL_MODEM_NW_CAUSE_INCOMPATIBLE_DEST,
  5752                 KDetailedCause );
  5854                 KDetailedCause );
  5753             }
  5855             }
  5754         }
  5856         }
  5755     else
  5857     else
  5766 // -----------------------------------------------------------------------------
  5868 // -----------------------------------------------------------------------------
  5767 //
  5869 //
  5768 void CMmPacketContextMessHandler::CallModemResourceReqAllowed()
  5870 void CMmPacketContextMessHandler::CallModemResourceReqAllowed()
  5769     {
  5871     {
  5770 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceReqAllowed" );
  5872 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceReqAllowed" );
  5771 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQALLOWED, "CMmPacketContextMessHandler::CallModemResourceReqAllowed" );
  5873 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQALLOWED_TD, "CMmPacketContextMessHandler::CallModemResourceReqAllowed" );
  5772 
  5874 
  5773     TIsiSend callModemResourceReq( iPhoNetSender->SendBufferDes() );
  5875     TIsiSend callModemResourceReq( iPhoNetSender->SendBufferDes() );
  5774 
  5876 
  5775     // Copy message from buffer.
  5877     // Copy message from buffer.
  5776     const TDesC8& message( *iResourceControlMsg );
  5878     const TDesC8& message( *iResourceControlMsg );
  5870 //
  5972 //
  5871 void CMmPacketContextMessHandler::CallModemResourceResp(
  5973 void CMmPacketContextMessHandler::CallModemResourceResp(
  5872     const TIsiReceiveC &aIsiMessage )
  5974     const TIsiReceiveC &aIsiMessage )
  5873     {
  5975     {
  5874 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceResp" );
  5976 TFLOGSTRING( "TSY: CMmPacketContextMessHandler::CallModemResourceResp" );
  5875 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCERESP, "CMmPacketContextMessHandler::CallModemResourceResp" );
  5977 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCERESP_TD, "CMmPacketContextMessHandler::CallModemResourceResp" );
  5876 
  5978 
  5877     TUint8 callId( aIsiMessage.Get8bit(
  5979     TUint8 callId( aIsiMessage.Get8bit(
  5878         ISI_HEADER_SIZE + CALL_MODEM_RESOURCE_RESP_OFFSET_CALLID ) );
  5980         ISI_HEADER_SIZE + CALL_MODEM_RESOURCE_RESP_OFFSET_CALLID ) );
  5879 
  5981 
  5880 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CallModemResourceResp, CallId %d", callId );
  5982 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CallModemResourceResp, CallId %d", callId );
  5881 OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCERESP, "CMmPacketContextMessHandler::CallModemResourceResp - CallId=%hhu", callId );
  5983 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCERESP_TD, "CMmPacketContextMessHandler::CallModemResourceResp - CallId=%hhu", callId );
  5882 
  5984 
  5883     }
  5985     }
  5884 
  5986 
  5885 // -----------------------------------------------------------------------------
  5987 // -----------------------------------------------------------------------------
  5886 // CMmPacketContextMessHandler::CallModemResourceReqDenied
  5988 // CMmPacketContextMessHandler::CallModemResourceReqDenied
  5892     const TUint8 aCauseType,
  5994     const TUint8 aCauseType,
  5893     const TUint8 aCause,
  5995     const TUint8 aCause,
  5894     const TDesC8& aDetailedCause )
  5996     const TDesC8& aDetailedCause )
  5895     {
  5997     {
  5896 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CallModemResourceReqDenied");
  5998 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CallModemResourceReqDenied");
  5897 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQDENIED, "CMmPacketContextMessHandler::CallModemResourceReqDenied" );
  5999 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQDENIED_TD, "CMmPacketContextMessHandler::CallModemResourceReqDenied" );
  5898 
  6000 
  5899     TIsiSend callModemResourceDenied( iPhoNetSender->SendBufferDes() );
  6001     TIsiSend callModemResourceDenied( iPhoNetSender->SendBufferDes() );
  5900 
  6002 
  5901     // Copy message from buffer.
  6003     // Copy message from buffer.
  5902     const TDesC8& message( *iResourceControlMsg );
  6004     const TDesC8& message( *iResourceControlMsg );
  5931         {
  6033         {
  5932         TUint subblockLength( isimessage.Get8bit(
  6034         TUint subblockLength( isimessage.Get8bit(
  5933             subblockOffset + KSubblockTypeId8Len8LengthOffset ) );
  6035             subblockOffset + KSubblockTypeId8Len8LengthOffset ) );
  5934 
  6036 
  5935         callModemResourceDenied.CopyData(
  6037         callModemResourceDenied.CopyData(
  5936             currentMsgOffset, 
  6038             currentMsgOffset,
  5937             isimessage.GetData(
  6039             isimessage.GetData(
  5938                 subblockOffset, 
  6040                 subblockOffset,
  5939                 subblockLength ) );
  6041                 subblockLength ) );
  5940         numOfSbInMessage++;
  6042         numOfSbInMessage++;
  5941         currentMsgOffset += subblockLength;
  6043         currentMsgOffset += subblockLength;
  5942         }
  6044         }
  5943 
  6045 
  5950         {
  6052         {
  5951         TUint subblockLength( isimessage.Get8bit(
  6053         TUint subblockLength( isimessage.Get8bit(
  5952             subblockOffset + KSubblockTypeId8Len8LengthOffset ) );
  6054             subblockOffset + KSubblockTypeId8Len8LengthOffset ) );
  5953 
  6055 
  5954         callModemResourceDenied.CopyData(
  6056         callModemResourceDenied.CopyData(
  5955             currentMsgOffset, 
  6057             currentMsgOffset,
  5956             isimessage.GetData(
  6058             isimessage.GetData(
  5957                 subblockOffset, 
  6059                 subblockOffset,
  5958                 subblockLength ) );
  6060                 subblockLength ) );
  5959         numOfSbInMessage++;
  6061         numOfSbInMessage++;
  5960         currentMsgOffset += subblockLength;
  6062         currentMsgOffset += subblockLength;
  5961         }
  6063         }
  5962 
  6064 
  5979         currentMsgOffset + resourceStatus.Length();
  6081         currentMsgOffset + resourceStatus.Length();
  5980     // increase subblock count
  6082     // increase subblock count
  5981     numOfSbInMessage++;
  6083     numOfSbInMessage++;
  5982 
  6084 
  5983 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CallModemResourceReqDenied - CALL_MODEM_SB_RESOURCE_STATUS - Subblock Count:  %d", numOfSbInMessage );
  6085 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CallModemResourceReqDenied - CALL_MODEM_SB_RESOURCE_STATUS - Subblock Count:  %d", numOfSbInMessage );
  5984 OstTraceExt1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQDENIED, "CMmPacketContextMessHandler::CallModemResourceReqDenied- CALL_MODEM_SB_RESOURCE_STATUS - Subblock Count=%hhu", numOfSbInMessage );
  6086 OstTraceExt1( TRACE_NORMAL,  DUP2_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQDENIED_TD, "CMmPacketContextMessHandler::CallModemResourceReqDenied- CALL_MODEM_SB_RESOURCE_STATUS - Subblock Count=%hhu", numOfSbInMessage );
  5985 
  6087 
  5986     // buffer for CALL_MODEM_SB_CAUSE subblock
  6088     // buffer for CALL_MODEM_SB_CAUSE subblock
  5987     TBuf8<CALL_MODEM_SB_CAUSE> modemSbCause;
  6089     TBuf8<CALL_MODEM_SB_CAUSE> modemSbCause;
  5988 
  6090 
  5989     // Add CALL_MODEM_SB_CAUSE subblock
  6091     // Add CALL_MODEM_SB_CAUSE subblock
  6002         currentMsgOffset + modemSbCause.Length();
  6104         currentMsgOffset + modemSbCause.Length();
  6003     // increase subblock count
  6105     // increase subblock count
  6004     numOfSbInMessage++;
  6106     numOfSbInMessage++;
  6005 
  6107 
  6006 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CallModemResourceReqDenied - CALL_MODEM_SB_CAUSE - Subblock Count:  %d", numOfSbInMessage );
  6108 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CallModemResourceReqDenied - CALL_MODEM_SB_CAUSE - Subblock Count:  %d", numOfSbInMessage );
  6007 OstTraceExt1( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQDENIED, "CMmPacketContextMessHandler::CallModemResourceReqDenied- CALL_MODEM_SB_CAUSE - Subblock Count=%hhu", numOfSbInMessage );
  6109 OstTraceExt1( TRACE_NORMAL,  DUP4_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQDENIED_TD, "CMmPacketContextMessHandler::CallModemResourceReqDenied- CALL_MODEM_SB_CAUSE - Subblock Count=%hhu", numOfSbInMessage );
  6008 
  6110 
  6009     // buffer for CALL_MODEM_SB_DETAILED_CAUSE subblock
  6111     // buffer for CALL_MODEM_SB_DETAILED_CAUSE subblock
  6010     TBuf8<CALL_MODEM_SB_DETAILED_CAUSE> detailedCause;
  6112     TBuf8<CALL_MODEM_SB_DETAILED_CAUSE> detailedCause;
  6011 
  6113 
  6012     // Add CALL_MODEM_SB_DETAILED_CAUSE subblock
  6114     // Add CALL_MODEM_SB_DETAILED_CAUSE subblock
  6025         currentMsgOffset + detailedCause.Length();
  6127         currentMsgOffset + detailedCause.Length();
  6026     // increase subblock count
  6128     // increase subblock count
  6027     numOfSbInMessage++;
  6129     numOfSbInMessage++;
  6028 
  6130 
  6029 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CallModemResourceReqDenied - CALL_MODEM_SB_DETAILED_CAUSE - Subblock Count:  %d", numOfSbInMessage );
  6131 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::CallModemResourceReqDenied - CALL_MODEM_SB_DETAILED_CAUSE - Subblock Count:  %d", numOfSbInMessage );
  6030 OstTraceExt1( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQDENIED, "CMmPacketContextMessHandler::CallModemResourceReqDenied- CALL_MODEM_SB_DETAILED_CAUSE - Subblock Count=%hhu", numOfSbInMessage );
  6132 OstTraceExt1( TRACE_NORMAL,  DUP3_CMMPACKETCONTEXTMESSHANDLER_CALLMODEMRESOURCEREQDENIED_TD, "CMmPacketContextMessHandler::CallModemResourceReqDenied- CALL_MODEM_SB_DETAILED_CAUSE - Subblock Count=%hhu", numOfSbInMessage );
  6031 
  6133 
  6032     // Set number of subblokcs in CALL_MODEM_RESOURCE_REQ message
  6134     // Set number of subblokcs in CALL_MODEM_RESOURCE_REQ message
  6033     callModemResourceDenied.Set8bit(
  6135     callModemResourceDenied.Set8bit(
  6034         ISI_HEADER_SIZE + CALL_MODEM_RESOURCE_REQ_OFFSET_SUBBLOCKS,
  6136         ISI_HEADER_SIZE + CALL_MODEM_RESOURCE_REQ_OFFSET_SUBBLOCKS,
  6035         numOfSbInMessage );
  6137         numOfSbInMessage );
  6050 // -----------------------------------------------------------------------------
  6152 // -----------------------------------------------------------------------------
  6051 //
  6153 //
  6052 void CMmPacketContextMessHandler::CompleteDCMdrivemodeFunctionalityL()
  6154 void CMmPacketContextMessHandler::CompleteDCMdrivemodeFunctionalityL()
  6053     {
  6155     {
  6054 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompleteDCMdrivemodeFunctionalityL");
  6156 TFLOGSTRING("TSY: CMmPacketContextMessHandler::CompleteDCMdrivemodeFunctionalityL");
  6055 OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_COMPLETEDCMDRIVEMODEFUNCTIONALITYL, "CMmPacketContextMessHandler::CompleteDCMdrivemodeFunctionalityL" );
  6157 OstTrace0( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_COMPLETEDCMDRIVEMODEFUNCTIONALITYL_TD, "CMmPacketContextMessHandler::CompleteDCMdrivemodeFunctionalityL" );
  6056 
  6158 
  6057     TInt result( KErrNone );
  6159     TInt result( KErrNone );
  6058 
  6160 
  6059     // Create call package (used for all completions)
  6161     // Create call package (used for all completions)
  6060     CCallDataPackage callData;
  6162     CCallDataPackage callData;
  6156     TInt pos = contextName.Find( KUnderscore );
  6258     TInt pos = contextName.Find( KUnderscore );
  6157     if ( pos != KErrNotFound )
  6259     if ( pos != KErrNotFound )
  6158         {
  6260         {
  6159         TLex(contextName.Mid(pos+1)).Val(channelId);
  6261         TLex(contextName.Mid(pos+1)).Val(channelId);
  6160 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::getProxyId channelId = %d", channelId );
  6262 TFLOGSTRING2("TSY: CMmPacketContextMessHandler::getProxyId channelId = %d", channelId );
  6161 OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_GETPROXYID, "CMmPacketContextMessHandler::getProxyId;channelId=%d", channelId );
  6263 OstTrace1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_GETPROXYID_TD, "CMmPacketContextMessHandler::getProxyId;channelId=%d", channelId );
  6162         }
  6264         }
  6163     else
  6265     else
  6164         {
  6266         {
  6165 TFLOGSTRING("TSY: CMmPacketContextMessHandler::getProxyId channelId NOT FOUND !!!" );
  6267 TFLOGSTRING("TSY: CMmPacketContextMessHandler::getProxyId channelId NOT FOUND !!!" );
  6166 OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_GETPROXYID, "CMmPacketContextMessHandler::getProxyId: channelId NOT FOUND !!!" );
  6268 OstTrace0( TRACE_NORMAL,  DUP1_CMMPACKETCONTEXTMESSHANDLER_GETPROXYID_TD, "CMmPacketContextMessHandler::getProxyId: channelId NOT FOUND !!!" );
  6167         // FAIL, this should never happen..
  6269         // FAIL, this should never happen..
  6168         }
  6270         }
  6169     return channelId;
  6271     return channelId;
  6170     }
  6272     }
  6171 
  6273 
       
  6274 // ----------------------------------------------------------------------------
       
  6275 // CMmPacketContextMessHandler::PnsNameAddInd
       
  6276 // Breaks a PNS_NAME_ADD_IND ISI-message
       
  6277 // ----------------------------------------------------------------------------
       
  6278 //
       
  6279 void CMmPacketContextMessHandler::PnsNameAddInd(
       
  6280     const TIsiReceiveC& aIsiMessage )
       
  6281     {
       
  6282     TUint16 matchesInThisMsg( aIsiMessage.Get16bit(
       
  6283         ISI_HEADER_SIZE + PNS_NAME_QUERY_RESP_OFFSET_MATCHESINMSG ) );
       
  6284 
       
  6285     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::PnsNameAddInd - matches in this msg: %d", matchesInThisMsg);
       
  6286     OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_PNSNAMEADDIND_TD, "CMmPacketContextMessHandler::PnsNameAddInd;matchesInThisMsg=%hu", matchesInThisMsg );
       
  6287 
       
  6288     TUint name( 0 );
       
  6289     for( TInt i = 0; i < matchesInThisMsg; i++ ) 
       
  6290         {
       
  6291         name = aIsiMessage.Get32bit(
       
  6292 		    ISI_HEADER_SIZE +
       
  6293             PNS_NAME_ADD_IND_OFFSET_NAMEENTRYTBL +
       
  6294 			SIZE_PN_NAME_SRV_ITEM_STR * i +
       
  6295 			PN_NAME_SRV_ITEM_STR_OFFSET_NAME );
       
  6296         TFLOGSTRING3("TSY: CMmPacketContextMessHandler::PnsNameAddInd - name[%d]: 0x%x", i, name );
       
  6297         OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_PNSNAMEADDIND, "CMmPacketContextMessHandler::PnsNameAddInd;i=%d;name=%x", i, name );
       
  6298 
       
  6299         if ( PN_PIPE == ( name & KMaskNameByte1 ) &&
       
  6300             PN_PEP_TYPE_COMMON == ( ( name & KMaskNameByte2 ) >> 8 ) &&
       
  6301             PN_PEP_SUB_TYPE_SYMBIAN_INTERNAL == ( ( name & KMaskNameByte3 ) >> 16 ) )
       
  6302             {
       
  6303             // Match found. Check also if existing context for channelId.
       
  6304             TFLOGSTRING("TSY: CMmPacketContextMessHandler::PnsNameAddInd - Right kind of name_add_ind. Checking also channelId" );
       
  6305             OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_PNSNAMEADDIND, "CMmPacketContextMessHandler::PnsNameAddInd - Right kind of name_add_ind. Checking also channelId" );
       
  6306             TUint8 channelId( name >> 24 );
       
  6307             TInfoName contextName;
       
  6308             if ( iContextList->ContextNameByProxyId( channelId, contextName ) == KErrNone )
       
  6309                 {
       
  6310                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::PnsNameAddInd - Also channelId was created by us" );
       
  6311                 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_PNSNAMEADDIND, "CMmPacketContextMessHandler::PnsNameAddInd - Also channelId was created by us" );
       
  6312                 TUint8 devId( aIsiMessage.Get8bit( ISI_HEADER_SIZE +
       
  6313                     PNS_NAME_ADD_IND_OFFSET_NAMEENTRYTBL +
       
  6314                     SIZE_PN_NAME_SRV_ITEM_STR * i +
       
  6315                     PN_NAME_SRV_ITEM_STR_OFFSET_DEV ) );
       
  6316                 TUint8 objId( aIsiMessage.Get8bit( ISI_HEADER_SIZE +
       
  6317                         PNS_NAME_ADD_IND_OFFSET_NAMEENTRYTBL +
       
  6318                         SIZE_PN_NAME_SRV_ITEM_STR * i +
       
  6319                     PN_NAME_SRV_ITEM_STR_OFFSET_OBJ ) );
       
  6320 
       
  6321                 iContextList->SetExternalDevice( channelId, devId, objId );
       
  6322                 TUint8 pipeHandle( iContextList->PipeHandleByContextName( &contextName ) );
       
  6323 
       
  6324                 iContextList->SetLoanReturning( pipeHandle, EFalse );
       
  6325 
       
  6326                 TInt ret( iMmPipeController->PnsPipeRedirectReq(
       
  6327                     channelId, pipeHandle, KFirstPepDevice, channelId, devId, objId ) );
       
  6328                 if ( KErrNone != ret )
       
  6329                     {
       
  6330                     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::PnsNameAddInd - error! redirect failed: %d", ret );
       
  6331                     OstTrace1( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_PNSNAMEADDIND, "CMmPacketContextMessHandler::PnsNameAddInd - error! redirect failed:;ret=%d", ret );
       
  6332                     }
       
  6333                 }
       
  6334             }
       
  6335         else
       
  6336             {
       
  6337             TFLOGSTRING("TSY: CMmPacketContextMessHandler::PnsNameAddInd - no match" );
       
  6338             OstTrace0( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_PNSNAMEADDIND, "CMmPacketContextMessHandler::PnsNameAddInd - no match" );
       
  6339             }
       
  6340         }
       
  6341 
       
  6342     }
       
  6343 
       
  6344 // ----------------------------------------------------------------------------
       
  6345 // CMmPacketContextMessHandler::PnsNameRemoveInd
       
  6346 // Breaks a PNS_NAME_REMOVE_IND ISI-message
       
  6347 // ----------------------------------------------------------------------------
       
  6348 //
       
  6349 void CMmPacketContextMessHandler::PnsNameRemoveInd(
       
  6350     const TIsiReceiveC& aIsiMessage )
       
  6351     {
       
  6352     TUint16 matchesInThisMsg( aIsiMessage.Get16bit(
       
  6353         ISI_HEADER_SIZE + PNS_NAME_QUERY_RESP_OFFSET_MATCHESINMSG ) );
       
  6354 
       
  6355     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::PnsNameRemoveInd - matches in this msg: %d", matchesInThisMsg);
       
  6356     OstTraceExt1( TRACE_NORMAL,  CMMPACKETCONTEXTMESSHANDLER_PNSNAMEREMOVEIND_TD, "CMmPacketContextMessHandler::PnsNameRemoveInd;matchesInThisMsg=%hu", matchesInThisMsg );
       
  6357 
       
  6358     TUint name( 0 );
       
  6359     for( TInt i = 0; i < matchesInThisMsg; i++ ) 
       
  6360         {
       
  6361         name = aIsiMessage.Get32bit(
       
  6362 		    ISI_HEADER_SIZE +
       
  6363             PNS_NAME_ADD_IND_OFFSET_NAMEENTRYTBL +
       
  6364 			SIZE_PN_NAME_SRV_ITEM_STR * i +
       
  6365 			PN_NAME_SRV_ITEM_STR_OFFSET_NAME );
       
  6366         TFLOGSTRING3("TSY: CMmPacketContextMessHandler::PnsNameRemoveInd - name[%d]: 0x%x", i, name );
       
  6367         OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLER_PNSNAMEREMOVEIND, "CMmPacketContextMessHandler::PnsNameRemoveInd;i=%d;name=%x", i, name );
       
  6368 
       
  6369         if ( PN_PIPE == ( name & KMaskNameByte1 ) &&
       
  6370             PN_PEP_TYPE_COMMON == ( ( name & KMaskNameByte2 ) >> 8 ) &&
       
  6371             PN_PEP_SUB_TYPE_SYMBIAN_INTERNAL == ( ( name & KMaskNameByte3 ) >> 16 ) )
       
  6372             {
       
  6373             // Match found. Check also if existing context for channelId.
       
  6374             TFLOGSTRING("TSY: CMmPacketContextMessHandler::PnsNameRemoveInd - Right kind of name_add_ind. Checking also channelId" );
       
  6375             OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLER_PNSNAMEREMOVEIND, "CMmPacketContextMessHandler::PnsNameRemoveInd - Right kind of name_remove_ind. Checking also channelId" );
       
  6376             TUint8 channelId( name >> 24 );
       
  6377             TInfoName contextName;
       
  6378             if ( iContextList->ContextNameByProxyId( channelId, contextName ) == KErrNone )
       
  6379                 {
       
  6380                 TFLOGSTRING("TSY: CMmPacketContextMessHandler::PnsNameRemoveInd - Also channelId was created by us" );
       
  6381                 OstTrace0( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLER_PNSNAMEREMOVEIND, "CMmPacketContextMessHandler::PnsNameRemoveInd - Also channelId was created by us" );
       
  6382                 TUint8 devId( aIsiMessage.Get8bit( ISI_HEADER_SIZE +
       
  6383                     PNS_NAME_ADD_IND_OFFSET_NAMEENTRYTBL +
       
  6384                     SIZE_PN_NAME_SRV_ITEM_STR * i +
       
  6385                     PN_NAME_SRV_ITEM_STR_OFFSET_DEV ) );
       
  6386                 TUint8 objId( aIsiMessage.Get8bit( ISI_HEADER_SIZE +
       
  6387                     PNS_NAME_ADD_IND_OFFSET_NAMEENTRYTBL +
       
  6388                     SIZE_PN_NAME_SRV_ITEM_STR * i +
       
  6389                     PN_NAME_SRV_ITEM_STR_OFFSET_OBJ ) );
       
  6390 
       
  6391                 TUint8 transId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) );
       
  6392                 TUint8 pipeHandle( iContextList->PipeHandleByContextName( &contextName ) );
       
  6393 
       
  6394                 iContextList->SetLoanReturning( pipeHandle, ETrue );
       
  6395 
       
  6396                 TInt ret( iMmPipeController->PnsPipeRedirectReq(
       
  6397                     channelId, pipeHandle, devId, objId, KFirstPepDevice, channelId ) );
       
  6398                 if ( ret != KErrNone )
       
  6399                     {
       
  6400                     TFLOGSTRING2("TSY: CMmPacketContextMessHandler::PnsNameRemoveInd - error! redirect failed: %d", ret );
       
  6401                     OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLER_PNSNAMEREMOVEIND, "CMmPacketContextMessHandler::PnsNameRemoveInd - error! redirect failed" );
       
  6402                     }
       
  6403                 }
       
  6404             }
       
  6405         else
       
  6406             {
       
  6407             TFLOGSTRING("TSY: CMmPacketContextMessHandler::PnsNameRemoveInd - no match" );
       
  6408             OstTrace0( TRACE_NORMAL, DUP4_CMMPACKETCONTEXTMESSHANDLER_PNSNAMEREMOVEIND, "CMmPacketContextMessHandler::PnsNameRemoveInd - no match" );
       
  6409             }
       
  6410         }
       
  6411     }
       
  6412 
  6172 // ========================== OTHER EXPORTED FUNCTIONS =========================
  6413 // ========================== OTHER EXPORTED FUNCTIONS =========================
  6173 
  6414 
  6174     // None
  6415     // None
  6175 
  6416 
  6176 // End of File
  6417 // End of File