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
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]: ERROR: <core> [tcp_read.c:344]:
> ERROR: tcp_read: buffer overrun, dropping
> Jan 2 14:54:24 debdev kamailio[2580]: ERROR: <core> [tcp_read.c:1127]:
> ERROR: tcp_read_req: error reading
>
> Thanks for your help.
>
> On Wed, Jan 2, 2013 at 1:17 PM, Andrew Pogrebennyk <
> apogrebennyk(a)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
>> >
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>> >
>>
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev(a)lists.sip-router.org
>>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>
>
>
>
> _______________________________________________
> sr-dev mailing
listsr-dev@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>
>