<div dir="ltr">Hello!<div><br>I'm trying to build a solution with anycast + b2b.</div><div>But I ran into a problem, if the dialogue is in an early state on node1, and CANCEL arrives on node2, then this request itself is no longer processed in the context of the b2b (does not jump into the route[b2b_request] on node2).<br></div><div>If I turn off b2b, then everything works as it should. I attached a part of the script in the thread.<br></div><div><br></div><div>Maybe I have an error in the logic of the script?<br></div><div><br></div><div>Script snippet from node1:</div><div><br></div><div>loadmodule "clusterer.so"<br>modparam("clusterer", "db_mode", 0)<br>modparam("clusterer", "my_node_id", 1)<br>modparam("clusterer", "my_node_info", "cluster_id=1, url=bin:<a href="http://192.168.56.104:5566">192.168.56.104:5566</a>, flags=seed")<br>modparam("clusterer", "neighbor_node_info", "cluster_id=1,node_id=2,url=bin:<a href="http://192.168.56.105:5566">192.168.56.105:5566</a>")<br>modparam("clusterer", "sharing_tag", "anycast1/1=active")<br>modparam("clusterer", "seed_fallback_interval", 10)<br></div><div><br></div>loadmodule "b2b_entities.so"<br>modparam("b2b_entities", "script_req_route", "b2b_request")<br>modparam("b2b_entities", "script_reply_route", "b2b_reply")<br>modparam("b2b_entities", "db_mode", 0)<br>modparam("b2b_entities", "cluster_id", 1)<br><br>loadmodule "b2b_logic.so"<br>modparam("b2b_logic", "contact_user", 1)<br>modparam("b2b_logic", "db_mode", 0)<br><br>####### Routing Logic ########<br><br>route{<br><br>        sl_send_reply(100, "Trying-1");<br>        create_dialog();<br>        set_dlg_sharing_tag("anycast1");<br><br>        if (is_method("INVITE") && !has_totag() ) {<br>                $du = "sip:<a href="http://192.168.56.106:5080">192.168.56.106:5080</a>";<br>                b2b_init_request("top hiding");<br>                exit;<br>        }<br><br>       #route(b2b_request);<br>        exit;<br>}<br><br>route[b2b_request] {<br><br>        if (is_method("CANCEL")) {<br>                sl_send_reply(100, "Canceling-1");<br>                if (t_check_trans()) {<br>                        b2b_pass_request();<br><br>                } else {<br>                        t_anycast_replicate();<br>                }<br><br>                exit;<br>        }<br>}<div><br></div><div>[root@localhost opensips]# opensips-cli -x mi clusterer_list_cap<br>{<br>    "Clusters": [<br>        {<br>            "cluster_id": 1,<br>            "Capabilities": [<br>                {<br>                    "name": "b2be-entities-repl",<br>                    "state": "Ok",<br>                    "enabled": "yes"<br>                },<br>                {<br>                    "name": "dialog-dlg-repl",<br>                    "state": "Ok",<br>                    "enabled": "yes"<br>                },<br>                {<br>                    "name": "tm-repl",<br>                    "state": "Ok",<br>                    "enabled": "yes"<br>                }<br>            ]<br>        }<br>    ]<br>}<br></div><div><br></div><div>[root@localhost opensips]# opensips -V<br>version: opensips 3.4.0-dev (x86_64/linux)<br>flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, CC_O0, FAST_LOCK-ADAPTIVE_WAIT<br>ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535<br>poll method support: poll, epoll, sigio_rt, select.<br>git revision: dda7717fa<br>main.c compiled on 05:45:40 Jan 15 2023 with gcc 4.8.5<br></div><div><br></div><div>--<br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><br><div><div>BR,</div><div>Denys Pozniak<br></div><div><br></div><div><br></div></div></div></div></div></div></div>