static OrtpZrtpContext* ortp_zrtp_configure_context(OrtpZrtpContext *userData, RtpSession *s, OrtpZrtpParams *params) { ZrtpContext *context=userData->zrtpContext; if (s->rtp.tr || s->rtcp.tr) ortp_warning("Overwriting rtp or rtcp transport with ZRTP one"); userData->rtpt.data=context; userData->rtpt.t_getsocket=ozrtp_rtp_getsocket; userData->rtpt.t_sendto=ozrtp_rtp_sendto; userData->rtpt.t_recvfrom=ozrtp_rtp_recvfrom; userData->rtcpt.data=context; userData->rtcpt.t_getsocket=ozrtp_rtcp_getsocket; userData->rtcpt.t_sendto=ozrtp_rtcp_sendto; userData->rtcpt.t_recvfrom=ozrtp_rtcp_recvfrom; rtp_session_set_transports(s, &userData->rtpt, &userData->rtcpt); ortp_message("Starting ZRTP engine"); zrtp_setEnrollmentMode(context,FALSE);//because it is uninitialized in zrtpcpp. zrtp_startZrtpEngine(context); return userData; }
PJ_DEF(void) pjmedia_transport_zrtp_startZrtp(pjmedia_transport *tp) { struct tp_zrtp *zrtp = (struct tp_zrtp*)tp; pj_assert(tp && zrtp->zrtpCtx); zrtp_startZrtpEngine(zrtp->zrtpCtx); zrtp->started = 1; }