How do I end the call session on callkit from my custom ongoing call UI? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!How do I sort an NSMutableArray with custom objects in it?How to call Objective-C code from SwiftHanding over GSM call to VOIP call with CallKit leads to sound lossCustom background image with CallKit, And Twillio programmable voiceHow to resume a CallKit call on holdCallKit with two incoming callsIs it possible with CallKit Framework to make, answer and end telephonic call or is it used for VOIP call only?Ending Group Calls in CallkitDisabling Callkit from China Store Best Approach?Switching from CallKit UI to in-app UI
How to write capital alpha?
What does the writing on Poe's helmet say?
Is there public access to the Meteor Crater in Arizona?
Can you force honesty by using the Speak with Dead and Zone of Truth spells together?
Does the Mueller report show a conspiracy between Russia and the Trump Campaign?
Why is it faster to reheat something than it is to cook it?
Weaponising the Grasp-at-a-Distance spell
Caught masturbating at work
I can't produce songs
Why not use the yoke to control yaw, as well as pitch and roll?
How does light 'choose' between wave and particle behaviour?
Where is the Next Backup Size entry on iOS 12?
Random body shuffle every night—can we still function?
How can god fight other gods?
I got rid of Mac OSX and replaced it with linux but now I can't change it back to OSX or windows
i2c bus hangs in master RPi access to MSP430G uC ~1 in 1000 accesses
Simple HTTP Server
After Sam didn't return home in the end, were he and Al still friends?
White walkers, cemeteries and wights
How to align enumerate environment inside description environment
Simple Line in LaTeX Help!
Is it dangerous to install hacking tools on my private linux machine?
What are the main differences between the original Stargate SG-1 and the Final Cut edition?
How to change the tick of the color bar legend to black
How do I end the call session on callkit from my custom ongoing call UI?
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Data science time! April 2019 and salary with experience
The Ask Question Wizard is Live!How do I sort an NSMutableArray with custom objects in it?How to call Objective-C code from SwiftHanding over GSM call to VOIP call with CallKit leads to sound lossCustom background image with CallKit, And Twillio programmable voiceHow to resume a CallKit call on holdCallKit with two incoming callsIs it possible with CallKit Framework to make, answer and end telephonic call or is it used for VOIP call only?Ending Group Calls in CallkitDisabling Callkit from China Store Best Approach?Switching from CallKit UI to in-app UI
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
When a user end a call from the CallKit UI the app ends the call and the actual VOIP call also end. But when I end the call from my custom UI the VOIP call ends but the CallKit is still active. How do I end the CallKit session from my custom UI?
This is what happens when I press end call on the CallKit UI:
func provider( _ provider: CXProvider, perform action: CXEndCallAction)
XCPjsua.shared()?.endCall()
action.fulfill()
This is what happens when I end call from my custom UI (Should I close CallKit here?):
-(void)endcall
[[XCPjsua sharedXCPjsua] endCall];
ios swift xcode swift4.2 callkit
add a comment |
When a user end a call from the CallKit UI the app ends the call and the actual VOIP call also end. But when I end the call from my custom UI the VOIP call ends but the CallKit is still active. How do I end the CallKit session from my custom UI?
This is what happens when I press end call on the CallKit UI:
func provider( _ provider: CXProvider, perform action: CXEndCallAction)
XCPjsua.shared()?.endCall()
action.fulfill()
This is what happens when I end call from my custom UI (Should I close CallKit here?):
-(void)endcall
[[XCPjsua sharedXCPjsua] endCall];
ios swift xcode swift4.2 callkit
add a comment |
When a user end a call from the CallKit UI the app ends the call and the actual VOIP call also end. But when I end the call from my custom UI the VOIP call ends but the CallKit is still active. How do I end the CallKit session from my custom UI?
This is what happens when I press end call on the CallKit UI:
func provider( _ provider: CXProvider, perform action: CXEndCallAction)
XCPjsua.shared()?.endCall()
action.fulfill()
This is what happens when I end call from my custom UI (Should I close CallKit here?):
-(void)endcall
[[XCPjsua sharedXCPjsua] endCall];
ios swift xcode swift4.2 callkit
When a user end a call from the CallKit UI the app ends the call and the actual VOIP call also end. But when I end the call from my custom UI the VOIP call ends but the CallKit is still active. How do I end the CallKit session from my custom UI?
This is what happens when I press end call on the CallKit UI:
func provider( _ provider: CXProvider, perform action: CXEndCallAction)
XCPjsua.shared()?.endCall()
action.fulfill()
This is what happens when I end call from my custom UI (Should I close CallKit here?):
-(void)endcall
[[XCPjsua sharedXCPjsua] endCall];
ios swift xcode swift4.2 callkit
ios swift xcode swift4.2 callkit
asked Mar 22 at 11:47
Coder_98Coder_98
225
225
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
If you want to end the call from your custom UI you should do that through a CXTransaction
:
let callController = CXCallController()
let endCallAction = CXEndCallAction(call: aUUID)
callController.request(
CXTransaction(action: endCallAction),
completion: error in
if let error = error
print("Error: (error)")
else
print("Success")
)
this will cause provider(_ provider: CXProvider, perform action: CXEndCallAction)
to be called.
In all other cases (i.e. remote ended, unanswered, etc... - see CXCallEndedReason) you should only report the ended call:
let provider: CXProvider
provider.reportCall(with: call.uuid, endedAt: Date(), reason: .remoteEnded)
in this case provider(_ provider: CXProvider, perform action: CXEndCallAction)
will not be called.
add a comment |
I managed to close it using the reportCall function
provider?.reportCall(with: appG.uuid, endedAt: Date(), reason: .remoteEnded)
So I just call that function when I press end call from my custom UI
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55298930%2fhow-do-i-end-the-call-session-on-callkit-from-my-custom-ongoing-call-ui%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you want to end the call from your custom UI you should do that through a CXTransaction
:
let callController = CXCallController()
let endCallAction = CXEndCallAction(call: aUUID)
callController.request(
CXTransaction(action: endCallAction),
completion: error in
if let error = error
print("Error: (error)")
else
print("Success")
)
this will cause provider(_ provider: CXProvider, perform action: CXEndCallAction)
to be called.
In all other cases (i.e. remote ended, unanswered, etc... - see CXCallEndedReason) you should only report the ended call:
let provider: CXProvider
provider.reportCall(with: call.uuid, endedAt: Date(), reason: .remoteEnded)
in this case provider(_ provider: CXProvider, perform action: CXEndCallAction)
will not be called.
add a comment |
If you want to end the call from your custom UI you should do that through a CXTransaction
:
let callController = CXCallController()
let endCallAction = CXEndCallAction(call: aUUID)
callController.request(
CXTransaction(action: endCallAction),
completion: error in
if let error = error
print("Error: (error)")
else
print("Success")
)
this will cause provider(_ provider: CXProvider, perform action: CXEndCallAction)
to be called.
In all other cases (i.e. remote ended, unanswered, etc... - see CXCallEndedReason) you should only report the ended call:
let provider: CXProvider
provider.reportCall(with: call.uuid, endedAt: Date(), reason: .remoteEnded)
in this case provider(_ provider: CXProvider, perform action: CXEndCallAction)
will not be called.
add a comment |
If you want to end the call from your custom UI you should do that through a CXTransaction
:
let callController = CXCallController()
let endCallAction = CXEndCallAction(call: aUUID)
callController.request(
CXTransaction(action: endCallAction),
completion: error in
if let error = error
print("Error: (error)")
else
print("Success")
)
this will cause provider(_ provider: CXProvider, perform action: CXEndCallAction)
to be called.
In all other cases (i.e. remote ended, unanswered, etc... - see CXCallEndedReason) you should only report the ended call:
let provider: CXProvider
provider.reportCall(with: call.uuid, endedAt: Date(), reason: .remoteEnded)
in this case provider(_ provider: CXProvider, perform action: CXEndCallAction)
will not be called.
If you want to end the call from your custom UI you should do that through a CXTransaction
:
let callController = CXCallController()
let endCallAction = CXEndCallAction(call: aUUID)
callController.request(
CXTransaction(action: endCallAction),
completion: error in
if let error = error
print("Error: (error)")
else
print("Success")
)
this will cause provider(_ provider: CXProvider, perform action: CXEndCallAction)
to be called.
In all other cases (i.e. remote ended, unanswered, etc... - see CXCallEndedReason) you should only report the ended call:
let provider: CXProvider
provider.reportCall(with: call.uuid, endedAt: Date(), reason: .remoteEnded)
in this case provider(_ provider: CXProvider, perform action: CXEndCallAction)
will not be called.
answered Mar 22 at 14:42
MarcoMarco
7916
7916
add a comment |
add a comment |
I managed to close it using the reportCall function
provider?.reportCall(with: appG.uuid, endedAt: Date(), reason: .remoteEnded)
So I just call that function when I press end call from my custom UI
add a comment |
I managed to close it using the reportCall function
provider?.reportCall(with: appG.uuid, endedAt: Date(), reason: .remoteEnded)
So I just call that function when I press end call from my custom UI
add a comment |
I managed to close it using the reportCall function
provider?.reportCall(with: appG.uuid, endedAt: Date(), reason: .remoteEnded)
So I just call that function when I press end call from my custom UI
I managed to close it using the reportCall function
provider?.reportCall(with: appG.uuid, endedAt: Date(), reason: .remoteEnded)
So I just call that function when I press end call from my custom UI
answered Mar 22 at 12:55
Coder_98Coder_98
225
225
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55298930%2fhow-do-i-end-the-call-session-on-callkit-from-my-custom-ongoing-call-ui%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown