Changes between Version 5 and Version 6 of SRTP


Ignore:
Timestamp:
Jan 24, 2008 7:35:12 AM (11 years ago)
Author:
bennylp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SRTP

    v5 v6  
    11= SRTP Support in PJSIP = 
    22 
    3 Support for SRTP was included in PJSIP in version 0.9 (see ticket #61). 
     3This article describes about SRTP support in PJSIP , which was included in version 0.9 (see ticket #61). 
     4 
     5'''Table of Contents:''' 
     6[[PageOutline(2-3,,inline)]] 
     7---- 
     8 
     9== Compatibility Info == 
     10 
     11Please note the following issues regarding compatibility with previous PJSIP code: 
     12 
     13=== Build Systems === 
     14 
     15There is a new third party library in the distribution, namely '''{{{libsrtp}}}''', you will need to add this library into your application's input libraries specification. 
     16 
     17'''For GNU build systems:''' 
     18  1. You will need to re-run {{{./configure}}}, {{{make dep}}} and {{{make}}} to update {{{build.mak}}} and rebuild the project dependencies. 
     19  1. If your Makefile includes {{{build.mak}}} (as explained in [wiki:Getting_Started_Using Getting Stared part 2], you just need to rebuild your application as the input libraries will be updated automatically. 
     20  1. If you maintain your own independent Makefile, please add {{{libsrtp-$(TARGET)}}} from {{{third_party/lib}}} directory to your input libraries.  
     21 
     22'''For Visual Studio 6 and 2005:''' 
     23  1. New {{{libsrtp}}} project has been added into PJSIP workspace. 
     24  1. If you maintain your own application workspace, you need to add {{{libsrtp}}} project into your application. The {{{libsrtp}}} project files are in {{{third_party/build/srtp}}} directory. 
     25 
     26'''For Windows Mobile developments:''' 
     27  1. New {{{libsrtp}}} project has been added into PJSIP workspace. 
     28  1. If you maintain your own application workspace, you need to add {{{libsrtp}}} project into your application. The {{{libsrtp}}} project files are in {{{third_party/build/srtp}}} directory. 
     29  1. Make sure you import the Embedded Visual Studio project ({{{libsrtp.vcp}}}) rather than the Visual Studio ({{{libsrtp.vcproj}}}) project! 
     30 
     31'''Symbian:''' 
     32  1. To be done. 
     33 
     34=== API Changes === 
     35 
     36New callbacks have been added in media transport interface which may break your application, depending on the API level that you use. The changes will be explained in [#med-tp-changes Changes in Media Transport Interface] section below. 
     37 
     38If you are working directly with PJMEDIA transport API, there may be changes required in your code.  
     39 
     40If you are working on PJSUA-LIB API level, there should be no changes in your application. 
     41 
     42---- 
    443 
    544== Requirements == 
     
    85124---- 
    86125 
    87 == Implementation Notes == #changes 
     126== Implementation Notes == 
    88127 
    89 === Changes in Media Transport Interface === 
     128=== Changes in Media Transport Interface === #med-tp-changes 
    90129 
    91130Since the availability of SRTP changes contents of SDP (Session Description Protocol) and the SDP negotiation, we need to add new interfaces in PJMEDIA transport API to allow media transport to modify and negotiate SDP. Incidently this would work well with ICE too (previously we treat ICE as a special kind of media transport so it is treated differently, but with this new interfaces, all media transports will behave uniformly (anyway that's what API abstraction is for!)).