Dear all,
Does anybody have achieved this re-write URI using location database? If
yes, please send me the routing logic for the same.
I don't want to hardwire the values in the ser.cfg file using
rewriteuri(xxxx) and append_branch(xxxx).
But I want this to be automatically done through location server.
Any information on this matter is highly appreciated.
Thanks in advance.
Ramachandran
hi all, got two problems,
I upgraded ser from 0.8.14 to 0.9.6
make prefix=/
make prefix=/ all include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius avp_radius postgres pa"
make prefix=/ install
however ser -V still show me,
version: 0.8.14 (i386/linux)
flags: STATS:Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
@(#) $Id: main.c,v 1.168.4.3 2004/06/28 15:41:21 andrei Exp $
main.c compiled on 15:48:23 Jan 19 2005 with gcc 3.2
why?
then I get the second problem after ser is started (fine, without error) because actually I can't find it among all process, ... how is it possible possible ????
thanks
Giuseppe
Hello list.
I have a question not directly related with SER, but i was hoping that someone could give me a hand here.
I'm not very familiar with this type of INVITE.
INVITE sip:3341876@mydomain.sip.com SIP/2.0
v: SIP/2.0/UDP 10.10.10.241:5060;branch=z9hG4bK2542945499
f: "558100005481" <sip:558100005481@mydomain.sip.com>;tag=1000053237
t: <sip:3341876@mydomain.sip.com>
i: 1de74610a4a7dba71ac257ea510065c9(a)10.10.10.241
CSeq: 19 INVITE
m: sip:558100005481@10.10.10.241
Max-Forwards: 70
User-Agent: SIP-ICSG302-1.139-icablesystem/v2.0_enabled
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, REFER
Supported: timer, replaces
c: application/sdp
Accept: application/sdp
l: 295
v=0
o=558100005481 1123541222 1123541222 IN IP4 10.10.10.241
s=SIP Call
t=0 0
m=audio 5094 RTP/AVP 18 4 0 8 103
c=IN IP4 10.10.10.241
a=rtpmap:18 G729/8000
a=rtpmap:4 G723/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:103 telephone-event/8000
a=fmtp:103 0-15
a=ptime:20
What format is V: ? , f : ?, i : ?. Are these values according to the RFC?
Sorry about this maybe stupid question.
Thanks
Ricardo.-
Fabio Macchi wrote:
>
> Greger, you are right, I was too generic, anyway your "not sensible
> help" was unvaluable: it focus me to the onreply route that I forgot
> to consider before.
>
> I was missing the parameters "FA" in force_rtp_proxy() and this was
> the cause of missing RTP connection.
>
> Now everything is working as expected.
>
Excellent! :-)
>
>
>
> Just two generic questions on rtpproxy to understand a little more:
>
> - is it possible to extend this configuration from two
> interface to multiple interfaces ( I mean something like rtpproxy --l
> x.x.x.246/10.0.0.1/192.168.1.1 ) ?
>
AFAIK, no. But I cannot really see how such a scenario can easily be
unambiguous? What do you want to do with three interfaces? Three
subnets terminated on your SER server?! You can probably set up
multiple rtpproxies, but you still have a problem in making one ser talk
to more than one...
>
> - when I was debbuging, I tried to start rtpproxy with --f
> option and I expected output directly on terminal, but I didn't obtain
> any output: is the output redirected to a specific file ? am I
> misunderstanding the use of that option ?'
>
stderr should be target. However, you may want to edit rtpp_defines.h
and set LOG_LEVEL to RTPP_LOG_DBUG and recompile to get maximum of
messages. Default you only get warnings, errors, and critical messages,
not informational or debug messages.
>
> Anyway, many thanks for your support.
>
Just a pleasure ;-)
g-)
Hi,
I am using SER (version 0.9.6 on linux machine) to
simulate S-CSCF for IMS testing. Is there any way to
pass environment variable inside append_hf function in
SER?
For example, I want to append Route header like:
append_hf("Route: <sip:ims-$SIP_USER@172.16.13.1
\r\n"); But, append_hf takes "$SIP_USER" as a literal
string. Is there any way to substitute this $SIP_USER
with the corresponding username of Req-URI value?
Thanks,
Vivek
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Hi all!!
I notest that openser has a function avp_subst(). Does ser has a function
with the same purpose?
I saw the function subst() in the textops but you can only substitute
something directly in the message,right?.
Regards,
--
Nuno Ribeiro
Hi!
I've just tried to build openser 1.1 on a vanilla debian sarge, and it
fails. IMO debian sarge should be supported out of the box. Here the
problems:
dpkg-checkbuilddeps: Unmet build dependencies:
debhelper (>= 5): Sarge contains 4.2.32. I've tried >4 but it fails
libmysqlclient15-dev | libmysqlclient-dev: libmysqlclient15-dev is not
available in stable, and I can't find libmysqlclient-dev at all
libradiusclient-ng-dev: If I make debian packages from radiusclient-ng
the package is named "libradius-ng-dev"
Are there any reasons for those dependencies?
btw: how did you managed to make the sarge packages
regards
klaus
Hi users;
i am new to use openser.I have to implement example like (http://www.voice-system.ro/docs/avpops/ar01s08.html#ex_trusting).in this (# do proxy authentication)parts create problem for me .plz help me to find which is the proxy authetication part in openser.cfg1(which is orignal file having no modification).
i am also giving openser.cfg2 (modified file by me) plz find out the mistake i am doing .plz solve my problem .i think there is some problem in configuration because after some modifation in configuration file when i am going to start my openser it gives me message like:OPENSER STARTS FAILED PID does not exist .
---------------------------------
Yahoo! Music Unlimited - Access over 1 million songs.Try it free.
#
# $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
/* Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/openser_fifo"
#
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify = 1
#tls_require_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
#loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
#loadmodule "/usr/local/lib/openser/modules/auth.so"
#loadmodule "/usr/local/lib/openser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
#modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this
config),
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
if (!method=="REGISTER")
record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
# if you have some interdomain connections via TLS
#if(uri=~"@tls_domain1.net") {
# t_relay_to_tls("IP_domain1","port_domain1");
# exit;
#} else if(uri=~"@tls_domain2.net") {
# t_relay_to_tls("IP_domain2","port_domain2");
# exit;
#}
route(1);
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
#if (!www_authorize("openser.org", "subscriber")) {
# www_challenge("openser.org", "0");
# exit;
#};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
route[1] {
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
exit;
}
#
# $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
/* Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/openser_fifo"
listen=192.168.1.37
#
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify = 1
#tls_require_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/avpops.so"
loadmodule "/usr/local/lib/openser/modules/acc.so"
loadmodule "/usr/local/lib/openser/modules/alias_db.so"
loadmodule "/usr/local/lib/openser/modules/domain.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this
config),
# uncomment also the following parameter)
#
modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
##########################AVPOPS Module Parameters
modparam("avpops","avp_url","mysql://root:tanzeel@localhost/openser")
modparam("avpops", "avp_table", "usr_preferences")
modparam("avpops","uuid_column","uuid")
modparam("avpops","username_column","username")
modparam("avpops","domain_column","localhost")
modparam("avpops","attribute_column","attribute")
modparam("avpops","value_column","value")
modparam("avpops","type_column","type")
#modparam("avpops","use_domain","1")
# ------------------------- request routing logic -------------------
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# if the request pretends to belong to a local domain
if (is_from_local())
{
#authenticate only INVITE and MESSAGES
if (method=="INVITE" || method=="MESSAGE")
{
# is it a trusted IP address? - first load the trusted
IPs (avp
# NAME 't_ips" from DB table "ips") for the target
domain (domain part
# of RURI); then check if at least one value of 't_ips'
AVPs equals
# the source IP of the request
if
(!(avp_db_load("$ruri/localhost","s:t_ips/usr_preferences")
&& avp_check("s:t_ips",
"eq/$src_ip/gi")))
################### Proxy Authentication
{
log("**************** AVP PRINTSTART ******************\n");
avp_print();
log("**************** AVP PRINT END ******************\n");
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
if (!method=="REGISTER")
record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
# if you have some interdomain connections via TLS
#if(uri=~"@tls_domain1.net") {
# t_relay_to_tls("IP_domain1","port_domain1");
# exit;
#} else if(uri=~"@tls_domain2.net") {
# t_relay_to_tls("IP_domain2","port_domain2");
# exit;
#}
route(1);
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest
authentication
if (!www_authorize("localhost", "subscriber"))
{
www_challenge("localhost", "0");
exit;
};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
# native SIP destinations are handled using our USRLOC
DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
}
}
}
route[1]{
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
exit;
}
I upgraded my openser installation to 1.1 on debian sarge using the
packages at 'deb http://www.openser.org/debian'. I then tried to upgrade
my mysql tables using /usr/sbin/openser_mysql.sh reinstall. However,
when doing the dump openser_mysql.sh calls mysqldump with the
'--ignore-table=' option, which doesn't seem to be supported on the
sarge version of mysql (4.0.24-10sarge2). Is there a way around this?
Jeff