Changeset 5634
- Timestamp:
- Jul 28, 2017 9:43:57 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/src/pjmedia/transport_ice.c
r5604 r5634 1093 1093 1094 1094 /* Detect our role */ 1095 if (current_ice_role==PJ_ICE_SESS_ROLE_CONTROLLING) { 1095 if (pjmedia_sdp_attr_find(rem_sdp->attr_count, rem_sdp->attr, 1096 &STR_ICE_LITE, NULL) != NULL) 1097 { 1098 /* Remote is ICE lite, set our role as controlling */ 1096 1099 sdp_state->local_role = PJ_ICE_SESS_ROLE_CONTROLLING; 1097 1100 } else { 1098 if (pjmedia_sdp_attr_find(rem_sdp->attr_count, rem_sdp->attr, 1099 &STR_ICE_LITE, NULL) != NULL) 1100 { 1101 /* Remote is ICE Lite */ 1101 if (current_ice_role==PJ_ICE_SESS_ROLE_CONTROLLING) { 1102 1102 sdp_state->local_role = PJ_ICE_SESS_ROLE_CONTROLLING; 1103 1103 } else { … … 1587 1587 } 1588 1588 1589 1590 1589 /* start ICE */ 1590 } 1591 1592 /* RFC 5245 section 8.1.1: 1593 * If its peer has a lite implementation, an agent MUST use 1594 * a regular nomination algorithm. 1595 */ 1596 if (pjmedia_sdp_attr_find(rem_sdp->attr_count, rem_sdp->attr, 1597 &STR_ICE_LITE, NULL) != NULL) 1598 { 1599 pj_ice_sess_options opt; 1600 pj_ice_strans_get_options(tp_ice->ice_st, &opt); 1601 if (opt.aggressive) { 1602 opt.aggressive = PJ_FALSE; 1603 pj_ice_strans_set_options(tp_ice->ice_st, &opt); 1604 PJ_LOG(4,(tp_ice->base.name, "Forcefully set ICE to use regular " 1605 "nomination as remote is lite implementation")); 1606 } 1591 1607 } 1592 1608
Note: See TracChangeset
for help on using the changeset viewer.