<!-- 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 --> - [ * ] Commit message has the format required by CONTRIBUTING guide - [ * ] Commits are split per component (core, individual modules, libs, utils, ...) - [ * ] Each component has a single commit (if not, squash them into one commit) - [ * ] 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 - [ * ] Small bug fix (non-breaking change which fixes an issue) - [ ] 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 - [ ] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description <!-- Describe your changes in detail --> Detailed comments for functions related to subscription are added. Bug fixed. You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4097
-- Commit Summary --
* bug fix, add comments and clean codes
-- File Changes --
M src/modules/rtpengine/rtpengine.c (219) M src/modules/rtpengine/rtpengine.h (26) D src/modules/rtpengine/rtpengine_common.h (28)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4097.patch https://github.com/kamailio/kamailio/pull/4097.diff
@Fr-Soltanzadeh pushed 1 commit.
95553e0b64feb3389175674243dd11fc1f2792db add comments
@Fr-Soltanzadeh pushed 1 commit.
20b548aa348d3c3aacec5a089188face475b59ff check corner-case and add comments
Can you describe the corner case this is addressing?
@Fr-Soltanzadeh commented on this pull request.
@@ -3349,7 +3349,10 @@ static bencode_item_t *rtpp_function_call(bencode_buffer_t *bencbuf,
} else { ng_flags.dict = extra_dict; ng_flags.flags = bencode_dictionary_get(ng_flags.dict, "flags"); - bencode_dictionary_get_str(ng_flags.dict, "call-id", &ng_flags.call_id);
When ng_flags.dict does not have the "call-id" key, ng_flags.call_id will be NULL. Therefore, I changed the code to set ng_flags.call_id only if ng_flags.dict contains the "call-id" key.
@Fr-Soltanzadeh commented on this pull request.
@@ -3349,7 +3349,10 @@ static bencode_item_t *rtpp_function_call(bencode_buffer_t *bencbuf,
} else { ng_flags.dict = extra_dict; ng_flags.flags = bencode_dictionary_get(ng_flags.dict, "flags"); - bencode_dictionary_get_str(ng_flags.dict, "call-id", &ng_flags.call_id);
@rfuchs
@rfuchs commented on this pull request.
@@ -3349,7 +3349,10 @@ static bencode_item_t *rtpp_function_call(bencode_buffer_t *bencbuf,
} else { ng_flags.dict = extra_dict; ng_flags.flags = bencode_dictionary_get(ng_flags.dict, "flags"); - bencode_dictionary_get_str(ng_flags.dict, "call-id", &ng_flags.call_id);
Ok, you mean you don't want to overwrite/reset `ng_flags.call_id` if it was set already, right? I don't think using `shm_str_dup` is correct though. I don't see a corresponding `shm_free`. Shouldn't it just be `ng_flags.call_id = tmp_callid;` ?
@Fr-Soltanzadeh commented on this pull request.
@@ -3349,7 +3349,10 @@ static bencode_item_t *rtpp_function_call(bencode_buffer_t *bencbuf,
} else { ng_flags.dict = extra_dict; ng_flags.flags = bencode_dictionary_get(ng_flags.dict, "flags"); - bencode_dictionary_get_str(ng_flags.dict, "call-id", &ng_flags.call_id);
Ok, you mean you don't want to overwrite/reset `ng_flags.call_id` if it was set already, right?
I mean I want to overwrite /reset `ng_flags.call_id` only if `ng_flags.dict` contains the "call-id" key. Because `ng_flags.call_id` should not be null.
@Fr-Soltanzadeh pushed 1 commit.
dbc674babd02cdfa7c0e74fb101553e440166998 check corner-case and add comments
@Fr-Soltanzadeh commented on this pull request.
@@ -3349,7 +3349,10 @@ static bencode_item_t *rtpp_function_call(bencode_buffer_t *bencbuf,
} else { ng_flags.dict = extra_dict; ng_flags.flags = bencode_dictionary_get(ng_flags.dict, "flags"); - bencode_dictionary_get_str(ng_flags.dict, "call-id", &ng_flags.call_id);
Ok, you mean you don't want to overwrite/reset `ng_flags.call_id` if it was set already, right?
Not exactly. I want to overwrite/reset ng_flags.call_id only if ng_flags.dict contains the "call-id" key, ensuring it's never null.
I don't think using `shm_str_dup` is correct though. I don't see a corresponding `shm_free`. Shouldn't it just be `ng_flags.call_id = tmp_callid;` ?
You're right—shm_str_dup isn't necessary here. I updated it to directly assign tmp_callid to ng_flags.call_id. Thanks for pointing that out!
OK LGTM
Merged #4097 into master.