<h4>Pre-Submission Checklist</h4>



<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Commit message has the format required by CONTRIBUTING guide</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Commits are split per component (core, individual modules, libs, utils, ...)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Each component has a single commit (if not, squash them into one commit)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> No commits to README files for modules (changes must be done to docbook files<br>
in <code>doc/</code> subfolder, the README file is autogenerated)</li>
</ul>
<h4>Type Of Change</h4>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Small bug fix (non-breaking change which fixes an issue)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> New feature (non-breaking change which adds new functionality)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Breaking change (fix or feature that would change existing functionality)</li>
</ul>
<h4>Checklist:</h4>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> PR should be backported to stable branches</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Tested changes locally</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Related to issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="756128595" data-permission-text="Title is private" data-url="https://github.com/kamailio/kamailio/issues/2574" data-hovercard-type="issue" data-hovercard-url="/kamailio/kamailio/issues/2574/hovercard" href="https://github.com/kamailio/kamailio/issues/2574">#2574</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="809464486" data-permission-text="Title is private" data-url="https://github.com/kamailio/kamailio/issues/2641" data-hovercard-type="issue" data-hovercard-url="/kamailio/kamailio/issues/2641/hovercard" href="https://github.com/kamailio/kamailio/issues/2641">#2641</a></li>
</ul>
<h4>Description</h4>

<p>lost: new features, attributes and a new function to dereference location</p>
<ul>
<li>features: LoST redirect, dynamic HELD url resolving (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="756128595" data-permission-text="Title is private" data-url="https://github.com/kamailio/kamailio/issues/2574" data-hovercard-type="issue" data-hovercard-url="/kamailio/kamailio/issues/2574/hovercard" href="https://github.com/kamailio/kamailio/issues/2574">#2574</a>), LoST NAPTR,<br>
POST request to dereference loation</li>
<li>attributes: reponse_time (-1:emergencyDispatch, 0:emergencyRouting, >0[ms]);<br>
post_request (POST method to dereference location <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="809464486" data-permission-text="Title is private" data-url="https://github.com/kamailio/kamailio/issues/2641" data-hovercard-type="issue" data-hovercard-url="/kamailio/kamailio/issues/2641/hovercard" href="https://github.com/kamailio/kamailio/issues/2641">#2641</a>); recursion (1:yes/0:no);<br>
location_profile (PIDF/LO profile selection: 0:first/1:last/2:geo/3:civic);<br>
verbose 0/1 (detailed LoST response as log INFO);<br>
geoheader_type (filter schema: 0:any/1:cid/2:http/3:https);<br>
geoheader_order (0:first/1:last)</li>
<li>function: lost_held_dereference (specific function to dereference location<br>
using POST method); attributes are url (r;string), resp.-time (r;string),<br>
resp.-type (r;string),  pidf (r/w;string) and error (r/w;string)</li>
<li>general: The extension of the module allows dynamic querying of LIS/HELD<br>
and LOST services via NAPTR lookup. In the case of LOST, a redirect<br>
response is evaluated. In case a lost_held_request (used to connect<br>
to a LIS via POST or GET) is passed with an empty string ("") for the<br>
connection parameter, then P-A-I or From header value hostnames are used<br>
for NAPTR lookup to get a corresponding service.</li>
</ul>
<p>http_client: http_client_request (api) content-type header support</p>
<ul>
<li>new api call including a content-type argument implemented as new<br>
function - required to resolve geolocation url using POST (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="809464486" data-permission-text="Title is private" data-url="https://github.com/kamailio/kamailio/issues/2641" data-hovercard-type="issue" data-hovercard-url="/kamailio/kamailio/issues/2641/hovercard" href="https://github.com/kamailio/kamailio/issues/2641">#2641</a>)</li>
<li>Note: not sure if this is the most elegant solution, but it helps<br>
to avoid backward compatibility issues</li>
</ul>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/kamailio/kamailio/pull/2675'>https://github.com/kamailio/kamailio/pull/2675</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>http_client: http_client_request (api) content-type header support</li>
  <li>lost: new features, attributes and a new function to dereference location</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-84ce34ef4f37934a5b0aae53608750749d061606e1a4663b1cd5f272e8cd3d29">src/modules/http_client/curl_api.c</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-6f821d003208fa5eabb504997d41d185dccfe6ff406bd496bf5a250a63c30150">src/modules/http_client/curl_api.h</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-1282e7db0982377302511140b8e41cd3e415448e88bf70d77e2bd31fea61723e">src/modules/http_client/functions.c</a>
    (68)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-67e077f66f41822d6a1f64f93c6caedccbc870c6c1a70b176137b2ab062c639f">src/modules/http_client/functions.h</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-ce5a836bafb7dbb891ebd02559e0e3226ccc2a81c6efec979e9e05d6a45aee6a">src/modules/lost/functions.c</a>
    (902)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-6530391fbb7a28f161fd5bfae3d8150e899fb5b91498fac227b3eda371cd0af2">src/modules/lost/functions.h</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-e0da00ced9a66f2d6980fdf73e09ba5ad80aaf17209c52e52b614c6a984b5b82">src/modules/lost/lost.c</a>
    (88)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-049566078c0d10268f194345eb77c0492f57175b3afad511cea261c7f561b4bc">src/modules/lost/naptr.c</a>
    (255)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-55d6361f1fdc5c95887553abfe4a89d613281f41a2cab2230fce2f27bcdf6547">src/modules/lost/naptr.h</a>
    (38)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-e3c155a776f00520b46e3056fcef7f14bcae900682383e68a98df552edd81ba3">src/modules/lost/pidf.c</a>
    (5)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-e9459b8b0a59b4bc1b1d7c51497f92211558c7bc4490133c0668bd307d9571b0">src/modules/lost/response.c</a>
    (991)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-ed4b7a73b9547e599886dd7c8afa10b2fd26b7fbdc1941be375cb6c836235928">src/modules/lost/response.h</a>
    (131)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-c4f8270cc65720aab16963ad276c57dc60e50223a05e921d8865156a21380d86">src/modules/lost/utilities.c</a>
    (447)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/2675/files#diff-9ec3016ffd33d28eab668c592bca05230478fb4be2f3108697b1afe96cec38f8">src/modules/lost/utilities.h</a>
    (27)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/kamailio/kamailio/pull/2675.patch'>https://github.com/kamailio/kamailio/pull/2675.patch</a></li>
  <li><a href='https://github.com/kamailio/kamailio/pull/2675.diff'>https://github.com/kamailio/kamailio/pull/2675.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/pull/2675">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABO7UZLJUI4BHTD5FNOCXILTDYEV3ANCNFSM4ZGSJGLQ">unsubscribe</a>.<img src="https://github.com/notifications/beacon/ABO7UZPCQLUDLR7NVM3IGHLTDYEV3A5CNFSM4ZGSJGL2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4MMUSHHA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/kamailio/kamailio/pull/2675",
"url": "https://github.com/kamailio/kamailio/pull/2675",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>