diff --git a/contrib/src/pjproject/0003-add-tcp-keep-alive.patch b/contrib/src/pjproject/0003-add-tcp-keep-alive.patch index 9d8b846a5bd372a0fd5aba0e4dc65e0c6ab5dd6b..b95490f0676cc7f228b7988b328cdeb3ffb53847 100644 --- a/contrib/src/pjproject/0003-add-tcp-keep-alive.patch +++ b/contrib/src/pjproject/0003-add-tcp-keep-alive.patch @@ -246,10 +246,10 @@ index ab83af956..966a9fc43 100644 PJ_EXPORT_SYMBOL(PJ_SOL_UDP) PJ_EXPORT_SYMBOL(PJ_SOL_IPV6) diff --git a/pjnath/include/pjnath/ice_session.h b/pjnath/include/pjnath/ice_session.h -index 39c197c29..d44e3e896 100644 +index 4cccd7c64..9f29b828e 100644 --- a/pjnath/include/pjnath/ice_session.h +++ b/pjnath/include/pjnath/ice_session.h -@@ -639,6 +639,11 @@ typedef struct pj_ice_sess_cb +@@ -628,6 +628,11 @@ typedef struct pj_ice_sess_cb pj_ice_sess_checklist *clist, unsigned check_id); @@ -280,14 +280,14 @@ index 9eb74b35f..1269442cd 100644 diff --git a/pjnath/src/pjnath/ice_session.c b/pjnath/src/pjnath/ice_session.c -index a50c21c94..4ba44f38b 100644 +index 20ba47a48..f1094932b 100644 --- a/pjnath/src/pjnath/ice_session.c +++ b/pjnath/src/pjnath/ice_session.c @@ -1435,6 +1435,12 @@ static void ice_keep_alive(pj_ice_sess *ice, pj_bool_t send_now) PJ_FALSE, PJ_FALSE, &the_check->rcand->addr, addr_len, tdata); -+ if (status == 120032) { ++ if (status != PJ_SUCCESS && status != PJ_EPENDING && status != PJ_EBUSY) { + if (ice->cb.on_ice_destroy) { + ice->cb.on_ice_destroy(ice); + } @@ -297,7 +297,7 @@ index a50c21c94..4ba44f38b 100644 /* Restore FINGERPRINT usage */ pj_stun_session_use_fingerprint(comp->stun_sess, saved); diff --git a/pjnath/src/pjnath/ice_strans.c b/pjnath/src/pjnath/ice_strans.c -index 8ba2172e5..4adc9bc70 100644 +index 82175e9e8..c1647bebf 100644 --- a/pjnath/src/pjnath/ice_strans.c +++ b/pjnath/src/pjnath/ice_strans.c @@ -98,6 +98,7 @@ static pj_uint16_t GETVAL16H(const pj_uint8_t *buf1, const pj_uint8_t *buf2) @@ -308,15 +308,15 @@ index 8ba2172e5..4adc9bc70 100644 static void on_ice_complete(pj_ice_sess *ice, pj_status_t status); static pj_status_t ice_tx_pkt(pj_ice_sess *ice, unsigned comp_id, -@@ -1322,6 +1323,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_init_ice(pj_ice_strans *ice_st, - ice_cb.select_turn_dataconn = &ice_select_turn_dataconn; +@@ -1313,6 +1314,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_init_ice(pj_ice_strans *ice_st, + ice_cb.wait_tcp_connection = &ice_wait_tcp_connection; ice_cb.reconnect_tcp_connection = &ice_reconnect_tcp_connection; ice_cb.close_tcp_connection = &ice_close_tcp_connection; + ice_cb.on_ice_destroy = &on_ice_destroy; #endif /* Create! */ -@@ -1938,6 +1940,14 @@ PJ_DEF(pj_status_t) pj_ice_strans_sendto2(pj_ice_strans *ice_st, +@@ -1935,6 +1937,14 @@ PJ_DEF(pj_status_t) pj_ice_strans_sendto2(pj_ice_strans *ice_st, dst_addr_len, PJ_TRUE, PJ_FALSE); } @@ -332,5 +332,4 @@ index 8ba2172e5..4adc9bc70 100644 /* * Callback called by ICE session when ICE processing is complete, either -- -2.24.1 - +2.26.2 \ No newline at end of file