- Timestamp:
- Apr 14, 2008 1:48:39 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/branches/projects/ice-turn07/pjsip/src/pjsua-lib/pjsua_media.c
r1898 r1926 625 625 unsigned i; 626 626 pj_sockaddr_in addr; 627 pj_ice_strans_cfg ice_cfg; 627 628 pj_status_t status; 628 629 … … 635 636 636 637 pj_sockaddr_in_init(&addr, 0, (pj_uint16_t)cfg->port); 638 639 /* Init ICE config */ 640 pj_bzero(&ice_cfg, sizeof(ice_cfg)); 641 642 /* Duplicate STUN config */ 643 pj_memcpy(&ice_cfg.stun_cfg, &pjsua_var.stun_cfg, sizeof(pj_stun_config)); 644 645 /* Set STUN server, if any */ 646 if (pj_sockaddr_has_addr(&pjsua_var.stun_srv)) 647 pj_sockaddr_cp(&ice_cfg.stun_srv, &pjsua_var.stun_srv); 648 649 if (pjsua_var.ua_cfg.turn_host.slen) { 650 /* Set TURN server. 651 * TODO: DNS SRV 652 */ 653 status = pj_sockaddr_in_init(&ice_cfg.turn_srv.ipv4, 654 &pjsua_var.ua_cfg.turn_host, 655 pjsua_var.ua_cfg.turn_port); 656 if (status != PJ_SUCCESS) { 657 pjsua_perror(THIS_FILE, "Error resolving TURN server", status); 658 return status; 659 } 660 661 /* Copy TURN credential */ 662 pj_memcpy(&ice_cfg.turn_cred, &pjsua_var.ua_cfg.turn_cred, 663 sizeof(pjsua_var.ua_cfg.turn_cred)); 664 665 /* TURN connection type. */ 666 if (pjsua_var.ua_cfg.turn_tcp) 667 ice_cfg.turn_conn_type = PJ_TURN_TP_TCP; 668 else 669 ice_cfg.turn_conn_type = PJ_TURN_TP_UDP; 670 } 637 671 638 672 /* Create each media transport */ … … 642 676 int next_port; 643 677 char name[32]; 644 #if PJMEDIA_ADVERTISE_RTCP 645 enum { COMP_CNT=2 }; 678 unsigned options, comp_cnt; 679 680 #if PJMEDIA_ADVERTISE_RTCP==0 681 comp_cnt = 1; 646 682 #else 647 enum { COMP_CNT=1 }; 683 if (pjsua_var.media_cfg.ice_no_rtcp) 684 comp_cnt = 1; 685 else 686 comp_cnt = 2; 648 687 #endif 688 689 options = pjsua_var.media_cfg.ice_options; 649 690 650 691 pj_bzero(&ice_cb, sizeof(pjmedia_ice_cb)); … … 653 694 pj_ansi_snprintf(name, sizeof(name), "icetp%02d", i); 654 695 655 status = pjmedia_ice_create(pjsua_var.med_endpt, name, COMP_CNT,656 & pjsua_var.stun_cfg, &ice_cb,696 status = pjmedia_ice_create(pjsua_var.med_endpt, name, comp_cnt, 697 &ice_cfg, &ice_cb, 657 698 &pjsua_var.calls[i].med_tp); 658 699 if (status != PJ_SUCCESS) { … … 670 711 pjsua_var.media_cfg.rx_drop_pct); 671 712 672 status = pjmedia_ice_start_init(pjsua_var.calls[i].med_tp, 0, &addr,673 &pjsua_var.stun_srv.ipv4, NULL);713 status = pjmedia_ice_start_init(pjsua_var.calls[i].med_tp, options, 714 &addr); 674 715 if (status != PJ_SUCCESS) { 675 716 pjsua_perror(THIS_FILE, "Error starting ICE transport",
Note: See TracChangeset
for help on using the changeset viewer.