SoftPhone(eXosip)学习笔记系列之事件侦听

上篇完成了一个完整的用户注册过程,接下来要做就是事件侦听,包括侦听用户呼叫等,这里显然要开辟一个新线程,具体代码不在赘述,我只记下思路,因为网上这类东西几乎没有。
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协商

你可能感兴趣的:(学习笔记)