send caller id - outgoing calls
| Wed, 2006-12-13 19:35 | |
|
hi all,
i have a problem with outgoing calls with etelmm. the caller id will be send everytime .with CTelephony i can change the sending of the caller id by: Code: CTelephony::TCallParamsV1 callParams; callParams.iIdRestrict = CTelephony::EDontSendMyId; CTelephony::TCallParamsV1Pckg callParamsPckg(callParams); iTelephony->DialNewCall(iStatus, callParamsPckg, telNumber, iCallId); if i use etelmm for older phones i use the following code: Code: RMobileCall::TMobileCallParamsV1 callParams; callParams.iIdRestrict = RMobileCall::EDontSendMyId; RMobileCall::TMobileCallParamsV1Pckg callParamsPckg(callParams); ... iCall.Dial(iStatus, callParamsPckg, iNumber); the CTelephony solution works well, but with etelmm nothing happens - the caller id will be send. 1. can anybody say me what i do wrong on etelmm? 2. on the other hand i ask me if i can check the phone setting "send my caller id". does anybody know if there is a way to do this? thx |
|






.
Forum posts: 6
I ran into your second question today, and here's the way to detect it on Series60 Symbian 9.
Retrieve value Settings>Call settings>Send my caller ID
0 for the "Set by network" setting
1 for "No"
2 for "Yes"
*/
#include <centralrepository.h>
TInt GetSendCallerIdL( void )
{
  const TUid KCRUidCallSettings = { 0x101F87E3 };
  TInt iValue;
  CRepository* iCr = CRepository::NewLC( KCRUidCallSettings );
  User::LeaveIfError( iCr->Get( 2, iValue ) );
  CleanupStack::PopAndDestroy( iCr );
  return iValue
}
Furthermore there's the option of getting the network's setting:
class CInfoExtractor : public CActive
{
  TInt iRequest;
  CTelephony* iTelephony;
  CActiveSchedulerWait* iSchedWait;
  void RunL( void )
  {
   if( iStatus == KErrNone )
     iRequest++;
   else
     iRequest = -1;
   iSchedWait->AsyncStop();
  }
  void DoCancel( void )
  {
  }
  TInt AsyncResponse( void )
  {
   if ( iRequest == 1 )
     return 0; //Success
   else if ( iRequest == -1 )
     return -1; //Error
  }
public:
  CInfoExtractor( void ):CActive(EPriorityStandard)
  {
   CActiveScheduler::Add( this );
   iTelephony = CTelephony::NewL();
   iSchedWait = new CActiveSchedulerWait();
  }
  ~CInfoExtractor( void )
  {
   Cancel(); // ActiveObject
   delete iTelephony;
   delete iSchWait;
  }
  // return values for GetSendCallerIdL are -1 for error and the CTelephony::TIdentityServiceStatus values defined inf Etel3rdParty.h
  TInt GetSendCallerIdL( void )
  {
   iRequest = 0;
   CTelephony::TIdentityService iIdentityService = CTelephony::EIdServiceCallerRestriction;
   CTelephony::TIdentityServiceV1 iTIdentityServiceV1;
   CTelephony::TIdentityServiceV1Pckg iTIdentityServiceV1Pckg(iTIdentityServiceV1);
   iTelephony->GetIdentityServiceStatus( iStatus, iIdentityService, iTIdentityServiceV1Pckg );
   SetActive();
   iSchedWait->Start();
   if( AsyncResponse() != 0)
   {
     return iTIdentityServiceV1.iIdentityStatus;
   }
   return -1;// error
  }
};
Above snippets may not be entirely typo free, but then, you can't get any thing for free, right?
Regards,
Jens
Forum posts: 4
Hello..
I'm trying to get "Send my caller ID" value useing this code:
/*Retrieve value Settings>Call settings>Send my caller ID
0 for the "Set by network" setting
1 for "No"
2 for "Yes"
*/
#include <centralrepository.h>
TInt GetSendCallerIdL( void )
{
const TUid KCRUidCallSettings = { 0x101F87E3 };
TInt iValue;
CRepository* iCr = CRepository::NewLC( KCRUidCallSettings );
User::LeaveIfError( iCr->Get( 2, iValue ) );
CleanupStack::PopAndDestroy( iCr );
return iValue
}
but on emulator is working and on phone i've got error -46
can any one give any solution?
Regards, X.