[OpenSIPS-Devel] [OpenSIPS/opensips] 26b595: usrloc: Organize mod_init() code

Liviu Chircu noreply at github.com
Thu May 7 07:11:43 EST 2020


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 26b59520d92e3ddabf3e6547ec3f8314d82762c2
      https://github.com/OpenSIPS/opensips/commit/26b59520d92e3ddabf3e6547ec3f8314d82762c2
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/usrloc/ul_callback.c
    M modules/usrloc/ul_callback.h
    M modules/usrloc/ul_mod.c
    M modules/usrloc/urecord.c
    M modules/usrloc/usrloc.c

  Log Message:
  -----------
  usrloc: Organize mod_init() code

Also remove the "init_flag" concept -- even if a module binds the usrloc
API functions before usrloc is initialized, this is completely fine!


  Commit: ff6029b3c5033da68b61cefaf31cb6792a827978
      https://github.com/OpenSIPS/opensips/commit/ff6029b3c5033da68b61cefaf31cb6792a827978
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/ul_mod.c
    M modules/usrloc/ul_mod.h
    M modules/usrloc/urecord.h

  Log Message:
  -----------
  usrloc: Add modparams for RFC 8599 - SIP Push Notifications


  Commit: 231d4df8837cbcafffd1000c757cfe2397ea0454
      https://github.com/OpenSIPS/opensips/commit/231d4df8837cbcafffd1000c757cfe2397ea0454
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/usrloc/dlist.c
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/ucontact.c
    M modules/usrloc/ucontact.h
    M modules/usrloc/udomain.c
    M modules/usrloc/ul_mod.c
    M modules/usrloc/ul_mod.h
    A modules/usrloc/ul_pn.c
    A modules/usrloc/ul_pn.h
    M modules/usrloc/urecord.c
    M ut.h

  Log Message:
  -----------
  usrloc: Add flexibile RFC 8599 contact matching

Once "pn_enable" is set to true, contacts are matched using
pn-provider + pn-prid + pn-param by default.  But this can be easily
customized, for example:

    * pn-param can be dropped if it's irrelevant for a provider
    * new (custom) parameters can be included in the matching process


  Commit: 6a64c53a694d39238ab421f534a650ea6e7b8c0c
      https://github.com/OpenSIPS/opensips/commit/6a64c53a694d39238ab421f534a650ea6e7b8c0c
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/usrloc/doc/usrloc_admin.xml

  Log Message:
  -----------
  usrloc: Document the "pn_pnsreg_interval" modparam


  Commit: 450b6dc7315a89c8355e0e8851158e9934bcb9a1
      https://github.com/OpenSIPS/opensips/commit/450b6dc7315a89c8355e0e8851158e9934bcb9a1
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/csv.c
    M lib/csv.h
    M lib/url.c
    M modules/freeswitch/fs_api.c
    M modules/freeswitch/fs_api.h
    M modules/freeswitch_scripting/fss_db.c
    M modules/freeswitch_scripting/fss_evs.c
    M modules/freeswitch_scripting/fss_evs.h
    M modules/freeswitch_scripting/fss_mod.c
    M modules/nathelper/nathelper.c
    M modules/tls_mgm/tls_domain.c
    M modules/tls_mgm/tls_domain.h
    M modules/tls_mgm/tls_helper.h
    M modules/tls_mgm/tls_mgm.c
    M modules/tm/mi.c
    M str_list.h

  Log Message:
  -----------
  str_list.h: Make "str_list" a typedef, not a struct

This way, we gain consistency, as we now have the "str" and "str_list"
typedefs.


  Commit: 3aae7e652d2d39b3b600de4be452e8f948e33612
      https://github.com/OpenSIPS/opensips/commit/3aae7e652d2d39b3b600de4be452e8f948e33612
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    A lib/reg/pn.c
    A lib/reg/pn.h
    M lib/reg/save_flags.c
    M lib/reg/save_flags.h
    M modules/mid_registrar/doc/mid_registrar.xml
    M modules/mid_registrar/doc/mid_registrar_admin.xml
    M modules/registrar/Makefile
    A modules/registrar/doc/pn_modparams.xml
    M modules/registrar/doc/registrar.xml
    M modules/registrar/doc/registrar_admin.xml
    M modules/registrar/reg_mod.c
    M modules/registrar/save.c
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/ucontact.c
    M modules/usrloc/ucontact.h
    M modules/usrloc/ul_cluster.c
    M modules/usrloc/ul_mod.c
    R modules/usrloc/ul_pn.c
    R modules/usrloc/ul_pn.h
    M modules/usrloc/urecord.c
    M modules/usrloc/urecord.h
    M parser/parse_uri.c

  Log Message:
  -----------
  SIP PN Support: Refactor usrloc code, move to /lib/reg

Most of the PN support is better placed in the registrar module code,
since that's where we also have access to the SIP message in order to
make changes to it (e.g. append the Feature-Caps header field)


  Commit: db3eaea24e386938df0a3ed543ba42f0f30bde14
      https://github.com/OpenSIPS/opensips/commit/db3eaea24e386938df0a3ed543ba42f0f30bde14
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M evi/evi_transport.h
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/save.c
    M str_list.h

  Log Message:
  -----------
  mid_registrar: Adapt to new contact matching interface


  Commit: 82af8653ab7466a5847b8298a756ade8283bb0d4
      https://github.com/OpenSIPS/opensips/commit/82af8653ab7466a5847b8298a756ade8283bb0d4
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/usrloc/urecord.c
    M parser/parse_uri.c

  Log Message:
  -----------
  Contact matching: Fix bad test; Improve coding style


  Commit: 8a1e4573cff6eddb7ba605ed214ec5efb7a7ddd6
      https://github.com/OpenSIPS/opensips/commit/8a1e4573cff6eddb7ba605ed214ec5efb7a7ddd6
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M error.c
    M lib/reg/pn.c
    M lib/reg/pn.h
    M lib/reg/rerrno.c
    M lib/reg/rerrno.h
    M modules/mid_registrar/save.c
    M modules/registrar/Makefile
    M modules/registrar/doc/pn_modparams.xml
    M modules/registrar/reply.c
    M modules/registrar/save.c

  Log Message:
  -----------
  SIP PN:  Add handling for capability querying

... via the newly introduced header field, Feature-Caps.


  Commit: 89baa600f470f68dbe5947375fadd7e0b0a79b31
      https://github.com/OpenSIPS/opensips/commit/89baa600f470f68dbe5947375fadd7e0b0a79b31
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/usrloc/dlist.c
    M modules/usrloc/ucontact.c
    M modules/usrloc/udomain.c
    A modules/usrloc/ul_evi.c
    A modules/usrloc/ul_evi.h
    M modules/usrloc/urecord.c

  Log Message:
  -----------
  usrloc: Move event interface code in its own file


  Commit: 766c80284cfa5fc193a917ff6fd617e993a79f59
      https://github.com/OpenSIPS/opensips/commit/766c80284cfa5fc193a917ff6fd617e993a79f59
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/ci.c
    M modules/usrloc/dlist.c
    M modules/usrloc/dlist.h
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/ucontact.c
    M modules/usrloc/ucontact.h
    M modules/usrloc/udomain.c
    M modules/usrloc/ul_evi.c
    M modules/usrloc/ul_evi.h
    M modules/usrloc/ul_mi.c
    M modules/usrloc/ul_mod.c
    M modules/usrloc/ul_mod.h
    A modules/usrloc/ul_timer.c
    A modules/usrloc/ul_timer.h
    M modules/usrloc/urecord.h

  Log Message:
  -----------
  usrloc: Add the E_UL_CONTACT_REFRESH event

By enabling 'contact_refresh_timer', the usrloc module will periodically
scan for contacts which are near expiration and raise
E_UL_CONTACT_REFRESH before the binding is about to expire.

Currently, the triggering duration is given by registrar's
'pn_trigger_interval' module parameter (default: 120s before expiry).


  Commit: adbd56e4086754480614680916dde5fb05019713
      https://github.com/OpenSIPS/opensips/commit/adbd56e4086754480614680916dde5fb05019713
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/registrar/doc/pn_modparams.xml
    M modules/usrloc/udomain.h

  Log Message:
  -----------
  registrar: Document 'pn_trigger_interval'


  Commit: ac6acd228290e2db72acc4d4c4b7052a0e82b76d
      https://github.com/OpenSIPS/opensips/commit/ac6acd228290e2db72acc4d4c4b7052a0e82b76d
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/usrloc/ul_timer.c
    M modules/usrloc/ul_timer.h
    M modules/usrloc/urecord.c

  Log Message:
  -----------
  usrloc: Detach contact from timer list on expiry


  Commit: d55c3aa8170a6f37e2bda24bbacfcf6aeeeadc60
      https://github.com/OpenSIPS/opensips/commit/d55c3aa8170a6f37e2bda24bbacfcf6aeeeadc60
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/tm/t_fwd.c
    M modules/usrloc/ul_evi.c
    M modules/usrloc/ul_evi.h

  Log Message:
  -----------
  usrloc/tm: Refactor event code (avoid copy-paste)


  Commit: 488ad45afafa534cbcef75372631803a8422b040
      https://github.com/OpenSIPS/opensips/commit/488ad45afafa534cbcef75372631803a8422b040
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/tm/t_fwd.c

  Log Message:
  -----------
  t_inject_branches(): Do not load contact attributes

Loading the attributes was completely redundant, as they were not used
afterwards.


  Commit: 204961532301fbe5906a775500d76b89e8c85a86
      https://github.com/OpenSIPS/opensips/commit/204961532301fbe5906a775500d76b89e8c85a86
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    A modules/event_routing/api.h
    M modules/event_routing/ebr_data.h
    M modules/event_routing/event_routing.c

  Log Message:
  -----------
  event_routing: Add module API interface & function stubs


  Commit: 4fa2948434bd326546598c3fd911386d88c7547e
      https://github.com/OpenSIPS/opensips/commit/4fa2948434bd326546598c3fd911386d88c7547e
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M parser/parse_uri.c
    M parser/parse_uri.h

  Log Message:
  -----------
  get_uri_param_idx(): Export as static inline


  Commit: e120ccc2e0f8259c5455d98eef538c9f4617ad82
      https://github.com/OpenSIPS/opensips/commit/e120ccc2e0f8259c5455d98eef538c9f4617ad82
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/event_routing/api.h
    M modules/event_routing/ebr_data.c
    M modules/event_routing/ebr_data.h
    M modules/event_routing/event_routing.c

  Log Message:
  -----------
  event_routing: Add API loading; Begin implementation


  Commit: e65653a221f8f16a91f9461bf97818168c252daa
      https://github.com/OpenSIPS/opensips/commit/e65653a221f8f16a91f9461bf97818168c252daa
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/event_routing/ebr_data.c
    M ut.h

  Log Message:
  -----------
  event_routing: Implement event SIP URI param filters


  Commit: f760bbfa0534789e7e6d9d87435a1d662aa24df0
      https://github.com/OpenSIPS/opensips/commit/f760bbfa0534789e7e6d9d87435a1d662aa24df0
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/event_routing/api.h
    M modules/event_routing/ebr_data.c
    M modules/event_routing/ebr_data.h
    M modules/event_routing/event_routing.c
    M ut.h

  Log Message:
  -----------
  event_routing: Implement api.notify_on_event()


  Commit: 8b2d3d2186505063f3002c6409fb118975a91225
      https://github.com/OpenSIPS/opensips/commit/8b2d3d2186505063f3002c6409fb118975a91225
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M Makefile.modules
    M Makefile.test
    M globals.h
    M main.c
    A modules/registrar/test/opensips.cfg
    A modules/registrar/test/test.c
    M sr_module.c
    M sr_module.h
    M test/unit_tests.c
    M test/unit_tests.h

  Log Message:
  -----------
  Add support for writing module unit tests

Developers may easily write module unit tests as follows:

    1. any testing code .c files must be placed in modules/<mod>/test/
    2. you must provide a "modules/<mod>/test/opensips.cfg" file for the
       module tests to run on top of
         (TODO: ideally, there should be support for multiple of these)
    3. the tests will be executed using an entry-point function,
       which _must_ be named "mod_tests:
	    typedef int (*mod_tests_f) (void);
    4. "make test module=registrar" in order to start OpenSIPS using
       your opensips.cfg and run your 'mod_tests' function


  Commit: 6623177b888ce427996b7efe268e1fa7f3e4bea7
      https://github.com/OpenSIPS/opensips/commit/6623177b888ce427996b7efe268e1fa7f3e4bea7
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/registrar/lookup.c
    M modules/usrloc/ul_dbg.h
    M modules/usrloc/ul_evi.c
    M modules/usrloc/ul_evi.h

  Log Message:
  -----------
  usrloc/registrar: Minor clean-ups


  Commit: b5b595294682dce35879ea02a3797fefc749c366
      https://github.com/OpenSIPS/opensips/commit/b5b595294682dce35879ea02a3797fefc749c366
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M Makefile.modules
    M context.c
    M context.h
    M test/unit_tests.c
    A test/ut.c
    A test/ut.h

  Log Message:
  -----------
  Improve module test infrastructure

    * ensure a global context while the tests are run
    * add an utility for quickly building parsed sip_msg structs
    * fix a Makefile wildcard expansion bug


  Commit: 5ed1fcc3ab639b9618d2b02a25653b9c2fc6cb9f
      https://github.com/OpenSIPS/opensips/commit/5ed1fcc3ab639b9618d2b02a25653b9c2fc6cb9f
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/registrar/doc/pn_modparams.xml
    M modules/registrar/reg_mod.c

  Log Message:
  -----------
  SIP Push Notifications: Add the "pn_skip_pn_interval" modparam

Sometimes, it may be useful to skip sending a PN if a wake-up +
re-registration were recently triggered.

Default value: 0 seconds (always trigger a PN)


  Commit: 838d63e3a360db1825f815c25732bcd4660450e2
      https://github.com/OpenSIPS/opensips/commit/838d63e3a360db1825f815c25732bcd4660450e2
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/registrar/doc/pn_modparams.xml
    M modules/registrar/doc/registrar_admin.xml
    M modules/registrar/lookup.c
    M modules/registrar/test/opensips.cfg

  Log Message:
  -----------
  registrar: Add SIP PN contact detection & iteration


  Commit: 588131346215aca60b3322acbafee7b7566b449e
      https://github.com/OpenSIPS/opensips/commit/588131346215aca60b3322acbafee7b7566b449e
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/registrar/doc/pn_modparams.xml
    M modules/registrar/reg_mod.c

  Log Message:
  -----------
  registrar: Add 'pn_inv_timeout' modparam

Controls the amount of time that the EBR subscription will be valid for.


  Commit: 46ce8bc1e3f4fa7c9719356422662deb205b6e45
      https://github.com/OpenSIPS/opensips/commit/46ce8bc1e3f4fa7c9719356422662deb205b6e45
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/usrloc/ul_evi.c
    M modules/usrloc/ul_evi.h
    M modules/usrloc/usrloc.c
    M modules/usrloc/usrloc.h

  Log Message:
  -----------
  usrloc: Export E_UL_CONTACT_REFRESH via API


  Commit: b0d9c54797ba40a2f7aba5863b643626cd31c60b
      https://github.com/OpenSIPS/opensips/commit/b0d9c54797ba40a2f7aba5863b643626cd31c60b
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M ipc.h
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/event_routing/api.h
    M modules/event_routing/ebr_data.c
    M modules/event_routing/ebr_data.h
    M modules/registrar/lookup.c
    M modules/registrar/test/opensips.cfg

  Log Message:
  -----------
  registrar SIP PN: Finalize integration with EBR & usrloc


  Commit: d761f15530375d5ccce36a3864a381210cfdcb45
      https://github.com/OpenSIPS/opensips/commit/d761f15530375d5ccce36a3864a381210cfdcb45
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/registrar/test/test.c

  Log Message:
  -----------
  registrar: Add some lookup() unit tests


  Commit: 41d2b5779d2a7637693f72175e7b514f40f76963
      https://github.com/OpenSIPS/opensips/commit/41d2b5779d2a7637693f72175e7b514f40f76963
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M evi/evi_params.c
    M evi/evi_params.h

  Log Message:
  -----------
  evi: Be more compatible with calling code


  Commit: b69d33947ee900a7e0838297c9a5758bc02ccee0
      https://github.com/OpenSIPS/opensips/commit/b69d33947ee900a7e0838297c9a5758bc02ccee0
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M modules/usrloc/ul_evi.c
    M modules/usrloc/ul_evi.h
    M modules/usrloc/usrloc.c
    M modules/usrloc/usrloc.h

  Log Message:
  -----------
  SIP PN: Rework the async Push Notification support

Although the previous version seemed to work, it was broken
conceptually, since passing a (ucontact_t *) without a ref counting
mechanism may lead to invalid SHM memory access whenever the contact is
freed before the PN job gets to be executed.


  Commit: 5feebf42e3f9341538a10930c45fb4a813e85c7e
      https://github.com/OpenSIPS/opensips/commit/5feebf42e3f9341538a10930c45fb4a813e85c7e
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/registrar/test/opensips.cfg
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/ul_evi.c
    M modules/usrloc/ul_evi.h

  Log Message:
  -----------
  usrloc: Add the 'domain' attribute to all events

Fixes #2062


  Commit: dddf9c253d6fb445cd1e9782f1c584f2c4ef98dc
      https://github.com/OpenSIPS/opensips/commit/dddf9c253d6fb445cd1e9782f1c584f2c4ef98dc
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/tm/h_table.h
    M modules/tm/t_fwd.c

  Log Message:
  -----------
  tm: Minor improvements

    * t_forward_nonack(): Avoid redundant str copying
    * improve docs on t->nr_of_outgoings


  Commit: 5586cb80dfd860eac0821090a8dd20ba3e4df3d3
      https://github.com/OpenSIPS/opensips/commit/5586cb80dfd860eac0821090a8dd20ba3e4df3d3
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M modules/tm/t_fwd.c
    M modules/tm/t_fwd.h
    M modules/tm/tm.c
    M modules/tm/tm_load.h

  Log Message:
  -----------
  tm: Extend the API with await/inject functions

Specifically:
    * tm.t_wait_for_new_branches(msg)
    * tm.t_inject_ul_event_branch(msg)


  Commit: ab84f71dd97da466839fa4fa1d323d8add1f04bc
      https://github.com/OpenSIPS/opensips/commit/ab84f71dd97da466839fa4fa1d323d8add1f04bc
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M modules/registrar/lookup.c
    M parser/msg_parser.h

  Log Message:
  -----------
  registrar SIP PN: Finalize integration with tm


  Commit: 0837c1f537515afb472f8c3d1acb72ae4b0321aa
      https://github.com/OpenSIPS/opensips/commit/0837c1f537515afb472f8c3d1acb72ae4b0321aa
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M socket_info.h

  Log Message:
  -----------
  proto2a(): Do not segfault on PROTO_NONE (0)


  Commit: 790a390a5abc716ecd0e8c8cc67afb2bf1ef9bd9
      https://github.com/OpenSIPS/opensips/commit/790a390a5abc716ecd0e8c8cc67afb2bf1ef9bd9
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M test/ut.c

  Log Message:
  -----------
  mk_sip_req(): Properly init the sip_msg

This way, parse_headers() will work as expected


  Commit: ffaa5148dff5ec705ad6cd5efe6104806703cba6
      https://github.com/OpenSIPS/opensips/commit/ffaa5148dff5ec705ad6cd5efe6104806703cba6
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M sr_module_deps.c
    M sr_module_deps.h

  Log Message:
  -----------
  module dependencies: Be able to easily specify N dependencies


  Commit: 49641775b8c53179cf7e2e749f7acf4bfb8e28e3
      https://github.com/OpenSIPS/opensips/commit/49641775b8c53179cf7e2e749f7acf4bfb8e28e3
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/registrar/reg_mod.c

  Log Message:
  -----------
  SIP PN Support: Add conditional module dependencies


  Commit: 16e939b100c30895571223878547e3ba246f1727
      https://github.com/OpenSIPS/opensips/commit/16e939b100c30895571223878547e3ba246f1727
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/registrar/reply.c

  Log Message:
  -----------
  registrar: Move common Feature-Caps code under lib/reg/


  Commit: 6d45aab48efb9f36fdf68b53ad7ea7a65808ddec
      https://github.com/OpenSIPS/opensips/commit/6d45aab48efb9f36fdf68b53ad7ea7a65808ddec
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M lib/reg/sip_msg.h
    M modules/mid_registrar/lookup.c
    M modules/registrar/doc/registrar_admin.xml
    M modules/registrar/lookup.c
    M modules/registrar/test/test.c
    M ut.h

  Log Message:
  -----------
  registrar lookup(): Add a new retcode + unit tests

The new return code "2" of lookup() is needed when all found contacts
are PN-enabled.  In this case, script developers must NOT call t_relay()
afterwards.


  Commit: 4943563b8f8448ae10767b192d569f322424eab1
      https://github.com/OpenSIPS/opensips/commit/4943563b8f8448ae10767b192d569f322424eab1
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    M main.c
    M modules/registrar/test/opensips.cfg
    M modules/registrar/test/test.c
    M test/unit_tests.c
    M test/unit_tests.h

  Log Message:
  -----------
  registrar: Fix missing includes; Make tests more quiet


  Commit: 70ebe281ddceac05d16aeffc8249ddd6728c6fff
      https://github.com/OpenSIPS/opensips/commit/70ebe281ddceac05d16aeffc8249ddd6728c6fff
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-28 (Tue, 28 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/registrar/lookup.c

  Log Message:
  -----------
  registrar: Move common code in lib/reg


  Commit: dbcd08991cf4d5b3aaf9372e784fde6b70da6b1e
      https://github.com/OpenSIPS/opensips/commit/dbcd08991cf4d5b3aaf9372e784fde6b70da6b1e
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-28 (Tue, 28 Apr 2020)

  Changed paths:
    M modules/mid_registrar/lookup.c
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/mid_registrar.h
    M modules/mid_registrar/save.c
    M modules/mid_registrar/ul_storage.c
    M modules/mid_registrar/ulcb.c

  Log Message:
  -----------
  mid_registrar/registrar: Normalize shared variable names


  Commit: f23f2f8f533196beeb4746f7f2fb31e2d33c79b6
      https://github.com/OpenSIPS/opensips/commit/f23f2f8f533196beeb4746f7f2fb31e2d33c79b6
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    A lib/reg/common.c
    A lib/reg/common.h
    M lib/reg/config.h
    A lib/reg/lookup.c
    A lib/reg/lookup.h
    M lib/reg/pn.c
    M lib/reg/pn.h
    M lib/reg/sip_msg.c
    M lib/reg/sip_msg.h
    M modules/mid_registrar/lookup.c
    M modules/mid_registrar/lookup.h
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/save.c
    M modules/registrar/Makefile
    M modules/registrar/lookup.c
    M modules/registrar/lookup.h
    M modules/registrar/reg_mod.c
    M modules/registrar/reg_mod.h
    M modules/registrar/save.c
    M modules/registrar/test/test.c

  Log Message:
  -----------
  mid_registrar/registrar:  Move common lookup() code in lib/reg


  Commit: 5acc3e00bc222083914b83915c2ccfd358477776
      https://github.com/OpenSIPS/opensips/commit/5acc3e00bc222083914b83915c2ccfd358477776
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M modules/mid_registrar/doc/mid_registrar.xml
    M modules/mid_registrar/doc/mid_registrar_admin.xml
    A modules/registrar/doc/lookup_flags.xml
    A modules/registrar/doc/lookup_retcodes.xml
    M modules/registrar/doc/pn_modparams.xml
    M modules/registrar/doc/registrar.xml
    M modules/registrar/doc/registrar_admin.xml

  Log Message:
  -----------
  registrar docs: Move common lookup() markup in one place


  Commit: e6db1b98f9134d7e20819a55b986413d7d302406
      https://github.com/OpenSIPS/opensips/commit/e6db1b98f9134d7e20819a55b986413d7d302406
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M lib/reg/ci.c
    M lib/reg/ci.h
    M lib/reg/common.h
    M lib/reg/sip_msg.c
    M lib/reg/sip_msg.h
    M modules/mid_registrar/Makefile
    M modules/mid_registrar/gruu.c
    M modules/mid_registrar/mid_registrar.h
    M modules/mid_registrar/save.c
    M modules/mid_registrar/ul_storage.c
    M modules/mid_registrar/ulcb.c
    M modules/registrar/reg_mod.h
    M modules/registrar/reply.c
    M modules/registrar/save.c
    M modules/registrar/sip_msg.c
    M modules/registrar/test/test.c

  Log Message:
  -----------
  registrar/mid_registrar: Fix redundant includes


  Commit: 549b12bd909215d58f03e08afd7ec78411efa494
      https://github.com/OpenSIPS/opensips/commit/549b12bd909215d58f03e08afd7ec78411efa494
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M modules/mid_registrar/Makefile
    M modules/registrar/Makefile

  Log Message:
  -----------
  [mid-]registrar: Improve Makefile logic

Always include all lib/reg code, without having to enumerate each file.


  Commit: adaf8e90afa97ed16d1534412c70b76cf83e0383
      https://github.com/OpenSIPS/opensips/commit/adaf8e90afa97ed16d1534412c70b76cf83e0383
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M lib/reg/lookup.c
    M lib/reg/lookup.h
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/encode.c
    M modules/mid_registrar/encode.h
    M modules/mid_registrar/gruu.c
    M modules/mid_registrar/gruu.h
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/mid_registrar.h
    M modules/mid_registrar/save.c
    M modules/mid_registrar/save.h
    M modules/mid_registrar/ul_storage.c
    M modules/mid_registrar/ul_storage.h
    M modules/mid_registrar/ulcb.c
    M modules/mid_registrar/ulcb.h
    M modules/registrar/test/test.c

  Log Message:
  -----------
  mid-registrar: Add PN modparams & deps; Update license headers


  Commit: 349511539540d197cdeedb254a1b5824bdc82b4c
      https://github.com/OpenSIPS/opensips/commit/349511539540d197cdeedb254a1b5824bdc82b4c
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M lib/reg/common.c
    M lib/reg/common.h
    M lib/reg/pn.c
    M lib/reg/pn.h
    M lib/reg/sip_msg.c
    M lib/reg/sip_msg.h
    M modules/mid_registrar/doc/mid_registrar.xml
    M modules/mid_registrar/doc/mid_registrar_admin.xml
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/mid_registrar.h
    M modules/mid_registrar/save.c
    M modules/mid_registrar/save.h
    M modules/registrar/doc/pn_modparams.xml
    A modules/registrar/doc/reg_modparams.xml
    M modules/registrar/doc/registrar.xml
    M modules/registrar/doc/registrar_admin.xml
    M modules/registrar/reg_mod.c
    M modules/registrar/reg_mod.h
    M modules/registrar/save.c

  Log Message:
  -----------
  [mid-]registrar: Tidy up codebase & docs

    * move common modparams & docs in shared files
    * normalize coding style & variable naming


  Commit: 11c8a18f1f81d337e6baf0c382be3d9a105650b2
      https://github.com/OpenSIPS/opensips/commit/11c8a18f1f81d337e6baf0c382be3d9a105650b2
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M lib/reg/common.c
    M lib/reg/common.h
    M lib/reg/sip_msg.c
    M modules/registrar/doc/reg_modparams.xml

  Log Message:
  -----------
  [mid-]registrar: Add the "max_contact_len" modparam


  Commit: 4b779d0a7017809ca224205e7e5689612475a90b
      https://github.com/OpenSIPS/opensips/commit/4b779d0a7017809ca224205e7e5689612475a90b
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M doc/entities.xml
    A lib/reg/doc/lookup_flags.xml
    A lib/reg/doc/lookup_retcodes.xml
    A lib/reg/doc/pn_modparams.xml
    A lib/reg/doc/reg_modparams.xml
    M modules/mid_registrar/doc/mid_registrar.xml
    R modules/registrar/doc/lookup_flags.xml
    R modules/registrar/doc/lookup_retcodes.xml
    R modules/registrar/doc/pn_modparams.xml
    R modules/registrar/doc/reg_modparams.xml
    M modules/registrar/doc/registrar.xml

  Log Message:
  -----------
  [mid-]registrar docs: Parameterize examples; Move to lib/reg


  Commit: 6bfb11c02b989813b6c0c1759e1c3c3370fbdf44
      https://github.com/OpenSIPS/opensips/commit/6bfb11c02b989813b6c0c1759e1c3c3370fbdf44
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/save.c

  Log Message:
  -----------
  mid_registrar PN: Finalize PN contact storage & matching


  Commit: a4e772c660dc1d4bb23d3871eba6dd318dd57ba6
      https://github.com/OpenSIPS/opensips/commit/a4e772c660dc1d4bb23d3871eba6dd318dd57ba6
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M lib/reg/ci.c
    M lib/reg/doc/lookup_retcodes.xml
    M lib/reg/save_flags.c
    M modules/mid_registrar/save.c
    M str_list.h

  Log Message:
  -----------
  registrar: Code styling & documentation nitpicks


  Commit: 579c558e31962a76031ca8a8dd0996200129a752
      https://github.com/OpenSIPS/opensips/commit/579c558e31962a76031ca8a8dd0996200129a752
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/mid_registrar.h
    M modules/mid_registrar/save.c
    M modules/registrar/reply.c
    M modules/usrloc/kv_store.c

  Log Message:
  -----------
  mid-registrar PN: Add Feature-Caps hf management

Both for forwarded REGISTER requests and for relayed 200 OK replies.


  Commit: ae57b505b419bb6d983ebc6c641e99c52bd45713
      https://github.com/OpenSIPS/opensips/commit/ae57b505b419bb6d983ebc6c641e99c52bd45713
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
    A parser/case_feat.h
    M parser/hf.c
    M parser/hf.h
    M parser/keys.h
    M parser/msg_parser.c
    M parser/msg_parser.h
    A parser/parse_fcaps.c
    A parser/parse_fcaps.h
    M parser/parse_hname2.c

  Log Message:
  -----------
  SIP Parser: Add support for Feature-Caps header field


  Commit: da29c36f1570acad92c62149795f8e5264bf9442
      https://github.com/OpenSIPS/opensips/commit/da29c36f1570acad92c62149795f8e5264bf9442
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
    A parser/test/test_parse_fcaps.c
    A parser/test/test_parse_fcaps.h
    M test/unit_tests.c

  Log Message:
  -----------
  Feature-Caps parser: Add unit tests


  Commit: 36b38810f9116287cb201e7b6243a0567fa5c97b
      https://github.com/OpenSIPS/opensips/commit/36b38810f9116287cb201e7b6243a0567fa5c97b
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
    M lib/reg/ci.c
    M lib/reg/config.h
    M lib/reg/lookup.c
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/save.c
    M modules/registrar/save.c
    M modules/usrloc/ucontact.h
    M parser/parse_fcaps.h

  Log Message:
  -----------
  [mid-]registrar: Add handling for upstream Feature-Caps hf


  Commit: 84d1e7030cfdc17a7d9ae0a4f4b146b2b44d5e17
      https://github.com/OpenSIPS/opensips/commit/84d1e7030cfdc17a7d9ae0a4f4b146b2b44d5e17
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M modules/mid_registrar/save.c

  Log Message:
  -----------
  SIP PN support: Avoid further pkg leak on oom


  Commit: 0a98da7afebcb7d28c043e1f00730170f012c129
      https://github.com/OpenSIPS/opensips/commit/0a98da7afebcb7d28c043e1f00730170f012c129
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M modules/mid_registrar/save.h
    M modules/registrar/save.c
    M modules/usrloc/ucontact.h

  Log Message:
  -----------
  registrars: Minor coding nitpicks

Logging, coding style, duplicate macros


  Commit: 90ad02777bb4cd324e327c39f5446682630080c9
      https://github.com/OpenSIPS/opensips/commit/90ad02777bb4cd324e327c39f5446682630080c9
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/save.c
    M modules/registrar/save.c

  Log Message:
  -----------
  SIP PN Support: Improve Feature-Caps interpretation

Keep performing PN param-based Contact matching even when PNs are
already handled by upstream side.

Also move more common code under lib/reg


  Commit: d2c3fdc1a43fc180f7e40a8d8199987966af843c
      https://github.com/OpenSIPS/opensips/commit/d2c3fdc1a43fc180f7e40a8d8199987966af843c
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/ci.c
    M modules/mid_registrar/save.c
    M modules/usrloc/ucontact.c
    M modules/usrloc/ucontact.h

  Log Message:
  -----------
  registrar: Force a Contact URI update on param-based matching


  Commit: 2ae64fb3254bc6163acaef09607b07e7b71f8cca
      https://github.com/OpenSIPS/opensips/commit/2ae64fb3254bc6163acaef09607b07e7b71f8cca
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M modules/usrloc/ul_mod.h

  Log Message:
  -----------
  usrloc runtime: Remove 'always false' checks


  Commit: 727b970d4396eb9997335feb7a3d6fd756924448
      https://github.com/OpenSIPS/opensips/commit/727b970d4396eb9997335feb7a3d6fd756924448
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M parser/msg_parser.h
    M parser/parse_uri.c

  Log Message:
  -----------
  SIP URI parser: Add support for RFC 8599 URI params

... namely:
    * pn-provider
    * pn-prid
    * pn-param
    * pn-purr


  Commit: cf952d5c25f8d1821e5afa483f4762dc644cd4cc
      https://github.com/OpenSIPS/opensips/commit/cf952d5c25f8d1821e5afa483f4762dc644cd4cc
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    A parser/test/test_parser.c
    A parser/test/test_parser.h
    M test/unit_tests.c

  Log Message:
  -----------
  SIP URI parser: Add unit tests for 29b34d686


  Commit: d5a36ecf3c17b7c6c2c03901fd00c821e8673869
      https://github.com/OpenSIPS/opensips/commit/d5a36ecf3c17b7c6c2c03901fd00c821e8673869
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/ci.c
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/usrloc/urecord.c
    M parser/parse_uri.h

  Log Message:
  -----------
  SIP PN: Update codebase to use recent parser additions


  Commit: 88542bf1103622ee3b28b8abbce271c8b70f4a04
      https://github.com/OpenSIPS/opensips/commit/88542bf1103622ee3b28b8abbce271c8b70f4a04
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M modules/topology_hiding/topo_hiding_logic.c

  Log Message:
  -----------
  topology_hiding: Remove re-defined macros

... already defined in config.h


  Commit: 7ce1fb7a1df55b7f56de734e7caa9d68c8486935
      https://github.com/OpenSIPS/opensips/commit/7ce1fb7a1df55b7f56de734e7caa9d68c8486935
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/registrar/test/test.c

  Log Message:
  -----------
  SIP PN: Add PURR pack/unpack functions + unit tests


  Commit: ab01c7cb61da5925e37df527d1d726adbeea3634
      https://github.com/OpenSIPS/opensips/commit/ab01c7cb61da5925e37df527d1d726adbeea3634
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M modules/event_routing/api.h
    M modules/event_routing/ebr_data.c
    M modules/event_routing/event_routing.c

  Log Message:
  -----------
  event_routing: Extend API with ebr.async_wait_for_event()


  Commit: e12503dcd033988a870fc2311abd1a8d0c4dcbf6
      https://github.com/OpenSIPS/opensips/commit/e12503dcd033988a870fc2311abd1a8d0c4dcbf6
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/save.c
    M modules/registrar/save.c
    M modules/registrar/test/test.c
    M modules/usrloc/dlist.c
    M modules/usrloc/udomain.h
    M modules/usrloc/ul_evi.c
    M modules/usrloc/usrloc.h

  Log Message:
  -----------
  SIP PN: Add REGISTER-time support for '+sip.pnspurr'


  Commit: b5dea20467e77faf2c50770297536a8c743c76ac
      https://github.com/OpenSIPS/opensips/commit/b5dea20467e77faf2c50770297536a8c743c76ac
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/mid_registrar.c
    M modules/registrar/reg_mod.c

  Log Message:
  -----------
  SIP PN: Add INVITE-time support for 'pn-purr=' URIs


  Commit: ff8994efc68877fd0d2d3381e1a8fa628793b617
      https://github.com/OpenSIPS/opensips/commit/ff8994efc68877fd0d2d3381e1a8fa628793b617
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c

  Log Message:
  -----------
  SIP PN: Also match upstream Feature-Caps during PNS query


  Commit: 0c123df0e09ecc9b80af23e6aa9ae1bcfe43df86
      https://github.com/OpenSIPS/opensips/commit/0c123df0e09ecc9b80af23e6aa9ae1bcfe43df86
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/mid_registrar.h
    M modules/mid_registrar/save.c
    M modules/registrar/reply.c

  Log Message:
  -----------
  SIP PN: Refine Feature-Caps hf building logic

The Feature-Caps content is not meant to be symmetrical for
upstream/downstream sides.  Some important ideas:

    * on downstream-forwarded REGISTER, we leak a _minimal_ amount of
      information.  For example, just that we support "apns" PNs and
      that the element MUST NOT send PNs anymore to it, e.g.:
         Feature-Caps: +sip.pns="apns"

    * on upstream-forwarded 200 OK which are not PN capability queries,
      we include _maximal_ amounts of information into the Feature-Caps,
      fully informing the UA of our supported parameters, e.g.:
         Feature-Caps: +sip.pns="apns";+sip.pnsreg="130";
                       +sip.pnspurr="3a0.94000.00001921"

Working for both registrar and mid-registrar...


  Commit: 54521b0d677bd3b018784108af23cf86d5d26975
      https://github.com/OpenSIPS/opensips/commit/54521b0d677bd3b018784108af23cf86d5d26975
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/mid_registrar.c
    M modules/registrar/reg_mod.c

  Log Message:
  -----------
  [mid-]registrar: Add PN-related script reload checks


  Commit: dc59162fb4446ef067ab75bf38370600b4a431bd
      https://github.com/OpenSIPS/opensips/commit/dc59162fb4446ef067ab75bf38370600b4a431bd
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c
    M modules/mid_registrar/mid_registrar.c
    M modules/registrar/reg_mod.c

  Log Message:
  -----------
  SIP PN: Fix some bad checks


  Commit: 52a793ab75bd25a290d2c2c033e0ae843814df6b
      https://github.com/OpenSIPS/opensips/commit/52a793ab75bd25a290d2c2c033e0ae843814df6b
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c
    M modules/event_routing/ebr_data.c
    M modules/event_routing/event_routing.c
    M parser/parse_uri.h

  Log Message:
  -----------
  SIP PN: mid-dialog PN processing is now functional


  Commit: a9c93741fec1b84a4f67ed9faa14516fa23d2ddf
      https://github.com/OpenSIPS/opensips/commit/a9c93741fec1b84a4f67ed9faa14516fa23d2ddf
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.c

  Log Message:
  -----------
  SIP PN: Be compatible with topology_hiding()

When using mid-registrar + topology_hiding(), mid-dialog requests have
no Route hfs at all, so do not treat the lack of Route as an error
condition.


  Commit: c62a23edc8a9fe12d7a564b0dc717b56cebfac8c
      https://github.com/OpenSIPS/opensips/commit/c62a23edc8a9fe12d7a564b0dc717b56cebfac8c
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M modules/event_routing/ebr_data.c
    M modules/event_routing/event_routing.c

  Log Message:
  -----------
  event_routing: Always try to load tm, but be silent

This fixes a SIP PN bug where the EBR API notify_on_event() function is
called, but the TM API is not loaded, since notify_on_event() was not
detected to be called at script level.


  Commit: 81bad079cf2dbb34807cc57691956e128db98e45
      https://github.com/OpenSIPS/opensips/commit/81bad079cf2dbb34807cc57691956e128db98e45
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M lib/reg/pn.h
    M modules/mid_registrar/lookup.c
    M modules/mid_registrar/save.c
    M modules/registrar/test/opensips.cfg
    M modules/tm/sip_msg.c

  Log Message:
  -----------
  SIP PN: mid-registrar lookups at INVITE are now functional


  Commit: cd9f276ec2a1acdb85541ceccccfccb2c0c266d5
      https://github.com/OpenSIPS/opensips/commit/cd9f276ec2a1acdb85541ceccccfccb2c0c266d5
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-07 (Thu, 07 May 2020)

  Changed paths:
    M lib/reg/pn.c

  Log Message:
  -----------
  SIP PN: Add auto-detection for PURR + missing record_route()

Fun fact: this is actually mandated by RFC 8599, ยง 6.2.2


  Commit: dc7949ba035179229c2bae0e4b590aafbe8fd3af
      https://github.com/OpenSIPS/opensips/commit/dc7949ba035179229c2bae0e4b590aafbe8fd3af
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-07 (Thu, 07 May 2020)

  Changed paths:
    M lib/reg/doc/pn_modparams.xml
    M lib/reg/pn.c
    M lib/reg/pn.h
    M modules/mid_registrar/doc/mid_registrar.xml
    M modules/registrar/test/opensips.cfg

  Log Message:
  -----------
  [mid-]registrar: Refactor the "pn_inv_timeout" modparam

Refactor it into "pn_refresh_timeout", since now it's also used for
timing out EBR subscriptions for BYE, Re-INVITE, etc.


  Commit: 3cabc1d87002c330e00294af2afa6ab000315657
      https://github.com/OpenSIPS/opensips/commit/3cabc1d87002c330e00294af2afa6ab000315657
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-07 (Thu, 07 May 2020)

  Changed paths:
    M lib/reg/pn.c

  Log Message:
  -----------
  SIP PN: Add safety check in pn_process_purr()


  Commit: 2d8adb558be2b077c9cd10598f7254a1763c265d
      https://github.com/OpenSIPS/opensips/commit/2d8adb558be2b077c9cd10598f7254a1763c265d
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-07 (Thu, 07 May 2020)

  Changed paths:
    M lib/reg/pn.c

  Log Message:
  -----------
  SIP PN: Add an extra return code to pn_process_purr()


  Commit: a30606f43b32c98820e8f7ab4af84d74e98f4ba4
      https://github.com/OpenSIPS/opensips/commit/a30606f43b32c98820e8f7ab4af84d74e98f4ba4
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-07 (Thu, 07 May 2020)

  Changed paths:
    A lib/reg/doc/pn_async_func.xml
    M lib/reg/doc/pn_modparams.xml
    M modules/mid_registrar/doc/mid_registrar.xml
    M modules/mid_registrar/doc/mid_registrar_admin.xml
    M modules/registrar/doc/registrar.xml
    M modules/registrar/doc/registrar_admin.xml

  Log Message:
  -----------
  SIP PN: Documentation is now up-to-date


  Commit: 2f7aff0d0b01fdf2bbd826279ef54e6d2935cae9
      https://github.com/OpenSIPS/opensips/commit/2f7aff0d0b01fdf2bbd826279ef54e6d2935cae9
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-05-07 (Thu, 07 May 2020)

  Changed paths:
    M Makefile.modules
    M Makefile.test
    M context.c
    M context.h
    M doc/entities.xml
    M error.c
    M evi/evi_params.c
    M evi/evi_params.h
    M evi/evi_transport.h
    M globals.h
    M ipc.h
    M lib/csv.c
    M lib/csv.h
    M lib/reg/ci.c
    M lib/reg/ci.h
    A lib/reg/common.c
    A lib/reg/common.h
    M lib/reg/config.h
    A lib/reg/doc/lookup_flags.xml
    A lib/reg/doc/lookup_retcodes.xml
    A lib/reg/doc/pn_async_func.xml
    A lib/reg/doc/pn_modparams.xml
    A lib/reg/doc/reg_modparams.xml
    A lib/reg/lookup.c
    A lib/reg/lookup.h
    A lib/reg/pn.c
    A lib/reg/pn.h
    M lib/reg/rerrno.c
    M lib/reg/rerrno.h
    M lib/reg/save_flags.c
    M lib/reg/save_flags.h
    M lib/reg/sip_msg.c
    M lib/reg/sip_msg.h
    M lib/url.c
    M main.c
    A modules/event_routing/api.h
    M modules/event_routing/ebr_data.c
    M modules/event_routing/ebr_data.h
    M modules/event_routing/event_routing.c
    M modules/freeswitch/fs_api.c
    M modules/freeswitch/fs_api.h
    M modules/freeswitch_scripting/fss_db.c
    M modules/freeswitch_scripting/fss_evs.c
    M modules/freeswitch_scripting/fss_evs.h
    M modules/freeswitch_scripting/fss_mod.c
    M modules/mid_registrar/Makefile
    M modules/mid_registrar/doc/mid_registrar.xml
    M modules/mid_registrar/doc/mid_registrar_admin.xml
    M modules/mid_registrar/encode.c
    M modules/mid_registrar/encode.h
    M modules/mid_registrar/gruu.c
    M modules/mid_registrar/gruu.h
    M modules/mid_registrar/lookup.c
    M modules/mid_registrar/lookup.h
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/mid_registrar.h
    M modules/mid_registrar/save.c
    M modules/mid_registrar/save.h
    M modules/mid_registrar/ul_storage.c
    M modules/mid_registrar/ul_storage.h
    M modules/mid_registrar/ulcb.c
    M modules/mid_registrar/ulcb.h
    M modules/nathelper/nathelper.c
    M modules/registrar/Makefile
    M modules/registrar/doc/registrar.xml
    M modules/registrar/doc/registrar_admin.xml
    M modules/registrar/lookup.c
    M modules/registrar/lookup.h
    M modules/registrar/reg_mod.c
    M modules/registrar/reg_mod.h
    M modules/registrar/reply.c
    M modules/registrar/save.c
    M modules/registrar/sip_msg.c
    A modules/registrar/test/opensips.cfg
    A modules/registrar/test/test.c
    M modules/tls_mgm/tls_domain.c
    M modules/tls_mgm/tls_domain.h
    M modules/tls_mgm/tls_helper.h
    M modules/tls_mgm/tls_mgm.c
    M modules/tm/h_table.h
    M modules/tm/mi.c
    M modules/tm/sip_msg.c
    M modules/tm/t_fwd.c
    M modules/tm/t_fwd.h
    M modules/tm/tm.c
    M modules/tm/tm_load.h
    M modules/topology_hiding/topo_hiding_logic.c
    M modules/usrloc/dlist.c
    M modules/usrloc/dlist.h
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/kv_store.c
    M modules/usrloc/ucontact.c
    M modules/usrloc/ucontact.h
    M modules/usrloc/udomain.c
    M modules/usrloc/udomain.h
    M modules/usrloc/ul_callback.c
    M modules/usrloc/ul_callback.h
    M modules/usrloc/ul_cluster.c
    M modules/usrloc/ul_dbg.h
    A modules/usrloc/ul_evi.c
    A modules/usrloc/ul_evi.h
    M modules/usrloc/ul_mi.c
    M modules/usrloc/ul_mod.c
    M modules/usrloc/ul_mod.h
    A modules/usrloc/ul_timer.c
    A modules/usrloc/ul_timer.h
    M modules/usrloc/urecord.c
    M modules/usrloc/urecord.h
    M modules/usrloc/usrloc.c
    M modules/usrloc/usrloc.h
    A parser/case_feat.h
    M parser/hf.c
    M parser/hf.h
    M parser/keys.h
    M parser/msg_parser.c
    M parser/msg_parser.h
    A parser/parse_fcaps.c
    A parser/parse_fcaps.h
    M parser/parse_hname2.c
    M parser/parse_uri.c
    M parser/parse_uri.h
    A parser/test/test_parse_fcaps.c
    A parser/test/test_parse_fcaps.h
    A parser/test/test_parser.c
    A parser/test/test_parser.h
    M socket_info.h
    M sr_module.c
    M sr_module.h
    M sr_module_deps.c
    M sr_module_deps.h
    M str_list.h
    M test/unit_tests.c
    M test/unit_tests.h
    A test/ut.c
    A test/ut.h
    M ut.h

  Log Message:
  -----------
  Merge branch 'feature/rfc-8599-sip-pn'


Compare: https://github.com/OpenSIPS/opensips/compare/c26337847912...2f7aff0d0b01



More information about the Devel mailing list