How to end call without using END key. | developer.brewmp.com How to end call without using END key. | developer.brewmp.com

Developer

How to end call without using END key.

Forums:

Hi all,
I want to end the call made by ITAPI_MakeVoiceCall() without using END key. I will have option of "end call" on my UI. I want to end the call through that. also will it end the call which is not in progress but in connecting state?

thx

Use ICALL_End() for doing following things
1. Performs one of the following operations depending on the state of Call :
2. Terminates the call in conversation state.
3. Cancels the call if it is in origination.
4. Rejects if it is incoming.
Thanks,
Mahesh

Use ICALL_End() for doing following things
1. Performs one of the following operations depending on the state of Call :
2. Terminates the call in conversation state.
3. Cancels the call if it is in origination.
4. Rejects if it is incoming.
Thanks,
Mahesh

hi smahesh,
thx for ur prompt reply :)

hi smahesh,
thx for ur prompt reply :)

hi,
tried to use ICALL_End(). for that i did,
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_CALL, (void**)&pMe->pCall) == SUCCESS);
err = ICALL_End(pMe->pCall);
ISHELL_CreateInstance() returns success. but in next line. emulator gives panic. My ICall object is not getting initialised. what i am doing is corretc? class id used i.e AEECLSID_CALL. is correct for ICALL interface?? pls.help
thx

hi,
tried to use ICALL_End(). for that i did,
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_CALL, (void**)&pMe->pCall) == SUCCESS);
err = ICALL_End(pMe->pCall);
ISHELL_CreateInstance() returns success. but in next line. emulator gives panic. My ICall object is not getting initialised. what i am doing is corretc? class id used i.e AEECLSID_CALL. is correct for ICALL interface?? pls.help
thx

dattanand wrote:hi,
tried to use ICALL_End(). for that i did,
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_CALL, (void**)&pMe->pCall) == SUCCESS);
err = ICALL_End(pMe->pCall);
ISHELL_CreateInstance() returns success. but in next line. emulator gives panic. My ICall object is not getting initialised. what i am doing is corretc? class id used i.e AEECLSID_CALL. is correct for ICALL interface?? pls.help
thx
chk the below thread..
http://brewforums.qualcomm.com/showpost.php?p=51978&postcount=7

dattanand wrote:hi,
tried to use ICALL_End(). for that i did,
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_CALL, (void**)&pMe->pCall) == SUCCESS);
err = ICALL_End(pMe->pCall);
ISHELL_CreateInstance() returns success. but in next line. emulator gives panic. My ICall object is not getting initialised. what i am doing is corretc? class id used i.e AEECLSID_CALL. is correct for ICALL interface?? pls.help
thx
chk the below thread..
http://brewforums.qualcomm.com/showpost.php?p=51978&postcount=7

thx for ur reply mk.manju,
I tried to follow the steps. like this.
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_TELEPHONE, (void**)&pMe->pPhone) == SUCCESS);
pMe->po = (AEETCalls *)MALLOC(sizeof(AEECallDesc) + sizeof(uint32));
if(ITELEPHONE_GetCalls (pMe->pPhone,pMe->po,sizeof(AEECallDesc) + sizeof(uint32) == SUCCESS));
if(pMe->po->dwCount) // dwCount is zero
{
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_CALLMGR, (void **)&pMe->PMagr) == SUCCESS);
{
err = ICALLMGR_GetCall(pMe->PMagr, pMe->po->calls[0], &pMe->pCall);
}
}
err = ICALL_End(pMe->pCall);
But, I am getting the number of call descriptors as zero. i.e. it is not recognising an active call which is in progress before entering here. I have checked in TAPI emulation, it is properly calling. Is it because i am originating a call using ITAPI_MakeVoiceCall()?? I have initialsed only ITAPI at the time of calling.Is it ok? should I use different method to start my call??

thx for ur reply mk.manju,
I tried to follow the steps. like this.
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_TELEPHONE, (void**)&pMe->pPhone) == SUCCESS);
pMe->po = (AEETCalls *)MALLOC(sizeof(AEECallDesc) + sizeof(uint32));
if(ITELEPHONE_GetCalls (pMe->pPhone,pMe->po,sizeof(AEECallDesc) + sizeof(uint32) == SUCCESS));
if(pMe->po->dwCount) // dwCount is zero
{
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_CALLMGR, (void **)&pMe->PMagr) == SUCCESS);
{
err = ICALLMGR_GetCall(pMe->PMagr, pMe->po->calls[0], &pMe->pCall);
}
}
err = ICALL_End(pMe->pCall);
But, I am getting the number of call descriptors as zero. i.e. it is not recognising an active call which is in progress before entering here. I have checked in TAPI emulation, it is properly calling. Is it because i am originating a call using ITAPI_MakeVoiceCall()?? I have initialsed only ITAPI at the time of calling.Is it ok? should I use different method to start my call??

dattanand wrote:thx for ur reply mk.manju,
I tried to follow the steps. like this.
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_TELEPHONE, (void**)&pMe->pPhone) == SUCCESS);
pMe->po = (AEETCalls *)MALLOC(sizeof(AEECallDesc) + sizeof(uint32));
if(ITELEPHONE_GetCalls (pMe->pPhone,pMe->po,sizeof(AEECallDesc) + sizeof(uint32) == SUCCESS));
if(pMe->po->dwCount) // dwCount is zero
{
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_CALLMGR, (void **)&pMe->PMagr) == SUCCESS);
{
err = ICALLMGR_GetCall(pMe->PMagr, pMe->po->calls[0], &pMe->pCall);
}
}
err = ICALL_End(pMe->pCall);
But, I am getting the number of call descriptors as zero. i.e. it is not recognising an active call which is in progress before entering here. I have checked in TAPI emulation, it is properly calling. Is it because i am originating a call using ITAPI_MakeVoiceCall()?? I have initialsed only ITAPI at the time of calling.Is it ok? should I use different method to start my call??
This will work only on BREW 3.x
For originating a call do the following..
Register ITAPI Notification in MIF and
Create Instance of ICALLMGR
if(ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_CALLMGR,(void **)&pMe->pICallMgr) != SUCCESS)
{
pMe->pICallMgr=NULL;
}
ICALLMGR_OriginateVoice();
Your app will recieve the tapi status, in which call..
ICALL_End();
or
Use a ISHELL_SetTimer and in the callback function use ICALL_End();
if you want to end the call in between a conversation...that means your app is under suspend state..for this
you need a make a callback function using ISHELL_SetTimer in the TAPI NOTIFY EVT and with use of ICALL_End();
Hope this will help you..

dattanand wrote:thx for ur reply mk.manju,
I tried to follow the steps. like this.
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_TELEPHONE, (void**)&pMe->pPhone) == SUCCESS);
pMe->po = (AEETCalls *)MALLOC(sizeof(AEECallDesc) + sizeof(uint32));
if(ITELEPHONE_GetCalls (pMe->pPhone,pMe->po,sizeof(AEECallDesc) + sizeof(uint32) == SUCCESS));
if(pMe->po->dwCount) // dwCount is zero
{
if(ISHELL_CreateInstance(pMe->theApp.m_pIShell, AEECLSID_CALLMGR, (void **)&pMe->PMagr) == SUCCESS);
{
err = ICALLMGR_GetCall(pMe->PMagr, pMe->po->calls[0], &pMe->pCall);
}
}
err = ICALL_End(pMe->pCall);
But, I am getting the number of call descriptors as zero. i.e. it is not recognising an active call which is in progress before entering here. I have checked in TAPI emulation, it is properly calling. Is it because i am originating a call using ITAPI_MakeVoiceCall()?? I have initialsed only ITAPI at the time of calling.Is it ok? should I use different method to start my call??
This will work only on BREW 3.x
For originating a call do the following..
Register ITAPI Notification in MIF and
Create Instance of ICALLMGR
if(ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_CALLMGR,(void **)&pMe->pICallMgr) != SUCCESS)
{
pMe->pICallMgr=NULL;
}
ICALLMGR_OriginateVoice();
Your app will recieve the tapi status, in which call..
ICALL_End();
or
Use a ISHELL_SetTimer and in the callback function use ICALL_End();
if you want to end the call in between a conversation...that means your app is under suspend state..for this
you need a make a callback function using ISHELL_SetTimer in the TAPI NOTIFY EVT and with use of ICALL_End();
Hope this will help you..

Thx for ur help brewin,
I am able to end the call. i have 2 questions
1. I just want to make a single call and end it, If some incoming call comes, my appliation should go in background and after the call, it should resume, Now, is it possible with any application or do I need to initialise call listerner for this purpose. as I dont have device to test, i want make sure incoming call handling is fine.
2. Also, For initialsing ICALLMGR, i gave system privileges in mif, but as mentioned in docset, Applications using this interface must explicitly specify the use of this object in the access control list. so, if i do it, i dont need system privilledge, so, how should I add this class in access control list??
any help is apprecited.
thx

Thx for ur help brewin,
I am able to end the call. i have 2 questions
1. I just want to make a single call and end it, If some incoming call comes, my appliation should go in background and after the call, it should resume, Now, is it possible with any application or do I need to initialise call listerner for this purpose. as I dont have device to test, i want make sure incoming call handling is fine.
2. Also, For initialsing ICALLMGR, i gave system privileges in mif, but as mentioned in docset, Applications using this interface must explicitly specify the use of this object in the access control list. so, if i do it, i dont need system privilledge, so, how should I add this class in access control list??
any help is apprecited.
thx

dattanand wrote:
1. I just want to make a single call and end it, If some incoming call comes, my appliation should go in background and after the call, it should resume, Now, is it possible with any application or do I need to initialise call listerner for this purpose. as I dont have device to test, i want make sure incoming call handling is fine.
If this is the only requirement, then you don't have to do any thing extra than what you are doing..
for this you don't require any special privileges in mif.

dattanand wrote:
1. I just want to make a single call and end it, If some incoming call comes, my appliation should go in background and after the call, it should resume, Now, is it possible with any application or do I need to initialise call listerner for this purpose. as I dont have device to test, i want make sure incoming call handling is fine.
If this is the only requirement, then you don't have to do any thing extra than what you are doing..
for this you don't require any special privileges in mif.