I increased tcp_rd_buf_size, but it did not
help.
I don't think this is the problem.
In tcp_read.c:
int tcp_read(struct tcp_connection *c, int* flags)
{
int bytes_free, bytes_read;
struct tcp_req *r;
int fd;
r=&c->req;
fd=c->fd;
bytes_free=r->b_size- (int)(r->pos - r->buf);
if (unlikely(bytes_free==0)){
LOG(L_ERR, "ERROR: tcp_read: buffer overrun, dropping\n");
r->error=TCP_REQ_OVERRUN;
return -1;
}
how to i increase r->b_size ?
Thanks for you help, Amit.
On Wed, Jan 2, 2013 at 6:51 PM, Klaus Darilion
<klaus.mailinglists(a)pernau.at <mailto:klaus.mailinglists@pernau.at>>
wrote:
Hi!
-b is the receive buffer of the socket in the OS (for UDP tweaking,
I do not know if this is relevant for TCP), so not related to this
problem as this problem happens inside Kamailio.
Actually 15K is rather small, really strange that you get errors.
So, I did some tests:
1. tcp_rd_buf_size must be increased. The documentation is bad as it
meantions "TCP datagram" but actually means the maximum size of SIP
(or HTTP) message that can be received.
2. tcp_rd_buf_size is internally limited to 16MBytes. If you need
more, you have to change the code in:
tcp_options.c: { "rd_buf_size", CFG_VAR_INT | CFG_ATOMIC, 512,
16777216, 0, 0,
3. If you use real large message you may need to increase the
private memory, and if you forward it with tm module, also the
shared memory.
regards
Klaus
Am 02.01.2013 13:59, schrieb Amit Elbaz:
this still does not solve the problem.
I've also tried running Kamailio with *-b 32768* option.
here are the logs:
Jan 2 14:54:24 debdev kamailio[2580 <tel:%5B2580>]: ERROR: <core>
[tcp_read.c:344]: ERROR: tcp_read: buffer overrun, dropping
Jan 2 14:54:24 debdev kamailio[2580 <tel:%5B2580>]: ERROR: <core>
[tcp_read.c:1127]: ERROR: tcp_read_req: error reading
Thanks for your help.
On Wed, Jan 2, 2013 <tel:2013> at 1:17 PM, Andrew Pogrebennyk
<apogrebennyk(a)sipwise.com <mailto:apogrebennyk@sipwise.com>> wrote:
Hi,
you may try changing the tcp_rd_buf_size and tcp_conn_wq_max:
http://www.kamailio.org/wiki/cookbooks/3.3.x/core#tcp_conn_wq_max
And since this in development mailing list I'd like to point
at what
seem an iaccuracy in documentation: several options refer to
the core
parameter called tcp_write_buf, which isn't described in the
cookbook:
tcp_conn_wq_max
Maximum bytes queued for write allowed per connection.
Attempting to
queue more bytes would result in an error and in the
connection being
closed (too slow). If *tcp_write_buf* is not enabled, it has
no effect.
I hope Daniel or someone who knows reads this..
BR,
Andrew
On 01/02/2013 10:38 AM, Amit Elbaz wrote:
Hi,
While sending a big TCP SIP message (15K+), I get "tcp_read:
buffer
overrun, dropping" message.
this happens after a few fragments have been sent, and then
i get this
message and the connection resets.
is it possible to set the max-buffer size through
configuration? if so,
where?
Thanks, Amit.
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
<mailto:sr-dev@lists.sip-router.org>
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org <mailto:sr-dev@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org <mailto:sr-dev@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org