之前连接linphone的服务器,使用固定的已注册的账号能够实现主叫功能;但是被叫不能实现,现在来解决此问题:
原因在于linphone的源码中使用了setCall方法初始化(linphonecore*)call这个变量,但是在我们的项目中,使用它的方法造成了死循环,原因就在于linphone的内存管理使用的是mac,而自己的项目中使用的是Arc管理内存。
所以需要修改的那个设置call的函数,此处在incomingCallViewController中自己编写功能方法
- (void)initSomeTask:(LinphoneCall*)aCall withDelegate:(id)theDelegate;
并在文件中实现:
- (void)initSomeTask:(LinphoneCall*)aCall withDelegate:(id)theDelegate
{
self.call = aCall;
self.delegate = theDelegate;
[selfupdate];
[selfcallUpdate:self.callstate:linphone_call_get_state(self.call)];
}
然后在displayCall的来电判断成功后进行调用[incomingCallViewControllerinitSomeTask:call withDelegate:self];/
在此,解决了来电不能实现的问题。