[OpenSER-Users] Unable to configure LCR in openser - problem with next_gw()?

Miodrag Radulovic mradulovic at comutel.co.yu
Sat Jul 21 21:45:29 CEST 2007


Hello everyone! Please help...

I've started testing openser 1.2.1 few weeks ago (on freebsd 6.2, I've got it from freebsd port collection) and I simple can not make LCR work at all. I spent last few hours reading almost all the posts on this mailing list and I can see it is working but I can not figure it out why mine configuration is not...

For simple start - I want all calls where destination number starts with 9 to be routed to PSTN GW.

So I made these entries in LCR tables:

[root at santos /var/log]# openserctl lcr show
lcr routes
+----+--------+----------+--------+----------+
| id | prefix | from_uri | grp_id | priority |
+----+--------+----------+--------+----------+
| 10 | 9      | %        |      1 |        1 | 
+----+--------+----------+--------+----------+
lcr gateway groups
+--------+----------+
| grp_id | grp_name |
+--------+----------+
|      1 | comutel  | 
+--------+----------+
lcr gateways
+---------+---------------+------+------------+-----------+--------+-------+--------+
| gw_name | ip_addr       | port | uri_scheme | transport | grp_id | strip | prefix |
+---------+---------------+------+------------+-----------+--------+-------+--------+
| c2811   | 192.168.253.1 | 5060 |          1 |         1 |      1 |     0 |        | 
+---------+---------------+------+------------+-----------+--------+-------+--------+

For openser.cfg itself I've started with sip:wizard configuration template (SIP Proxy/Registrar with Offnet-Termination and Accounting) then I made some necessary changes (I do not have Mediaproxy or RTPproxy and added domain and populated trusted table).

But when I dial 93016576 I always have this error message in xlog output:

Jul 19 18:50:24 santos /usr/local/sbin/openser[1412]: No PSTN gateways available - M=INVITE RURI=sip:93016576 at 192.168.253.205:5060 F=sip:lvs1 at 192.168.253.205:5060 T=sip:93016576 at 192.168.253.205:5060 IP=192.168.253.202 ID=676c7a05-4bcd2745 at 192.168.253.202

Here is part of openser.cfg where next_gw() fails:

route[10]
{
        if(isflagset(20))
        {

                xlog("L_INFO", "Call to foreign domain - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
                route(6);
                exit;
        }

        route(12);
        if(!isflagset(23))
        {
                # don't allow calls relaying from PSTN to PSTN, if not explicitely forwarded
                if(uri =~ "^sip:[0-9]+@")
                {
                        # only route numeric users to PSTN
                        if(!load_gws())
                        {

                                xlog("L_ERR", "Error loading PSTN gateways - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
                                sl_send_reply("503", "PSTN Termination Currently Unavailable");
                                exit;
                        }
                        if(!next_gw())
                        {

                                xlog("L_ERR", "No PSTN gateways available - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
                                sl_send_reply("503", "PSTN Termination Currently Unavailable");
                                exit;
                        }
                        setflag(21);

                        t_on_failure("1");
                        route(6);
                }
        }

        xlog("L_INFO", "Call to unknown user - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
        route(3);
        sl_send_reply("404", "User Not Found");
        exit;
}

I believe that I've made some errors in LCR routes entries, but documentation is really sparse on this issue...

Please note - I've tried replacing "%" with empty string in from_uri column in routes table but then openser was not able to startup:

[root at santos /var/log]# openserctl lcr rmroute 9 % 1 1
MySql password for user 'openser at localhost': 
200 OK

[root at santos /var/log]# openserctl lcr addroute 9 '' 1 1
MySql password for user 'openser at localhost': 
200 OK

[root at santos /var/log]# openserctl lcr show
lcr routes
+----+--------+----------+--------+----------+
| id | prefix | from_uri | grp_id | priority |
+----+--------+----------+--------+----------+
| 11 | 9      |          |      1 |        1 | 
+----+--------+----------+--------+----------+
lcr gateway groups
+--------+----------+
| grp_id | grp_name |
+--------+----------+
|      1 | comutel  | 
+--------+----------+
lcr gateways
+---------+---------------+------+------------+-----------+--------+-------+--------+
| gw_name | ip_addr       | port | uri_scheme | transport | grp_id | strip | prefix |
+---------+---------------+------+------------+-----------+--------+-------+--------+
| c2811   | 192.168.253.1 | 5060 |          1 |         1 |      1 |     0 |        | 
+---------+---------------+------+------------+-----------+--------+-------+--------+

[root at santos /var/log]# openserctl restart 

Stopping OpenSER : \E[37;33mINFO: stopped

Starting OpenSER : 
\E[37;31mERROR: PID file /var/run/openser.pid does not exist -- OpenSER start failed

And here is relevant part from openser log output:

Jul 21 21:30:26 santos /usr/local/sbin/openser[10216]: ERROR:lcr:load_regex: bad from_uri re 
Jul 21 21:30:26 santos /usr/local/sbin/openser[10216]: ERROR: lcr:mod_init(): failed to reload gateways and routes
Jul 21 21:30:26 santos /usr/local/sbin/openser[10216]: init_mod(): Error while initializing module lcr

Please can someone help and point me in the right direction?

BR,
Miodrag






More information about the Users mailing list