From 06bc834969a34d2c60e05beed3051b4a6d34c125 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Thu, 28 Sep 2017 10:57:23 -0500 Subject: [PATCH 3/3] r5665 svn backport ICE: Use STUN FINGERPRINT attribute when sending keepalives Fixed #2046: ICE: Use STUN FINGERPRINT attribute when sending keepalives Per RFC 5245 Section 10: If STUN is being used for keepalives, a STUN Binding Indication is used [RFC5389]. The Indication MUST NOT utilize any authentication mechanism. It SHOULD contain the FINGERPRINT attribute to aid in demultiplexing, but SHOULD NOT contain any other attributes. --- pjnath/src/pjnath/ice_session.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pjnath/src/pjnath/ice_session.c b/pjnath/src/pjnath/ice_session.c index 27a2950..63a0d1c 100644 --- a/pjnath/src/pjnath/ice_session.c +++ b/pjnath/src/pjnath/ice_session.c @@ -1217,10 +1217,12 @@ static void ice_keep_alive(pj_ice_sess *ice, pj_bool_t send_now) msg_data = PJ_POOL_ZALLOC_T(tdata->pool, pj_ice_msg_data); msg_data->transport_id = the_check->lcand->transport_id; - /* Temporarily disable FINGERPRINT. The Binding Indication - * SHOULD NOT contain any attributes. + /* RFC 5245 Section 10: + * The Binding Indication SHOULD contain the FINGERPRINT attribute + * to aid in demultiplexing, but SHOULD NOT contain any other + * attributes. */ - saved = pj_stun_session_use_fingerprint(comp->stun_sess, PJ_FALSE); + saved = pj_stun_session_use_fingerprint(comp->stun_sess, PJ_TRUE); /* Send to session */ addr_len = pj_sockaddr_get_len(&the_check->rcand->addr); -- 2.7.4