Hello Users
Merry XMAS
Resently I installed and Configure the openser 1.3 with TLS Support in FC6
with openSSL 0.9.8b
Am Trying implementing the TLS of my OpenSER proxy
First I trying TLS for Registering to My OpenSER Proxy Server.
The Certificatation am using the default while in installing the openser 1.3
Am using eyebeam 1.5 with TLS. on the Screen am getting 503 service
unavilable
I don't know what happening in Server side.
Please Help in this .
--
Thanks &Regards
Ravi Prakash Sunkara
VoIP Development Tech Lead.
Hi All,
I am using openser 1.3. Yesterday I added the error_route in my script to handle the parsing errors. But I see that the script logic is not going into error_route and I still see the message log filled up with messages like below:
INFO:core:parse_first_line: bad message
Dec 19 08:02:17 sw1 /usr/local/sbin/openser[26964]: ERROR:core:parse_msg: message=<INVITE sip:61: 394086416(a)207.251.84.106 SIP/2.0
If the error route is present in the script should'nt the script go to the error route in the case like above?
My error_route is as follows:
error_route {
xlog("--- error route class=$(err.class) level=$(err.level)
info=$(err.info) rcode=$(err.rcode) rreason=$(err.rreason) ---\n");
xlog("--- error from [$si:$sp]\n+++++\n$mb\n++++\n");
sl_send_reply("$err.rcode", "$err.rreason");
exit;
}
Can somebody give me some pointers on why error_route is not working in this case or am I missing something.
Thanks in advance
w/regards,
Jayesh
Save all your chat conversations. Find them online at http://in.messenger.yahoo.com/webmessengerpromo.php
Dear
I have a lot of problems with nat and registering,
for example, grandstream does not work with a lot of
internet providers, also linksys and ...
sometimes the sip phone was registered, but the call
is one way or no way.
please help me, if my config has problem.
Best
Mani
listen=1.1.1.1
debug=0 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
log_facility=LOG_LOCAL5
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
fifo_db_url="postgres://postgres:mypass@localhost:5432/test"
alias="xxx.com"
alias="xxx.com"
alias="xxx.com"
alias="xxx.com"
alias="xxx.com"
sip_warning=yes
# ------------------ module loading
----------------------------------
loadmodule "/usr/local/lib/ser/modules/postgres.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/acc.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/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/xlog.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
# ----------------- setting module-specific parameters
---------------
# -- usrloc params --
#modparam("acc", "log_level", 1)
#modparam("acc", "log_flag", 1)
modparam("acc", "db_url",
"postgres://postgres:mypass@localhost:5432/test")
modparam("acc", "db_missed_flag", 2)
modparam("acc", "db_flag", 1)
#modparam("acc", "radius_config",
"/usr/local/etc/radiusclient-ng/radiusclient.conf")
modparam("usrloc", "db_mode", 1)
modparam("usrloc", "user_column", "user_id")
modparam("usrloc", "db_url",
"postgres://postgres:mypass@localhost:5432/test")
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
#modparam("usrloc", "db_mode", 2)
modparam("auth_db", "use_domain", 0)
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "user_column", "user_id")
modparam("auth_db", "password_column", "password")
modparam("auth_db", "db_url",
"postgres://postgres:mypass@localhost:5432/test")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
modparam("rr", "enable_double_rr", 0)
modparam("registrar", "nat_flag", 6)
modparam("registrar", "use_domain", 0)
modparam("usrloc", "use_domain", 0)
modparam("nathelper", "natping_interval", 30) # Ping
interval 30 s
modparam("nathelper", "ping_nated_only", 1) # Ping
only clients behind NAT
modparam("nathelper",
"rtpproxy_sock","unix:/var/run/rtpproxy.sock")
# ------------------------- 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");
break;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
break;
};
if (method=="INVITE" || method=="BYE" ||
method=="ACK") {
setflag(1);
};
# !! Nathelper
# Special handling for NATed clients; first, NAT test
is
# executed: it looks for via!=received and RFC1918
addresses
# in Contact (may fail if line-folding is used);
also,
# the received test should, if completed, should
check all
# vias for rpesence of received
if (nat_uac_test("3")) {
# Allow RR-ed requests, as these may indicate that
# a NAT-enabled proxy takes care of it; unless it is
# a REGISTER
if (method == "REGISTER" || !
search("^Record-Route:")) {
log("LOG: Someone trying to register from
private IP, rewriting\n");
# This will work only for user agents that
support symmetric
# communication. We tested quite many of them
and majority is
# smart enough to be symmetric. In some phones
it takes a configuration
# option. With Cisco 7960, it is called
NAT_Enable=Yes, with kphone it is
# called "symmetric media" and "symmetric
signalling".
fix_nated_contact(); # Rewrite contact with
source IP of signalling
if (method == "INVITE") {
fix_nated_sdp("1"); # Add direction=active
to SDP
};
force_rport(); # Add rport parameter to topmost
Via
setflag(6); # Mark as NATed
};
};
# 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);
break;
};
if (!uri==myself) {
append_hf("P-hint: outbound\r\n");
route(1);
break;
};
if (method == "INVITE")
{
# if (!lookup("location")) {
# xlog("L_ERR","%Tf: Rejecting %ru From %fu To %tu
\n");
# sl_send_reply("404", "Not Registered");
# break;
# };
if (!uri =~ "sip:43[0-9]{6}@*")
{
log(1, "Forwarding to Asterisk\n");
forward(2.2.2.2,5060);
break;
}
}
# 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") {
if (!www_authorize("xxx.com", "subscriber")) {
www_challenge("xxx.com", "0");
break;
};
save("location");
break;
};
lookup("aliases");
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
#acc_db_request("404 missed call", "missed_calls");
break;
};
setflag(2);
};
append_hf("P-hint: usrloc applied\r\n");
route(1);
}
route[1]
{
if
(uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)"
&& !search("^Route:")){
sl_send_reply("479", "We don't forward to private
IP addresses");
break;
};
# if client or server know to be behind a NAT, enable
relay
if (isflagset(6)) {
force_rtp_proxy();
};
# NAT processing of replies; apply to all
transactions (for example,
# re-INVITEs from public to private UA are hard to
identify as
# NATed at the moment of request processing); look at
replies
t_on_reply("1");
# send it out now; use stateful forwarding as it
works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
}
onreply_route[1] {
# NATed transaction ?
if (isflagset(6) && status =~ "(183)|2[0-9][0-9]")
{
fix_nated_contact();
force_rtp_proxy();
# otherwise, is it a transaction behind a NAT and
we did not
# know at time of request processing ? (RFC1918
contacts)
} else if (nat_uac_test("1")) {
fix_nated_contact();
};
}
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
Dear all
I have solve my multidomain configuration with ser-0.9.6 and it is working fine for me and i am sending you my configuration for incomming users whos want do some stuff wid ser i have find many document on multi-support and i have consolidate all document and make my ser.cfg script or config
cat /usr/local/etc/ser/ser.cfg
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
#debug=7 # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=yes # (cmd line: -E)
/* Uncomment these lines to enter debugging mode
debug=7
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
listen=192.168.104.20
port=5060
#children=4
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/domain.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/call.so"
#loadmodule "/usr/local/lib/ser/modules/vm.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/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", 0)
# -- 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)
modparam("domain", "db_url", "mysql://root:mypasswd@localhost/ser")
modparam("domain", "db_mode", 1) # Use chaching
modparam("domain", "domain_table", "domain")
modparam("domain", "domain_col", "domain")
modparam("usrloc|registrar|auth_db|avpops|group", "use_domain", 1)
#modparam("usrloc", "use_domain", 1)
#modparam("registrar", "use_domain", 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");
break;
};
if ( msg:len > max_len ) {
sl_send_reply("513", "Message too big");
break;
};
# 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
record_route();
# loose-route processing
if (loose_route()) {
t_relay();
break;
};
# 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)
#-----------Multi-domain Logic work blow in stanza--------#
if (is_from_local()) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("", "subscriber")) {
www_challenge("", "0");
break;
};
save("location");
break;
save("aliases");
break;
};
#----Alias check---
# lookup("aliases");
# if (!uri==myself) {
# route(1);
# break;
# };
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
if (!t_relay()) {
sl_reply_error();
};
}
#-----END---#
Now to test configuration start ser
#serctl start
#serctl domain add abc.com
#serctl add 222(a)abc.com tulip 222(a)abc.com
#serctl add 333(a)abc.com tulip 333(a)abc.com
this to user 222 and 333 for domain abc.com
**Notes:- you should configure SRV recode on your DNS otherwise it will not work for you
NOW configure your Xlite and try to call each other
Then try to add new domain and do same thing which u have done before abc.com
Thanks and Best of Luck
$ cat ~/satish/url.txt
http://www.linuxbug.org
_____________________________________________________________________________________________________
---------------------------------
Meet people who discuss and share your passions. Join them now.
---------- Forwarded message ----------
From: frq ser <frq.ser(a)googlemail.com>
Date: Dec 18, 2007 11:32 PM
Subject: Newbie Problems: ser.cfg
To: serusers(a)iptel.org
Hi,
I am trying to understand the process flow in the following ser.cfg file,
which controls a SER proxy server at root@ip.address:5060. I have added
"log()" command at almost every step to see how things proceed.
The problem is that when I generate an OPTIONS message through SIPSAK
(sipsak -T -vv -s sip:root@ip.address:5060), the process branches from
route(0) to route(3), sends a message (200 Message received, probably from
Sipsak), then comes back to route(0), completes this route, and then loops
back to start of route(0) (as evident from the last log message "Inside main
route..."). This is despite the "break" command in the main route block.
Here's the output of the SER:
[root@drone08 ~]# ser
Listening on
udp: 192.168.3.208 [192.168.3.208]:5060
tcp: 192.168.3.208 [192.168.3.208]:5060
Aliases:
tcp: 192.168.3.208:5060
udp: 192.168.3.208:5060
WARNING: no fork mode
stateless - initializing
0(0) Maxfwd module- initializing
0(0) INFO: udp_init: SO_RCVBUF is initially 107520
0(0) INFO: udp_init: SO_RCVBUF is finally 262142
2(0) INFO: fifo process starting: 5116
2(0) SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
2(0) WARNING: no fifo_db_url given - fifo DB commands disabled!
0(5114) Inside the main route....
0(5114) Inside the main route....
0(5114) just passed the sanity checks...
0(5114) inside method-register...
0(5114) inside method-options...
0(5114) Inside route3...
0(5114) End of route3...
0(5114) just past redir-route3..
0(5114) Inside the main route....
The corresponding SIPSAK output is:
C:\..Sipsak>sipsak -v -T -s sip:root@192.168.3.208:5060
warning: IP extract from warning activated to be more informational
0: 192.168.3.208 (0.000 ms) SIP/2.0 483 Too Many Hops
1: 192.168.3.208 (0.000 ms) SIP/2.0 201 Options message received, probably
from
Sipsak
without Contact header
On the other hand, when I send an INVITE message, this problem doesn't
happen. The process completes the main route and doesn't loop back (ie I
don't get the "Inside the main route..." message).
[root@drone08 ~]# ser
Listening on
udp: 192.168.3.208 [192.168.3.208]:5060
tcp: 192.168.3.208 [192.168.3.208]:5060
Aliases:
tcp: 192.168.3.208:5060
udp: 192.168.3.208:5060
WARNING: no fork mode
stateless - initializing
0(0) Maxfwd module- initializing
0(0) INFO: udp_init: SO_RCVBUF is initially 107520
0(0) INFO: udp_init: SO_RCVBUF is finally 262142
2(0) INFO: fifo process starting: 4860
2(0) SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
2(0) WARNING: no fifo_db_url given - fifo DB commands disabled!
0(4858) Inside the main route....
0(4858) just passed the sanity checks...
0(4858) inside method-register...
0(4858) outside methods-options...
0(4858) inside lookup-location...
All I want to know is that when I send an OPTIONS msg, why the process
doesn't terminate at the break command in the (if (method == "OPTIONS")) in
the main route. Although it is not a critical problem, I just want to
improve my understanding. I'll be glad if any of you could help.
Fr.
PS: The config file (ser.cfg) is given below:
# $Id: hello-world.cfg 46 2006-01-25 04:21:30Z /CN=Paul
Hazlett/emailAddress=paul(a)onsip.org $
debug=3
fork=no
log_stderror=yes
listen= 192.168.3.208 #2.13
port=5060
children=4
dns=no
rev_dns=no
fifo="/tmp/ser_fifo"
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"
# chg_rsf dec07
#loadmodule "/usr/local/lib/ser/modules/textops.so"
#loadmodule "/usr/local/lib/ser/modules/avpops.so"
modparam("usrloc", "db_mode", 0)
modparam("rr", "enable_full_lr", 1)
#modparam("tm", "pass_provisional_replies", 1)
route {
log(1, "Inside the main route....\n");
# ------------------------------------------------------------------------
# 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;
};
log(3, "just passed the sanity checks...\n");
# ------------------------------------------------------------------------
# Record Route Section
# ------------------------------------------------------------------------
if (method!="REGISTER") {
record_route();
log(3, "inside method-register...\n");
};
# ------------------------------------------------------------------------
# Loose Route Section
# ------------------------------------------------------------------------
if (loose_route()) {
log(3, "inside loose route...\n");
route(1);
break;
};
# ------------------------------------------------------------------------
# Call Type Processing Section
# ------------------------------------------------------------------------
if (uri!=myself) {
log(3, "inside uri-myself...\n");
route(1);
break;
};
if (method=="ACK") {
log(3, "inside method-ack...\n");
route(1);
break;
}
else if (method=="REGISTER") {
log(3, "inside method-register...\n");
route(2);
break;
};
if (method=="OPTIONS"){
log(3, "inside method-options...\n");
route(3);
log(3, "just past redir-route3..\n");
break;
log(3, "just past break...\n");
};
log(3, "outside methods-options...\n");
lookup("aliases");
if (uri!=myself) {
log(3, "inside uri-myself 2....\n");
route(1);
break;
};
if (!lookup("location")) {
log(3, "inside lookup-location...\n");
sl_send_reply("404", "User Not Found");
break;
};
route(1);
}
route[1] {
# ------------------------------------------------------------------------
# Default Message Handler
# ------------------------------------------------------------------------
log(3, "Inside route1...\n");
if (!t_relay()) {
sl_reply_error();
};
}
route[2] {
# ------------------------------------------------------------------------
# REGISTER Message Handler
# ------------------------------------------------------------------------
log(3, "Inside route2...\n");
if (!save("location")) {
#sl_reply_error();
sl_send_reply("201", "Register message received at Proxy Server");
};
}
route[3]{
# -----------------------------------------------------------------------
# OPTIONS Message Handler
# -----------------------------------------------------------------------
log(3, "Inside route3...\n");
if (!t_relay()){
sl_reply_error();
};
sl_send_reply("201", "Options message received, probably from Sipsak");
#forward(192.168.3.208, 5070);
log(3, "End of route3...\n");
#t_release();
}
I have been using openser as an ALG for the purpose of NAT traversal.
Unfortunately my public IP is dynamically assigned. Although openser is aware
of the IP's available on the host, I have searched unsuccessfully the
documentation for a way to expose this information to the configuration
script.
Have I missed something?
I am using the following ugly work around.
DHCP client writes to /var/openser/my-ip
From the rtpproxy init script -
OPTIONS="-l 192.168.1.1/`cat /var/openser/my_ip` -s udp:localhost:12221"
from openser.cfg -
route{
# get our public ip, this happens only once
if !$var(ip_initialized) == "yes"
{
xlog("L_NOTICE", "****************************************************\n");
xlog("L_NOTICE", "*** Initializing the IP for masquerading SIP
Contact\n");
exec_avp("cat /var/openser/my_ip", "$avp(s:pub_ip)");
pv_printf("$var(my_ip)", "$avp(s:pub_ip)");
xlog("L_NOTICE", "*** New public IP is <$var(my_ip)>\n");
$var(ip_initialized) = "yes";
};
mangle contacts
Hi,
i need a simple config that achieves the following (w/ out a db)
if a user is not registered then all calls should go to a default gw
192.168.10.1
the default gw will only respond w/ a 302 or a 404
if a 302 is received then openser should forward the call on to the
new gw listed in the reply
if a 404 is received the call should be forwarded to a different gw 172.16.20.1
if the send gw is done then the call should die.
here is what i was thinking of but as a newbie i may be off my rocker
i seem to get an error
ERROR: t_check_status: cannot check status for a reply which has no
T-state established
but again my whole approach may be wrong.
if (!lookup("location")) {
rewritehostport ("192.168.10.1:5060");
if (t_check_status("(404)|(480)")) {
log("404 or 480 negative reply\n");
rewritehostport ("172.16.20.1:5060");
}
else{
t_on_failure("1");
t_relay();
}
failure_route[1] {
get_redirects("*");
t_relay();
}
}
thanx in advance
Hi,
Thanks for the information,
Actually we were looking to some server which can acts as a strict
router.
Can u suggest regarding this?
Thanks,
Vikas C.G.
-----Original Message-----
From: Klaus Darilion [mailto:klaus.mailinglists@pernau.at]
Sent: Tuesday, December 18, 2007 7:59 PM
To: Vikas CG.
Cc: users(a)openser.org
Subject: Re: [OpenSER-Users] Want to know about configuring openser as
strict router
Hi!
Openser is a loose-router. This means that the inserted Record-Route
header do have the ;lr parameter. Thus, other SIP clients know that
openser is a looserouter and weill send messages in loose-router syntax.
On the other hand, openser checks if the next route header and/or the
RURI contains the ;lr parameter to make conversion from/to strict-router
syntax.
Thus, depending on if the previous and next hops are strict or loose
routers, openser will do the conversion (by using the loose_route()
function).
regards
klaus
Vikas CG. schrieb:
> Hi all,
>
>
>
> We are using openser server for testing. Can we configure it as
> strict router?
>
> I have tried making changes in configuration file by enabling
Record
> Route.
> I want to know whether the openser will strictly acts as "Strict
Router"
> I.e. performing actions like modifying Request URI and last route
header.
> Can any body suggest me?
>
>
>
> Thanks in advance ,
> Vikas C.G.
>
>
>
------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users(a)lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users
Hello,
in openser 1.3 and current trunk the AVP script flags still not work as
expected. So here again the fixes I did to solve that problems in 1.3
and trunk:
...
Hi again,
further tests with avp and script_flags raised new problems. When I
write resp. set an AVP like "$avp(i1:10)=10; $avp(i2:10)=20;" and
checking them with "xlog('L_INFO', 'avp(i1:10) avp(i1:20)\n');" it leads
to "20 20" as output.
In file pvar.c in function pv_get_avp_name() I had to replace
*name_type = 0;
with
*name_type = ip->pvn.u.isname.type;
Then that worked.
- -.-
Additionally I fixed the Alias-Duplicate Problem when you do something
like avp_aliases("A=i1:10; B=i2:20");
In file usr_avp.c I had to change line 427 in function
check_avp_galias() from
type &= AVP_NAME_STR;
to
type &= (AVP_NAME_STR|AVP_SCRIPT_MASK);
- -.-
Then at last, if u want assign a value to an AVP-Alias which uses script
flags replace in file usr_avp.c in function add_avp_galias() around line
482 the line
ga->avp.type = type&AVP_NAME_STR;
with
ga->avp.type = type&(AVP_NAME_STR|AVP_SCRIPT_MASK);
regards
Helmut
Hi all,
We are using openser server for testing. Can we configure it as
strict router?
I have tried making changes in configuration file by enabling Record
Route.
I want to know whether the openser will strictly acts as "Strict
Router"
I.e. performing actions like modifying Request URI and last route
header.
Can any body suggest me?
Thanks in advance ,
Vikas C.G.