asterisk/tests
Mark Michelson 32b3e36c68 SDP: Ensure SDPs "merge" properly.
The gist of this work ensures that when a remote SDP is received, it is
merged properly with the local capabilities. The remote SDP is converted
into a stream topology. That topology is then merged with the current
local topology on the SDP state. That new merged topology is then used
to create an SDP. Finally, adjustments are made to RTP instances based
on knowledge gained from the remote SDP.

There are also a battery of tests in this commit that ensure that some
basic SDP merges work as expected.

While this may not sound like a big change, it has the property that it
caused lots of ancillary changes.

* The remote SDP is no longer stored on the SDP state. Biggest reason:
  there's no need for it. The remote SDP is used at the time it is being
  set and nowhere else.

* Some new SDP APIs were added in order to find attributes and convert
  generic SDP attributes into rtpmap structures.

* Writing tests made me realize that retrieving a value from an SDP
  options structure, the SDP options needs to be made const.

* The SDP state machine was essentially gutted by a previous commit.
  Initially, I attempted to reinstate it, but I found that as it had
  been defined, it was not all that useful. What was more useful was
  knowing the role we play in SDP negotiation, so the SDP state machine
  has been transformed into an indicator of role.

* Rather than storing separate local and joint stream state
  capabilities, it makes more sense to keep track of current stream
  state and update it as things change.

Change-Id: I5938c2be3c6f0a003aa88a39a59e0880f8b2df3d
2017-04-25 13:03:33 -05:00
..
Makefile Title update 2012-10-14 21:56:13 +00:00
test_abstract_jb.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_acl.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_ami_security_events.sh Add an API for reporting security events, and a security event logging module. 2009-07-11 19:15:03 +00:00
test_amihooks.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_aoc.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_app.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_ari.c ari: Implement 'debug all' and request/response logging 2017-01-23 10:25:58 -07:00
test_ari_model.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_ast_format_str_reduce.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_astobj2.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_astobj2_thrash.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_astobj2_weaken.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_bucket.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
test_callerid.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_cdr.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_cel.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_channel.c channel: Remove old epoll support and fixed max number of file descriptors. 2017-03-27 19:54:44 +00:00
test_channel_feature_hooks.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
test_config.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_core_codec.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_core_format.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_db.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_devicestate.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_dlinklists.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_dns.c tests_dns: Make DNS tests older nameser.h compatible 2016-12-08 07:22:33 +11:00
test_dns_naptr.c tests_dns: Make DNS tests older nameser.h compatible 2016-12-08 07:22:33 +11:00
test_dns_query_set.c tests_dns: Make DNS tests older nameser.h compatible 2016-12-08 07:22:33 +11:00
test_dns_recurring.c tests_dns: Make DNS tests older nameser.h compatible 2016-12-08 07:22:33 +11:00
test_dns_srv.c tests_dns: Make DNS tests older nameser.h compatible 2016-12-08 07:22:33 +11:00
test_endpoints.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_event.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_expr.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_file.c file.c/__ast_file_read_dirs: Fix issues on filesystems without d_type 2016-11-15 21:21:59 -05:00
test_format_cache.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_format_cap.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_func_file.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_gosub.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_hashtab_thrash.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_heap.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_http_media_cache.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_jitterbuf.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_json.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_linkedlists.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_locale.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_logger.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_media_cache.c modules: change module LOAD_FAILUREs to LOAD_DECLINES (14) 2017-04-12 15:57:39 -06:00
test_message.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_named_lock.c lock: Add named lock capability 2016-04-08 13:52:02 -05:00
test_netsock2.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_optional_api.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_pbx.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_poll.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_res_pjsip_scheduler.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_res_stasis.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_sched.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_scoped_lock.c ao2_iterator: Mini-audit of the ao2_iterator loops in the new code files. 2013-12-20 20:00:50 +00:00
test_sdp.c SDP: Ensure SDPs "merge" properly. 2017-04-25 13:03:33 -05:00
test_security_events.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_skel.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_sorcery.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_sorcery_astdb.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_sorcery_memory_cache_thrash.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_sorcery_realtime.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_stasis.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_stasis_channels.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_stasis_endpoints.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_stream.c core: Add stream topology changing primitives with tests. 2017-03-07 12:08:51 +00:00
test_stringfields.c stringfields: Update extended string fields for master only. 2016-04-13 14:01:37 -06:00
test_strings.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_substitution.c LISTFILTER: Remove outdated ERROR message. 2017-01-22 17:56:15 -06:00
test_taskprocessor.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
test_threadpool.c Fix failing threadpool_auto_increment test. 2016-02-18 11:49:50 -06:00
test_time.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_uri.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_utils.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_uuid.c Add uuid wrapper API call ast_uuid_generate_str(). 2013-03-28 23:59:20 +00:00
test_vector.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_voicemail_api.c stream: Add stream topology to channel 2017-02-14 14:09:37 -07:00
test_websocket_client.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test_xml_escape.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00