上篇完成了一个完整的用户注册过程,接下来要做就是事件侦听,包括侦听用户呼叫等,这里显然要开辟一个新线程,具体代码不在赘述,我只记下思路,因为网上这类东西几乎没有。
while(.....)
{
eXosip_event_t *event;
event = eXosip_event_wait(0, 50);
eXosip_lock ();
eXosip_default_action (event);
eXosip_automatic_refresh ();
eXosip_unlock();
if (event == NULL) continue;
switch (event->type)
{
case EXOSIP_CALL_INVITE: //被叫收到Invite,100,101自动回复,现在回复180,同时播放铃声
break;
case EXOSIP_CALL_ANSWERED: //主叫收到200,回ack,然后建立媒体连接
break;
case EXOSIP_CALL_ACK: //被叫收到ack
break;
case EXOSIP_CALL_CLOSED: //收到bye
break;
case EXOSIP_CALL_GLOBALFAILURE://拒绝接听
break;
default:
}
eXosip_event_free (event);
}
这里的具体处理过程无非就是exosip中的几个函数,这节不讲了,全写出来太多,将在以后章节一个个的讲。
下节预告:发起主叫--SDP协商
SoftPhone(eXosip)学习笔记系列之事件侦听
最新推荐文章于 2021-02-05 11:17:43 发布