加密数据(pjsip)
Encrypt data (pjsip)
我想在通过 rtp 发送之前在 pjsip 库中使用 Bouncy Castle
加密数据。谁用过 pjsip,请帮助我,我对 C 不友好,所以我应该在哪里做。在对 pjsip lib 文件进行一些研究后,我发现 'transport.c' 文件具有以下功能:
static void ice_on_rx_data(pj_ice_strans *ice_st, unsigned comp_id,
void *pkt, pj_size_t size,
const pj_sockaddr_t *src_addr,
unsigned src_addr_len)
我走对了吗?
在 pjsip 中查找 pjmedia/src/pjmedia/transport_udp.c
。
发送UDP数据包pjsip使用这个函数..
static pj_status_t transport_send_rtp( pjmedia_transport *tp,
const void *pkt,
pj_size_t size)
所以你必须在这个函数中加密你的数据包。因此,如果您允许 rtcp,则采用 pkt
并加密 it.Also,那么您可能还必须在那里找到加密 rtcp packet.That 功能。名字是..
static pj_status_t transport_send_rtcp2(pjmedia_transport *tp,
const pj_sockaddr_t *addr,
unsigned addr_len,
const void *pkt,
pj_size_t size)
所以这些函数可以在pjmedia/src/pjmedia/
目录下的transport_udp.c
中找到。
所以如果你想发送加密包,你可以在那里加密数据包。此外,为了解密收到的加密数据包,您可以使用这些功能..
static void on_rx_rtp( pj_ioqueue_key_t *key,
pj_ioqueue_op_key_t *op_key,
pj_ssize_t bytes_read);
static void on_rx_rtcp(pj_ioqueue_key_t *key,
pj_ioqueue_op_key_t *op_key,
pj_ssize_t bytes_read);
你可以在那里解密。
我想在通过 rtp 发送之前在 pjsip 库中使用 Bouncy Castle
加密数据。谁用过 pjsip,请帮助我,我对 C 不友好,所以我应该在哪里做。在对 pjsip lib 文件进行一些研究后,我发现 'transport.c' 文件具有以下功能:
static void ice_on_rx_data(pj_ice_strans *ice_st, unsigned comp_id,
void *pkt, pj_size_t size,
const pj_sockaddr_t *src_addr,
unsigned src_addr_len)
我走对了吗?
在 pjsip 中查找 pjmedia/src/pjmedia/transport_udp.c
。
发送UDP数据包pjsip使用这个函数..
static pj_status_t transport_send_rtp( pjmedia_transport *tp,
const void *pkt,
pj_size_t size)
所以你必须在这个函数中加密你的数据包。因此,如果您允许 rtcp,则采用 pkt
并加密 it.Also,那么您可能还必须在那里找到加密 rtcp packet.That 功能。名字是..
static pj_status_t transport_send_rtcp2(pjmedia_transport *tp,
const pj_sockaddr_t *addr,
unsigned addr_len,
const void *pkt,
pj_size_t size)
所以这些函数可以在pjmedia/src/pjmedia/
目录下的transport_udp.c
中找到。
所以如果你想发送加密包,你可以在那里加密数据包。此外,为了解密收到的加密数据包,您可以使用这些功能..
static void on_rx_rtp( pj_ioqueue_key_t *key,
pj_ioqueue_op_key_t *op_key,
pj_ssize_t bytes_read);
static void on_rx_rtcp(pj_ioqueue_key_t *key,
pj_ioqueue_op_key_t *op_key,
pj_ssize_t bytes_read);
你可以在那里解密。