diff options
author | Joshua Colp <jcolp@digium.com> | 2014-09-16 11:10:37 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2014-09-16 11:10:37 +0000 |
commit | 4098d87eefdae751fe0ebd4ee72ca0a06639389d (patch) | |
tree | 416647257a84ea58ed075ed7a128da9b6fea1351 /include/asterisk | |
parent | 7efcca8de13f07a245beabbf892e045d2908f3dd (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
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@423152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/rtp_engine.h | 4 |
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 */ |