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/src/pjnath/stun_sock.c

    r2667 r2966  
    137137    cfg->async_cnt = 1; 
    138138    cfg->ka_interval = PJ_STUN_KEEP_ALIVE_SEC; 
     139    cfg->qos_type = PJ_QOS_TYPE_BEST_EFFORT; 
     140    cfg->qos_ignore_error = PJ_TRUE; 
    139141} 
    140142 
     
    201203        goto on_error; 
    202204 
     205    /* Apply QoS, if specified */ 
     206    status = pj_sock_apply_qos2(stun_sock->sock_fd, cfg->qos_type, 
     207                                &cfg->qos_params, 2, stun_sock->obj_name, 
     208                                NULL); 
     209    if (status != PJ_SUCCESS && !cfg->qos_ignore_error) 
     210        goto on_error; 
     211 
     212    /* Bind socket */ 
    203213    if (pj_sockaddr_has_addr(&cfg->bound_addr)) { 
    204214        status = pj_sock_bind(stun_sock->sock_fd, &cfg->bound_addr, 
     
    759769    /* Log socket error */ 
    760770    if (status != PJ_SUCCESS) { 
    761         char errmsg[PJ_ERR_MSG_SIZE]; 
    762  
    763         pj_strerror(status, errmsg, sizeof(errmsg)); 
    764         PJ_LOG(2,(stun_sock->obj_name, "recvfrom() error: %s", errmsg)); 
     771        pj_perror(2, stun_sock->obj_name, status, "recvfrom() error", 0); 
    765772        return PJ_TRUE; 
    766773    } 
Note: See TracChangeset for help on using the changeset viewer.