Hi,
I have two questions regarding user location.
1) Is there a way of getting the user location info for manipulating it in
ser.cfg ? Something like lookup but without rewriting anything. Basically
what I want to do is check if the caller and the caller are NATed and belong
to a certain same network then I should not use media proxy. The criterion
for the same network would be that both sides are originating from the same
public ip. Thus I would have to retrieve the "received" field value for the
calee and compare it with the ip contained in the contact header field of
the caller in the INVITE . Perhaps there is also another way to do this?
2) What happens when I have multiple phones registered under one user? How
lookup(location) works when I have more than one ips in location table for
the user? During tests I had a UA behind NAT registering to SER with an ip
assigned from the dhcp. After a while I had the UA assigned a different ip
from the dhcp and the Register on SER under the same user name. The problem
was that during registration SER would respond back to the UA for requesting
authorisation credentials but when it was time to send the 200 OK message
for registration , it would send it only to the previous location of the UA
and not the one it sent the REGISTER message from with of course failure to
register because UA would not get the OK from SER. I noticed that in Contact
header of the 200 message there were more than one return ips (the old one
and the new one), Of course as soon as the old location timed out the
registration would go ok.
Thanks
KM
Hello, I was wondering how to set my dialing plans to use # only for Sip 2 Sip calls. A user has to press the # sign if he wants to call another sip number, and just dial normally for PSTN calls?
I came up with something like this:
lookup("aliases");
if (uri=~"^sip:#[0-9]*@"){
xlog("Sip 2 SIP\n");
route(4);
route(1);
return;
};
Which of course don't work. So I'll need help. I know its possible to use 9 for PSTN calls, but I'm sure that you can use # for Sip 2 Sip. Please help me out here. Thank you.
---------------------------------
Do you Yahoo!?
Get on board. You're invited to try the new Yahoo! Mail Beta.
I'm trying to find a way to detect if a BYE message that is being routed
between two proxies is at the last hop before being sent to the endpoint.
I tried checking for a existence of the "Route" header field, but i
gather its removed on the way out so is present until its routed
I also tried comparing the value of the "Max-Forwards" header field to
an arbitrary integer but i was unable to find a way to do that either
The purpose is to avoid double accounting messages that traverse two
proxies in our network, is anyone aware of a solution to this problem?
tavis
Hi Ferianto,
that's a quite know problem with some openssl packages - you need to
disable the kerberos support into it, otherwise it will not compile
properly.
regards,
bogdan
Ferianto siregar wrote:
> Dear all,
>
> I try to compile the TLS Support in my openser. I use
> openser-1.0.1-tls and the operating system is Redhat.
> I have done some commands like:
> 1. localhost@root # export TLS=1
> 2. Uncomment (enable) TLS =1 in Makefile
> 3. localhost@root # TLS=1 make all
>
> I do those task based on the tutorial that i have read from
> www.openser.org/docs/tls.html.
> But, when i run the make command, TLS=1 make all, there is an error
> message. The error message is
>
> make: *** [main.o] Error 1
>
> Does someone can help me to solve this problem? What should i do ?
> Please help me....
>
> NB: this is the message that i have got when run the make command
>
> >> In file included from /usr/include/openssl/ssl.h:179,
>
> >> from tls/tls_init.h:27,
>
> >> from main.c:112:
>
> >> /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
>
> >> In file included from /usr/include/openssl/ssl.h:179,
>
> >> from tls/tls_init.h:27,
>
> >> from main.c:112:
>
> >> /usr/include/openssl/kssl.h:132: parse error before "krb5_enctype"
>
> >> /usr/include/openssl/kssl.h:134: parse error before "FAR"
>
> >> /usr/include/openssl/kssl.h:135: parse error before '}' token
>
> >> /usr/include/openssl/kssl.h:147: parse error before
> "kssl_ctx_setstring"
>
> >> /usr/include/openssl/kssl.h:147: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:148: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:149: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:149: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:150: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:151: parse error before "kssl_ctx_setprinc"
>
> >> /usr/include/openssl/kssl.h:151: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:153: parse error before "kssl_cget_tkt"
>
> >> /usr/include/openssl/kssl.h:153: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:155: parse error before "kssl_sget_tkt"
>
> >> /usr/include/openssl/kssl.h:155: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:157: parse error before "kssl_ctx_setkey"
>
> >> /usr/include/openssl/kssl.h:157: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:159: parse error before "context"
>
> >> /usr/include/openssl/kssl.h:160: parse error before
> "kssl_build_principal_2"
>
> >> /usr/include/openssl/kssl.h:160: parse error before "context"
>
> >> /usr/include/openssl/kssl.h:163: parse error before
> "kssl_validate_times"
>
> >> /usr/include/openssl/kssl.h:163: parse error before "atime"
>
> >> /usr/include/openssl/kssl.h:165: parse error before
> "kssl_check_authent"
>
> >> /usr/include/openssl/kssl.h:165: parse error before '*' token
>
> >> /usr/include/openssl/kssl.h:167: parse error before "enctype"
>
> >> In file included from tls/tls_init.h:27,
>
> >> from main.c:112:
>
> >> /usr/include/openssl/ssl.h:909: parse error before "KSSL_CTX"
>
> >> /usr/include/openssl/ssl.h:931: parse error before '}' token
>
> >> make: *** [main.o] Error 1
>
>
> Thank you.
> Sincerely yours,
>
> Ferianto
>
> ------------------------------------------------------------------------
> Do you Yahoo!?
> Get on board. You're invited
> <http://us.rd.yahoo.com/evt=40791/*http://advision.webevents.yahoo.com/handr…>
> to try the new Yahoo! Mail Beta.
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Devel mailing list
>Devel(a)openser.org
>http://openser.org/cgi-bin/mailman/listinfo/devel
>
>
Hi all,
I was wondering what is the max children I can spawn. When I set children = 32 I got this error when doin openserctl moni:
Error opening openser's FIFO /tmp/openser_fifo
Make sure you have line fifo=/tmp/openser_fifo in your config
Seems like openser or my system can't support that many children? I read that in the core cookbook that max children was 32. Wonder why it crashed on my system. Its a Dell Server, specs should be Pentium 4 3 Ghz with 1 GB ram. I think this spec should be enough to support 32 children.
Here is the debug error.
51(4998) ERROR:domain_db_init: cannot initialize database connection
51(4998) 52(5000) new_connection: Too many connections
52(5000) ERROR: child_init(50): Error while connecting database
52(5000) ERROR:init_mod_child: Error while initializing module usrloc, rank 50
52(5000) init_children failed
ERROR: domain:child_init(): Unable to connect to the database
What am I suppose to do to fix it? I'm using mysql database. Is it because mysql needs to support more connection? How am I suppose to change that? Thank you
---------------------------------
Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.
Dear all,
I try to compile the TLS Support in my openser. I use openser-1.0.1-tls and The operating system is Redhat.
I have done some commands like:
1. localhost@root # export TLS=1
2. Uncomment (enable) TLS =1 in Makefile
3. localhost@root # TLS=1 make all
I do those task based on the tutorial that i have read from www.openser.org/docs/tls.html.
But, when i run the make command, TLS=1 make all, there is an error message. The error message is
make: *** [main.o] Error 1
Does someone can help me to solve this problem? What should i do ? Please help me....
NB: this is the message that i have got when run the make command
>> In file included from /usr/include/openssl/ssl.h:179,
>> from tls/tls_init.h:27,
>> from main.c:112:
>> /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
>> In file included from /usr/include/openssl/ssl.h:179,
>> from tls/tls_init.h:27,
>> from main.c:112:
>> /usr/include/openssl/kssl.h:132: parse error before "krb5_enctype"
>> /usr/include/openssl/kssl.h:134: parse error before "FAR"
>> /usr/include/openssl/kssl.h:135: parse error before '}' token
>> /usr/include/openssl/kssl.h:147: parse error before "kssl_ctx_setstring"
>> /usr/include/openssl/kssl.h:147: parse error before '*' token
>> /usr/include/openssl/kssl.h:148: parse error before '*' token
>> /usr/include/openssl/kssl.h:149: parse error before '*' token
>> /usr/include/openssl/kssl.h:149: parse error before '*' token
>> /usr/include/openssl/kssl.h:150: parse error before '*' token
>> /usr/include/openssl/kssl.h:151: parse error before "kssl_ctx_setprinc"
>> /usr/include/openssl/kssl.h:151: parse error before '*' token
>> /usr/include/openssl/kssl.h:153: parse error before "kssl_cget_tkt"
>> /usr/include/openssl/kssl.h:153: parse error before '*' token
>> /usr/include/openssl/kssl.h:155: parse error before "kssl_sget_tkt"
>> /usr/include/openssl/kssl.h:155: parse error before '*' token
>> /usr/include/openssl/kssl.h:157: parse error before "kssl_ctx_setkey"
>> /usr/include/openssl/kssl.h:157: parse error before '*' token
>> /usr/include/openssl/kssl.h:159: parse error before "context"
>> /usr/include/openssl/kssl.h:160: parse error before "kssl_build_principal_2"
>> /usr/include/openssl/kssl.h:160: parse error before "context"
>> /usr/include/openssl/kssl.h:163: parse error before "kssl_validate_times"
>> /usr/include/openssl/kssl.h:163: parse error before "atime"
>> /usr/include/openssl/kssl.h:165: parse error before "kssl_check_authent"
>> /usr/include/openssl/kssl.h:165: parse error before '*' token
>> /usr/include/openssl/kssl.h:167: parse error before "enctype"
>> In file included from tls/tls_init.h:27,
>> from main.c:112:
>> /usr/include/openssl/ssl.h:909: parse error before "KSSL_CTX"
>> /usr/include/openssl/ssl.h:931: parse error before '}' token
>> make: *** [main.o] Error 1
Thank you.
Sincerely yours,
Ferianto
---------------------------------
Do you Yahoo!?
Next-gen email? Have it all with the all-new Yahoo! Mail Beta.
Dear all,
do anyone know how to t_replicate to multiple proxy, I tried putting
two t_replicate statement back to back but it only replicate to the
first proxy, not the second.
t_replicate("sip:xxx.xxx.xxx.xxx:5060");
t_replicate("sip.yyy.yyy.yyy.yyy:5060");
thanks
Ray
Hi,
1. I have few questions, I am using Cisco gateways to terminate and
originate calls, Can I do the same with openSER?
2. I've installed openser 1.0.1 where with Mysql support, where can I
do the configuration like routing etc.
3. From where I can get Web interface for openser 1.0.1
Thanks
Best Regards.
Hi all,
I'm using OpenSER v1.0.1 and i have done an accounting compatible with
my billing system.
Now i have problem with detection of flow direction for billing reason.
i'm talking about openser 1.0.x:
the problem is when the BYE come from callee.
i know the problem is solved in openser1.1.x with the
modparam("acc", "detect_direction", 1)
i have read in modules documentation of 1.0.x that i can use
is_direction() of RR module for detect call flow direction but it says
that this must be called after loose_route()
so for the accounting i must call setflag before loose_route() but what
can i do if i want detect call flow
before of exec setflag?
Hmmm i think that i must install OpenSER 1.1.x and test with it
:tele
Hi Everybody,
I have some problems with a System which has several network interfaces
and multiple network interfaces. The system basically receives requests
on the public socket/ip and sends them, via the private socket to some
proxies, which "do the work". It's a kind of load-balancer based on
OpenSER 1.0.1 and the Dispatcher Module from 1.1 / CVS.
Everything works fine, but sometimes i see some ICMP Messages
(Destination not reachable / Port not reachable) on this "loadbalancer";
as a response to requests from the Proxies to the loadbalancer. Has
anybody seen this issue before? Any ideas, what's wrong? Any known
issues? Are there any known problems with multiple interfaces? Any known
issues with more than one processor? I've copied my configuration below,
any thing in capital letters are Parameters from my M4 file...
The system is not really on high load, has 64 children and should easily
handle the load... (Dual Intel Xeon(a)2.80GHz, 1 Gig of Ram)
Any help would be appreciated...
Thanks in advance,
Carsten
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
children=CHILD_PROCS
check_via=yes
dns=off
rev_dns=off
listen=DISPATCHER_EXTERNAL_IP
listen=DISPATCHER_INTERNAL_IP
port=5060
sip_warning=0
disable_core_dump=yes
# Use the FIFO
fifo="/tmp/openser_fifo"
# for more info: sip_router -h
# ------------------ module loading ----------------------------------
loadmodule "/lib/openser/modules/maxfwd.so"
loadmodule "/lib/openser/modules/sl.so"
loadmodule "/lib/openser/modules/tm.so"
loadmodule "/lib/openser/modules/xlog.so"
loadmodule "/lib/openser/modules/dispatcher.so"
loadmodule "/lib/openser/modules/textops.so"
loadmodule "/lib/openser/modules/rr.so"
loadmodule "/lib/openser/modules/mccs_dispatcher.so"
# ----------------- setting module-specific parameters ---------------
# TM Module: Timeout for a request with no provisional Answers
modparam("tm", "fr_timer", PROXY_TIMEOUT)
# No double Record-Route; we do it manually
modparam("rr", "enable_double_rr", 0)
# Dispatcher: Forward Register Requests
modparam("dispatcher", "list_file", "/etc/openser/dispatcher.list")
# Dispatcher: Enable Failover-Support
modparam("dispatcher", "flags", 2)
route {
##################################################################################################################
# ï¿1/2berprï¿1/2fung auf zuviele Forwards.
###############################################################################################################
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","To Many Hops");
drop();
return;
};
##################################################################################################################
# Loose-Routing (RFC3261)
###############################################################################################################
# Record-Route-Header entfernen
if (loose_route()) {
if(uri=~"sip:.*[@]INTERNAL_IP_REGEX") {
# Send via the internal Interface:
force_send_socket(DISPATCHER_INTERNAL_IP:5060);
} else {
# Send via the external Interface:
force_send_socket(DISPATCHER_EXTERNAL_IP:5060);
}
if (!t_relay()) {
sl_reply_error();
}
return;
}
##################################################################################################################
# Record-Route, damit alle Nachrichten ï¿1/2ber diesen SIP-Proxy laufen
###############################################################################################################
if (method == "INVITE") record_route();
##################################################################################################################
# Relay requests from the Gateways
###############################################################################################################
if (OTHER_PROXY_QUERY) {
if (uri != myself) {
# Send via the external Interface:
force_send_socket(DISPATCHER_EXTERNAL_IP:5060);
# Und das Paket entsprechend weiterleiten
if (!t_relay_to_udp("MCCS_GLOBAL_DISPATCHER_PRIMARY",
"MCCS_GLOBAL_DISPATCHER_PRIMARY_PORT")) {
log(1, "Not possible to relay to Dispatcher\n");
# Fehler melden
sl_reply_error();
}
return;
} else {
# Anfrage fï¿1/2r ein PSTN-Out-Gateway
if (uri=~"sip:mg_out_.*") {
# "mg_out_" entfernen
strip(7);
# PSTN-Out Mediagateway wï¿1/2hlen (Round-Robin)
ds_select_domain("2", "4");
# Send via the external Interface:
force_send_socket(DISPATCHER_EXTERNAL_IP:5060);
# Anfrage fï¿1/2r einen Mediaserver
} else if (uri=~"sip:media_.*") {
# "media_" entfernen
strip(6);
# Mediaserver wï¿1/2hlen (Round-Robin)
ds_select_domain("3", "4");
# Send via the internal Interface:
force_send_socket(DISPATCHER_INTERNAL_IP:5060);
} else {
sl_send_reply("503", "Service not available");
drop();
return;
}
# On Failure: Choose next Proxy
t_on_failure("1");
# Relay to the Proxy
if (!t_relay()) {
sl_reply_error();
}
return;
}
}
##################################################################################################################
# Routing zu den SIP-Proxys
###############################################################################################################
# Send via the internal Interface:
force_send_socket(DISPATCHER_INTERNAL_IP:5060);
# Proxy wï¿1/2hlen (Round-Robin, SIP-Proxies)
ds_select_domain("1", "4");
# On Failure: Choose next Proxy
t_on_failure("1");
# Relay to the Proxy
if (!t_relay()) {
sl_reply_error();
}
return;
}
failure_route[1] {
# Choose another gateway
if (t_check_status("408") && t_local_replied("all")) {
if (ds_next_domain()) {
# On Failure: Choose next Proxy
t_on_failure("1");
# Relay to Proxy
t_relay();
} else {
t_reply("503", "Service not available");
return;
}
}
}