[OpenSIPS-Users] How to process CANCEL in b2b anycast mode?
Denys Pozniak
denys.pozniak at gmail.com
Thu Jan 19 15:25:32 UTC 2023
Hello!
Sorry for bumping the topic up.
Does anyone have any ideas about what could be the source of this problem?
вт, 17 янв. 2023 г. в 10:59, Denys Pozniak <denys.pozniak at gmail.com>:
> Hello!
>
> I'm trying to build a solution with anycast + b2b.
> 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).
> If I turn off b2b, then everything works as it should. I attached a part
> of the script in the thread.
>
> Maybe I have an error in the logic of the script?
>
> Script snippet from node1:
>
> loadmodule "clusterer.so"
> modparam("clusterer", "db_mode", 0)
> modparam("clusterer", "my_node_id", 1)
> modparam("clusterer", "my_node_info", "cluster_id=1, url=bin:
> 192.168.56.104:5566, flags=seed")
> modparam("clusterer", "neighbor_node_info",
> "cluster_id=1,node_id=2,url=bin:192.168.56.105:5566")
> modparam("clusterer", "sharing_tag", "anycast1/1=active")
> modparam("clusterer", "seed_fallback_interval", 10)
>
> loadmodule "b2b_entities.so"
> modparam("b2b_entities", "script_req_route", "b2b_request")
> modparam("b2b_entities", "script_reply_route", "b2b_reply")
> modparam("b2b_entities", "db_mode", 0)
> modparam("b2b_entities", "cluster_id", 1)
>
> loadmodule "b2b_logic.so"
> modparam("b2b_logic", "contact_user", 1)
> modparam("b2b_logic", "db_mode", 0)
>
> ####### Routing Logic ########
>
> route{
>
> sl_send_reply(100, "Trying-1");
> create_dialog();
> set_dlg_sharing_tag("anycast1");
>
> if (is_method("INVITE") && !has_totag() ) {
> $du = "sip:192.168.56.106:5080";
> b2b_init_request("top hiding");
> exit;
> }
>
> #route(b2b_request);
> exit;
> }
>
> route[b2b_request] {
>
> if (is_method("CANCEL")) {
> sl_send_reply(100, "Canceling-1");
> if (t_check_trans()) {
> b2b_pass_request();
>
> } else {
> t_anycast_replicate();
> }
>
> exit;
> }
> }
>
> [root at localhost opensips]# opensips-cli -x mi clusterer_list_cap
> {
> "Clusters": [
> {
> "cluster_id": 1,
> "Capabilities": [
> {
> "name": "b2be-entities-repl",
> "state": "Ok",
> "enabled": "yes"
> },
> {
> "name": "dialog-dlg-repl",
> "state": "Ok",
> "enabled": "yes"
> },
> {
> "name": "tm-repl",
> "state": "Ok",
> "enabled": "yes"
> }
> ]
> }
> ]
> }
>
> [root at localhost opensips]# opensips -V
> version: opensips 3.4.0-dev (x86_64/linux)
> 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
> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
> MAX_URI_SIZE 1024, BUF_SIZE 65535
> poll method support: poll, epoll, sigio_rt, select.
> git revision: dda7717fa
> main.c compiled on 05:45:40 Jan 15 2023 with gcc 4.8.5
>
> --
>
> BR,
> Denys Pozniak
>
>
>
--
BR,
Denys Pozniak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20230119/2a8b9934/attachment.html>
More information about the Users
mailing list