I can implement your suggested functionality but apple will reject your application. But according to you that your app will not going to AppStore. Since I can use Phone urls to invoke the Phone application to dial a number for you. See this below reference or code snippet.
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",phoneNumber]]];
But, the downside is that once the call is finished, user will endup in the Phone application. But I am afraid there is no solution to that problem. iOS doesn't allow any application to directly initiate a call because of security and privacy reasons.
Also, if your app will move to the background and I can't do anything about it. Apple isn't providing this type of facility. Apple insist that you need user permissions at all the steps. If you want to call then you must need user permission OR provide user interface to call the no. Anyway, I can be able to work it, especially for iOS I can try that using jailbreak(_ingestIncomingCTMessage), for that I will add audio background mode and loop silent audio file. If you don't need UI you can continue execute your tasks while in background. If you need UI there is a workaround - post local notification to let user resume your app after phone call ends. You could also try to invoke phone dialer UI from the background. I didn't tried it but it may be possible.