Oct 14
15:59:58 beta /sbin/openser[32535]: ERROR:core:parse_from_header:
bad from header
Oct 14 15:59:58 beta /sbin/openser[32535]:
ERROR:core:pv_get_from_attr:
cannot parse From header
Oct 14 15:59:58 beta /sbin/openser[32535]:
ERROR:core:parse_from_header:
bad from header
Oct 14 15:59:58 beta /sbin/openser[32535]:
ERROR:core:pv_get_from_attr:
cannot parse From header
This seems to have been caused by one rogue UAC
and has the effect of
preventing entries being written to the location database.
My question: could anyone suggest how to prevent
a UAC which is sending
some weird data from causing the server to choke?
To replicate this issue, in a SPA2102 or similar enter the following data:
in the Proxy field
in the outbound proxy field
domain.com
i.e. prefix the domain with >
The REGISTER message:
REGISTER
sip:>domain.com SIP/2.0
Via: SIP/2.0/UDP 192.168.1.112:5060;branch=z9hG4bK-a6a8f8f6
From: $user <sip:12345678@>domain.com>;tag=51d182cf9ed176f3o0
To: $user <sip:12345678@>domain.com>
Call-ID: 363d0b66-60522e90(a)127.0.0.1
CSeq: 22061 REGISTER
Max-Forwards: 70
Contact: $user <sip:12345678@192.168.1.112:5060>;expires=360
User-Agent: Linksys/SPA3102-5.1.7(GW)
Content-Length: 0
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura, replaces
Could anyone suggest how to better handle this scenario
this should not prevent the
other REGISTER messages to be processed
properly, as I understood from your fist email.
Try to add
error_route {
exit;
}
It should stop processing the sip message when the first parsing error
happens. you can try sending a 400 Bad request before, but in this case
might fail as well.
Cheers,
Daniel
--
Daniel-Constantin Mierla