Examples from RFC3605: > m=audio 49170 RTP/AVP 0 > a=rtcp:53020 > > m=audio 49170 RTP/AVP 0 > a=rtcp:53020 IN IP4 126.16.64.4 > > m=audio 49170 RTP/AVP 0 > a=rtcp:53020 IN IP6 2001:2345:6789:ABCD:EF01:2345:6789:ABCD
fix #2768
#### 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) - [ ] 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 --> - [x] PR should be backported to stable branches - [x] Tested changes locally - [x] Related to issue #2768 (replace XXXX with an open issue number)
#### Description <!-- Describe your changes in detail -->
don't fail if there's no IP info if line is 'a=rtcp' You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2769
-- Commit Summary --
* nathelper: don't fail if 'a=rtcp' has no IP
-- File Changes --
M src/modules/nathelper/nathelper.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2769.patch https://github.com/kamailio/kamailio/pull/2769.diff
Is it somehow related to PR #2737?
Is it somehow related to PR #2737?
No, it's not.
It seems to be a conflict looking at the commits in the two PRs, if the offsets are not messing my evaluation -- yours is changing replace_sdp_ip() function with:
``` - if(!hasreplaced) { + if(!hasreplaced && memcmp("a=rtcp", line, 6) != 0) { LM_ERR("can't extract '%s' IP from the SDP\n", line); return -1; } ```
The #2737 removes there:
``` - if(!hasreplaced) { - LM_ERR("can't extract '%s' IP from the SDP\n", line); - return -1; - } ```
Maybe @dwagin can check this PR as well.
It has to be decided if they need to be combined or one skipped, ...
Hello @linuxmaniac seems this use case somehow escaped from my attention, when I was looking into the fix for #2459. Thank you for fixing it up.
It seems both are trying to fix the same issue. I didn't notice #2737 @dwagin can you please check it my solution works for you?
If no further comments soon, we can merge this one being simpler and tested by @linuxmaniac. And the other one can be reworked if its developer comes back later and considers to fix other issues as well.
Merged #2769 into master.