实现方法摘录如下:
It is possible to initiate video and Internet telephony (VoIP) calls with the AIW Service Handler API, included in the Extensions plug-in package for S60 3rd Edition SDKs.
Video call
The following example code demonstrates how to initiate a video call.
MakeAiwCallL( _L("+3581234567"), _L("Firstname Lastname"), EAiwVideo);
// EAiwForcedVideo doesn't show dialogs
// MakeAiwCallL( _L("+3581234567"), _L("Firstname Lastname"), EAiwForcedVideo);
void MakeAiwCallL( const TDesC& aNumber, const TDesC& aName, TAiwCallType aCallType )
{
// Create AIW service handler
CAiwServiceHandler* serviceHandler = CAiwServiceHandler::NewLC();
// Create AIW interest
RCriteriaArray interest;
CleanupClosePushL( interest );
CAiwCriteriaItem* criteria =
CAiwCriteriaItem::NewLC( KAiwCmdCall, KAiwCmdCall, _L8( "*" ) );
const TUid KUidAiwBase = { KAiwClassBase };
criteria->SetServiceClass( KUidAiwBase );
User::LeaveIfError( interest.Append( criteria ) );
// Attach to AIW interest
serviceHandler->AttachL( interest );
// Create AIW param package
TAiwDialDataV1 data;
TAiwDialDataV1Pckg dataPckg( data );
iNameBuffer = aName.Left( iNameBuffer.MaxLength() );
data.SetName( iNameBuffer );
iTelNumber = aNumber.Left( iTelNumber.MaxLength() );
data.SetTelephoneNumber( iTelNumber );
data.SetCallType( aCallType );
data.SetWindowGroup( CCoeEnv::Static()->RootWin().Identifier() );
CAiwGenericParamList& paramList = serviceHandler->InParamListL();
TPtrC8 ptr;
ptr.Set( dataPckg );
TAiwVariant variant( ptr );
TAiwGenericParam param( EGenericParamCallDialDataV1, variant );
paramList.AppendL( param );
// Execute AIW command
serviceHandler->ExecuteServiceCmdL( KAiwCmdCall,
paramList,
serviceHandler->OutParamListL() );
// destroy criteria, interest, and serviceHandler
CleanupStack::PopAndDestroy( 3 );
}
VoIP call
Using the above function, it is possible to initiate a VoIP call as follows:
MakeAiwCallL( _L("user@sip.server.com"),
_L("Firstname Lastname"),
EAiwVoIPCall );
See also:
Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, Maintenance Release