<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [x] Commit message has the format required by CONTRIBUTING guide - [x] Commits are split per component (core, individual modules, libs, utils, ...) - [x] Each component has a single commit (if not, squash them into one commit) - [x] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [x] Small bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [x] Tested changes locally - [x] Related to issue #2574 and #2641
#### Description <!-- Describe your changes in detail --> lost: new features, attributes and a new function to dereference location - features: LoST redirect, dynamic HELD url resolving (#2574), LoST NAPTR, POST request to dereference loation - attributes: reponse_time (-1:emergencyDispatch, 0:emergencyRouting, >0[ms]); post_request (POST method to dereference location #2641); recursion (1:yes/0:no); location_profile (PIDF/LO profile selection: 0:first/1:last/2:geo/3:civic); verbose 0/1 (detailed LoST response as log INFO); geoheader_type (filter schema: 0:any/1:cid/2:http/3:https); geoheader_order (0:first/1:last) - function: lost_held_dereference (specific function to dereference location using POST method); attributes are url (r;string), resp.-time (r;string), resp.-type (r;string), pidf (r/w;string) and error (r/w;string) - general: The extension of the module allows dynamic querying of LIS/HELD and LOST services via NAPTR lookup. In the case of LOST, a redirect response is evaluated. In case a lost_held_request (used to connect to a LIS via POST or GET) is passed with an empty string ("") for the connection parameter, then P-A-I or From header value hostnames are used for NAPTR lookup to get a corresponding service.
http_client: http_client_request (api) content-type header support - new api call including a content-type argument implemented as new function - required to resolve geolocation url using POST (#2641) - Note: not sure if this is the most elegant solution, but it helps to avoid backward compatibility issues
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2675
-- Commit Summary --
* http_client: http_client_request (api) content-type header support * lost: new features, attributes and a new function to dereference location
-- File Changes --
M src/modules/http_client/curl_api.c (1) M src/modules/http_client/curl_api.h (3) M src/modules/http_client/functions.c (68) M src/modules/http_client/functions.h (14) M src/modules/lost/functions.c (902) M src/modules/lost/functions.h (3) M src/modules/lost/lost.c (88) A src/modules/lost/naptr.c (255) A src/modules/lost/naptr.h (38) M src/modules/lost/pidf.c (5) A src/modules/lost/response.c (991) A src/modules/lost/response.h (131) M src/modules/lost/utilities.c (447) M src/modules/lost/utilities.h (27)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2675.patch https://github.com/kamailio/kamailio/pull/2675.diff