Changeset 1748 for pjproject/trunk/pjmedia/include/pjmedia/transport_srtp.h
- Timestamp:
- Jan 25, 2008 4:06:33 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/include/pjmedia/transport_srtp.h
r1735 r1748 22 22 /** 23 23 * @file srtp.h 24 * @brief transport SRTP encapsulates secure mediatransport.24 * @brief Secure RTP (SRTP) transport. 25 25 */ 26 26 27 27 #include <pjmedia/transport.h> 28 28 29 30 /** 31 * @defgroup PJMEDIA_TRANSPORT_SRTP Secure RTP (SRTP) Transport Adapter 32 * @ingroup PJMEDIA_TRANSPORT 33 * @brief Media transport adapter to add SRTP feature to existing transports 34 * @{ 35 * 36 * This module implements SRTP as described by RFC 3711, using RFC 4568 as 37 * key exchange method. It implements \ref PJMEDIA_TRANSPORT_H to integrate 38 * with the rest of PJMEDIA framework. 39 * 40 * As we know, media transport is separated from the stream object (which 41 * does the encoding/decoding of PCM frames, (de)packetization of RTP/RTCP 42 * packets, and de-jitter buffering). The connection between stream and media 43 * transport is established when the stream is created (we need to specify 44 * media transport during stream creation), and the interconnection can be 45 * depicted from the diagram below: 46 * 47 \image html media-transport.PNG 48 49 * I think the diagram above is self-explanatory. 50 * 51 * SRTP functionality is implemented as some kind of "adapter", which is 52 * plugged between the stream and the actual media transport that does 53 * sending/receiving RTP/RTCP packets. When SRTP is used, the interconnection 54 * between stream and transport is like the diagram below: 55 * 56 \image html media-srtp-transport.PNG 57 58 * So to stream, the SRTP transport behaves as if it is a media transport 59 * (because it is a media transport), and to the media transport it behaves 60 * as if it is a stream. The SRTP object then forwards RTP packets back and 61 * forth between stream and the actual transport, encrypting/decrypting 62 * the RTP/RTCP packets as necessary. 63 * 64 * The neat thing about this design is the SRTP "adapter" then can be used 65 * to encrypt any kind of media transports. We currently have UDP and ICE 66 * media transports that can benefit SRTP, and we could add SRTP to any 67 * media transports that will be added in the future. 68 */ 29 69 30 70 PJ_BEGIN_DECL … … 56 96 pj_str_t name; 57 97 58 /* Flags, bitmask from #pjmedia_srtp_crypto_option */98 /** Flags, bitmask from #pjmedia_srtp_crypto_option */ 59 99 unsigned flags; 60 100 … … 169 209 */ 170 210 PJ_DECL(pj_status_t) pjmedia_transport_srtp_start( 171 pjmedia_transport * tp,211 pjmedia_transport *srtp, 172 212 const pjmedia_srtp_crypto *tx, 173 213 const pjmedia_srtp_crypto *rx); … … 182 222 * @see #pjmedia_transport_srtp_start() 183 223 */ 184 PJ_DECL(pj_status_t) pjmedia_transport_srtp_stop(pjmedia_transport * tp);224 PJ_DECL(pj_status_t) pjmedia_transport_srtp_stop(pjmedia_transport *srtp); 185 225 186 226 … … 193 233 */ 194 234 PJ_DECL(pjmedia_transport*) pjmedia_transport_srtp_get_member( 195 pjmedia_transport * tp);235 pjmedia_transport *srtp); 196 236 197 237 198 238 PJ_END_DECL 199 239 240 /** 241 * @} 242 */ 243 200 244 #endif /* __PJMEDIA_TRANSPORT_SRTP_H__ */
Note: See TracChangeset
for help on using the changeset viewer.