realtimenetprots/sipfw/SIP/ConnectionMgr/src/CTransport.cpp
changeset 23 8798b8c7bbfb
parent 22 f1578314b8da
child 29 5f12516512fa
child 32 2cdd984ec527
equal deleted inserted replaced
22:f1578314b8da 23:8798b8c7bbfb
  1457                         SIPStrings::StringF( SipStrConsts::ETransport ) );
  1457                         SIPStrings::StringF( SipStrConsts::ETransport ) );
  1458 
  1458 
  1459                 if ( Protocol() == KProtocolTls )
  1459                 if ( Protocol() == KProtocolTls )
  1460                     {
  1460                     {
  1461                     RStringF tls = SIPStrings::StringF( SipStrConsts::ETLS );
  1461                     RStringF tls = SIPStrings::StringF( SipStrConsts::ETLS );
  1462                     // SIP-URI with transport=TLS must not use sips scheme
  1462                     // SIP Scheme in Contact header should be same as From Header
  1463                     uri.SIPURI()->SetSIPS( transportParam != tls );
  1463                     CURIContainer& FromUri = (((aMessage->From())->SIPAddress()).URI());
       
  1464                     if(FromUri.IsSIPURI())
       
  1465                         {
       
  1466                         CSIPURI* FromSIPUri =FromUri.SIPURI();
       
  1467                         if(FromSIPUri->IsSIPSURI())
       
  1468                             {
       
  1469                             uri.SIPURI()->SetSIPS( ETrue );
       
  1470                             }
       
  1471                         else
       
  1472                             {
       
  1473                             uri.SIPURI()->SetSIPS( EFalse );
       
  1474                             }
       
  1475                         }                    
  1464                     if(transportParam == tls)
  1476                     if(transportParam == tls)
  1465                         {
  1477                         {
  1466                         uri.SIPURI()->SetSIPS(EFalse);
  1478                         //uri.SIPURI()->SetSIPS(EFalse);
  1467                         //Delete the param transport=tls from the URI as it is deprecated in RFC 3261
  1479                         //Delete the param transport=tls from the URI as it is deprecated in RFC 3261
  1468                         uri.SIPURI()->DeleteParam(SIPStrings::StringF( SipStrConsts::ETransport ));
  1480                         uri.SIPURI()->DeleteParam(SIPStrings::StringF( SipStrConsts::ETransport ));
  1469                         }
  1481                         }
  1470                     }
  1482                     }
  1471                 else
  1483                 else