asterisk/res
Joseph Nadiv 3cccdf6d98 res_pjsip_dialog_info_body_generator: Add LOCAL/REMOTE tags in dialog-info+xml
RFC 4235 Section 4.1.6 describes XML elements that should be
sent to subscribed endpoints to identify the local and remote
participants in the dialog.

This patch adds this functionality to PJSIP by iterating through the
ringing channels causing the NOTIFY, and inserts the channel info
into the dialog so that information is properly passed to the endpoint
in dialog-info+xml.

ASTERISK-24601
Patch submitted: Joshua Elson
Modified by: Joseph Nadiv and Sean Bright
Tested by: Joseph Nadiv

Change-Id: I20c5cf5b45f34d7179df6573c5abf863eb72964b
2021-05-19 12:17:09 -05:00
..
ael Merge "res_ael: Use Gosub in for loop expressions" 2019-04-16 08:11:28 -05:00
ari resource_endpoints.c: memory leak when providing a 404 response 2020-10-05 17:55:45 +02:00
parking pbx.c: On error, ast_add_extension2_lockopt should always free 'data' 2020-10-02 10:11:38 -05:00
prometheus res_prometheus: Clone containers before iterating 2021-04-02 07:37:41 -05:00
res_pjsip res_pjsip.c: OPTIONS processing can now optionally skip authentication 2021-04-28 16:39:06 -05:00
res_pjsip_session res_pjsip: Adjust outgoing offer call pref. 2020-10-13 11:10:56 -03:00
res_stir_shaken STIR/SHAKEN: Switch to base64 URL encoding. 2021-05-12 06:42:55 -05:00
snmp Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
srtp res_srtp: Add support for libsrtp2 with AES-GCM. 2017-10-18 03:34:56 -05:00
stasis Stasis/messaging: tech subscriptions conflict with endpoint subscriptions. 2021-01-13 09:37:39 -06:00
stasis_recording core: Remove ABI effects of MALLOC_DEBUG. 2018-03-01 13:13:55 -06:00
ari.make Build System: Create Makefile macro MOD_ADD_SOURCE. 2015-04-14 12:53:03 -04:00
Makefile res_stir_shaken: Initial commit and reading private key. 2020-03-25 18:04:22 -05:00
res.xml Create --disable-binary-modules option. 2018-08-27 13:22:31 -04:00
res_adsi.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
res_aeap.c res_aeap: Add basic config skeleton and CLI commands. 2021-04-19 10:09:04 -05:00
res_ael_share.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05: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 func_callerid+res_agi: Fix compile errors related to -Werror=zero-length-bounds 2021-03-10 08:57:27 -06: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.c res_ari.c: Prefer exact handler match over wildcard 2019-08-20 13:19:42 -05:00
res_ari.exports.in Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_ari_applications.c ARI event type filtering 2019-02-20 09:56:22 -06:00
res_ari_asterisk.c Added ARI resource /ari/asterisk/ping 2019-01-30 12:51:03 +00:00
res_ari_bridges.c ARI: Ability to inhibit COLP frames when adding channels to a bridge 2020-01-02 15:06:15 +00:00
res_ari_channels.c ari: Allow variables to be set on channel create. 2020-05-15 06:41:45 -05:00
res_ari_device_states.c Merge "Remove redundant module checks and references." 2018-01-29 12:39:34 -06:00
res_ari_endpoints.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_ari_events.c res_ari_events: Add module reference when a WebSocket is open. 2019-10-24 05:26:57 -05:00
res_ari_mailboxes.c Merge "Remove redundant module checks and references." 2018-01-29 12:39:34 -06:00
res_ari_model.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_ari_model.exports.in Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_ari_playbacks.c Merge "Remove redundant module checks and references." 2018-01-29 12:39:34 -06:00
res_ari_recordings.c Merge "Remove redundant module checks and references." 2018-01-29 12:39:34 -06:00
res_ari_sounds.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_audiosocket.c audiosocket: Fix module menuselect descriptions 2020-09-22 09:02:20 -05:00
res_audiosocket.exports.in feat: AudioSocket channel, application, and ARI support. 2020-01-14 09:36:44 -06:00
res_calendar.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
res_calendar.exports.in
res_calendar_caldav.c res_calendar: Specialized calendars depend on symbols of general calendar. 2018-02-16 13:52:37 +01:00
res_calendar_ews.c res_calendar: Resolve memory leak on calendar destruction 2019-10-24 09:18:38 -05:00
res_calendar_exchange.c res_calendar: Resolve memory leak on calendar destruction 2019-10-24 09:18:38 -05:00
res_calendar_icalendar.c res_calendar: Resolve memory leak on calendar destruction 2019-10-24 09:18:38 -05:00
res_chan_stats.c stasis: Segment channel snapshot to reduce creation cost. 2018-11-26 12:56:24 -06:00
res_clialiases.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
res_clioriginate.c manager: Restore Originate failure behavior from Asterisk 11 2017-02-10 18:04:41 -05:00
res_config_curl.c curl: Add build-time dependency. 2020-04-20 09:55:45 -05:00
res_config_ldap.c Fix 'statement' typo throughout code. 2018-10-18 12:44:10 -05:00
res_config_odbc.c Revert "res_config_odbc: Preserve empty strings returned by the database" 2020-04-07 18:11:55 -05:00
res_config_pgsql.c res_config_pgsql: Limit realtime_pgsql() to return one (no more) record. 2021-02-25 07:59:02 -06:00
res_config_sqlite.c loader: Convert reload_classes to built-in modules. 2018-03-14 05:20:12 -04:00
res_config_sqlite3.c res_config_sqlite3: Only join threads that we started 2019-07-24 04:51:43 -06:00
res_convert.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
res_corosync.c res_corosync: Fix crash in huge distributed environment. 2020-06-22 12:57:26 -05:00
res_crypto.c res_crypto: Allow OpenSSL configured with no-deprecated. 2018-06-08 11:03:35 +02: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 Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_endpoint_stats.c loader: Add dependency fields to module structures. 2018-01-15 13:25:51 -05:00
res_fax.c res_fax: validate the remote/local Station ID for UTF-8 format 2021-03-02 11:16:48 -06:00
res_fax.exports.in res_fax: Provide AMI equivalents for fax CLI commands 2014-07-18 15:49:46 +00:00
res_fax_spandsp.c loader: Add dependency fields to module structures. 2018-01-15 13:25:51 -05:00
res_format_attr_celt.c res_format_attr_*: Parameter Names are Case-Insensitive. 2021-03-10 04:22:36 -06:00
res_format_attr_g729.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_format_attr_h263.c res_format_attr_*: Parameter Names are Case-Insensitive. 2021-03-10 04:22:36 -06:00
res_format_attr_h264.c res_format_attr_h264.c: Make sure profile-level-id fmtp attribute is set 2018-12-13 17:03:59 -05:00
res_format_attr_ilbc.c res_format_attr_*: Parameter Names are Case-Insensitive. 2021-03-10 04:22:36 -06:00
res_format_attr_opus.c res_format_attr_*: Parameter Names are Case-Insensitive. 2021-03-10 04:22:36 -06:00
res_format_attr_silk.c res_format_attr_*: Parameter Names are Case-Insensitive. 2021-03-10 04:22:36 -06:00
res_format_attr_siren7.c res_format_attr_*: Parameter Names are Case-Insensitive. 2021-03-10 04:22:36 -06:00
res_format_attr_siren14.c res_format_attr_*: Parameter Names are Case-Insensitive. 2021-03-10 04:22:36 -06:00
res_format_attr_vp8.c res_format_attr_*: Parameter Names are Case-Insensitive. 2021-03-10 04:22:36 -06:00
res_hep.c netsock2: Add ast_sockaddr_resolve_first_af to netsock2 public API 2018-05-21 11:03:10 -05:00
res_hep.exports.in res_hep_{pjsip|rtcp}: Decline module loads if res_hep had not loaded 2016-06-08 12:32:02 -05:00
res_hep_pjsip.c loader: Sync load- and build-time deps. 2020-11-20 13:51:02 -06:00
res_hep_rtcp.c stasis: Add internal filtering of messages. 2018-11-18 15:08:16 -05:00
res_http_media_cache.c res_http_media_cache.c: Set reasonable number of redirects 2020-12-09 13:05:27 -06:00
res_http_post.c res_http_post: Enable GMime in Solaris 11. 2018-06-21 10:18:36 -06:00
res_http_websocket.c documentation: Fix non-matching module support levels. 2021-03-16 10:26:16 -05:00
res_http_websocket.exports.in res_http_websocket: Export symbol for ast_websocket_set_timeout 2014-06-26 18:27:53 +00:00
res_limit.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
res_manager_devicestate.c AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 2015-05-13 16:34:23 -05:00
res_manager_presencestate.c AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 2015-05-13 16:34:23 -05:00
res_monitor.c Complete deprecating legacy modules. 2018-03-08 13:53:09 -06:00
res_monitor.exports.in
res_musiconhold.c res_musiconhold.c: Plug ref leak caused by ao2_replace() misuse. 2021-03-08 17:21:39 -06:00
res_mutestream.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_mwi_devstate.c mwi core: Move core MWI functionality into its own files 2019-04-23 17:40:15 -05:00
res_mwi_external.c mwi core: Move core MWI functionality into its own files 2019-04-23 17:40:15 -05:00
res_mwi_external.exports.in External MWI core support. 2014-01-06 17:45:25 +00:00
res_mwi_external_ami.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_odbc.c loader: Sync load- and build-time deps. 2020-11-20 13:51:02 -06:00
res_odbc.exports.in res_odbc: Fix exports.in for missing symbols 2016-02-16 16:42:26 -06:00
res_odbc_transaction.c res_odbc_transaction: correctly initialise forcecommit value from DSN. 2021-02-25 08:45:30 -06:00
res_odbc_transaction.exports.in res_odbc: Remove connection management 2016-01-22 11:59:06 -06:00
res_parking.c pbx.c: On error, ast_add_extension2_lockopt should always free 'data' 2020-10-02 10:11:38 -05:00
res_phoneprov.c various files - fix some alerts raised by lgtm code analysis 2019-11-18 08:30:45 -06:00
res_phoneprov.exports.in res_phoneprov: Refactor phoneprov to allow pluggable config providers 2014-10-09 17:46:23 +00:00
res_pjproject.c loader: Sync load- and build-time deps. 2020-11-20 13:51:02 -06:00
res_pjproject.exports.in res_pjproject: Add utility functions to convert between socket structures 2018-09-06 13:30:12 -05:00
res_pjsip.c res_pjsip.c: OPTIONS processing can now optionally skip authentication 2021-04-28 16:39:06 -05:00
res_pjsip.exports.in res_pjsip: Add REF_DEBUG info to module references. 2017-10-04 12:00:47 -04:00
res_pjsip_acl.c pjsip: Update ACLs on named ACL changes. 2020-02-20 04:52:11 -06:00
res_pjsip_authenticator_digest.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pjsip_caller_id.c res_pjsip: Sync load- and build-time deps. 2020-04-20 11:03:26 -05:00
res_pjsip_config_wizard.c pbx.c: On error, ast_add_extension2_lockopt should always free 'data' 2020-10-02 10:11:38 -05:00
res_pjsip_dialog_info_body_generator.c res_pjsip_dialog_info_body_generator: Add LOCAL/REMOTE tags in dialog-info+xml 2021-05-19 12:17:09 -05:00
res_pjsip_diversion.c res_pjsip_diversion: Fix adding more than one histinfo to Supported 2021-02-18 10:34:53 -06:00
res_pjsip_dlg_options.c res_pjsip: set Accept-Encoding to identity in OPTIONS response 2020-11-19 16:14:33 -06:00
res_pjsip_dtmf_info.c res_pjsip: Sync load- and build-time deps. 2020-04-20 11:03:26 -05:00
res_pjsip_empty_info.c res_pjsip: Sync load- and build-time deps. 2020-04-20 11:03:26 -05:00
res_pjsip_endpoint_identifier_anonymous.c endpoint identifiers: Some code cleanup. 2018-02-02 18:03:06 -06:00
res_pjsip_endpoint_identifier_ip.c sorcery: Add support for more intelligent reloading. 2021-03-05 10:32:28 -06:00
res_pjsip_endpoint_identifier_user.c endpoint identifiers: Some code cleanup. 2018-02-02 18:03:06 -06:00
res_pjsip_exten_state.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
res_pjsip_exten_state.exports.in The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_header_funcs.c res_pjsip.c: Split ast_sip_push_task_synchronous() to fit expectations. 2018-04-12 17:34:16 -05:00
res_pjsip_history.c res_pjsip_history.c: Fix to stop SIGSEGV when IPv6 addresses are encountered. 2020-05-11 16:26:29 -05:00
res_pjsip_logger.c res_pjsip_logger: use the correct pointer when logging tx_messages to pcap 2020-06-05 09:15:34 -05:00
res_pjsip_messaging.c Updates for the MessageSend Dialplan App 2021-05-06 06:23:51 -05:00
res_pjsip_mwi.c res_pjsip_mwi: potential double unref, and potential unwanted double link 2019-10-10 15:30:24 -05:00
res_pjsip_mwi_body_generator.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pjsip_nat.c res_pjsip_nat: Don't rewrite Contact on REGISTER responses. 2021-03-03 12:08:40 -06:00
res_pjsip_notify.c res_pjsip_notify: Only allow a single Event header to be added to a NOTIFY 2020-01-10 14:49:54 -06:00
res_pjsip_one_touch_record_info.c res_pjsip: Sync load- and build-time deps. 2020-04-20 11:03:26 -05:00
res_pjsip_outbound_authenticator_digest.c res_pjsip: Implement additional SIP RFCs for Google Voice trunk compatability 2018-10-24 07:51:25 -05:00
res_pjsip_outbound_publish.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
res_pjsip_outbound_publish.exports.in res_pjsip_outbound_publish: Add module which provides outbound PUBLISH support. 2014-08-07 14:35:09 +00:00
res_pjsip_outbound_registration.c res_pjsip: dont return early from registration if init auth fails 2021-03-02 11:18:00 -06:00
res_pjsip_path.c res_pjsip_diversion: Fix adding more than one histinfo to Supported 2021-02-18 10:34:53 -06:00
res_pjsip_phoneprov_provider.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pjsip_pidf_body_generator.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pjsip_pidf_digium_body_supplement.c res_pjsip_pidf_digium_body_supplement: Support Sangoma user agent. 2020-12-16 08:01:11 -06:00
res_pjsip_pidf_eyebeam_body_supplement.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pjsip_publish_asterisk.c mwi core: Move core MWI functionality into its own files 2019-04-23 17:40:15 -05:00
res_pjsip_pubsub.c res_pjsip_pubsub: Fix truncation of persisted SUBSCRIBE packet 2021-01-18 10:27:33 -06:00
res_pjsip_pubsub.exports.in res_pjsip_mwi: Add voicemail extension and mwi_subscribe_replaces_unsolicited 2016-03-30 13:23:54 -05:00
res_pjsip_refer.c res_pjsip_refer: Move the progress dlg release to a serializer 2021-03-05 08:19:20 -06:00
res_pjsip_registrar.c res_pjsip_registrar: Include source IP and port in log messages. 2021-03-05 08:14:20 -06:00
res_pjsip_rfc3326.c res_pjsip: Sync load- and build-time deps. 2020-04-20 11:03:26 -05:00
res_pjsip_sdp_rtp.c res_rtp_asterisk: Check remote ICE reset and reset local ice attrb 2021-03-03 09:53:59 -06:00
res_pjsip_send_to_voicemail.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pjsip_session.c res_pjsip_session: Make reschedule_reinvite check for NULL topologies 2021-03-22 09:39:28 -05:00
res_pjsip_session.exports.in test_res_pjsip_session_caps: Create unit test 2020-04-06 08:02:53 -05:00
res_pjsip_sips_contact.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pjsip_stir_shaken.c STIR/SHAKEN: Switch to base64 URL encoding. 2021-05-12 06:42:55 -05:00
res_pjsip_t38.c AST-2021-006 - res_pjsip_t38.c: Check for session_media on reinvite. 2021-03-04 07:58:34 -07:00
res_pjsip_transport_websocket.c res_pjsip_nat.c: Create deep copies of strings when appropriate 2020-12-17 09:11:10 -06:00
res_pjsip_xpidf_body_generator.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pktccops.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_pktccops.exports.in
res_prometheus.c loader: Sync load- and build-time deps. 2020-11-20 13:51:02 -06:00
res_prometheus.exports.in Add core Prometheus support to Asterisk 2019-05-20 20:33:58 -05:00
res_realtime.c res_realtime: Fix 'realtime update2' argument handling 2020-01-14 10:07:20 -06:00
res_remb_modifier.c xml: Embed module information into core XML documentation. 2021-03-16 10:30:43 -05:00
res_resolver_unbound.c various files - fix some alerts raised by lgtm code analysis 2019-11-18 08:30:45 -06:00
res_rtp_asterisk.c res_rtp_asterisk: More robust timestamp checking 2021-04-30 09:03:39 -05:00
res_rtp_multicast.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
res_rtp_multicast.exports.in multicast RTP: Add dialing options 2016-05-27 11:00:09 -05:00
res_security_log.c stasis: Add internal filtering of messages. 2018-11-18 15:08:16 -05:00
res_smdi.c mwi core: Move core MWI functionality into its own files 2019-04-23 17:40:15 -05: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 Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
res_sorcery_astdb.c astdb: Improve prefix searches in astdb 2017-12-10 12:51:16 -06:00
res_sorcery_config.c sorcery: Add support for more intelligent reloading. 2021-03-05 10:32:28 -06:00
res_sorcery_memory.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
res_sorcery_memory_cache.c res_sorcery_memory_cache: Disallow per-object expire with full backend. 2020-06-18 18:32:23 -05:00
res_sorcery_realtime.c res_sorcery_realtime.c: Fix unqualified fetch warning. 2018-08-17 16:33:24 -05:00
res_speech.c res_speech: Bump reference on format object 2020-08-27 13:52:20 -05:00
res_speech.exports.in app_speech_utils: Fix unresolved symbol ast_speech_get_setting(). 2013-09-16 18:00:32 +00:00
res_srtp.c rtp: Enable srtp replay protection 2021-02-18 10:36:22 -06:00
res_srtp.exports.in Reverting accidental ci of wrong change in r433061 2015-03-17 22:03:01 +00:00
res_stasis.c res_stasis.c: Add compare function for bridges moh container 2020-09-23 09:57:32 -05: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 loader: Add dependency fields to module structures. 2018-01-15 13:25:51 -05:00
res_stasis_answer.exports.in Add missing exports file 2013-05-20 14:21:39 +00:00
res_stasis_device_state.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
res_stasis_device_state.exports.in ARI: Implement device state API 2013-11-23 17:48:28 +00:00
res_stasis_mailbox.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
res_stasis_mailbox.exports.in ARI: Add mailboxes resource for controlling and polling external MWI 2014-01-14 23:44:57 +00:00
res_stasis_playback.c res_ari: Fix wrong media uri handle for channel play 2020-12-17 11:06:48 -06: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 res/res_ari: Added timestamp as a requirement for all ARI events 2019-03-11 23:57:01 +01:00
res_stasis_recording.exports.in ARI - channel recording support 2013-07-03 17:58:45 +00:00
res_stasis_snoop.c app_chanspy: Spyee information missing in ChanSpyStop AMI Event 2020-12-17 14:03:38 -06:00
res_stasis_snoop.exports.in ari: Add Snoop operation for spying/whispering on channels. 2013-11-23 12:40:46 +00:00
res_stasis_test.c optional_api: Remove unused nonoptreq fields 2018-09-12 12:34:54 -05:00
res_stasis_test.exports.in Initial support for endpoints. 2013-05-08 13:39:08 +00:00
res_statsd.c res_statsd: Document that res_statsd does nothing on its own 2020-01-21 07:47:18 -06:00
res_statsd.exports.in res_statsd: Fix exports.in for missing symbols 2016-02-16 12:26:29 -06:00
res_stir_shaken.c STIR/SHAKEN: Switch to base64 URL encoding. 2021-05-12 06:42:55 -05:00
res_stir_shaken.exports.in res_stir_shaken: Add inbound INVITE support. 2020-06-08 10:50:16 -05:00
res_stun_monitor.c res_stun_monitor: Don't fail to load if DNS resolution fails 2017-04-14 16:55:03 -05:00
res_timing_dahdi.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
res_timing_kqueue.c res_timing: Don't close FD 0 when out of open files. 2015-07-02 05:13:37 -05:00
res_timing_pthread.c Use non-blocking socket() and pipe() wrappers 2018-12-11 12:29:09 -05:00
res_timing_timerfd.c res_timing: Don't close FD 0 when out of open files. 2015-07-02 05:13:37 -05:00
res_xmpp.c Updates for the MessageSend Dialplan App 2021-05-06 06:23:51 -05:00
res_xmpp.exports.in