diff --git a/contrib/src/pjproject/fix_ioqueue_ipv6_sendto.patch b/contrib/src/pjproject/fix_ioqueue_ipv6_sendto.patch
new file mode 100644
index 0000000000000000000000000000000000000000..bc53fd2cb4a82964befbcde117fc5a5e35af517d
--- /dev/null
+++ b/contrib/src/pjproject/fix_ioqueue_ipv6_sendto.patch
@@ -0,0 +1,19 @@
+--- a/pjlib/src/pj/ioqueue_common_abs.c	2015-11-05 23:18:46.000000000 -0500
++++ b/pjlib/src/pj/ioqueue_common_abs.c	2016-10-21 13:49:09.183662433 -0400
+@@ -1048,5 +1048,6 @@
+      * Check that address storage can hold the address parameter.
+      */
+-    PJ_ASSERT_RETURN(addrlen <= (int)sizeof(pj_sockaddr_in), PJ_EBUG);
++    PJ_ASSERT_RETURN((((pj_sockaddr*)addr)->addr.sa_family == pj_AF_INET() && addrlen <= (int)sizeof(pj_sockaddr_in)) ||
++					 (((pj_sockaddr*)addr)->addr.sa_family == pj_AF_INET6() && addrlen <= (int)sizeof(pj_sockaddr_in6)), PJ_EBUG);
+ 
+     /*
+--- a/pjlib/src/pj/ioqueue_common_abs.h	2013-02-21 06:18:36.000000000 -0500
++++ b/pjlib/src/pj/ioqueue_common_abs.h	2016-10-21 14:04:04.148928591 -0400
+@@ -64,5 +64,5 @@
+     pj_ssize_t              written;
+     unsigned                flags;
+-    pj_sockaddr_in	    rmt_addr;
++    pj_sockaddr	    rmt_addr;
+     int			    rmt_addrlen;
+ };
diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak
index 95e6cbb45c42e46cf7cb8e2a447f0e406aa4322f..eabe38d0aec68b86eade49878f70fc0ca84c7f47 100644
--- a/contrib/src/pjproject/rules.mak
+++ b/contrib/src/pjproject/rules.mak
@@ -76,6 +76,7 @@ endif
 	$(APPLY) $(SRC)/pjproject/multiple_listeners.patch
 	$(APPLY) $(SRC)/pjproject/pj_ice_sess.patch
 	$(APPLY) $(SRC)/pjproject/fix_turn_fallback.patch
+	$(APPLY) $(SRC)/pjproject/fix_ioqueue_ipv6_sendto.patch
 	$(UPDATE_AUTOCONFIG)
 	$(MOVE)