doc/
subfolder, the README file is autogenerated)Normally, the IMS P-CSCF should identify the clients (UEs) by the received IP address and ports on Rx. The current code is using a mix of that, plus using Contact and Via headers, with arguable potential security issues.
This patch adds a new parameter to ims_registrar_pcscf
and ims_qos
modules, allowing for an optional outsource of the IPsec functionality to another element, which is also in charge of checking/enforcing correct UE Via header. The existing code is allowed to work as before, with the default value of the flag being towards that.
List of functional changes:
ims_qos
trust_bottom_via
parameterw_rx_aar_register()
ims_registrar_pcscf
trust_bottom_via
parameterupdate_contacts()
, save_pending()
, check_contact()
, getContactP()
, check_service_routes()
, enforce_service_routes()
ims_ipsec_pcscf
dependency optional, with checks when usedport-uc
in checkcontact()
if the ims_ipsec_pcscf
module was not loadedignore_contact_rxproto_check
parameter - IMS devices open IPsec Security Associations just between IPs and ports, with both UDP and TCP protocols allowed. The default then was set here to always ignore protocol checks. Before, the ignore_contact_rxport_check
was used to skip this and still make it work, but that seemed like a typo/mistake with hidden effects.List of indirect changes:
core/ut.h
: added a str2ushort()
macro, since code was using some dangerous casting and macros with a larger typeims_registrar_pcscf
: added Route
headers in SUBSCRIBE
to reginfo
, with values from Service-Route
s, as per 3GPP specs.ims_usrloc_pcscf
: small log fixeshttps://github.com/kamailio/kamailio/pull/3901
(17 files)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.