Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 62ce85fc187c5d962aab436d3f9eb033ef6be953
      
https://github.com/OpenSIPS/opensips/commit/62ce85fc187c5d962aab436d3f9eb033ef6be953
  Author: franklyfox <[email protected]>
  Date:   2013-10-01 (Tue, 01 Oct 2013)

  Changed paths:
    M modules/event_rabbitmq/event_rabbitmq.c
    M modules/event_rabbitmq/event_rabbitmq.h
    M modules/event_rabbitmq/rabbitmq_send.c
    M modules/event_rabbitmq/rabbitmq_send.h

  Log Message:
  -----------
  enable rabbitmq heartbeat to solve processes hang by amqp socket


  Commit: 8c216598b192335501d8462ab1dada2e22b4d5ae
      
https://github.com/OpenSIPS/opensips/commit/8c216598b192335501d8462ab1dada2e22b4d5ae
  Author: franklyfox <[email protected]>
  Date:   2013-10-04 (Fri, 04 Oct 2013)

  Changed paths:
    M modules/event_rabbitmq/event_rabbitmq.c

  Log Message:
  -----------
  enable rabbitmq heartbeat to solve issues of hanging SIP processing because 
of a broken amqp socket

This implementation enabled the rabbitmq's client side's heartbeat negotiation.

Issue:
Because of TCP's nature, it takes very long time for a TCP peer to make the 
decision of closing a local socket when the connection actually is broken. The 
event_rabbitmq module didn't handle the situation which causes the Opensips1.9 
stop processing UDP packets until the O.S decides to close the local socket. 
One of the consequence is that UAC cannot register to the registrar during this 
time period.

Issue Reproduce:
1. Block an existing amqp connection from the rabbitmq-server that 
event_rabbitmq module connects to.
2. From the event_rabbitmq side, the UDP receive-buffer that Opensips uses 
should be full.

Solution:
If the module, even_rabbitmq/rabbitmq-client, doesn't get a heartbeat message 
from the rabbitmq-server within X seconds, the rabbitmq-client will kill the 
local socket connection actively.

Added a modparam:

modparam("event_rabbitmq", "heartbeat", [X seconds]


  Commit: a6090ec150cb5ce8f16e4def9302b6987b2cd522
      
https://github.com/OpenSIPS/opensips/commit/a6090ec150cb5ce8f16e4def9302b6987b2cd522
  Author: Răzvan Crainea <[email protected]>
  Date:   2013-11-01 (Fri, 01 Nov 2013)

  Changed paths:
    M modules/event_rabbitmq/event_rabbitmq.c
    M modules/event_rabbitmq/event_rabbitmq.h
    M modules/event_rabbitmq/rabbitmq_send.c
    M modules/event_rabbitmq/rabbitmq_send.h

  Log Message:
  -----------
  Merge pull request #100 from franklyfox/1.9_rabbitmq_heartbeat

enable rabbitmq heartbeat to solve issues of hanging SIP processing because of 
a broken amqp socket


Compare: 
https://github.com/OpenSIPS/opensips/compare/34df519c373a...a6090ec150cb
_______________________________________________
Devel mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

Reply via email to