exosip2和osip2协议栈如何获取当前Call leg/Transaction
时间: 2024-01-23 16:02:38 浏览: 105
在exosip2和osip2协议栈中,可以使用以下方式获取当前Call leg/Transaction:
1. 对于exosip2协议栈,可以使用osip_transaction_get_id()函数获取当前事务的ID。该函数需要传入一个osip_transaction_t类型的参数,该参数可以通过exosip_event_t结构体中的tid成员获取。例如:
```
osip_transaction_t *transaction;
osip_transaction_get_id(transaction);
```
2. 对于osip2协议栈,可以使用osip_transaction_get_id()函数获取当前事务的ID。该函数需要传入一个osip_transaction_t类型的参数,该参数可以通过osip_event_t结构体中的transaction成员获取。例如:
```
osip_transaction_t *transaction;
osip_transaction_get_id(transaction);
```
需要注意的是,以上方式获取的是当前事务的ID,而不是Call leg/Transaction。如果需要获取当前Call leg/Transaction,需要根据具体情况进行判断和处理。例如,在exosip2中,可以使用exosip_call_get_id()函数获取当前Call leg的ID。该函数需要传入一个exosip_event_t类型的参数,该参数可以通过exosip_wait_event()函数获取。例如:
```
exosip_event_t *event;
exosip_wait_event(...);
exosip_call_t *call = exosip_event_get_call(event);
const char *call_id = exosip_call_get_id(call);
```
这里获取到的call_id即为当前Call leg的ID。在osip2中,也可以根据具体情况使用类似的方式获取当前Transaction。
阅读全文
相关推荐


















