[OpenSIPS-Users] RabbitMQ Timer Route Not Working

Kneeoh kneeoh at yahoo.com
Thu Jun 5 22:00:50 CEST 2014


That's correct, I move the ip via corosync by disabling the active node. Corosync does the moving automatically. The subscriber list never changes, and its odd that expire=never when I have it set to 5 in the opensips subscribe command.

root at opensips:/var/log# opensipsctl fifo subscribers_list
Event:: E_ACC_EVENT id=6
        Subscriber::  socket=rabbitmq:rabbitmq at 192.168.2.30/cdr1 expire=never
Event:: E_ACC_CDR id=7
        Subscriber::  socket=rabbitmq:rabbitmq at 192.168.2.30/cdr1 expire=never
Event:: E_ACC_MISSED_EVENT id=8
        Subscriber::  socket=rabbitmq:rabbitmq at 192.168.2.30/cdr1 expire=never
Event:: E_CHANNEL_LIMIT id=9
        Subscriber::  socket=rabbitmq:rabbitmq at 192.168.2.30/limits expire=never
Event:: E_CPS_LIMIT id=10
        Subscriber::  socket=rabbitmq:rabbitmq at 192.168.2.30/limits expire=never


I think it may have to do with the fact that the subscription to rabbit comes from the local IP of the haproxy not the VIP. Opensips talks to the VIP, the local IP on the proxy is what shows up on RabbitMQ as the channel. I would think this would resolve via the resubscription I'm doing in the timer route, but it's not.

               opensips
		  |
		  |
	192.168.2.30 (haproxy VIP)
	  /		  \
    	 /		   \
192.168.2.31 (haproxy01)    192.168.2.32 (haproxy02)
	    \		     /
	     \		    /	 
		 RabbitMQ01
		 RabbitMQ02
		 RabbitMQ03


On Thursday, June 5, 2014 11:33 AM, Bogdan-Andrei Iancu <bogdan at opensips.org> wrote:
So it seems the subscribing works fine. You can check that via the 
"subscribers_list" MI command (see 
http://www.opensips.org/Documentation/Interface-CoreMI-1-11#toc18).

The problem is when the actual event is generated - it looks like it 
cannot be delivered via the rabbitmq driver. What you do is you move the 
IP of the HAproxy on a different machine ?

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com




On 05.06.2014 17:31, Kneeoh wrote:
> Jun  5 14:19:24 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:19:24 opensips /usr/local/sbin/opensips[19027]: Subscribing to MISSED Event
> Jun  5 14:19:24 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:19:24 opensips /usr/local/sbin/opensips[19027]: Subscribing to CHANNEL Event
> Jun  5 14:19:24 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/limits
> Jun  5 14:19:24 opensips /usr/local/sbin/opensips[19027]: Subscribing to CPS Event
> Jun  5 14:19:24 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/limits
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19020]: Enforcing Limits
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19020]: Account Channel Limit OK. Channels Up: 0 Channel Limit: 1
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19020]: Call Rejected due to Account CPS Limit. CPS Limit: 0
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: Subscribing to CDR Event
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: Subscribing to ACC Event
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: Subscribing to MISSED Event
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: Subscribing to CHANNEL Event
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/limits
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: Subscribing to CPS Event
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/limits
> Jun  5 14:19:29 opensips /usr/local/sbin/opensips[19021]: ACK - Attempting to match dialog
> Jun  5 14:19:33 opensips /usr/local/sbin/opensips[19027]: Subscribing to CDR Event
> Jun  5 14:19:33 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:19:33 opensips /usr/local/sbin/opensips[19027]: Subscribing to ACC Event
> Jun  5 14:19:33 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:19:33 opensips /usr/local/sbin/opensips[19027]: Subscribing to MISSED Event
> Jun  5 14:19:33 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:19:33 opensips /usr/local/sbin/opensips[19027]: Subscribing to CHANNEL Event
>
>
>
> The above works and sends an event to RabbitMQ via 192.168.2.30 (the virtual IP of haproxy)
>
>
>
> FAIL OVER HAPROXY - IP moves to backup HAProxy identical to the first Opensips is none the wiser.
>
> NEW CALL
>
>
>
> Jun  5 14:20:17 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/limits
> Jun  5 14:20:20 opensips /usr/local/sbin/opensips[19020]: Enforcing Limits
> Jun  5 14:20:20 opensips /usr/local/sbin/opensips[19020]: Account Channel Limit OK. Channels Up: 0 Channel Limit: 1
> Jun  5 14:20:20 opensips /usr/local/sbin/opensips[19020]: Call Rejected due to Account CPS Limit. CPS Limit: 0
> Jun  5 14:20:20 opensips /usr/local/sbin/opensips[19012]: ERROR:event_rabbitmq:rmq_process: cannot send message
> Jun  5 14:20:20 opensips /usr/local/sbin/opensips[19012]: ERROR:event_rabbitmq:rmq_process: cannot send message
> Jun  5 14:20:20 opensips /usr/local/sbin/opensips[19012]: ERROR:event_rabbitmq:rmq_process: cannot send message
> Jun  5 14:20:20 opensips /usr/local/sbin/opensips[19021]: ACK - Attempting to match dialog
> Jun  5 14:20:21 opensips /usr/local/sbin/opensips[19027]: Subscribing to CDR Event
> Jun  5 14:20:21 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:20:21 opensips /usr/local/sbin/opensips[19027]: Subscribing to ACC Event
> Jun  5 14:20:21 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:20:21 opensips /usr/local/sbin/opensips[19027]: Subscribing to MISSED Event
> Jun  5 14:20:21 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/cdr1
> Jun  5 14:20:21 opensips /usr/local/sbin/opensips[19027]: Subscribing to CHANNEL Event
> Jun  5 14:20:21 opensips /usr/local/sbin/opensips[19027]: DBG:event_rabbitmq:rmq_match: socket matched: rabbitmq at 192.168.2.30:5672/limits
>
> FAILs to send event to RabbitMQ
>
>
>
> On Thursday, June 5, 2014 7:57 AM, Bogdan-Andrei Iancu <bogdan at opensips.org> wrote:
> Hi,
>
> Try to get some debug logs from that route. Do:
>
> timer_route[event_subscribe, 4] {
>    setdebug(4);
>    xlog("Subscribing from timer route....\n");
>    if (!subscribe_event("E_ACC_CDR", "rabbitmq:cdr:rabbit at 192.168.2.30/cdr1", 5)) {
>     xlog("L_INFO", "Can't connect to RabbitMQ \n");
>    }
>    setdebug();
> }
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
>
>
>
> On 02.06.2014 17:55, Kneeoh wrote:
>> After following the example here: http://www.opensips.org/Documentation/Tutorials-EventInterface
>>
>> Shouldn't this resubscribe every 4 seconds and expire in 5 (i.e. never)? in my script it's not subscribing to rabbit at all. I'm running version: Server:: OpenSIPS (1.10.1-notls (x86_64/linux))
>>
>> timer_route[event_subscribe, 4] {
>>     if (!subscribe_event("E_ACC_CDR", "rabbitmq:cdr:rabbit at 192.168.2.30/cdr1", 5)) {
>>      xlog("L_INFO", "Can't connect to RabbitMQ \n");
>>     }
>> }
>>
>> root at osips:/var/log# tcpdump -s0 -ni eth1 host 192.168.2.30
>> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
>> listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
>> ^C
>> 0 packets captured
>> 0 packets received by filter
>> 0 packets dropped by kernel
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users



More information about the Users mailing list