Is there a module being develop for ser that give it b2bua capabilities
or is there a b2bua that integrates well with openser?
Pablo Delgado
Digiport Miami LLC
Phone: (305) 424-0016
Web: www.digiportmiami.com
Email: pablo(a)digiportmiami.com
-----Original Message-----
From: Juha Heinanen [mailto:jh@tutpro.com]
Sent: Tuesday, June 20, 2006 4:01 PM
To: Pablo Delgado
Subject: RE: [Users] Privacy (*67)
Pablo Delgado writes:
> To other sip phones.
then you need a b2bua that terminates the call and creates another one,
where caller has been changed to anonymous.
-- juha
Thanks again Samuel
I saw the ultramonkey open source stuff and I will look at it. In the mean
time I resolved the issue by setting up the alternate interfaces with a
private IP subnet like 10.0.0.2 - 3 and now there is no routing between the
public IP and private IP interfaces within the same server. I can manage the
'offline' server by ssh'ng into the on line server and then ssh'ng across
the private IP link to the second server. I'll let you know how it goes,
still in development.
Richard C. Thompson
Technology Assurance Director, CCNA
Virtual Communications, LLC
-----Original Message-----
From: samuel [mailto:samu60@gmail.com]
Sent: Thursday, July 27, 2006 11:02 AM
To: RThompson(a)vir2com.com
Cc: serusers(a)iptel.org
Subject: Re: FW: FW: [Serusers] DNS SRV Mediaproxy
It's a really nice setup and quite complex, if you manage to get it
working I would like to know it. You can try to take a look at
heartbeat and www.ultramonkey.org because you might find useful
programs to monitor both machines and have "same" IP.
I don't know if it can help you but there's a parameter under proc
that controls whether packets should be forwarded from interface to
interface: Execute
#cat sys/net/ipv4/ip_forward
if it returns 1 it means that the kernel is acting as router between
the two interfaces. You can set it to 0 so the two interfaces would be
isolated:
#echo 0 > sys/net/ipv4/ip_forward
I'm afraid I can't help you more.....I don't know much more ;)
Samuel.
2006/7/27, Richard C. Thompson <rthompson(a)vir2com.com>:
>
> Thanks Samuel
>
> I now have it working. I found out the proxydispatcher was using eth0
which
> had the other IP address on it. The one that SER is not listening on. Once
I
> switched the IP addresses around it started working. BTW in order to get
SER
> to route calls I had to turn mhomed off. Normally I use bond0 with two
> Ethernet interfaces, multihome on and use roundrobin to provide redundancy
> but in this case I am trying to set up two SER servers, one as a mirror of
> the other for a hot standby. I want to sync the two mysql databases using
> the eth1's and have eth0 of the slave with the same IP address on it as
eth0
> of the master SER. The interfaces go through a switch that I can turn the
> port off so there should be no conflict, but so far the improved routing
of
> Linux has foiled my strategy ie Linux provides a path through the working
> interface, but I'm sure I'll find a way of isolating the interfaces,
mucking
> around with iptables and such.
>
> Do you know of anyone who has made this config work?
>
> Thanks again for the help
> Rick
>
> -----Original Message-----
> From: serusers-bounces(a)lists.iptel.org
> [mailto:serusers-bounces@lists.iptel.org] On Behalf Of samuel
> Sent: Thursday, July 27, 2006 3:59 AM
> To: serusers(a)iptel.org
> Subject: Re: FW: [Serusers] DNS SRV Mediaproxy
>
> Can you get from the command line the SRV ressolution for mediaproy?
> Try
> #dig SRV _mediaproxy._tcp.mydomain.com
> and check whether you get an answer...if not, there's some problem with
DNS.
> If you get the right answer, then probably the problem is in the SER
> installation, remember to use mhomed=yes in the SER config file to
> automatically select the right outbound socket (unless you want to do
> it manually...)
> I don't thing using two interfaces will affect directly how
> proxydispatcher connects to DNS and ther resolved mediaproxies if *you
> have the kernel routes properly configured*. Maybe you are trying to
> contact a mediaproxy from an interface without connectivity to that
> mediaproxy...
>
> Hope it helps,
> Samuel.
>
> 2006/7/26, Richard C. Thompson <rthompson(a)vir2com.com>:
> >
> >
> >
> >
> > Thanks for the hints! Below is additional info in response.
> >
> > BTW the code for both the exit ser server and the new server are the
same
> > except for a few things like IP address and such.
> >
> >
> > The new ser server has two interfaces and two IP addresses, does this
mess
> > things up?
> >
> > ________________________________
> >
> >
> >
> >
> >
> > Without relevant parts of your config file it's hard to tell....it can
be:
> >
> > *you missed to include the new ser address in the allow statment of the
> > existent mediaproxies
> >
> >
> >
> >
> > I included the new ser IP address in the existing mediaproxies
> >
> >
> > *there's an allow part in the DNS which does not include the new ser as
> > allowed to query for the _mediaproxy._tcp
> >
> >
> >
> >
> > I don't have an allow statement in the DNS Zone file. Is this what you
are
> > referring to?
> >
> > Does the new ser server have to be listed in the zone file?
> >
> >
> > *the domain statement in the new ser's proxydispatcher is not properly
set
> >
> >
> > I have this in the mediaproxy.ini file
> >
> > defaultProxy = domain://mydomain.com
> >
> >
> > *a typo somewhere...
> >
> >
> >
> >
> > why doesn't this line in mediproxy.ini work either?
> >
> > defaultProxy =xx.xxx.xxx.xxx:25060 # IP address of one of the mediaproxy
> > servers
> >
> >
> >
> > few hints...
> > sAmuEl.
> >
> >
> >
> >
> > 2006/7/26, Richard C. Thompson < rthompson(a)vir2com.com>:
> >
> >
> >
> >
> > Hi
> >
> >
> >
> > Can anyone post a hint so I can figure this out.
> >
> >
> >
> > I have a ser server using a DNS lookup for my SRV mediaproxy servers.
> > Everything works fine, and has been for some time.
> >
> > Now I built a new ser server and want to go to the same mediaproxy
servers
> > but I get the following error
> >
> >
> >
> > Jul 26 09:47:36 localhost proxydispatcher[31666]: warning: none of the
> > proxies for domain mydomain.com have responded
> >
> > Jul 26 09:47:36 localhost proxydispatcher[31666]: error: No mediaproxy
> > servers found for the default domain.
> >
> >
> >
> > I have included the new ser IP in the allow config of the mediaproxy
> >
> >
> >
> > Even if I force the defaultproxy to one of the IP addresses of a
> mediaproxy
> > server I get the following error
> >
> > error: couldn't forward command to 0.0.0.0:25060 (Connection reset by
> peer)
> >
> >
> >
> > Any ideas???
> >
> > Could it be a version issue or maybe the python-mysqld issue, I'm not
> using
> > accounting.
> >
> >
> >
> >
> >
> >
> >
> > Rick
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Serusers mailing list
> > Serusers(a)lists.iptel.org
> > http://lists.iptel.org/mailman/listinfo/serusers
> >
> >
> >
> >
> >
> > _______________________________________________
> > Serusers mailing list
> > Serusers(a)lists.iptel.org
> > http://lists.iptel.org/mailman/listinfo/serusers
> >
> >
> >
> _______________________________________________
> Serusers mailing list
> Serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
>
> _______________________________________________
> Serusers mailing list
> Serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
Hello,
Have a problem starting ser by using serctl start I get the following message:
Starting SER : PID file /var/run/ser.pid does not exist -- SER start failed
and in the messages I get:
Jul 27 13:40:41 serv /usr/local/sbin/ser[16031]: Maxfwd module- initializing
Jul 27 13:40:41 serv /usr/local/sbin/ser[16031]: ERROR: tcp_init: bind(7, 0x812325c, 16) on 127.0.0.1: Address already in use
please help.
+++
---------------------------------
Do you Yahoo!?
Get on board. You're invited to try the new Yahoo! Mail Beta.
Hi all,
I'm trying to implement the MD5 digest authentication in my SER Server
to authenticate with my Radius Server. What parameters should I use in
ser.cfg to be able to calculate MD5 hash of the users password, to be
sent to Radius Server? Is it possible?
Regards,
Ricardo Carvalho.
Hi Folks,
I'm trying to do radius extra accounting of an additional header, but it doesn't work.
What I did:
-----------------------------------------------------------------------------------------------------
modparam("acc", "radius_flag", 1)
modparam("acc", "radius_extra", "Sip-Call-Type=$hdr(Sip-Call-Type[*])")
route {
append_hf("Sip-Call-Type: outbound.\r\n");
setflag(1);
....
}
-----------------------------------------------------------------------------------------------------
On radius accouting it prints:
Sip-Call-Type = ""
But if I change the cfg to:
-----------------------------------------------------------------------------------------------------
modparam("acc", "radius_flag", 1)
modparam("acc", "radius_extra", "Sip-Call-Type=$hdr(User-Agent[*])")
route {
#append_hf("Sip-Call-Type: outbound.\r\n");
setflag(1);
....
}
-----------------------------------------------------------------------------------------------------
On radius accouting it prints:
Sip-Call-Type = "Grandstream BT100 1.0.6.7"
So the extra accounting is working but not for additional/personalized headers.
Do I missing some thing here?
Thanks in advance.
Telles
Hi,
I'm trying to enable accounting and missed calls to be written to MySQL
tables.
I edited my ser.cfg file as suggested in the URL:
http://www.iptel.org/ser/doc/seruser/seruser.html#AEN892, but It still
doesn't write anything in the DB.
What else do I need to do? any clues?
Next I'll show my ser.cfg file where in bold is shown the changes I made
to try to enable accounting.
Regards,
Ricardo Carvalho.
---------------------------------------------------------------------------------------------------------------------------------------
# my ser.cfg script:
debug=4
fork=no
log_stderror=yes
listen=192.168.10.91 # put your server IP address here
port=5060
children=4
alias=my.site.com
dns=yes
rev_dns=no
fifo="/tmp/ser_fifo"
fifo_db_url="mysql://ser:heslo@localhost/ser"
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/uri_db.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
*loadmodule "/usr/local/lib/ser/modules/acc.so"*
modparam("auth_db|uri_db|usrloc", "db_url",
"mysql://ser:heslo@localhost/ser")
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("usrloc", "db_mode", 3)
modparam("rr", "enable_full_lr", 1)
# set the reporting log level
*modparam("acc", "log_level", 1)*
# number of flag, which will be used for accounting; if a message is
# labeled with this flag, its completion status will be reported
*modparam("acc", "log_flag", 1 )*
route {
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
break;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
break;
};
# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
if (method!="REGISTER") {
record_route();
};
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
route(1);
break;
};
# labeled all transaction for accounting:
* setflag(1);*
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (uri!=myself) {
route(1);
break;
};
if (method=="ACK") {
route(1);
break;
} else if (method=="INVITE") {
route(3);
break;
} else if (method=="REGISTER") {
route(2);
break;
};
lookup("aliases");
if (uri!=myself) {
route(1);
break;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
route(1);
}
route[1] {
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
if (!t_relay()) {
sl_reply_error();
};
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------
sl_send_reply("100", "Trying");
if (!www_authorize("","subscriber")) {
www_challenge("","0");
break;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
break;
};
consume_credentials();
if (!save("location")) {
sl_reply_error();
};
}
route[3] {
# -----------------------------------------------------------------
# INVITE Message Handler
# -----------------------------------------------------------------
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
};
consume_credentials();
lookup("aliases");
if (uri!=myself) {
route(1);
break;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
route(1);
}
Hi there,
Is there any module that enable SER to connect to Oracle db?
Thanks in advance.
Regards,
Chia
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.4/401 - Release Date: 7/26/2006
Hi Dev Group,
I just upgraded to openser1.1-tls with a postgresql db server. During this I found that the script for postgresql
still did not work well. It gave me a few errors and it was not granting permissions correctly, so I dug in and checked
and it seems things were out of order or created as if it were mysql. So I edit it so that every thing works
(or at least what I could find. ;-) )
I am not sure what flags you use for your patches I used the following command to produce this patch:
diff -Naur postgresqldb.sh.old postgresqldb.sh.new > posgresqldb.sh.patch
If someone had already fixed these then, sorry for the email.
---------------start-----------------------------------
--- postgresqldb.sh.orig 2006-07-24 16:57:57.000000000 -0400
+++ postgresqldb.sh 2006-07-24 17:01:07.000000000 -0400
@@ -53,7 +53,7 @@
fi
# address of MySQL server
if [ -z "$DBHOST" ]; then
- DBHOST="204.13.2.20"
+ DBHOST="localhost"
fi
# user with full privileges over DBNAME database
if [ -z "$DBRWUSER" ]; then
@@ -266,13 +266,8 @@
'root@localhost', '2002-09-04 19:37:45', '$DUMMY_DATE',
'57DaSIPuCm52UNe54LF545750cfdL48OMZfroM53', 'o', '', '',
'$HA1', '$SIP_DOMAIN', '$HA1B',
- '$PHPLIB_ID' );
+ '$PHPLIB_ID' );"
- INSERT INTO admin_privileges ($USERCOL, domain, priv_name, priv_value)
- VALUES ('admin', '$SIP_DOMAIN', 'is_admin', '1');
-
- INSERT INTO admin_privileges ($USERCOL, domain, priv_name, priv_value)
- VALUES ('admin', '$SIP_DOMAIN', 'change_privileges', '1');"
elif [ $# -eq 2 ] ; then
# if 3rd param set, don't create any initial user
INITIAL_USER=""
@@ -665,7 +660,15 @@
CREATE INDEX fromip_idx ON sip_trace (fromip);
CREATE INDEX callid_idx ON sip_trace (callid);
-
+/*
+ * Table for prefix_domain module
+ * Note: Missing (pablo)
+ */
+CREATE TABLE prefix_domain (
+ prefix VARCHAR(32) NOT NULL PRIMARY KEY,
+ domain VARCHAR(255) NOT NULL DEFAULT ''
+);
+
/* add an admin user "admin" with password==$DEFAULT_PW,
* so that one can try it out on quick start
*/
@@ -675,8 +678,16 @@
/*
* GRANT permissions
*/
-
-$GRANT_CMD
+CREATE USER $DBRWUSER WITH PASSWORD '$DEFAULT_PW';
+CREATE USER $DBROUSER WITH PASSWORD '$RO_PW';
+GRANT ALL PRIVILEGES ON TABLE version, acc, aliases, dbaliases, grp,
+ location, missed_calls, subscriber, silo, silo_mid_seq, domain,
+ uri, usr_preferences, trusted,
+ speed_dial, gw, gw_grp, gw_grp_grp_id_seq, lcr, sip_trace TO $DBRWUSER;
+GRANT SELECT ON TABLE version, acc, aliases, dbaliases, grp,
+ location, missed_calls, subscriber, silo, silo_mid_seq, domain,
+ uri, usr_preferences, trusted,
+ speed_dial, gw, gw_grp, gw_grp_grp_id_seq, lcr, sip_trace TO $DBROUSER;
EOF
@@ -692,23 +703,6 @@
serweb_create () # pars: <database name>
{
-#if [ $# -eq 1 ] ; then
-# if [ -z "$SIP_DOMAIN" ] ; then
-# prompt_realm
-# fi
-# INITIAL_INSERT="
-# INSERT INTO admin_privileges ($USERCOL, domain, priv_name, priv_value)
-# VALUES ('admin', '$SIP_DOMAIN', 'is_admin', '1');
-# INSERT INTO admin_privileges ($USERCOL, domain, priv_name, priv_value)
-# VALUES ('admin', '$SIP_DOMAIN', 'change_privileges', '1');"
-#elif [ $# -eq 2 ] ; then
-# # if 3rd param set, don't do any initial insert
-# INITIAL_INSERT=""
-#else
-# echo "serweb_create function takes one or two params"
-# exit 1
-#fi
-
echo "creating serweb tables into $1 ..."
sql_query <<EOF
@@ -843,6 +837,19 @@
PRIMARY KEY ($USERCOL,priv_name,priv_value,domain)
) $TABLE_TYPE;
+/*
+ * Table for active sessions - webstuff
+ * Note: was missing (pablo)
+ */
+CREATE TABLE active_sessions (
+ sid varchar(32) NOT NULL default '',
+ name varchar(32) NOT NULL default '',
+ val text,
+ changed varchar(14) NOT NULL default '',
+ PRIMARY KEY (name,sid)
+) $TABLE_TYPE;
+create index chaned on active_sessions (changed);
+
/*
* emulate mysql proprietary functions used by the serweb
@@ -851,6 +858,12 @@
CREATE FUNCTION "truncate" (numeric,int) RETURNS numeric AS 'SELECT trunc(\$1,\$2);' LANGUAGE 'sql';
create function unix_timestamp(timestamp) returns integer as 'select date_part(''epoch'', \$1)::int4 as result' language 'sql';
+/*
+ * grant permission
+ */
+GRANT ALL PRIVILEGES ON TABLE usr_preferences_types, pending, phonebook, server_monitoring, server_monitoring_agg, admin_privileges, active_sessions TO $DBR
WUSER;
+GRANT SELECT ON TABLE usr_preferences_types, pending, phonebook, server_monitoring, server_monitoring_agg, admin_privileges, active_sessions to $DBRWUSER;
+
$INITIAL_INSERT
EOF
---------------------end--------------------------------------------
I full
Pablo Delgado
Digiport Miami, LLC
200 SE 1st Street #604
Miami, FL 33131
p.305-424-0016
f. 305-503-5408
e. pablo(a)digiportmiami.com
+++
>From it's Data Center in Miami, Florida, Digiport provides colocation, managed servers, secure hosting and business services including VoIP PBX, Corporate Email and Sales Force Management Systems. With 24/7 manned security and IT support, over 15 carrier connections, primary and backup generation systems, and hardened telecommunications infrastructure, Digiport provides vital telecommunications continuity for your business.
Hi
We're looking at using OpenSER as a front-end to the Asterisk boxes we're
using to provide a SIP VoIP service to distribute load and handle the RTP
streams better. Our customers (who're all over the Internet) use the service
primarily for calls to/from the PSTN with little, if any, SIP-to-SIP
traffic. Having said that, we're providing PBX-like functions to some
customers: voicemail, call groups, IVRs etc which we need to retain. Our
PSTN connection is provided over SIP by a couple of different telcos; we
just send/receive INVITES to/from them.
How're people on this list implementing this kind of platform? OpenSER in
front of Asterisk, Asterisk PSTN gateway? Something else? In particular, I'm
having trouble seeing how DID calls will work. Let's take the following DIDs
as examples and assume that inbound calls are sent to OpenSER:
442071111111: straight mapping to a singe SIP account
442072222222: a group of 3 SIP accounts to ring simultaneously
The first case would work with users registering to either OpenSER or
Asterisk, providing they shared a user database. In the second case, we
would presumably have to forward the call from OpenSER to an Asterisk box to
handle calling the 3 users, dealing with voicemail, etc.
I suppose the crux of my problem is that I can't see how to get OpenSER to
route calls based on the dialled number. Any ideas? I could use an external
script and exec_dset but that seems clumsy; surely someone's done this
before? This whole thing's a solved problem, right?
How about outgoing calls? If a user puts a call through OpenSER to the PSTN
it should be easy to check the usrloc DB to control access and allow the
call out. Sound good?
Any hints on how to take this forward would be greatly appreciated. Once we
get a plan in place the implementation should be reasonably straightforward
(I hope!)
Cheers,
MD