I'm trying to use the LCR module to do a failover between two gateways.
For testing purposes, I have a gateway record pointed at an IP that
isn't used. The problem is, I can't seem to get OpenSER to fail over to
the other gateway. I want to use TCP (with TLS when I'm done), but I get
this:
Jul 20 15:36:57 asiago /usr/sbin/openser[11896]: route[6]: routing to
INVITE sip:MYDID@MYIPADDRESS:5060;transport=tcp
Jul 20 15:37:17 asiago /usr/sbin/openser[11896]: ERROR:
tcp_blocking_connect: timeout (10)
Jul 20 15:37:17 asiago /usr/sbin/openser[11896]: ERROR: tcpconn_connect:
tcp_blocking_connect failed
Jul 20 15:37:17 asiago /usr/sbin/openser[11896]: ERROR: tcp_send:
connect failed
Jul 20 15:37:17 asiago /usr/sbin/openser[11896]: msg_send: ERROR:
tcp_send failed
Jul 20 15:37:17 asiago /usr/sbin/openser[11896]:
ERROR:tm:t_forward_nonack: sending request failed
(IP and username censored.)
OpenSER sends this to the caller:
SIP/2.0 477 Unfortunately error on sending to next hop occurred (477/TM)
Why can't I catch this with either the return code from t_relay or the
failure route?
It will go to the failure route if I get a reply back from the next hop.
But I need to fail to the other gateway.
The relevent parts of the configs are shown below. (Addresses censored.)
Any help would greatly appreciated.
Thanks,
---Nathan
Config snippet:
# ok, so maybe try a gateway...
if( load_gws() ) {
xlog("L_INFO","route[3]: gateway routing $rm $ru");
t_on_failure("1");
route(6);
return;
}
}
route[6] {
xlog("L_INFO","route[6]: $rm $ru");
t_on_failure("1");
t_on_reply("1");
if (!next_gw()) {
xlog("L_INFO","route[6]: no more gateways for $ru");
exit;
}
xlog("L_INFO","route[6]: routing to $rm $ru");
if(!t_relay()) {
xlog("L_INFO","route[6]: t_relay returned $rc");
sl_reply_error();
}
return;
}
failure_route[1] {
xlog("L_INFO","failure_route[1]: $rm $ru");
t_on_failure("1");
if(t_check_status("404")) {
xlog("L_INFO","failure_route[1]: failing call with 404 for $ru");
return;
}
if (!next_gw()) {
xlog("L_INFO","route[6]: no more gateways for $ru");
exit;
}
append_branch();
xlog("L_INFO","failure_route[1]: sending $rm $ru");
if(!t_relay()) {
xlog("L_INFO","route[6]: t_relay returned $rc");
}
return;
}
Gateways:
mysql> select * from gw where grp_id=4;
+---------+--------+-----------+------+------------+-----------+--------+
| gw_name | grp_id | ip_addr | port | uri_scheme | transport | prefix |
+---------+--------+-----------+------+------------+-----------+--------+
| ithaka | 4 | CENSORED | 5060 | NULL | 2 | NULL |
| larink | 4 | BAD_ADDRESS | 5060 | NULL | 2 | NULL |
+---------+--------+-----------+------+------------+-----------+--------+
2 rows in set (0.00 sec)
ithaka is a working OpenSER proxy. larink is an empty IP address. (There
used to be a server named larink.)
Hi list,
I am new two OpenSER. I installed OpenSER 1.1.0-notls and I need it
to listen on both 127.0.0.1 and one of my physical interface's IP address.
The manual page states:
% -l address Listens on the specified address/interface. Multiple -l
% mean listening on multiple addresses. The address format is
% [proto:]address[:port], where proto = udp|tcp and address =
% host|ip_address|interface_name. Example: -l localhost, -l
% udp:127.0.0.1:5080, -l eth0:5062. The default behaviour is
% to listen on all the ipv4 interfaces.
I tried the following command-line, without success. I cannot connect to
either one of the IP address I specified, depending on the order I provided
them :
% openser -u voipproxy -g voipproxy -l 84.xxx.xxx.xxx -l 127.0.0.1 -D -E
And in another terminal:
% # lsof -nPi4 -ap `pgrep -d, openser`
% COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
% openser 30837 voipproxy 5u IPv4 60272 UDP 84.xxx.xxx.xxx:5060
% openser 30838 voipproxy 5u IPv4 60272 UDP 84.xxx.xxx.xxx:5060
% openser 30839 voipproxy 5u IPv4 60272 UDP 84.xxx.xxx.xxx:5060
If I turn the command-line to:
% openser -u voipproxy -g voipproxy -l 127.0.0.1 -l 84.xxx.xxx.xxx -D -E
I get:
% # lsof -nPi4 -ap `pgrep -d, openser`
% COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
% openser 30845 voipproxy 5u IPv4 60382 UDP 127.0.0.1:5060
% openser 30846 voipproxy 5u IPv4 60382 UDP 127.0.0.1:5060
% openser 30847 voipproxy 5u IPv4 60382 UDP 127.0.0.1:5060
Note that in both case I get:
% Listening on
% udp: 84.xxx.xxx.xxx [84.xxx.xxx.xxx]:5060
% udp: 127.0.0.1 [127.0.0.1]:5060
% tcp: 84.xxx.xxx.xxx [84.xxx.xxx.xxx]:5060
% tcp: 127.0.0.1 [127.0.0.1]:5060
Except the order change, following the command-line.
I could have missed something and would be glad if someone pointed it
out to me.
Thank you.
Regards,
--
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >
Hi everybody.
I have the next enviroment.
OpenSer 1.1.X
MySQL 5.0
Linux Fedora 4
Architecture:
We have 4 servers one of them work like a LoadBalancer (openser proxy dispatcher), behind of it are the others 2 servers (openser) that have the function to kept the sessions, register, etc... they have the parameter in dbmode to 3 for kept out the cache system and the last is the MySQL DB that share the 2 sip servers.
The problem is that, when a phone register it the other server delete the register in table location like if it detect that the register expires.
Anybody have an idea of this type of performence?
Thank's advance..
---------------------------------
Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx
Hi,
While authorizing a user, auth_db only loads additional AVPs on success.
IMO it would also make sense to load them on failure, so you could
easily check if it's a known user with wrong credentials or an unknown
user.
It would especially be useful for fetching the uuid of the user although
authorization fails.
Any comments?
Andy
Hi,
I cant start Ser 0.9.6
I get the following error when I start it up
0(4628) set_mod_param_regex: parameter <db_url> not found in module <acc>
0(4628) parse error (87,20-21): Can't set module parameter
0(4628) set_mod_param_regex: parameter <db_missed_flag> not found in module
<acc>
0(4628) parse error (92,19-20): Can't set module parameter
0(4628) set_mod_param_regex: parameter <db_flag> not found in module <acc>
0(4628) parse error (93,19-20): Can't set module parameter
ERROR: bad config file (3 errors)
Here's my settings for the acc module - can anyone see whats wrong with it??
modparam("acc", "db_url", "mysql://ser:heslo@localhost/ser")
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
modparam("acc", "log_missed_flag", 2)
modparam("acc", "log_fmt", "fimos")
modparam("acc", "db_missed_flag", 2)
modparam("acc", "db_flag", 1)
There is a buch of commands you can use for uri maniputlation: strip, prefix, subst_uri.
-jiri
At 15:52 25/07/2006, Robert Zorop wrote:
>Hi guys.
> I'd like to hear about different methods of implementing cisco like transtation rules in SER. I was thinking about AVPs, but still couldn't find the ight way.
> Is someone is doing it inside or outside ser, please shed a light on this!. What i need is to stip some numbers, and then add some other (variables) before proxying the calls.
>
>
>Thanks in advance.
>
>_______________________________________________
>Serusers mailing list
>Serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
--
Jiri Kuthan http://iptel.org/~jiri/
Hi,
I was wondering how I can route my SER users to other
SIP servers, without need of authentication to other
server.
I mean this:
My User -> Auth -> My SER
My SER -> Auth -> Other SIP Server
My User --------make call--------> My SER
--------route call-------> Other SIP Server
Thank you.
Kaveh
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com
All,
I have just installed the RPM,
openser-1.1.0-rhel3.0.i386.rpm
<http://openser.org/pub/openser/latest/packages/rhel-3.0/openser-1.1.0-r
hel3.0.i386.rpm> , on my Linux box (Linux ... 2.4.21-4.EL #1 Fri Oct 3
18:13:58 EDT 2003 i686 i686 i386 GNU/Linux), and I am having some big
problems on startup- Openser never seems to really finish starting.
/var/log/messages shows:
Jan 25 04:09:08 plat-proxy openser: 0(1567) init_tcp: using sigio_rt as
the io watch method (auto detected)
Jan 25 04:09:08 plat-proxy openser: 0(0) INFO: statistics manager
successfully initialized
Jan 25 04:09:08 plat-proxy openser: 0(0) StateLess module -
initializing
Jan 25 04:09:08 plat-proxy openser: 0(0) TM - initializing...
Jan 25 04:09:08 plat-proxy openser: 0(0)
Jan 25 04:09:08 plat-proxy openser: Maxfwd module- initializing
Jan 25 04:09:08 plat-proxy openser: 0(0) TextOPS - initializing
Jan 25 04:09:08 plat-proxy openser: 0(0) INFO: udp_init: SO_RCVBUF is
initially 65535
Jan 25 04:09:08 plat-proxy openser: 0(0) INFO: udp_init: SO_RCVBUF is
finally 131070
Jan 25 04:09:08 plat-proxy openser: 0(0) WARNING: using only the first
listen address (no fork)
Jan 25 04:09:08 plat-proxy openser: 2(1569) INFO: fifo process
starting: 1569
Jan 25 04:09:08 plat-proxy openser: 2(1569) INFO:open_uac_fifo: fifo
server up at /tmp/openser_fifo...
Jan 25 04:09:12 plat-proxy openser: 2(1569) INFO: no fifo_db_url given
- fifo DB commands disabled!
And that's all.
Did I miss a step? I cant find any references to db_url in my Config
file, and I am using the default one (plus debug variables).
Can anyone offer some help? Thanks!
Louis
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
On Mon, July 31, 2006 22:14, Bill Zhang said:
> Strange, I used to be able to use serctl to add subscribers, but with
> openserctl, the choice are very limited, why? All those nice command line
> options seem to be gone:-(.
>
openserctl was splitted into modules, and the functions to manipulate the
DB are only installed if the DB packages are installed (mysql ...). Maybe
there is a problem with this modularization.
regards
klaus
> Best Regards,
> Bill Zhang
>
>
>
>
>
> _______________________________________________
> Users mailing list
> Users(a)openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>