Hi All,
I have a SER 0.9.6, and sometimes I have memory allocation problem
somehow :(
Oct 29 19:58:38 sip ser[23161]: processing REGISTER received from x.x.x.x
Oct 29 19:58:38 sip ser[23161]: DEBUG: t_newtran: msg id=23950 , global
msg id=23949 , T on entrance=0xffffffff
Oct 29 19:58:38 sip ser[23161]: parse_headers: flags=-1
Oct 29 19:58:38 sip ser[23161]: DEBUG: get_hdr_body : content_length=0
Oct 29 19:58:38 sip ser[23161]: found end of header
Oct 29 19:58:38 sip ser[23161]: parse_headers: flags=60
Oct 29 19:58:38 sip ser[23161]: t_lookup_request: start searching:
hash=31874, isACK=0
Oct 29 19:58:38 sip ser[23161]: DEBUG: RFC3261 transaction matching failed
Oct 29 19:58:38 sip ser[23161]: DEBUG: t_lookup_request: no transaction
found
Oct 29 19:58:38 sip ser[23161]: ERROR: sip_msg_cloner: cannot allocate
memory
Oct 29 19:58:38 sip ser[23161]: DEBUG:destroy_avp_list: destroying list
(nil)
Oct 29 19:58:38 sip ser[23161]: ERROR: new_t: out of mem:
Oct 29 19:58:38 sip ser[23161]: ERROR: t_newtran: new_t failed
As I read in the mailing lists, it occurs, when SER has a lots of live,
opened transactions.
It's a test SER, I think we did not have any opened transactions (maybe
the failed ones).
Is there any mechanism in SER, what drops the too old opened (most
likely failed transactions) transactions ?
Can I get the current used shared memory somehow ?
What else can sause this problem ?
Thanks,
Mitya
Hello,
because are a lot of signs and banners, some attendees may get it faster
via email: the openser sessions are in 205A for openser admin training
session and 206A for BoF. The are on the right side of the building, the
second floor (from the registration desk, turn right and walk to the end
of corridor, where you can get the elevators).
Cheers,
Daniel
Hi,
I am deploying openser 1.2.2-notls on a machine with public IP.
On the same machine I run a sip client (A) that registers with the
above openser.
On an another machine behind NAT (typical adsl router) I use a sip
client (B)
to register with the above openser and try to invite sip client A.
I do not use any NAT-traversal techniques (the outgoing packets from
B are modified by NAT and reach openser, responses are received by
B through NAT due to statefull (?) routing on the NAT).
The SIP messages reach their destination properly and moreover
the IP addresses in the SDP (from B) are updated by openser
to indicate the external interface of NAT. This is very useful in
my case since the client A sends the media packets to the proper
address (I also configure virtual servers on the adsl router to have
these forwarded to B). However, the port numbers in the SDP are
also updated (usually by an offset of +16) which hinders the media session
from A to B since B is expecting the packets on other ports.
Is there any way to have the ports remain unaltered during the above
operation?
Thanks in advance,
Kostas
Below is my openser.cfg
#
# $Id: openser.cfg 1676 2007-02-21 13:16:34Z bogdan_iancu $
#
# simple quick-start config script
# Please refer to the Core CookBook at http://www.openser.org/dokuwiki/doku.php
# for a explanation of possible statements, functions and parameters.
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
children=4
# Uncomment these lines to enter debugging mode
#fork=no
#log_stderror=yes
#
port=5060
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify_server = 1
#tls_verify_client = 1
#tls_require_client_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/opt/openser/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/opt/openser/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/opt/openser/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
#set module path
mpath="/lib/openser/modules/"
# Uncomment this if you want to use SQL database
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "auth.so"
loadmodule "auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- mi_fifo params --
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
# -- 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("tls:domain1.net");
# exit;
#} else if(uri=~"@tls_domain2.net") {
# t_relay("tls:domain2.net");
# 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("......", "subscriber")) {
www_challenge(".....", "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;
}
Hi,
During the lcr module set up I encountered the following problems:
a) there is no prefix column in the gw table so when the modules is
initialized it returns an error
b) the ip_addr column in gw table is an int(1o) type how should I specify it
to get the IP like 192.168.0.74?
c) when I invoke the load_gw() there is the debug info that gw_uri_avp was
created but when I then
try to print it I get that avp not found, what is wrong?
log below:
Oct 31 11:38:24 sen ser[12273]: load_gws(): DEBUG: Added gw_uri_avp <
sip:touk1@138.64.116.11:5070>
Oct 31 11:38:24 sen ser[12273]: AVP '$gw_uri_avp' not found
Waiting for Your feedback
Regards
Tomasz
(Please CC me as I'm not on the list)
Hello, I'm having an OpenSER installation being submitted to a compliance
test, and one of the many tests requires that OpenSER replies to a
correctly authenticated REGISTER with many Contact headers with 200 OK
messages for each of the contacts, in addition to storing all the contacts
in the location database.
Questions:
1) Do I need some special configuration for that? Shouldn't the
radius_www_authorize() function (I'm authenticating against Radius) take
care of it all?
2) What software could I use to generate a REGISTER request with multiple
Contacts?
Thanks,
Juan
hi All,
We're using SER Release-2.0.0.rc1. While trying to add a domain using
"./ser_ctl domain add adc.com" command we're facing the following error -
ser_ctl: digest_realm: Unknown attribute
My doubt is, if I look at the database, there is no field named
digest_realm in the domain table....
Can anybody explain, why this is happening....
thanx 'n' regds,
--Piyush
The information contained in this e-mail message is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you should return it to the sender immediately. Please note that while we scan all e-mails for viruses we cannot guarantee that any e-mail is virus-free and accept no liability for any damage caused by any virus transmitted by this email.
Hi all.
I get an exception in openXcap when I send a GET to retrieve the resources
file.
I explain the process I followed:
----->Send GET to openXcap.
<----Receive 404, because there is not file.
-----> Send PUT to openXcap. The body contains a resource-list.xml document
'with no data':
Body;
<?xml version='1.0' encoding='UTF-8'?>
<resource-lists xmlns='urn:ietf:params:xml:ns:resource-lists'
xmlns:cp='urn:ietf:params:xml:ns:copycontrol'>
<list></list>
</resource-lists>
<----Receive 200 OK. So openXcap likes my document.
-----> Send GET to openXcap.
<---- Receive 500 "An error occurred rendering the requested page. More
information is available in the server log". So the same document that was
accepted in the PUT throws an exception.
The server log says:
Oct 30 15:01:55 localhost openxcap[2791]: [-] Exception rendering:
Oct 30 15:01:55 localhost openxcap[2791]: [-] Traceback (most recent call
last):
Oct 30 15:01:55 localhost openxcap[2791]: [-] File
"/usr/lib/python2.4/site-packages/twisted/internet/posixbase.py", line 228,
in mainLoop
Oct 30 15:01:55 localhost openxcap[2791]: [-] self.runUntilCurrent()
Oct 30 15:01:55 localhost openxcap[2791]: [-] File
"/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 533, in
runUntilCurrent
Oct 30 15:01:55 localhost openxcap[2791]: [-] f(*a, **kw)
Oct 30 15:01:55 localhost openxcap[2791]: [-] File
"/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 239, in
callback
Oct 30 15:01:55 localhost openxcap[2791]: [-]
self._startRunCallbacks(result)
Oct 30 15:01:55 localhost openxcap[2791]: [-] File
"/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 304, in
_startRunCallbacks
Oct 30 15:01:55 localhost openxcap[2791]: [-] self._runCallbacks()
Oct 30 15:01:55 localhost openxcap[2791]: [-] --- <exception caught
here> ---
Oct 30 15:01:55 localhost openxcap[2791]: [-] File
"/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 317, in
_runCallbacks
Oct 30 15:01:55 localhost openxcap[2791]: [-] self.result =
callback(self.result, *args, **kw)
Oct 30 15:01:55 localhost openxcap[2791]: [-] File
"/usr/lib/python2.4/site-packages/xcap/resource.py", line 51, in
sendResponse
Oct 30 15:01:55 localhost openxcap[2791]: [-] response =
http.Response(response.code, stream=response.data)
Oct 30 15:01:55 localhost openxcap[2791]: [-] File
"/usr/lib/python2.4/site-packages/twisted/web2/http.py", line 109, in
__init__
Oct 30 15:01:55 localhost openxcap[2791]: [-] self.stream =
IByteStream(stream)
Oct 30 15:01:55 localhost openxcap[2791]: [-] exceptions.TypeError:
('Could not adapt', array('c', "<?xml version='1.0'
encoding='UTF-8'?><resource-lists
xmlns='urn:ietf:params:xml:ns:resource-lists'
xmlns:cp='urn:ietf:params:xml:ns:copycontrol'><list></list></resource-lists>
"), <InterfaceClass twisted.web2.stream.IByteStream>)
Anyone know what is wrong?
Thanks and best regards.
Gregorio
OpenXCAP has already included twisted, do I need to install Apache? I don't much about twisted.
It seems I need to create a directory for xcap root, because the web browser gives me "XCAP
root not found for uri: http://127.0.0.1:8000". And, how do I do that?
Thank you
Kevin,
_________________________________________________________________
MSN 中文网,最新时尚生活资讯,白领聚集门户。
http://cn.msn.com
Hi Folks,
I have 2 questions, I'm using openser 1.1.x and rtpproxy bridging
between 2 networks, one public, one private. a pstn gateway in the
private network, and clients in the public network.
firstly, when I make a call check_from() fails, unless I comment it
out, why is this?
# if(!check_from())
# {
# sl_send_reply("403", "Spoofed From-URI Detected");
# exit;
# }
and secondly. I have rtpproxy and openser listening on both public and
private interfaces, with mhomed=1 set. whenever I make a call,
everything works ok, but I have no audio? where should I look?
-Cheers Max
Hi,
I am trying to compare the values of 'IP source address' ($si) and
'Domain in SIP Request's URI' ($rd) to see if they match in Openser 1.1.
Probably I have missed the relevant documentation, I checked
http://www.openser.org/dokuwiki/doku.php/pseudovariables:1.1.x and
http://www.openser.org/dokuwiki/doku.php/core-cookbook:1.1.x .
Basically I'd like to do this:
if($si == $rd){
#do something
}
but that gives a syntax error.
I also tried this:
if(src_ip==$rd){
}
but it seems the pseudo variable isn't being expanded before the
evaluation, as I don't get a match even though debugging shows $si and $rd
to be the same.
Also, is there anyway to pass a pseudo variable to rewritehost() or an
equivalent function?
Thanks for any pointers,
Richard