asterisk/res
Kinsey Moore 98504fec8e Add DTLS-SRTP support to chan_pjsip
This patch introduces DTLS-SRTP support to chan_pjsip and the options
necessary to configure it including an option to allow choosing between
32 and 80 byte SRTP tag lengths.

During the implementation and testing of this patch, three other bugs
were found and their fixes are included with this patch. The two in
chan_sip were a segfault relating to DTLS setup and mistaken call
rejection. The third bug fix prevents chan_pjsip from attempting to
perform bridge optimization between two endpoints if either of them is
running any form of SRTP.

Review: https://reviewboard.asterisk.org/r/2683/
(closes issue ASTERISK-21419)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-07-23 13:52:06 +00:00
..
ael Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
parking Filter channels used as internal mechanisms 2013-07-19 19:23:39 +00:00
res_sip Add DTLS-SRTP support to chan_pjsip 2013-07-23 13:52:06 +00:00
snmp Add The Status Of A Module To The Output Of "CLI> module show" 2013-02-19 17:17:10 +00:00
stasis Continue events when ARI WebSocket reconnects 2013-07-23 13:42:46 +00:00
stasis_http ARI: MOH start and stop for a channel 2013-07-19 19:40:27 +00:00
Makefile ARI authentication. 2013-07-03 16:33:13 +00:00
res_adsi.c Multiple revisions 369323-369324 2012-06-25 15:55:25 +00:00
res_ael_share.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
res_ael_share.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_agi.c Properly indicate failure to open an audio stream in res_agi 2013-07-18 12:54:50 +00:00
res_agi.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_ari_model.c Fix int width problem for 32-bit... again 2013-07-04 13:37:57 +00:00
res_ari_model.exports.in Update events to use Swagger 1.3 subtyping, and related aftermath 2013-07-03 16:32:41 +00:00
res_calendar.c Fix memory/ref counting leaks in a variety of locations 2013-06-25 01:12:58 +00:00
res_calendar.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_calendar_caldav.c Fix a variety of memory leaks 2012-05-18 14:43:44 +00:00
res_calendar_ews.c Properly extract the Body information of an EWS calendar item 2012-10-31 14:58:44 +00:00
res_calendar_exchange.c Add uuid wrapper API call ast_uuid_generate_str(). 2013-03-28 23:59:20 +00:00
res_calendar_icalendar.c Fix memory leak in res_calendar_icalendar 2013-01-30 14:19:29 +00:00
res_chan_stats.c Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
res_clialiases.c The UUID commit removed changes made in res_clialiases.c 2012-12-13 15:37:45 +00:00
res_clioriginate.c Allow support for early media on AMI originates and call files. 2012-08-08 22:39:40 +00:00
res_config_curl.c Add support for a realtime sorcery module. 2013-04-27 12:01:29 +00:00
res_config_ldap.c Add support for a realtime sorcery module. 2013-04-27 12:01:29 +00:00
res_config_odbc.c Fix Finding Extensions With Patterns Using ODBC Realtime 2013-05-10 20:28:18 +00:00
res_config_pgsql.c Minor fixups to Doxygen comments. 2013-05-07 18:30:55 +00:00
res_config_sqlite.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
res_config_sqlite3.c Add support for a realtime sorcery module. 2013-04-27 12:01:29 +00:00
res_convert.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
res_corosync.c Allow res_corosync to build 2013-04-16 17:50:14 +00:00
res_crypto.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
res_crypto.exports.in Remove built-in AES code and use optional_api instead 2010-07-21 19:11:32 +00:00
res_curl.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_fax.c Properly pack the parameters into ast_json_pack when sending a send fax message 2013-06-23 19:19:30 +00:00
res_fax.exports.in Log spandsp's fax debug output to the FAX logger level. 2010-05-21 15:15:58 +00:00
res_fax_spandsp.c Fix some more fax test errors due to needing the peer in a bridge 2013-05-27 01:33:12 +00:00
res_format_attr_celt.c Add support for parsing SDP attributes, generating SDP attributes, and passing it through. 2012-07-13 16:49:40 +00:00
res_format_attr_h263.c Reduce memory consumption and add the H.264 and H.263 modules I shamefully neglected to add. 2012-07-13 18:41:07 +00:00
res_format_attr_h264.c AST-2013-001: Prevent buffer overflow through H.264 format negotiation 2013-03-27 14:28:36 +00:00
res_format_attr_silk.c Add support for parsing SDP attributes, generating SDP attributes, and passing it through. 2012-07-13 16:49:40 +00:00
res_http_post.c Avoid cppcheck warnings; removing unused vars and a bit of cleanup. 2012-04-17 18:57:40 +00:00
res_http_websocket.c Fixed null dereference when WebSocket subprotocol isn't specified 2013-07-18 18:05:07 +00:00
res_http_websocket.exports.in Shuffle RESTful URL's around. 2013-07-03 16:32:00 +00:00
res_jabber.c Migrate a large number of AMI events over to Stasis-Core 2013-05-24 20:44:07 +00:00
res_jabber.exports.in Fix chan_jingle/gtalk load regression introduced in r346087 2011-12-05 14:47:11 +00:00
res_limit.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_monitor.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
res_monitor.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_musiconhold.c Resolve a merge conflict 2013-05-29 02:26:17 +00:00
res_mutestream.c ARI: Add support for suppressing media streams. 2013-07-18 16:03:12 +00:00
res_odbc.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_odbc.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_parking.c res_parking: Dynamic Parking Lots 2013-06-28 19:22:16 +00:00
res_phoneprov.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_pktccops.c Multiple revisions 350788-350789 2012-01-14 15:51:43 +00:00
res_pktccops.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_realtime.c Cleanup references to sipusers and sipfriends dynamic realtime families 2011-11-01 19:53:26 +00:00
res_rtp_asterisk.c Refactor RTCP events over to Stasis; associate with channels 2013-07-05 17:33:33 +00:00
res_rtp_multicast.c Calculate the timestamp for outbound RTP if we don't have timing information 2013-04-14 03:01:33 +00:00
res_security_log.c Stasis: Update security events to use Stasis 2013-05-17 17:36:10 +00:00
res_sip.c Add DTLS-SRTP support to chan_pjsip 2013-07-23 13:52:06 +00:00
res_sip.exports.in Add a bunch of options from sip.conf to res_sip.conf 2013-07-18 19:25:51 +00:00
res_sip_acl.c New SIP Channel driver: Always Auth Reject 2013-07-02 17:06:06 +00:00
res_sip_authenticator_digest.c New SIP Channel driver: Always Auth Reject 2013-07-02 17:06:06 +00:00
res_sip_caller_id.c Add a bunch of options from sip.conf to res_sip.conf 2013-07-18 19:25:51 +00:00
res_sip_diversion.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_sip_dtmf_info.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_sip_endpoint_identifier_anonymous.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_sip_endpoint_identifier_constant.c Add missing module dependencies to various res_sip* modules 2013-04-26 21:52:06 +00:00
res_sip_endpoint_identifier_ip.c Add some more missing ast_sorcery_generic_alloc conversions. 2013-06-23 18:59:36 +00:00
res_sip_endpoint_identifier_user.c Add missing module dependencies to various res_sip* modules 2013-04-26 21:52:06 +00:00
res_sip_exten_state.c Tweak the subscription failure warning message to include endpoint name and context. 2013-07-11 16:23:41 +00:00
res_sip_exten_state.exports.in Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_sip_logger.c Add missing module dependencies to various res_sip* modules 2013-04-26 21:52:06 +00:00
res_sip_messaging.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_sip_mwi.c Add a bunch of options from sip.conf to res_sip.conf 2013-07-18 19:25:51 +00:00
res_sip_nat.c Stasis: Update security events to use Stasis 2013-05-17 17:36:10 +00:00
res_sip_notify.c Add pjproject dependency to res_sip_notify 2013-07-02 20:34:42 +00:00
res_sip_one_touch_record_info.c Add a bunch of options from sip.conf to res_sip.conf 2013-07-18 19:25:51 +00:00
res_sip_outbound_authenticator_digest.c New SIP Channel driver: Always Auth Reject 2013-07-02 17:06:06 +00:00
res_sip_outbound_registration.c Handle outbound registration failures that do not occur as a result of a real response. 2013-07-10 20:02:59 +00:00
res_sip_pidf.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_sip_pubsub.c Add a bunch of options from sip.conf to res_sip.conf 2013-07-18 19:25:51 +00:00
res_sip_pubsub.exports.in Implement the defined PUBLISH ESC API within res_sip_pubsub. 2013-06-29 13:42:19 +00:00
res_sip_refer.c Add a bunch of options from sip.conf to res_sip.conf 2013-07-18 19:25:51 +00:00
res_sip_registrar.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_sip_registrar_expire.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_sip_rfc3326.c Add missing module dependencies to various res_sip* modules 2013-04-26 21:52:06 +00:00
res_sip_sdp_rtp.c Add DTLS-SRTP support to chan_pjsip 2013-07-23 13:52:06 +00:00
res_sip_session.c Add DTLS-SRTP support to chan_pjsip 2013-07-23 13:52:06 +00:00
res_sip_session.exports.in Expose the chan_pjsip implementation pvt and session in a defined manner. 2013-07-23 12:27:03 +00:00
res_sip_transport_websocket.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
res_smdi.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_smdi.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_snmp.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_sorcery_astdb.c Add support for observers and JSON objectset creation to sorcery. 2013-05-06 13:04:08 +00:00
res_sorcery_config.c Merge the pimp_my_sip branch into trunk. 2013-04-25 18:25:31 +00:00
res_sorcery_memory.c Pass the sorcery instance to wizards for CUD operations as well as retrieve. 2013-03-20 14:52:23 +00:00
res_sorcery_realtime.c Add support for a realtime sorcery module. 2013-04-27 12:01:29 +00:00
res_speech.c Add support for retrieving engine specific settings using the speech API and from dialplan. 2012-10-01 12:29:04 +00:00
res_speech.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_srtp.c Use srtp_shutdown when available 2013-05-15 12:42:04 +00:00
res_srtp.exports.in Add SRTP support for Asterisk 2010-06-08 05:29:08 +00:00
res_stasis.c Continue events when ARI WebSocket reconnects 2013-07-23 13:42:46 +00:00
res_stasis.exports.in Moved core logic from app_stasis to res_stasis 2013-04-15 16:43:47 +00:00
res_stasis_answer.c Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
res_stasis_answer.exports.in Add missing exports file 2013-05-20 14:21:39 +00:00
res_stasis_bridge_add.c Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
res_stasis_bridge_add.exports.in Stasis-HTTP: Flesh out bridge-related capabilities 2013-06-10 13:07:11 +00:00
res_stasis_http.c Document the ari.conf allowed_origins setting 2013-07-15 21:22:12 +00:00
res_stasis_http.exports.in Shuffle RESTful URL's around. 2013-07-03 16:32:00 +00:00
res_stasis_http_asterisk.c Corrected api-docs for channel variables 2013-07-10 13:50:48 +00:00
res_stasis_http_bridges.c ARI: Bridge Playback, Bridge Record 2013-07-19 19:35:21 +00:00
res_stasis_http_channels.c ARI: MOH start and stop for a channel 2013-07-19 19:40:27 +00:00
res_stasis_http_endpoints.c Fix load errors related to the new ari_model_validators. 2013-07-03 19:46:50 +00:00
res_stasis_http_events.c Document MissingParams error message for /ari/events 2013-07-05 19:15:27 +00:00
res_stasis_http_playback.c ARI: Bridge Playback, Bridge Record 2013-07-19 19:35:21 +00:00
res_stasis_http_recordings.c Fix load errors related to the new ari_model_validators. 2013-07-03 19:46:50 +00:00
res_stasis_http_sounds.c Fix load errors related to the new ari_model_validators. 2013-07-03 19:46:50 +00:00
res_stasis_playback.c ARI: Bridge Playback, Bridge Record 2013-07-19 19:35:21 +00:00
res_stasis_playback.exports.in This patch implements the REST API's for POST /channels/{channelId}/play 2013-05-23 20:11:35 +00:00
res_stasis_recording.c Oh menuconfig, why do you hate margins? 2013-07-08 20:31:41 +00:00
res_stasis_recording.exports.in ARI - channel recording support 2013-07-03 17:58:45 +00:00
res_stasis_test.c Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
res_stasis_test.exports.in Initial support for endpoints. 2013-05-08 13:39:08 +00:00
res_statsd.c Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
res_statsd.exports.in Example of how to use the Stasis message bus 2013-04-26 20:05:15 +00:00
res_stun_monitor.c Move channel driver Registry manager events to core. 2013-07-08 14:42:57 +00:00
res_timing_dahdi.c Refactor ast_timer_ack to return an error and handle the error in timer users 2012-11-05 23:10:14 +00:00
res_timing_kqueue.c Refactor ast_timer_ack to return an error and handle the error in timer users 2012-11-05 23:10:14 +00:00
res_timing_pthread.c Prevent res_timing_pthread from blocking callers 2013-04-19 22:27:08 +00:00
res_timing_timerfd.c Refactor ast_timer_ack to return an error and handle the error in timer users 2012-11-05 23:10:14 +00:00
res_xmpp.c Migrate a large number of AMI events over to Stasis-Core 2013-05-24 20:44:07 +00:00
res_xmpp.exports.in Add a new unified Jingle, Google Jingle, and Google Talk channel driver written from scratch called chan_motif. 2012-07-07 17:06:51 +00:00
stasis_http.make This patch adds a RESTful HTTP interface to Asterisk. 2013-04-22 14:58:53 +00:00