I'd think your goal at this point should be to simplify the config to the smallest possible config that can produce the questionable behavior, and then provide that entire config file (even better, implement this in docker compose, using something like sipp
to emulate your UAs, so that the behavior can be easily reproduced by anyone). If the config is too big to reasonably present in an email, then just put the sample code on github.
Several points with the sample config you cite. This thread subject says that the error is with topoh enabled, but the code snippet presented provides neither module parameters for topoh, nor any call to topoh functions. Why are you asserting that topoh
is the problem?
Your second line is a call to route(REQINIT), with no information on what happens in that route. While we can guess that it's the same as the default config file, there's no way to know for sure.
It's also not clear why the nat functions and add_path_received() are in this config as it relates to this problem.
Start removing all of this for problem isolation until you can identify where the problem is occuring. I'd also be curious if the error in question is really a result of parsing the ACK or if it's something else (trying to pull $ru off of a reply generates
some kind of error like this I think).
Finally, although it's not the RURI, WHAT is with the scheme on the URIs in your To: and From: headers? 'Mailto"?
Regards,
Kaufman
From: Ale via sr-users <sr-users@lists.kamailio.org>
Sent: Thursday, October 24, 2024 8:12 AM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Cc: Ale <ale975@gmail.com>
Subject: [SR-Users] Re: Failed to parse the R-URI with topoh enabled
|
CAUTION: This email originated from outside the organization.
Do not click links or open attachments unless you recognize the sender and know the content is safe.
|
Hi Victor,
I tested 5.7.6 and 5.8.3 and got the same results.
At the moment request_route is very simple.
request_route {
xlog("L_INFO", ">> $ru from $fu\n");
route(REQINIT);
force_rport();
if(!ds_is_from_list()) {
if( !loose_route() ) {
if( !ds_select_dst(DEFAULT_ROUTE, "1") ) {
drop();
}
}
if (nat_uac_test("19")) {
if (method=="REGISTER") {
fix_nated_register();
} else {
fix_nated_contact();
}
}
add_path_received();
}
record_route();
forward();
}
This is the logs of ack
DEBUG: [1 90333697 ACK ...] <core> [core/receive.c:263]: ksr_evrt_pre_routing(): event route core:pre-routing not defined
DEBUG: [1 90333697 ACK ...] <core> [core/receive.c:474]: receive_msg(): preparing to run routing scripts...
DEBUG: [1 90333697 ACK ...] sl [sl_funcs.c:455]: sl_filter_ACK(): too late to be a local ACK!
[137B blob data]
[134B blob data]
ERROR: [1 90333697 ACK ...] pv [pv_core.c:261]: pv_get_ruri(): failed to parse the R-URI
DEBUG: [1 90333697 ACK ...] <core> [core/parser/parse_addr_spec.c:185]: parse_to_param(): add param: tag=BrQ6ZyDyQHQmN
DEBUG: [1 90333697 ACK ...] <core> [core/parser/parse_addr_spec.c:904]: parse_addr_spec(): end of header reached, state=29
Could this be a bug or did I miss something?
Hi,
I would suggest to try a more recent Kamailio version first.
On 23/10/24 14:21, Ale via sr-users wrote:
> Hi All,
>
> I think I have a problem with topoh, but I can't identify it.
>
> Kamailio 5.6.6, used as a stateless proxy, receives a 487 from a phone and propagates it correctly.
> Next comes the ack that should be forwarded back to the phone, but instead it doesn't forward it and produces the following error "pv_get_ruri(): failed to parse the R-URI"
>
> The error is generated by xlog("...$ru from $fu...\n"") as first line of request_route.
>
> If I disable topoh everything works perfectly.Topoh is only configured with mask_key only.
> Furthermore, not all phones generate this problem, at the moment there are some snoms.
>
> ACK sip:user@phone_ip:2048;line=kkqgarrj SIP/2.0
> Via: SIP/2.0/UDP proxy_sip_ip;branch=z9hG4bK2ec.e7126a3134bef9d974f57dd43ebd4ea2.0
> Route: <sip:kamailio_ip:5060;lr;received=sip:phone_ip:2048>
> Max-Forwards: 66
> From: <sip:111111111@sip.example.com <mailto:sip%3A111111111@sip.example.com>>;tag=pDc1BQ0B57Ujj
> To: <sip:user@sip.example.com <mailto:sip%3Auser@sip.example.com>>;tag=vslvowy4y2
> Call-ID: 40a6c905-c0c8-4c20-b3f7-397b3fce58b6
> CSeq: 90285584 ACK
> Content Length: 0
>
> There is no difference between the ACK of the snom and other phones that work.
> The only difference I noticed is that the snom 487 contains Contact field in the header.
>
> Any suggestions? Thank you
--
-----------------------------------------------------------------
| ,''`. Victor Seva |
| : :' :
linuxmaniac@torreviejawireless.org |
| `. `' PGP: 8F19 CADC D42A 42D4 5563 730C 51A0 9B18 CF5A 5068 |
| `- Debian Developer |
-----------------------------------------------------------------
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to
sr-users-leave@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe: