### Description
When updating from Kamailio 5.2.2 to 5.4.4, we're encountering an issue: the pua_dialoginfo module publishes a `confirmed` state for the dialog, even though it's still ringing.
It turns out this commit introduces the problem since 5.3.0: 4efe19f
So since 5.3.0, the dialog module (i think correctly?) sends out state updates for PRACK dialog updates as `DLGCB_REQ_WITHIN` events. But the `pua_dialoginfo` module seems to see that as a signal to mark the dialog confirmed (see [here](https://github.com/kamailio/kamailio/blob/master/src/modules/pua_dial…).
One easy fix would be to simply remove `DLGCB__REQ_WITHIN` from the case list in pua_dialoginfo?
OpenSER [seems to](https://github.com/OpenSIPS/opensips/blob/master/modules/pua_dialoginfo… ditch the `DLGCB_REQ_WITHIN` messages altogether, for specific messages...
### Troubleshooting
#### Reproduction
- Use the pua_dialoginfo module
- Make sure your device uses PRACK
- See that the dialog is confirmed even before you pick up; watch for log lines: `__dialog_sendpublish(): dialog confirmed`
#### Debugging Data
N/A
#### Log Messages
With 5.4.4:
```
2021-04-02T16:49:44.453339+02:00 debug proxy[17964]: DEBUG: pua_dialoginfo [pua_dialoginfo.c:295]: __dialog_sendpublish(): dialog confirmed, from=sip:220@188.166.42.37
```
#### SIP Traffic
Just a regular invite with prack.
### Possible Solutions
See above.
### Additional Information
Reproduced with Kamailio 5.4.4, but probably all versions from 5.3.0 are affected.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2700
<!-- 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.patchhttps://github.com/kamailio/kamailio/pull/2675.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/2675