summaryrefslogtreecommitdiff
path: root/include/asterisk
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2014-09-16 11:12:30 +0000
committerJoshua Colp <jcolp@digium.com>2014-09-16 11:12:30 +0000
commite977425bc80c6bc7c135142972773b78a16dab26 (patch)
tree2490d5967f978fbb60a66a08983b631fe8e5036e /include/asterisk
parent77834b72d39af733be93291a07263daef796a968 (diff)
res_rtp_asterisk: Fix a myriad of TURN client issues.
1. The number of file descriptors an ioqueue instance can handle is fixed, so we now spawn the required number to handle the load. 2. Our transport identifiers were exceeding the range supported by pjnath. 3. The TURN client did not set up client binding causing needless bandwidth usage. 4. The code no longer updates address information on each packet. 5. STUN traffic was getting looped back to Asterisk instead of going through the TURN server. 6. Synchronization now ensures things are completely setup or destroyed. 7. Logging now reflects the target the TURN server is sending to/receiving from on our behalf. ASTERISK-23577 #close Reported by: Jay Jideliov ASTERISK-23634 #close Reported by: Roman Skvirsky Review: https://reviewboard.asterisk.org/r/3982/ ........ Merged revisions 423150 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 423151 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 423152 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@423153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk')
-rw-r--r--include/asterisk/rtp_engine.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asterisk/rtp_engine.h b/include/asterisk/rtp_engine.h
index e5f38eecc..db5cd34ed 100644
--- a/include/asterisk/rtp_engine.h
+++ b/include/asterisk/rtp_engine.h
@@ -429,6 +429,10 @@ struct ast_rtp_engine_ice {
void (*ice_lite)(struct ast_rtp_instance *instance);
/*! Callback for changing our role in negotiation */
void (*set_role)(struct ast_rtp_instance *instance, enum ast_rtp_ice_role role);
+ /*! Callback for requesting a TURN session */
+ void (*turn_request)(struct ast_rtp_instance *instance, enum ast_rtp_ice_component_type component,
+ enum ast_transport transport, const char *server, unsigned int port,
+ const char *username, const char *password);
};
/*! \brief DTLS setup types */