Ignore:
Timestamp:
May 29, 2009 1:04:03 PM (15 years ago)
Author:
bennylp
Message:

Integration of Sipit24 branch, many tickets involved:

  • #793: AMR encoder should regard 'mode-set' param specified by remote decoder.
  • #831: Automatically switch to TCP transport when sending large request
  • #832: Support for outbound proxy setting without using Route header
  • #849: Modify conference audio switch behavior in connecting ports.
  • #850: Remove 'Require=replaces' param in 'Refer-To' header (in call transfer with replaces).
  • #851: Support for regular nomination in ICE
  • #852: --ip-addr support for IPv6 for media transport in pjsua
  • #854: Adding SOFTWARE attribute in all outgoing requests may cause compatibility problem with older STUN server (thanks Alexei Kuznetsov for the report)
  • #855: Bug in digit map frequencies for DTMF digits (thanks FCCH for the report)
  • #856: Put back the ICE candidate priority values according to the default values in the draft-mmusic-ice
  • #857: Support for ICE keep-alive with Binding indication
  • #858: Do not authenticate STUN 438 response
  • #859: AMR-WB format param in the SDP is not negotiated correctly.
  • #867: Return error instead of asserting when PJSUA-LIB fails to open log file
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip-apps/src/samples/icedemo.c

    r2600 r2724  
    4040        unsigned    comp_cnt; 
    4141        pj_str_t    ns; 
    42         pj_bool_t   no_host; 
     42        int         max_host; 
     43        pj_bool_t   regular; 
    4344        pj_str_t    stun_srv; 
    4445        pj_str_t    turn_srv; 
     
    307308    /* -= Start initializing ICE stream transport config =- */ 
    308309 
    309     /* Disable host candidates? */ 
    310     icedemo.ice_cfg.stun.no_host_cands = icedemo.opt.no_host; 
     310    /* Maximum number of host candidates */ 
     311    if (icedemo.opt.max_host != -1) 
     312        icedemo.ice_cfg.stun.max_host_cands = icedemo.opt.max_host; 
     313 
     314    /* Nomination strategy */ 
     315    if (icedemo.opt.regular) 
     316        icedemo.ice_cfg.opt.aggressive = PJ_FALSE; 
     317    else 
     318        icedemo.ice_cfg.opt.aggressive = PJ_TRUE; 
    311319 
    312320    /* Configure STUN/srflx candidate resolution */ 
     
    961969    */ 
    962970 
    963     if (comp_id > pj_ice_strans_get_running_comp_cnt(icedemo.icest)) { 
     971    if (comp_id<1||comp_id>pj_ice_strans_get_running_comp_cnt(icedemo.icest)) { 
    964972        PJ_LOG(1,(THIS_FILE, "Error: invalid component ID")); 
    965973        return; 
     
    11381146    puts(" --nameserver, -n IP       Configure nameserver to activate DNS SRV"); 
    11391147    puts("                           resolution"); 
    1140     puts(" --no-host, -H             Disable host candidates"); 
     1148    puts(" --max-host, -H N          Set max number of host candidates to N"); 
     1149    puts(" --regular, -R             Use regular nomination (default aggressive)"); 
    11411150    puts(" --help, -h                Display this screen."); 
    11421151    puts(""); 
     
    11661175        { "comp-cnt",           1, 0, 'c'}, 
    11671176        { "nameserver",         1, 0, 'n'}, 
    1168         { "no-host",            0, 0, 'H'}, 
     1177        { "max-host",           1, 0, 'H'}, 
    11691178        { "help",               0, 0, 'h'}, 
    11701179        { "stun-srv",           1, 0, 's'}, 
     
    11731182        { "turn-username",      1, 0, 'u'}, 
    11741183        { "turn-password",      1, 0, 'p'}, 
    1175         { "turn-fingerprint",   0, 0, 'F'} 
     1184        { "turn-fingerprint",   0, 0, 'F'}, 
     1185        { "regular",            0, 0, 'R'} 
    11761186    }; 
    11771187    int c, opt_id; 
     
    11791189 
    11801190    icedemo.opt.comp_cnt = 1; 
    1181  
    1182     while((c=pj_getopt_long(argc,argv, "n:s:t:u:p:HhTF", long_options, &opt_id))!=-1) { 
     1191    icedemo.opt.max_host = -1; 
     1192 
     1193    while((c=pj_getopt_long(argc,argv, "c:n:s:t:u:p:H:hTFR", long_options, &opt_id))!=-1) { 
    11831194        switch (c) { 
    11841195        case 'c': 
     
    11931204            break; 
    11941205        case 'H': 
    1195             icedemo.opt.no_host = PJ_TRUE; 
     1206            icedemo.opt.max_host = atoi(pj_optarg); 
    11961207            break; 
    11971208        case 'h': 
     
    12161227            icedemo.opt.turn_fingerprint = PJ_TRUE; 
    12171228            break; 
     1229        case 'R': 
     1230            icedemo.opt.regular = PJ_TRUE; 
     1231            break; 
    12181232        default: 
    12191233            printf("Argument \"%s\" is not valid. Use -h to see help", 
Note: See TracChangeset for help on using the changeset viewer.