summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2011-12-09 07:19:25 +0000
committerBenny Prijono <bennylp@teluu.com>2011-12-09 07:19:25 +0000
commit53f86de5d3872bcbe7e9d11b427a03f8dfb12695 (patch)
tree72174a9625a6329f838f133ff25932d306dac90e /pjmedia
parent2ead2b5de766b211c61b8dd4a3c1696850fc5a71 (diff)
Fixed #1416: Allow application to send data after ICE negotiation fails
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3906 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia/transport_ice.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pjmedia/src/pjmedia/transport_ice.c b/pjmedia/src/pjmedia/transport_ice.c
index 3e6db887..9b777501 100644
--- a/pjmedia/src/pjmedia/transport_ice.c
+++ b/pjmedia/src/pjmedia/transport_ice.c
@@ -402,7 +402,9 @@ static pj_status_t encode_session_in_sdp(struct transport_ice *tp_ice,
* the session, in this case we will answer with full ICE SDP and
* new ufrag/pwd pair.
*/
- if (!restart_session && pj_ice_strans_sess_is_complete(tp_ice->ice_st)) {
+ if (!restart_session && pj_ice_strans_sess_is_complete(tp_ice->ice_st) &&
+ pj_ice_strans_get_state(tp_ice->ice_st) != PJ_ICE_STRANS_STATE_FAILED)
+ {
const pj_ice_sess_check *check;
char *attr_buf;
pjmedia_sdp_conn *conn;
@@ -532,7 +534,10 @@ static pj_status_t encode_session_in_sdp(struct transport_ice *tp_ice,
pjmedia_sdp_attr_add(&m->attr_count, m->attr, attr);
}
- } else if (pj_ice_strans_has_sess(tp_ice->ice_st)) {
+ } else if (pj_ice_strans_has_sess(tp_ice->ice_st) &&
+ pj_ice_strans_get_state(tp_ice->ice_st) !=
+ PJ_ICE_STRANS_STATE_FAILED)
+ {
/* Encode all candidates to SDP media */
char *attr_buf;
unsigned comp;