Changes between Version 4 and Version 5 of QoS


Ignore:
Timestamp:
Oct 29, 2009 12:34:28 AM (9 years ago)
Author:
bennylp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • QoS

    v4 v5  
    4545||                           || Win2k/older || XP, Vista, WM2003, WM5 || WM6 || Symbian S60 || Linux || MacOS X || iPhone^1)^ || 
    4646|| High level API            ||     Yes     ||      No                || Yes ||       Yes   ||  Yes  ||  Yes    ||  Yes   || 
    47 || API backend               ||  sock_qos_bsd.c^2)^  ||      sock_qos_dummy.c       || sock_qos_wm.c || sock_qos_symbian.cpp || sock_qos_bsd.c || qos_bsd.c || qos_bsd.c || 
     47|| API backend               || qos_bsd.c^2)^||      qos_dummy.c      || qos_wm.c || qos_symbian.cpp || qos_bsd.c || qos_bsd.c || qos_bsd.c || 
    4848|| DSCP is supported         ||     Yes     ||      No                || Yes ||       Yes   ||  Yes  ||  Yes    ||  Yes   || 
    4949|| DSCP is user settable     ||     Yes     ||      No                || No  ||       Yes   ||  Yes  ||  Yes    ||  Yes   || 
     
    5454 
    5555Notes: 
    56  1) iPhone availability is assumed based on MacOS X{{BR]] 
     56 1) iPhone availability is assumed based on MacOS X[[BR]] 
    5757 2) On win32, sock_qos_dummy.c is used by default. Set {{{PJ_QOS_IMPLEMENTATION}}} to {{{PJ_QOS_BSD}}} to enable the use of sock_qos_bsd.c. 
    5858 
     
    197197== Limitations == 
    198198 
    199 Win32 may not be implemented due to the API mess above. 
     199Win32 currently is not be implemented. 
     200 
     201[[BR]] 
     202 
     203== Using QoS in PJSIP Applications == 
     204 
     205=== PJSUA-LIB === 
     206 
     207On PJSUA-LIB, QoS parameters have been added to {{{pjsua_transport_config}}}. Please see [http://www.pjsip.org/pjsip/docs/html/structpjsua__transport__config.htm pjsua_transport_config reference] for more info. 
     208 
     209==== Examples ==== 
     210 
     211To set QoS of RTP/RTCP traffic to '''Voice''' type (this will activate the appropriate DSCP, WMM, and SO_PRIORITY settings, if the OS supports it): 
     212 
     213 {{{ 
     214  pjsua_transport_config rtp_tcfg; 
     215 
     216  pjsua_transport_config_default(&rtp_tcfg); 
     217  // Set listening start port etc according to app settings 
     218  ... 
     219  // Set traffic type to Voice 
     220  rtp_tcfg.qos_type = PJ_QOS_TYPE_VOICE; 
     221 
     222  // Create RTP transports with this config 
     223  pjsua_media_transports_create(&rtp_tcfg); 
     224 }}} 
     225 
     226To tag SIP transport traffic with a specific DSCP value (in this case, DSCP CS3 or value 24). Note that not all platforms allow this, see the table above: 
     227 {{{ 
     228  pjsua_transport_config sip_tcfg; 
     229 
     230  pjsua_transport_config_default(&sip_tcfg); 
     231  // Set listening port etc according to app settings 
     232  ... 
     233  // Set QoS to DSCP CS3 (DSCP value 24) 
     234  sip_tcfg.qos_params.flags = PJ_QOS_PARAM_HAS_DSCP; 
     235  sip_tcfg.qos_params.dscp_val = 24; 
     236 
     237  // Create SIP transport with this config 
     238  pjsua_transport_create(..., &sip_tcfg, ...); 
     239 }}} 
     240 
     241 
    200242 
    201243[[BR]]