Ignore:
Timestamp:
Oct 25, 2009 9:02:07 AM (15 years ago)
Author:
bennylp
Message:

Initial commit for ticket #950: QoS support:

  • implementation:
    • PJLIB (sock_qos*.*)
  • added QoS support in:
    • SIP UDP transport,
    • SIP TCP transport,
    • media UDP transport (done in pjsua-lib),
    • pjnath ICE stream transport,
    • pjnath STUN socket,
    • pjnath TURN client
  • added QoS options in pjsua-lib:
    • QoS fields in pjsua_transport_config
  • added "--set-qos" parameter in pjsua

Notes:

  • QoS in TLS transport is not yet implemented, waiting for #957
  • build ok on VS6, VS2005 (multiple targets), Carbide, and Mingw
  • no run-time testing yet
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjnath/include/pjnath/ice_strans.h

    r2945 r2966  
    272272    struct { 
    273273        /** 
     274         * Optional TURN socket settings. The default values will be 
     275         * initialized by #pj_turn_sock_cfg_default(). This contains 
     276         * settings such as QoS. 
     277         */ 
     278        pj_turn_sock_cfg     cfg; 
     279 
     280        /** 
    274281         * Specify the TURN server domain or hostname or IP address. 
    275282         * If DNS SRV resolution is required, application must fill 
     
    324331 
    325332    } turn; 
     333 
     334    /** 
     335     * Component specific settings, which will override the settings in 
     336     * the STUN and TURN settings above. For example, setting the QoS 
     337     * parameters here allows the application to have different QoS 
     338     * traffic type for RTP and RTCP component. 
     339     */ 
     340    struct { 
     341        /** 
     342         * QoS traffic type to be set on this transport. When application 
     343         * wants to apply QoS tagging to the transport, it's preferable to 
     344         * set this field rather than \a qos_param fields since this is  
     345         * more portable. 
     346         * 
     347         * Default value is PJ_QOS_TYPE_BEST_EFFORT. 
     348         */ 
     349        pj_qos_type qos_type; 
     350 
     351        /** 
     352         * Set the low level QoS parameters to the transport. This is a  
     353         * lower level operation than setting the \a qos_type field and 
     354         * may not be supported on all platforms. 
     355         * 
     356         * By default all settings in this structure are disabled. 
     357         */ 
     358        pj_qos_params qos_params; 
     359 
     360    } comp[PJ_ICE_MAX_COMP]; 
    326361 
    327362} pj_ice_strans_cfg; 
Note: See TracChangeset for help on using the changeset viewer.