115 CleanupStack::PushL( uri ); |
115 CleanupStack::PushL( uri ); |
116 |
116 |
117 // Add P-Preferred-Identity header if CLIR is on |
117 // Add P-Preferred-Identity header if CLIR is on |
118 if ( iSVPUtility.IsCLIROnL() ) |
118 if ( iSVPUtility.IsCLIROnL() ) |
119 { |
119 { |
120 const TDesC8* userAor = NULL; |
120 HBufC8* userAor = NULL; |
121 TInt err = profile->GetParameter( KSIPUserAor, userAor ); |
121 const MDesC8Array* aors( NULL ); // Array of registered address of records |
122 |
122 |
123 if ( !err ) |
123 TInt result = profile->GetParameter( KSIPRegisteredAors, aors ); |
124 { |
124 |
125 iSVPUtility.AddPPreferredIdentityToUserHeadersL( |
125 if ( !aors || aors->MdcaCount() == KErrNone ) |
126 *aUserHeaders, *userAor ); |
126 { |
127 } |
127 SVPDEBUG1( "CSVPMoSession::CompleteUriL - registered aors array empty" ) |
|
128 const TDesC8* userAorStr = NULL; |
|
129 User::LeaveIfError( profile->GetParameter( KSIPUserAor, userAorStr ) ); |
|
130 SVPDEBUG2( "CSVPMoSession::CompleteUriL - KSIPUserAor result: %d", result ) |
|
131 userAor = userAorStr->AllocLC(); |
|
132 } |
|
133 else |
|
134 { |
|
135 userAor = aors->MdcaPoint( 0 ).AllocLC(); |
|
136 } |
|
137 |
|
138 iSVPUtility.AddPPreferredIdentityToUserHeadersL( |
|
139 *aUserHeaders, *userAor ); |
|
140 CleanupStack::PopAndDestroy(); //userAor |
128 } |
141 } |
129 |
142 |
130 // create Mce out session |
143 // create Mce out session |
131 if ( KSVPStatusNonSecure == aSecurityStatus ) |
144 if ( KSVPStatusNonSecure == aSecurityStatus ) |
132 { |
145 { |