Maybe you're right. It seems easier. I'm trying and I don't have any problem on the on_rx_rtp callback. But if I don't use the pjmedia_rtp_encode_rtp before sending the packet with pjmedia_transport_send_rtp to the other transport, how can I know the parameters "pkt" (the packet to send) and the "size" (the size of the packet)?? (from the definition: pjmedia_transport_send_rtp(pjmedia_transport *tp, const void *pkt, pj_size_t size)) What do you think? Thanks, Giusy I think you should not use the pjmedia_rtp_encode_rtp, just forward to the UA pair whatever received on on_rx_rtp/rtcp callback. So you dont need pjmedia_rtp_session_init / pjmedia_rtcp_init. nanang