Ignore:
Timestamp:
Aug 12, 2016 3:47:26 AM (8 years ago)
Author:
ming
Message:

Fixed #1951: Add callback to configure SRTP setting and key in pjsua/pjsua2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/include/pjsua2/call.hpp

    r5185 r5417  
    950950     */ 
    951951    unsigned        flags; 
     952}; 
     953 
     954/** 
     955 * SRTP crypto. 
     956 */ 
     957struct SrtpCrypto 
     958{ 
     959    /** 
     960     * Optional key. If empty, a random key will be autogenerated. 
     961     */ 
     962    string      key; 
     963 
     964    /** 
     965     * Crypto name. 
     966     */ 
     967    string      name; 
     968 
     969    /** 
     970     * Flags, bitmask from #pjmedia_srtp_crypto_option 
     971     */ 
     972    unsigned    flags; 
     973}; 
     974 
     975/** 
     976 * This structure contains parameters for Call::onCreateMediaTransportSrtp() 
     977 * callback. 
     978 */ 
     979struct OnCreateMediaTransportSrtpParam 
     980{ 
     981    /** 
     982     * The media index in the SDP for which the SRTP media transport 
     983     * will be used. 
     984     */ 
     985    unsigned                    mediaIdx; 
     986     
     987    /** 
     988     * Specify whether secure media transport should be used. Application 
     989     * can modify this only for initial INVITE. 
     990     * Valid values are PJMEDIA_SRTP_DISABLED, PJMEDIA_SRTP_OPTIONAL, and 
     991     * PJMEDIA_SRTP_MANDATORY. 
     992     */ 
     993    pjmedia_srtp_use            srtpUse; 
     994     
     995    /** 
     996     * Application can modify this to specify the cryptos and keys 
     997     * which are going to be used. 
     998     */ 
     999    vector<SrtpCrypto>          cryptos; 
    9521000}; 
    9531001 
     
    17441792    { PJ_UNUSED_ARG(prm); } 
    17451793 
     1794    /** 
     1795     * This callback is called when SRTP media transport is created. 
     1796     * Application can modify the SRTP setting \a srtpOpt to specify 
     1797     * the cryptos and keys which are going to be used. Note that 
     1798     * application should not modify the field 
     1799     * \a pjmedia_srtp_setting.close_member_tp and can only modify 
     1800     * the field \a pjmedia_srtp_setting.use for initial INVITE. 
     1801     * 
     1802     * @param prm       Callback parameter. 
     1803     */ 
     1804    virtual void 
     1805    onCreateMediaTransportSrtp(OnCreateMediaTransportSrtpParam &prm) 
     1806    { PJ_UNUSED_ARG(prm); } 
     1807 
    17461808private: 
    17471809    Account             &acc; 
Note: See TracChangeset for help on using the changeset viewer.