Hi, i have an application that sends and receive sms to / from a gsm modem(WaveCom FastTrack Supreme). I'm using SmsHandler functions to send and intercept incomming messages.
The problem is when I receive a sms from modem, it displays an error note "Text msg: The feature is not supported" and after that it will display the message. If I receive a sms from another cellphone that error note does not appear.
Here is the code for displaying the sms in my app:
//
void CSmsHandler::MessageReceivedL( TMsvId aEntryId )
{
CMsvEntry* serverEntry = iSession->GetEntryL( aEntryId ); // current entry
CleanupStack::PushL( serverEntry );
TMsvEntry entry = serverEntry->Entry(); // currently handled message entry

entry.SetNew( ETrue );
entry.SetUnread( ETrue );
entry.SetVisible( ETrue );

serverEntry->ChangeL( entry ); // commit changes
//iSmsAppUi->MessageReceived(); // let UI know we have received a message
ViewL();
CleanupStack::PopAndDestroy( serverEntry );
}


void CSmsHandler::ViewL()
{
// There is an own registry for UI MTM's.
iMtmUiRegistry = CMtmUiRegistry::NewL( *iSession );

// We are interested in the next unread message.
TMsvId entryId( iSelection->At( iNextUnread ) );
CMsvEntry* serverEntry = iSession->GetEntryL( entryId );
CleanupStack::PushL( serverEntry );

// Create new MTM.
CBaseMtm* clientMtm = iMtmRegistry->NewMtmL( serverEntry->Entry().iMtm );
CleanupStack::PushL( clientMtm );
clientMtm->SwitchCurrentEntryL( serverEntry->EntryId() );

// Check if there are more unreads messages.
iNextUnread++;
if ( iNextUnread < iSelection->Count() )
{
// iSmsAppUi->MessageReceived(); // still messages to read
}
else
{
// iSmsAppUi->NoMoreUnread(); // no more messages to read
}

TMsvEntry entry( serverEntry->Entry() );
entry.SetNew( EFalse ); // message is no longer new
entry.SetUnread( EFalse ); // message is no longer unread
serverEntry->ChangeL( entry ); // commit changes

CBaseMtmUi* ui = iMtmUiRegistry->NewMtmUiL( *clientMtm ); // UI MTM for SMS
CleanupStack::PushL( ui );

// Display the SMS using the UI MTM.
iOperation = ui->ViewL( iStatus );

CleanupStack::PopAndDestroy( 3 ); // ui, clientMtm, serverEntry
SetActive();
}


On the simulator works fine to. My device is a Nokia N73. I'm using Carbide v. 1.3, and S603rd FP2 SDK.
Any help will be much appreciated. Thank you!