libeXosip2(2-3) -- eXosip2 event API

本文详细介绍了eXosip2中SIP事件API的功能与使用方法,包括事件类型枚举、事件处理函数及事件套接字的相关内容。通过阅读本文,读者可以了解到如何利用这些API进行SIP通信的事件管理和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

eXosip2 event API

General purpose API.

Data Structures

struct  
eXosip_event

Enumerations

enum  
eXosip_event_type {
EXOSIP_REGISTRATION_SUCCESS,
EXOSIP_REGISTRATION_FAILURE,
EXOSIP_CALL_INVITE,
EXOSIP_CALL_REINVITE,
EXOSIP_CALL_NOANSWER,
EXOSIP_CALL_PROCEEDING,
EXOSIP_CALL_RINGING,
EXOSIP_CALL_ANSWERED,
EXOSIP_CALL_REDIRECTED,
EXOSIP_CALL_REQUESTFAILURE,
EXOSIP_CALL_SERVERFAILURE,
EXOSIP_CALL_GLOBALFAILURE,
EXOSIP_CALL_ACK,
EXOSIP_CALL_CANCELLED,
EXOSIP_CALL_MESSAGE_NEW,
EXOSIP_CALL_MESSAGE_PROCEEDING,
EXOSIP_CALL_MESSAGE_ANSWERED,
EXOSIP_CALL_MESSAGE_REDIRECTED,
EXOSIP_CALL_MESSAGE_REQUESTFAILURE,
EXOSIP_CALL_MESSAGE_SERVERFAILURE,
EXOSIP_CALL_MESSAGE_GLOBALFAILURE,
EXOSIP_CALL_CLOSED,
EXOSIP_CALL_RELEASED,
EXOSIP_MESSAGE_NEW,
EXOSIP_MESSAGE_PROCEEDING,
EXOSIP_MESSAGE_ANSWERED,
EXOSIP_MESSAGE_REDIRECTED,
EXOSIP_MESSAGE_REQUESTFAILURE,
EXOSIP_MESSAGE_SERVERFAILURE,
EXOSIP_MESSAGE_GLOBALFAILURE,
EXOSIP_SUBSCRIPTION_NOANSWER,
EXOSIP_SUBSCRIPTION_PROCEEDING,
EXOSIP_SUBSCRIPTION_ANSWERED,
EXOSIP_SUBSCRIPTION_REDIRECTED,
EXOSIP_SUBSCRIPTION_REQUESTFAILURE,
EXOSIP_SUBSCRIPTION_SERVERFAILURE,
EXOSIP_SUBSCRIPTION_GLOBALFAILURE,
EXOSIP_SUBSCRIPTION_NOTIFY,
EXOSIP_IN_SUBSCRIPTION_NEW,
EXOSIP_NOTIFICATION_NOANSWER,
EXOSIP_NOTIFICATION_PROCEEDING,
EXOSIP_NOTIFICATION_ANSWERED,
EXOSIP_NOTIFICATION_REDIRECTED,
EXOSIP_NOTIFICATION_REQUESTFAILURE,
EXOSIP_NOTIFICATION_SERVERFAILURE,
EXOSIP_NOTIFICATION_GLOBALFAILURE,
EXOSIP_EVENT_COUNT
}

Functions

void 
eXosip_event_free (eXosip_event_t *je)

eXosip_event_t
eXosip_event_wait (struct eXosip_t *excontext, int tv_s, int tv_ms)

eXosip_event_t
eXosip_event_get (struct eXosip_t *excontext)

int 
eXosip_event_geteventsocket (struct eXosip_t *excontext)

Detailed Description
Enumeration Type Documentation

enum eXosip_event_type

Structure for event type description

Enumerator:

EXOSIP_REGISTRATION_SUCCESS

user is successfully registred.

EXOSIP_REGISTRATION_FAILURE

user is not registred.

EXOSIP_CALL_INVITE

announce a new call

EXOSIP_CALL_REINVITE

announce a new INVITE within call

EXOSIP_CALL_NOANSWER

announce no answer within the timeout

EXOSIP_CALL_PROCEEDING

announce processing by a remote app

EXOSIP_CALL_RINGING

announce ringback

EXOSIP_CALL_ANSWERED

announce start of call

EXOSIP_CALL_REDIRECTED

announce a redirection

EXOSIP_CALL_REQUESTFAILURE

announce a request failure

EXOSIP_CALL_SERVERFAILURE

announce a server failure

EXOSIP_CALL_GLOBALFAILURE

announce a global failure

EXOSIP_CALL_ACK

ACK received for 200ok to INVITE

EXOSIP_CALL_CANCELLED

announce that call has been cancelled

EXOSIP_CALL_MESSAGE_NEW

announce new incoming request.

EXOSIP_CALL_MESSAGE_PROCEEDING

announce a 1xx for request.

EXOSIP_CALL_MESSAGE_ANSWERED

announce a 200ok

EXOSIP_CALL_MESSAGE_REDIRECTED

announce a failure.

EXOSIP_CALL_MESSAGE_REQUESTFAILURE

announce a failure.

EXOSIP_CALL_MESSAGE_SERVERFAILURE

announce a failure.

EXOSIP_CALL_MESSAGE_GLOBALFAILURE

announce a failure.

EXOSIP_CALL_CLOSED

a BYE was received for this call

EXOSIP_CALL_RELEASED

call context is cleared.

EXOSIP_MESSAGE_NEW

announce new incoming request.

EXOSIP_MESSAGE_PROCEEDING

announce a 1xx for request.

EXOSIP_MESSAGE_ANSWERED

announce a 200ok

EXOSIP_MESSAGE_REDIRECTED

announce a failure.

EXOSIP_MESSAGE_REQUESTFAILURE

announce a failure.

EXOSIP_MESSAGE_SERVERFAILURE

announce a failure.

EXOSIP_MESSAGE_GLOBALFAILURE

announce a failure.

EXOSIP_SUBSCRIPTION_NOANSWER

announce no answer

EXOSIP_SUBSCRIPTION_PROCEEDING

announce a 1xx

EXOSIP_SUBSCRIPTION_ANSWERED

announce a 200ok

EXOSIP_SUBSCRIPTION_REDIRECTED

announce a redirection

EXOSIP_SUBSCRIPTION_REQUESTFAILURE

announce a request failure

EXOSIP_SUBSCRIPTION_SERVERFAILURE

announce a server failure

EXOSIP_SUBSCRIPTION_GLOBALFAILURE

announce a global failure

EXOSIP_SUBSCRIPTION_NOTIFY

announce new NOTIFY request

EXOSIP_IN_SUBSCRIPTION_NEW

announce new incoming SUBSCRIBE.

EXOSIP_NOTIFICATION_NOANSWER

announce no answer

EXOSIP_NOTIFICATION_PROCEEDING

announce a 1xx

EXOSIP_NOTIFICATION_ANSWERED

announce a 200ok

EXOSIP_NOTIFICATION_REDIRECTED

announce a redirection

EXOSIP_NOTIFICATION_REQUESTFAILURE

announce a request failure

EXOSIP_NOTIFICATION_SERVERFAILURE

announce a server failure

EXOSIP_NOTIFICATION_GLOBALFAILURE

announce a global failure

EXOSIP_EVENT_COUNT

MAX number of events

Function Documentation

void eXosip_event_free
(
eXosip_event_t
je
)

Free ressource in an eXosip event.

Parameters

je
event to work on.

eXosip_event_t* eXosip_event_wait
(
struct eXosip_t * 
excontext,

int 
tv_s,

int 
tv_ms

)

Wait for an eXosip event.

Parameters

excontext
eXosip_t instance.

tv_s
timeout value (seconds).

tv_ms
timeout value (mseconds).

eXosip_event_t* eXosip_event_get
(
struct eXosip_t * 
excontext
)

Wait for next eXosip event. DEPRECATED API This API will block // You should use eXosip_event_wait instead which is more convenient. limitation: This method will not process automatic 200ok retransmission for INVITE transaction.

Parameters

excontext
eXosip_t instance.

int eXosip_event_geteventsocket
(
struct eXosip_t * 
excontext
)

This socket receive some data yhen an event happens internally. NOTE: you must call eXosip_event_wait until there is no more events in the fifo.

Parameters

excontext
eXosip_t instance.

转载于:https://www.cnblogs.com/elisha-blogs/p/3945539.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值