Author: kharwell
Date: Thu Oct  9 16:39:12 2014
New Revision: 425032

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=425032
Log:

........

Merged revisions 425031 from http://svn.asterisk.org/svn/asterisk/branches/13

Modified:
    trunk/   (props changed)
    trunk/res/res_rtp_asterisk.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.

Modified: trunk/res/res_rtp_asterisk.c
URL: 
http://svnview.digium.com/svn/asterisk/trunk/res/res_rtp_asterisk.c?view=diff&rev=425032&r1=425031&r2=425032
==============================================================================
--- trunk/res/res_rtp_asterisk.c (original)
+++ trunk/res/res_rtp_asterisk.c Thu Oct  9 16:39:12 2014
@@ -645,7 +645,7 @@
        pj_ice_sess_cand candidates[PJ_ICE_MAX_CAND];
        struct ao2_iterator i;
        struct ast_rtp_engine_ice_candidate *candidate;
-       int cand_cnt = 0;
+       int cand_cnt = 0, has_rtp = 0, has_rtcp = 0;
 
        if (!rtp->ice || !rtp->ice_proposed_remote_candidates) {
                return;
@@ -677,6 +677,10 @@
        while ((candidate = ao2_iterator_next(&i)) && (cand_cnt < 
PJ_ICE_MAX_CAND)) {
                pj_str_t address;
 
+               /* there needs to be at least one rtp and rtcp candidate in the 
list */
+               has_rtp |= candidate->id == AST_RTP_ICE_COMPONENT_RTP;
+               has_rtcp |= candidate->id == AST_RTP_ICE_COMPONENT_RTCP;
+
                pj_strdup2(rtp->ice->pool, &candidates[cand_cnt].foundation, 
candidate->foundation);
                candidates[cand_cnt].comp_id = candidate->id;
                candidates[cand_cnt].prio = candidate->priority;
@@ -707,7 +711,9 @@
 
        ao2_iterator_destroy(&i);
 
-       if (pj_ice_sess_create_check_list(rtp->ice, &ufrag, &passwd, 
ao2_container_count(rtp->ice_active_remote_candidates), &candidates[0]) == 
PJ_SUCCESS) {
+       if (has_rtp && has_rtcp &&
+           pj_ice_sess_create_check_list(rtp->ice, &ufrag, &passwd, 
ao2_container_count(
+                                                 
rtp->ice_active_remote_candidates), &candidates[0]) == PJ_SUCCESS) {
                ast_test_suite_event_notify("ICECHECKLISTCREATE", "Result: 
SUCCESS");
                pj_ice_sess_start_check(rtp->ice);
                pj_timer_heap_poll(timer_heap, NULL);


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to