[OpenSIPS-Users] dialog replication
Vlad Patrascu
vladp at opensips.org
Mon Mar 5 13:08:14 EST 2018
Hi Pasan,
You could have another OpenSIPS instance that exposes the service IP, in
front of the 2 clustered HA nodes. Calls would first land on this box
and then would be dispatched to one of the 2 floating IPs. You could for
example hash over the From tag or Callid in order to send to the same IP.
Regards,
Vlad Patrascu
OpenSIPS Developer
http://www.opensips-solutions.com
On 01.03.2018 03:21, Pasan Meemaduma via Users wrote:
> Hi Vlad,
>
> Thanks for your response. I think I'll have to wait until 2.4
> transaction replication come in to action if I am to go with anycast
> ip. I didn't understand how it would solve with 2 moveable ips. how do
> i make sure dialog will tie to a particular ip ?
>
>
> On Wednesday, 28 February 2018, 17:04, Vlad Patrascu
> <vladp at opensips.org> wrote:
>
>
> Hi,
> Yes, you are correct, this is currently a limitation. But it could
> also work in an "active/active" sort of setup if you have 2 movable
> IPs and each dialog is tied to one of the IPs. Full anycast support
> though is coming up in OpenSIPS 2.4.
> Regards,
> Vlad Patrascu
> OpenSIPS Developer
> http://www.opensips-solutions.com <http://www.opensips-solutions.com/>
> On 28.02.2018 04:46, Pasan Meemaduma via Users wrote:
>> Hi Vlad,
>>
>> On a second thought its how anycast should work, packets could get to
>> the closest node so basically with 2.3.3 we can't replicate
>> transactions across mulitple opensips servers ? dialog replication
>> would only work for an active/passive setup doesn't it ?
>>
>>
>>
>> On Wednesday, 28 February 2018, 7:36, Pasan Meemaduma via Users
>> <users at lists.opensips.org> <mailto:users at lists.opensips.org> wrote:
>>
>>
>> Hi Vlad,
>>
>> That explains the issue then, my sip listener ip is an anycast one,
>> and for some weired reason replies for INVITE that leaves node2
>> receive by node1 hence it can't create the dialog. I checked with
>> node2 being down and recovered and calls init via node1 always
>> received final reply hence dialog replication works. So it means my
>> anycast configuration is broken right ? Thanks for you time to look
>> in to it.
>>
>>
>> On Tuesday, 27 February 2018, 21:42, Vlad Patrascu
>> <vladp at opensips.org> <mailto:vladp at opensips.org> wrote:
>>
>>
>> Hi Pasan,
>> I don't see anything in the logs or your cluster configuration which
>> could indicate that the dialogs don't replicate. Are you sure that
>> the problem is consistently reproducible and that the INVITE for the
>> call in question receives a final reply? Dialogs are replicated when
>> they get to the confirmed state, and judging from the logs, this
>> doesn't appear to be happening for that call.
>> Regards,
>> Vlad Patrascu
>> OpenSIPS Developer
>> http://www.opensips-solutions.com <http://www.opensips-solutions.com/>
>> On 27.02.2018 04:15, Pasan Meemaduma via Users wrote:
>>> Hi Vlad,
>>>
>>> I have sent you the full debug logs as requested. Also
>>> clusterer_list mi command gives following output when dialog
>>> replication stopped working.
>>>
>>> node1>>opensipsctl fifo clusterer_list
>>> Cluster:: 1
>>> Node:: 2 DB_ID=5 URL=bin:10.3.1.137:5566 Enabled=1
>>> Link_state=Up Next_hop=2 Description=Node 2
>>>
>>>
>>> node2>> opensipsctl fifo clusterer_list
>>> Cluster:: 1
>>> Node:: 1 DB_ID=4 URL=bin:10.3.1.136:5566 Enabled=1
>>> Link_state=Up Next_hop=1 Description=Node 1
>>> 1
>>>
>>>
>>>
>>> On Monday, 26 February 2018, 18:02, Vlad Patrascu
>>> <vladp at opensips.org> <mailto:vladp at opensips.org> wrote:
>>>
>>>
>>> Hi,
>>> Can you send the full logs for both nodes from the time that node1
>>> restarts onwards? Also, what is the output of 'clusterer_list' mi
>>> command on the instances?
>>> Regards,
>>> Vlad Patrascu
>>> OpenSIPS Developer
>>> http://www.opensips-solutions.com <http://www.opensips-solutions.com/>
>>> On 26.02.2018 08:38, Pasan Meemaduma via Users wrote:
>>>> Hi Guys,
>>>>
>>>> Its me again :). I'm using dialog replication in opensips 2.3.3 and
>>>> it appears it doesn't work after a node goes down and come back
>>>> online. The recovered node
>>>> doesn't seems to receiving dialog info via binary interface.
>>>>
>>>> I have node1 and node2 with dialog replication on. everything works
>>>> fine and if I shutdown node1 and bring it back online after a while
>>>> node2 doesn't send new call dialog info via binary interface.
>>>>
>>>> I have attach the debug trace from both nodes, if you need anything
>>>> else let me know. I'm also using an anycast ip as the service ip.
>>>>
>>>>
>>>> on node2 for new call
>>>>
>>>> Feb 26 17:28:35 voip2-sip23b /usr/sbin/opensips[4703]:
>>>> DBG:dialog:build_new_dlg: new dialog 0x7f188afd3bf8
>>>> (c=ktQ0Pkdwz50qGYjED6Brpw..,f=sip:XXXXXXXXX at somedomain;transport=UDP,t=sip:+YYYYYYYYYYY at somedomain;transport=UDP,ft=2b161508)
>>>> on hash 2317
>>>> Feb 26 17:28:35 voip2-sip23b /usr/sbin/opensips[4703]:
>>>> DBG:dialog:init_leg_info: route_set , contact
>>>> sip:XXXXXXXXX at 192.168.27.11:56419;transport=UDP
>>>> <mailto:sip:XXXXXXXXX at 192.168.27.11:56419;transport=UDP>, cseq 2
>>>> and bind_addr udp:10.3.3.1:5060
>>>> Feb 26 17:28:35 voip2-sip23b /usr/sbin/opensips[4703]:
>>>> DBG:dialog:dlg_add_leg_info: set leg 0 for 0x7f188afd3bf8:
>>>> tag=<2b161508> rcseq=<0>
>>>> Feb 26 17:28:35 voip2-sip23b /usr/sbin/opensips[4703]:
>>>> DBG:dialog:link_dlg: ref dlg 0x7f188afd3bf8 with 3 -> 3 in h_entry
>>>> 0x7f188afc3828 - 2317
>>>> Feb 26 17:28:35 voip2-sip23b /usr/sbin/opensips[4703]:
>>>> DBG:dialog:new_dlg_val: inserting
>>>> <exe-callid>=<45ad4c76-1abe-11e8-9410-831894b67d0c>
>>>> Feb 26 17:28:35 voip2-sip23b /usr/sbin/opensips[4703]:
>>>> DBG:dialog:dlg_onreq: t hash_index = 47425, t label = 2069082013
>>>> Feb 26 17:28:35 voip2-sip23b /usr/sbin/opensips[4703]:
>>>> DBG:dialog:dlg_update_contact: Updated dialog 0x7f188afd3bf8
>>>> contact to <sip:XXXXXXXXX at 192.168.27.11:56419;transport=UDP>
>>>> <mailto:sip:XXXXXXXXX at 192.168.27.11:56419;transport=UDP>
>>>> Feb 26 17:28:35 voip2-sip23b /usr/sbin/opensips[4703]:
>>>> DBG:dialog:unref_dlg: unref dlg 0x7f188afd3bf8 with 1 -> 2 in entry
>>>> 0x7f188afc3828
>>>> Feb 26 17:28:52 voip2-sip23b /usr/sbin/opensips[4702]:
>>>> DBG:dialog:ref_dlg: ref dlg 0x7f188afd3bf8 with 1 -> 3
>>>> Feb 26 17:28:52 voip2-sip23b /usr/sbin/opensips[4702]:
>>>> DBG:dialog:ref_dlg: ref dlg 0x7f188afd3bf8 with 1 -> 4
>>>> Feb 26 17:28:52 voip2-sip23b /usr/sbin/opensips[4702]:
>>>> DBG:dialog:unref_dlg: unref dlg 0x7f188afd3bf8 with 1 -> 3 in entry
>>>> 0x7f188afc3828
>>>> Feb 26 17:28:56 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:unref_dlg: unref dlg 0x7f188afd3bf8 with 1 -> 2 in entry
>>>> 0x7f188afc3828
>>>> Feb 26 17:29:05 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:next_state_dlg: dialog 0x7f188afd3bf8 changed from state
>>>> 1 to state 5, due event 4
>>>> Feb 26 17:29:05 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:dlg_onreply: dialog 0x7f188afd3bf8 failed (negative reply)
>>>> Feb 26 17:29:05 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:unref_dlg: unref dlg 0x7f188afd3bf8 with 1 -> 1 in entry
>>>> 0x7f188afc3828
>>>> Feb 26 17:29:11 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:next_state_dlg: dialog 0x7f188afd3bf8 changed from state
>>>> 5 to state 5, due event 1
>>>> Feb 26 17:29:11 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:unref_dlg: unref dlg 0x7f188afd3bf8 with 1 -> 0 in entry
>>>> 0x7f188afc3828
>>>> Feb 26 17:29:11 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f188afd3bf8
>>>> Feb 26 17:29:11 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:destroy_dlg: destroying dialog 0x7f188afd3bf8
>>>> Feb 26 17:29:11 voip2-sip23b /usr/sbin/opensips[4711]:
>>>> DBG:dialog:destroy_dlg: dlg expired or not in list - dlg
>>>> 0x7f188afd3bf8 [2317:677053409] with clid
>>>> 'ktQ0Pkdwz50qGYjED6Brpw..' and tags '2b161508' 'NULL'
>>>>
>>>>
>>>> on node1
>>>>
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15820]:
>>>> DBG:dialog:dlg_onroute: route param is 'd09.1e30b582' (len=12)
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15820]:
>>>> DBG:dialog:lookup_dlg: no dialog id=677053409 found on entry 2317
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15820]:
>>>> DBG:dialog:dlg_onroute: unable to find dialog for BYE with route
>>>> param 'd09.1e30b582'
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15822]:
>>>> DBG:dialog:dlg_onroute: route param is 'd09.1e30b582' (len=12)
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15822]:
>>>> DBG:dialog:lookup_dlg: no dialog id=677053409 found on entry 2317
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15822]:
>>>> DBG:dialog:dlg_onroute: unable to find dialog for BYE with route
>>>> param 'd09.1e30b582'
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15822]:
>>>> DBG:dialog:dlg_onroute: route param is 'd09.1e30b582' (len=12)
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15822]:
>>>> DBG:dialog:lookup_dlg: no dialog id=677053409 found on entry 2317
>>>> Feb 26 17:28:41 voip2-sip23a /usr/sbin/opensips[15822]:
>>>> DBG:dialog:dlg_onroute: unable to find dialog for BYE with route
>>>> param 'd09.1e30b582'
>>>> Feb 26 17:28:42 voip2-sip23a /usr/sbin/opensips[15820]:
>>>> DBG:dialog:dlg_onroute: route param is 'd09.1e30b582' (len=12)
>>>> Feb 26 17:28:42 voip2-sip23a /usr/sbin/opensips[15820]:
>>>> DBG:dialog:lookup_dlg: no dialog id=677053409 found on entry 2317
>>>> Feb 26 17:28:42 voip2-sip23a /usr/sbin/opensips[15820]:
>>>> DBG:dialog:dlg_onroute: unable to find dialog for BYE with route
>>>> param 'd09.1e30b582'
>>>> Feb 26 17:28:42 voip2-sip23a /usr/sbin/opensips[15820]:
>>>> DBG:dialog:dlg_onroute: route param is 'd09.1e30b582' (len=12)
>>>> Feb 26 17:28:42 voip2-sip23a /usr/sbin/opensips[15820]:
>>>> DBG:dialog:lookup_dlg: no dialog id=677053409 found on entry 2317
>>>>
>>>>
>>>> If I purposely take down node1 again and try to make a call I can
>>>> see that it indicates the failure to replicate dialog info on the
>>>> cluster as below,
>>>>
>>>> Feb 26 17:27:01 voip2-sip23b /usr/sbin/opensips[4701]:
>>>> ERROR:dialog:replicate_dialog_updated: All destinations in cluster:
>>>> 1 are down or probing
>>>> Feb 26 17:27:01 voip2-sip23b /usr/sbin/opensips[4701]:
>>>> ERROR:dialog:replicate_dialog_updated: Failed to replicate updated
>>>> dialog
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20180305/9f7eef61/attachment-0001.html>
More information about the Users
mailing list