在通过rtp发送之前,我希望在pjsip中使用Bouncy Castle加密数据。谁曾与pjsip合作过,请帮帮我,我对C不友好,所以我应该在哪里这样做。在对pjsip库文件进行了一些研究之后,我发现了带有函数的'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)我走的路对吗?
发布于 2016-01-24 13:32:27
在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)所以你必须在这个函数中加密你的数据包。因此,以pkt和it.Also为例,如果您允许rtcp,那么您可能必须对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)因此,这些函数可以在transport_udp.c中的pjmedia/src/pjmedia/目录中找到。
所以,如果你想发送加密打包,你可以加密的包在那里。另外,为了解密接收到的加密包,您可以使用以下功能。
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);你可以在那里解密。
https://stackoverflow.com/questions/34878584
复制相似问题