When call is disconnected by receiver(after receiving the call) than call failed screen appears, I don't want this screen to be displayed. All my delegate methods are working. How can I make a successful call? What cause the call to be failed?
Asked
Active
Viewed 1,904 times
2 Answers
1
To end the call, use CXEndCallAction and add the CXTransaction objects. Make sure you are using the correct uuid.
CXEndCallAction *action = [[CXEndCallAction alloc] initWithCallUUID:callUUID];
[self.callController requestTransaction:[CXTransaction ...Actions:@[action]] completion:completion];

RJV Kumar
- 2,408
- 1
- 19
- 28
-
I am using CXTransaction, One thing I observed that action.callUUID and action.uuid is different inside CXEndCallAction delegate. Which one should I use, I tried both but got no success. – Mohammad Farhan Jan 25 '18 at 09:23
-
callUUID is correct. Check the callUUID when the call initiated and while ending, both should be the same. – RJV Kumar Jan 25 '18 at 10:49
-
[self.provider reportCallWithUUID:callUUID endedAtDate:nil reason:CXCallEndedReasonRemoteEnded]; Check this as well. – RJV Kumar Jan 25 '18 at 17:39
0
I ran into same situation :P But this is the solution:
- (void)provider:(CXProvider *)provider performEndCallAction:(CXEndCallAction *)action {
/* Perform your action after ending the call */
NSLog(@"performEndCallAction");
[action fulfill];
}
When performEndCallAction gets called by CallKit, execute [action fulfill] in it :)

AndaluZ
- 1,410
- 3
- 15
- 33