Hi,
I recently started using opensips and installed 3.0 version by following the 
steps available at opensips.org. My requirement is just to set up Opensips as 
load-balancer between two backend sip servers (actually two freeswitch servers) 
which will be working as registrars and call routing servers. So my opensips 
will just be load balancing REGISTER and INVITEs to my two backend freeswitch 
servers.
After installing the opensips, I've tried route scripts mentioned on the 
following two links but none of them is working and calls are always failed 
with 404 not found.
https://www.opensips.org/Documentation/Tutorials-LoadBalancing-1-9https://freeswitch.org/confluence/display/FREESWITCH/Enterprise+deployment+OpenSIPS
I am attaching my configuration details in the text file here. 
Can someone please help me further what exact or minimal configuration and 
routing script required at opensips side to accept my traffic and load balance 
as mentioned above? Also, can someone please let me know a good tutorial/link 
where basic call routing, endpoints definition or related information for 
opensips are explained and will be helpful for me to start off with the call 
testing. Thanks in advance
Regards

root@ubuntu:~#
root@ubuntu:~# mysql -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 90
Server version: 5.7.28-0ubuntu0.16.04.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| opensips           |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> use opensips
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from load_balancer;
+----+----------+-------------------+-----------+------------+-------------+
| id | group_id | dst_uri           | resources | probe_mode | description |
+----+----------+-------------------+-----------+------------+-------------+
|  1 |        1 | sip:192.168.50.133 | pstn=32   |          1 | FS1         |
|  2 |        1 | sip:192.168.50.134 | pstn=32   |          1 | FS2         |
+----+----------+-------------------+-----------+------------+-------------+
2 rows in set (0.00 sec)

mysql> select * from dispatcer;
ERROR 1146 (42S02): Table 'opensips.dispatcer' doesn't exist
mysql> select * from dispatcher;
+----+-------+-------------------+--------+-------+--------+----------+-------+-------------------+
| id | setid | destination       | socket | state | weight | priority | attrs | 
description       |
+----+-------+-------------------+--------+-------+--------+----------+-------+-------------------+
|  1 |     1 | sip:192.168.50.133 |        |     0 | 50     |        0 | FS1   
| Outbound Gateway1 |
|  2 |     1 | sip:192.168.50.134 |        |     0 | 50     |        0 | FS2   
| Outbound Gateway2 |
+----+-------+-------------------+--------+-------+--------+----------+-------+-------------------+
2 rows in set (0.00 sec)

mysql> quit
Bye
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~# cd /usr/local/etc/opensips/
root@ubuntu:/usr/local/etc/opensips# more opensips.cfg
#
# OpenSIPS loadbalancer script
#     by OpenSIPS Solutions <t...@opensips-solutions.com>
#
# This script was generated via "make menuconfig", from
#   the "Load Balancer" scenario.
# You can enable / disable more features / functionalities by
#   re-generating the scenario with different options.
#
# Please refer to the Core CookBook at:
#      http://www.opensips.org/Resources/DocsCookbooks
# for a explanation of possible statements, functions and parameters.
#


####### Global Parameters #########

log_level=3
log_stderror=no
log_facility=LOG_LOCAL0

children=4

/* uncomment the following lines to enable debugging */
#debug_mode=yes

/* uncomment the next line to enable the auto temporary blacklisting of
   not available destinations (default disabled) */
#disable_dns_blacklist=no

/* uncomment the next line to enable IPv6 lookup after IPv4 dns
   lookup failures (default disabled) */
#dns_try_ipv6=yes

/* comment the next line to enable the auto discovery of local aliases
   based on reverse DNS on IPs */
auto_aliases=no


listen=udp:192.168.50.171:5060   # CUSTOMIZE ME





####### Modules Section ########

#set module path
mpath="/usr/local//lib64/opensips/modules/"



#### SIGNALING module
loadmodule "signaling.so"

loadmodule "event_xmlrpc.so"
loadmodule "textops.so"
#### StateLess module
loadmodule "sl.so"

#### Transaction Module
loadmodule "tm.so"
modparam("tm", "fr_timeout", 5)
modparam("tm", "fr_inv_timeout", 30)
modparam("tm", "restart_fr_on_each_reply", 0)
modparam("tm", "onreply_avp_mode", 1)

#### Record Route Module
loadmodule "rr.so"
/* do not append from tag to the RR (no need for this script) */
modparam("rr", "append_fromtag", 0)

#### MAX ForWarD module
loadmodule "maxfwd.so"

#### SIP MSG OPerationS module
loadmodule "sipmsgops.so"

#### FIFO Management Interface
loadmodule "mi_fifo.so"
modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")
modparam("mi_fifo", "fifo_mode", 0666)

#### MYSQL module
loadmodule "db_mysql.so"

#### AVPOPS module
loadmodule "avpops.so"

#### ACCounting module
loadmodule "acc.so"
/* what special events should be accounted ? */
modparam("acc", "early_media", 0)
modparam("acc", "report_cancels", 0)
/* by default we do not adjust the direct of the sequential requests.
   if you enable this parameter, be sure the enable "append_fromtag"
   in "rr" module */
modparam("acc", "detect_direction", 0)


#### DIALOG module
loadmodule "dialog.so"
modparam("dialog", "dlg_match_mode", 1)
modparam("dialog", "default_timeout", 21600)  # 6 hours timeout
modparam("dialog", "db_mode", 2)
modparam("dialog", "db_url", "mysql://root:opensips@localhost") # CUSTOMIZE ME


#### LOAD BALANCER module
loadmodule "load_balancer.so"
modparam("load_balancer", "db_url", "mysql://root:opensips@localhost") # 
CUSTOMIZE ME
modparam("load_balancer", "probing_method", "OPTIONS")

modparam("load_balancer", "probing_interval", 30)

loadmodule "dispatcher.so"
modparam("dispatcher", "db_url", "mysql://root:opensips@localhost")
#modparam("dispatcher", "ds_ping_method", "OPTIONS")
#modparam("dispatcher", "ds_ping_interval", 5)
#modparam("dispatcher", "ds_probing_threshhold", 2)
#modparam("dispatcher", "ds_probing_mode", 1)



loadmodule "proto_udp.so"




####### Routing Logic ########


# main request routing logic

route{
        if (is_method("INVITE")) {
                if (!load_balance("1","pstn","1")) {
                        send_reply("503","Service Unavailable");
                        exit;
                }
        }
        else if (is_method("REGISTER")) {
                if (!ds_select_dst("1", "0")) {
                        send_reply("503","Service Unavailable");
                        exit;
                }
        }
        else {
                send_reply("405","Method Not Allowed");
                exit;
        }

        if ( is_method("CANCEL") ) {
                if ( t_check_trans() )
                        t_relay();
                exit;
        }
                # route the request
        if (!t_relay()) {
                sl_reply_error();
        }
}
root@ubuntu:/usr/local/etc/opensips#
root@ubuntu:/usr/local/etc/opensips# ps -ef | grep -i opensips
root       8010      1  0 Dec11 ?        00:00:00 opensips -v
root       8011   8010  0 Dec11 ?        00:00:00 opensips -v
root       8012   8010  0 Dec11 ?        00:20:54 opensips -v
root       8013   8010  0 Dec11 ?        00:05:02 opensips -v
root       8014   8010  0 Dec11 ?        00:00:51 opensips -v
root       8015   8010  0 Dec11 ?        00:00:46 opensips -v
root       8016   8010  0 Dec11 ?        00:00:44 opensips -v
root       8017   8010  0 Dec11 ?        00:00:58 opensips -v
root       8018   8010  0 Dec11 ?        00:02:42 opensips -v
root      13717  13689  0 23:39 pts/0    00:00:00 grep --color=auto -i opensips
root@ubuntu:/usr/local/etc/opensips# netstat -alnp | grep opensips
udp        0      0 192.168.50.171:5060      0.0.0.0:*                          
 8010/opensips
unix  2      [ ]         STREAM     CONNECTED     163030   8018/opensips
unix  2      [ ]         STREAM     CONNECTED     163029   8010/opensips
unix  2      [ ]         DGRAM                    132057   8010/opensips
unix  2      [ ]         STREAM     CONNECTED     132067   8016/opensips
unix  2      [ ]         STREAM     CONNECTED     132063   8014/opensips
unix  2      [ ]         STREAM     CONNECTED     132065   8015/opensips
unix  2      [ ]         DGRAM                    132054   8010/opensips
unix  2      [ ]         STREAM     CONNECTED     132061   8011/opensips
unix  2      [ ]         STREAM     CONNECTED     132070   8017/opensips
root@ubuntu:/usr/local/etc/opensips# /etc/init.d/opensips
Usage: /etc/init.d/opensips {start|stop|restart|force-reload|status}
root@ubuntu:/usr/local/etc/opensips# /etc/init.d/opensips status
● opensips.service - LSB: Start the OpenSIPS SIP server
   Loaded: loaded (/etc/init.d/opensips; bad; vendor preset: enabled)
   Active: active (exited) since Sun 2019-12-15 22:49:42 PST; 24h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 12868 ExecStop=/etc/init.d/opensips stop (code=exited, 
status=0/SUCCESS)
  Process: 12983 ExecStart=/etc/init.d/opensips start (code=exited, 
status=0/SUCCESS)

Dec 15 22:49:42 ubuntu /usr/local/sbin/opensips[13006]: INFO:textops:mod_init: 
initializing...
Dec 15 22:49:42 ubuntu /usr/local/sbin/opensips[13006]: INFO:rr:mod_init: rr - 
initializing
Dec 15 22:49:42 ubuntu /usr/local/sbin/opensips[13006]: INFO:maxfwd:mod_init: 
initializing...
Dec 15 22:49:42 ubuntu /usr/local/sbin/opensips[13006]: 
INFO:sipmsgops:mod_init: initializing...
Dec 15 22:49:42 ubuntu /usr/local/sbin/opensips[13006]: 
INFO:core:evi_publish_event: Registered event <E_MYSQL_CONNECTION(4)>
Dec 15 22:49:42 ubuntu /usr/local/sbin/opensips[13006]: 
INFO:avpops:avpops_init: initializing...
Dec 15 22:49:42 ubuntu /usr/local/sbin/opensips[13006]: INFO:dialog:mod_init: 
Dialog module - initializing
Dec 15 22:49:42 ubuntu /usr/local/sbin/opensips[13006]: 
INFO:core:evi_publish_event: Registered event <E_DLG_STATE_CHANGED(5)>
Dec 15 22:49:42 ubuntu opensips[12983]:  already running   ...done.
Dec 15 22:49:42 ubuntu systemd[1]: Started LSB: Start the OpenSIPS SIP server.
root@ubuntu:/usr/local/etc/opensips#
root@ubuntu:/usr/local/etc/opensips#
root@ubuntu:/usr/local/etc/opensips#
root@ubuntu:/usr/local/etc/opensips# tcpdump -i any port 5060
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
23:45:38.152130 IP 192.168.50.154.4932 > 192.168.50.171.sip: SIP: INVITE 
sip:43215@192.168.50.171 SIP/2.0
23:45:38.154313 IP 192.168.50.171.sip > 192.168.50.154.4932: SIP: SIP/2.0 100 
Giving it a try
23:45:38.154562 IP 192.168.50.171.sip > 192.168.50.154.4932: SIP: SIP/2.0 404 
Not Found
23:45:38.158486 IP 192.168.50.154.4932 > 192.168.50.171.sip: SIP: ACK 
sip:43215@192.168.50.171 SIP/2.0
^C
4 packets captured
4 packets received by filter
0 packets dropped by kernel
root@ubuntu:/usr/local/etc/opensips# opensips-cli -v
OpenSIPS CLI 0.1.0
root@ubuntu:/usr/local/etc/opensips# opensips -v
Listening on
             udp: 192.168.50.171 [192.168.50.171]:5060
Aliases:

root@ubuntu:/usr/local/etc/opensips#
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to