Ignore:
Timestamp:
Apr 14, 2008 1:48:39 AM (14 years ago)
Author:
bennylp
Message:

More ticket #485: huge changeset to integrate TURN with ICE and PJSUA-LIB/pjsua. Still experimental

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/ice-turn07/pjsip-apps/src/pjsua/pjsua_app.c

    r1921 r1926  
    2323#define NO_LIMIT        (int)0x7FFFFFFF 
    2424 
     25#if 1 
     26#define TURN_SERVER     "turn.pjsip.org" 
     27#define TURN_PORT       34780 
     28#define TURN_TCP        0 
     29#define TURN_REALM      "pjsip.org" 
     30#define TURN_USER       "700" 
     31#define TURN_PASSWD     "700" 
     32#endif 
     33 
     34 
    2535//#define STEREO_DEMO 
    2636 
     
    5565    pj_pool_t              *pool; 
    5666    /* Compatibility with older pjsua */ 
     67 
     68    pj_bool_t               use_turn; 
    5769 
    5870    unsigned                codec_cnt; 
     
    172184    puts  ("Media Options:"); 
    173185    puts  ("  --use-ice           Enable ICE (default:no)"); 
     186    puts  ("  --use-turn          Enable experimantal TURN (default:no)"); 
     187    puts  ("  --ice-no-host       Disable ICE host candidates"); 
     188    puts  ("  --ice-no-srflx      Disable ICE srflx candidates"); 
     189    puts  ("  --ice-no-rtcp       Disable RTCP in ICE"); 
    174190    puts  ("  --add-codec=name    Manually add codec (default is to enable all)"); 
    175191    puts  ("  --dis-codec=name    Disable codec (can be specified multiple times)"); 
     
    392408           OPT_AUTO_ANSWER, OPT_AUTO_HANGUP, OPT_AUTO_PLAY, OPT_AUTO_LOOP, 
    393409           OPT_AUTO_CONF, OPT_CLOCK_RATE, OPT_SND_CLOCK_RATE, OPT_STEREO, 
    394            OPT_USE_ICE, OPT_USE_SRTP, OPT_SRTP_SECURE, 
     410           OPT_USE_ICE, OPT_USE_TURN, OPT_ICE_NO_HOST, OPT_ICE_NO_SRFLX,  
     411           OPT_ICE_NO_RTCP, OPT_USE_SRTP, OPT_SRTP_SECURE, 
    395412           OPT_PLAY_FILE, OPT_PLAY_TONE, OPT_RTP_PORT, OPT_ADD_CODEC,  
    396413           OPT_ILBC_MODE, OPT_REC_FILE, OPT_AUTO_REC, 
     
    453470        { "rtp-port",   1, 0, OPT_RTP_PORT}, 
    454471        { "use-ice",    0, 0, OPT_USE_ICE}, 
     472        { "use-turn",   0, 0, OPT_USE_TURN}, 
     473        { "ice-no-host",0, 0, OPT_ICE_NO_HOST}, 
     474        { "ice-no-srflx",0,0, OPT_ICE_NO_SRFLX}, 
     475        { "ice-no-rtcp",0, 0, OPT_ICE_NO_RTCP}, 
    455476#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    456477        { "use-srtp",   1, 0, OPT_USE_SRTP}, 
     
    826847            break; 
    827848 
     849        case OPT_USE_TURN: 
     850            cfg->use_turn = PJ_TRUE; 
     851            break; 
     852 
     853        case OPT_ICE_NO_HOST: 
     854            cfg->media_cfg.ice_options |= PJ_ICE_ST_OPT_DONT_ADD_CAND; 
     855            break; 
     856 
     857        case OPT_ICE_NO_SRFLX: 
     858            cfg->media_cfg.ice_options |= PJ_ICE_ST_OPT_DISABLE_STUN; 
     859            break; 
     860 
     861        case OPT_ICE_NO_RTCP: 
     862            cfg->media_cfg.ice_no_rtcp = PJ_TRUE; 
     863            break; 
     864 
    828865#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    829866        case OPT_USE_SRTP: 
     
    34673504    app_config.cfg.cb.on_nat_detect = &on_nat_detect; 
    34683505 
     3506    /* Init TURN settings */ 
     3507#ifdef TURN_SERVER 
     3508    if (app_config.use_turn) { 
     3509        app_config.cfg.turn_host = pj_str(TURN_SERVER); 
     3510        app_config.cfg.turn_port = TURN_PORT; 
     3511        app_config.cfg.turn_tcp = 0; 
     3512        app_config.cfg.turn_cred.type = PJ_STUN_AUTH_CRED_STATIC; 
     3513        app_config.cfg.turn_cred.data.static_cred.realm = pj_str(TURN_REALM); 
     3514        app_config.cfg.turn_cred.data.static_cred.username = pj_str(TURN_USER); 
     3515        app_config.cfg.turn_cred.data.static_cred.data_type = PJ_STUN_PASSWD_PLAIN; 
     3516        app_config.cfg.turn_cred.data.static_cred.data = pj_str(TURN_PASSWD); 
     3517    } 
     3518#endif 
     3519 
    34693520    /* Initialize pjsua */ 
    34703521    status = pjsua_init(&app_config.cfg, &app_config.log_cfg, 
Note: See TracChangeset for help on using the changeset viewer.