Hello!

Sorry for English, I know only Russian .
There was a situation when it is necessary to control 1 IP address of the 
remote gateway from different sockets to kamailio. This is necessary to provide 
a backup bypass to a remote gateway through two independent Internet providers.
Previously, I used the dispatcher module, but in this situation it did not 
help, I want to understand it the way it should or it's a bug.

Here are the settings

                                                                           
------------(PROV-1)----------------\
                                                                           /    
                                                 \
                                                                         /      
                                                 (socket:udp:Y1.Y1.Y1.Y1:7060)
Remote GW (sip:A1.A1.A1.A1:5060)------ (INTERNET)                               
              KAMAILIO
                                                                         \      
                                                  (socket:udp:X1.X1.X1.X1:7060)
                                                                          \     
                                                 /
                                                                           
-----------(PROV-2)------------------/

kamailio.cfg
...
loadmodule "dispatcher.so"
#################################################################
    modparam("dispatcher", "db_url", "mysql://root:@localhost/kamailio510")
    modparam("dispatcher", "dst_avp", "$avp(test)")
    modparam("dispatcher", "flags", 2)
    modparam("dispatcher", "ds_ping_method", "OPTIONS")
    modparam("dispatcher", "ds_ping_interval", 30)
    modparam("dispatcher", "ds_probing_threshold", 1)
    modparam("dispatcher", "ds_inactive_threshold", 2)
    modparam("dispatcher", "ds_probing_mode", 1)

List gw dispatcher
]# kamcmd dispatcher.list
{
    NRSETS: 1
    RECORDS: {
                          SET: {
                                      ID: 1
                                      TARGETS: {
                                                            DEST: {
                                                                                
URI: sip:A1.A1.A1.A1:5060
                                                                                
FLAGS: AP
                                                                                
PRIORITY: 2
                                                                                
ATTRS: {
                                                                                
                    BODY: socket=udp:Y1.Y1.Y1.Y1:7060   
                                                                                
                    DUID: 
                                                                                
                    MAXLOAD: 0
                                                                                
                    WEIGHT: 0
                                                                                
                    RWEIGHT: 0
                                                                                
                    SOCKET: udp:Y1.Y1.Y1.Y1:7060
                                                                                
                 }
                                                                       }
                                                                 
                                                              DEST: {
                                                                                
 URI: sip:A1.A1.A1.A1:5060
                                                                                
 FLAGS: AP
                                                                                
 PRIORITY: 1
                                                                                
 ATTRS: {
                                                                                
                          BODY: socket=udp:X1.X1.X1.X1:7060
                                                                                
                          DUID: 
                                                                                
                          MAXLOAD: 0
                                                                                
                          WEIGHT: 0
                                                                                
                          RWEIGHT: 0
                                                                                
                          SOCKET: udp:X1.X1.X1.X1:7060
                                                                                
                }
                                                                            }
                                                           }
                                        }
                            }
   }

Result if the remote gateway is not accessible through the network of the 
provider 2 (udp:X1.X1.X1.X1:7060), for the unknown reason the status of the 
first record, which corresponds to the provider 1 (udp:Y1.Y1.Y1.Y1:7060), 
changes.

There are no errors with sockets, OPTIONS packages are sent and a response of 
200 OK from the provider is received. 1. OPTIONS requests are sent through 
provider 2, but there are no answers. But the status changes for some reason at 
the first.

# kamcmd dispatcher.list
{
    NRSETS: 1
    RECORDS: {
                          SET: {
                                      ID: 1
                                      TARGETS: {
                                                            DEST: {
                                                                                
URI: sip:A1.A1.A1.A1:5060
                                                                                
FLAGS: IP
                                                                                
PRIORITY: 2
                                                                                
ATTRS: {
                                                                                
                    BODY: socket=udp:Y1.Y1.Y1.Y1:7060   
                                                                                
                    DUID: 
                                                                                
                    MAXLOAD: 0
                                                                                
                    WEIGHT: 0
                                                                                
                    RWEIGHT: 0
                                                                                
                    SOCKET: udp:Y1.Y1.Y1.Y1:7060
                                                                                
                 }
                                                                       }
                                                                 
                                                              DEST: {
                                                                                
 URI: sip:A1.A1.A1.A1:5060
                                                                                
 FLAGS: AP
                                                                                
 PRIORITY: 1
                                                                                
 ATTRS: {
                                                                                
                          BODY: socket=udp:X1.X1.X1.X1:7060
                                                                                
                          DUID: 
                                                                                
                          MAXLOAD: 0
                                                                                
                          WEIGHT: 0
                                                                                
                          RWEIGHT: 0
                                                                                
                          SOCKET: udp:X1.X1.X1.X1:7060
                                                                                
                }
                                                                            }
                                                           }
                                        }
                            }
   }

At testing it was found out, that камаилио does not allow to supervise a 
condition at use my circuit.  I tried on 5.0.3 and on 5.1.0 the dispatcher 
works similarly.
Please help with advice.

                                                          
Best regards
Evgeniy
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to