Hello,
Kamailio SIP Server v3.1.2 stable release is out.
This is a maintenance release of latest stable branch, 3.1, that
includes fixes since release of v3.1.1. There is no change to database
or configuration file required to upgrade to 3.1.2 from 3.1.0 or 3.1.1
versions, therefore it is strongly recommended to upgrade to v3.1.2.
For more details about version 3.1.2, visit:
http://www.kamailio.org/w/2011/02/kamailio-v3-1-2-released/
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com
Hello.
We’re having critical issues with our LCR, we have the Kamailio version
1.5.2, several calls are arriving to our LCR and from some reason the next
message appears in the log :
Feb 6 12:01:55 /usr/local/sbin/kamailio[14185]: NOTICE:lcr:gw_set_state:
trunk "xx.xx.xx.135:5060" from group: <2099> is OFFLINE!
We can see this message repeated for every single gateway in the “gw” table
from the LCR, after this happened, the LCR rounting process is blocked and
no more calls are processed.
Can someone help us with this problem?
Thanks in advance,
*Regards,*
*Ricardo Martinez.-*
* *
Hello,
I think it is time to release v3.1.2, first date that comes in my mind
is next Thursday if everyone feels it is enough time to take care of
backporting any fix he/she did and it is not yet there. That will
provide us a fresh release for the FOSDEM event. If not, then maybe the
other week, Tuesday, so the participants at the Kamailio Devel training
in Barcelona can practice on it.
Soon after we should plan also a release for previous stable, branch 3.0.
Anyone having other options?
Thanks,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com
Hi,
Below is my config and i am getting error , missing load module
modparam("lcr","db_url",DBURL)
modparam("lcr", "gw_uri_avp", "$avp(i:709)")
modparam("lcr", "ruri_user_avp", "$avp(i:500)")
modparam("lcr", "flags_avp", "$avp(i:712)")
route[LCR]
{
if(!load_gws()){
xlog("yes");
};
This gives me error : loading modules under
/usr/local/lib/kamailio/modules_k/:/usr/local/lib/kamailio
0(1265) : <core> [cfg.y:3412]: parse error in config file
routes/route-lcr.cfg
unknown command, missing loadmodule? for load_gws()
ERROR: bad config file (1 errors)
Any guidance please ?
--
Thank You
Amit Nepal
Systems Administrator
Phoenix Internet
Phone: 602-385-0731
602-234-0917#112
http://www.phoenixinternet.net
Hi there,
I turned up a few new sip trunk customers this past week, from which one of
them was an Avaya system.
The customer wasn¹t able to do a username/password auth, so I set them up as
a permanent entry in the location table. I am running Kamailio 1.5.5.
The issue is that I am throwing back a 404 to them when they do a timer
event, as they are passing sip:Unknown@my.ip.addr.
I don¹t have a user name Unknown, hence the 404. I noticed that with the
timer events from other customer¹s PBXs, that they are passing sip:my.addr,
from which I am giving back 200 OK.
What is the best way to handle this? Just let it go or add a ³Unknown² user
(I don¹t like the latter, really)? Calls to and from their system is fine,
so right now it¹s just entries in my logs but I hate spending CPU cycles
on stuff that isn¹t going to benefit anyone. I sent an email back to the
customer to see if maybe he can resolve it on his end, but I am doubtful on
getting it resolved on his end.
Thanks,
-graham
Hi all,
I'd like to bring forward a proposal for creating CDRs (Call Data
Records) from Kamailio by means of extending both acc and dialog
modules. Feedback is very welcome.
So far, CDR generation requires post-processing of log entries created
by the (transaction-based) acc module or some other means. Looking at
OpenSIPS (which is already capable of producing CDRs), my idea is to
copy the basic notion of tracking dialogs for to-be-accounted calls and
log a proper CDR on termination. Creating basic CDRs including start
time, end time, and call duration can be accomplished quite easily this way.
Apart from this very minimum CDR content, however, one can think of a
number of CDR fields that cannot be filled easily. For instance, caller
identity isn't always contained in the From header (think of CLIR calls)
but need to be determined from other headers depending on the type of
call, possibly even involving a database lookup. That's why I'd like to
provide a way to pass additional, CDR-specific data from the
configuration file to the dialog structure associated with the call.
When the dialog is about to terminate, the extended acc module would
make sure that the added CDR data associated to the dialog is included
in the CDR. This way, users may define CDR fields to their personal
needs from the configuration file in a flexible manner.
In order to accomplish this, the dialog module would need to be extended
such that dialog-specific data may be stored for the duration of a
dialog (which is not possible to this day AFAICS). A new setter function
attached to the dialog interface (struct dlg_binds) could accept a
simple key/value pair for storage purposes. Exporting this function to
the configuration file and accompanying it with a corresponding getter
function will ensure that dialog-specific data may be written and read
generically. Thus, improvements to the dialog module may be leveraged
not just for CDR-accounting purposes.
Regarding the acc module, a couple of new features need to be
implemented: First, the introduction of another module parameter called
something like "cdr_fields" that comprises the set of key names
designated for CDR inclusion. Hence, a line like
modparam("acc", "cdr_fields", "caller, callee, foo, bar")
would require Kamailio configurators to store dialog-specific values for
the keys "caller", "callee", "foo", and "bar", respectively, during call
processing. The values will be fed to the dialog structure employing the
new dialog store function explained above.
Second, when the acc module is in CDR mode, dialogs shall be tracked
from creation to termination using dialog callbacks. On termination of a
dialog, values from keys referenced in the "cdr_fields" parameter will
be fetched from the terminating dialog structure and associated with the
new, fresh CDR.
Third, the CDR is persisted to either log file, database, or both.
Note that my approach would not touch the existing acc module
functionality: CDR mode is supposed to be working in addition to
transaction-based accounting as people will likely want to keep
transaction logs for debugging or similar needs. A flag would enable and
disable CDR generation at will. I have not fully investigated
re-usability possibilities but believe that acc's persistence functions
may be taken advantage of by the new CDR-producing parts as well.
That's it with regards to the basic mode of operation. I am also
thinking of having a few other features, such as using a switch to set
the call start time to the moment the ACK or OK is seen instead of the
INVITE (because users shouldn't be billed for call setup times).
Looking forward to seeing your feedback on this proposal.
Cheers,
--Timo
I'm having an issue with topoh module in Kamailio 3.1.0. When Contact
header is formed like this:
Contact: 0991
<sip:192.168.0.107;line=sr-N6IAzBysz.tyz.D4M.VLOBMfOBFuWxvfMxV4>
The other party responds properly. But when there is no angle brackets
in Contact:
Contact:
sip:192.168.0.107;line=sr-N6IAzB3AWxyfz.stM.quOBFZMJZfWxj7W.y-MljAWBy*
Really, many parsers implement "prefer shift to reduce" principle, which
means if something can be interpreted in more enclosed expression, it
will be interpreted this way and no as part of less enclosed expression
so ;line is interpreted as header parameter but not URI parameter.
RFC 3261 section 20 suggests that any URI parameters be contained within
angle brackets:
===
The Contact, From, and To header fields contain a URI. If the URI
contains a comma, question mark or semicolon, the URI MUST be
enclosed in angle brackets (< and >). Any URI parameters are
contained within these brackets. If the URI is not enclosed in angle
brackets, any semicolon-delimited parameters are header-parameters,
not URI parameters.
===
I think the topoh module should force the angle brackets.
BTW it seems that parameter needs to be urlencoded, see rule
'other-param' in RFC 3261 section 25.1:
other-param = pname [ "=" pvalue ]
pname = 1*paramchar
pvalue = 1*paramchar
paramchar = param-unreserved / unreserved / escaped
param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$"
No .-* characters are allowed in the paramchar. But at least that's not
causing me any problems.
--
Sincerely,
Andrew Pogrebennyk
Could someone guide me how to compile and install just one module with
flavor set to kamailio ?
--
Thank You
Amit Nepal
Systems Administrator
Phoenix Internet
Phone: 602-385-0731
602-234-0917#112
http://www.phoenixinternet.net
Hello my friends,
I'm trying to configure authentication on my Kamailio and is not working at
all :(
I've added the following to the script to make it work: (but it doesn't)
...
loadmodule "auth.so"
loadmodule "auth_db.so"
...
modparam("usrloc", "db_url",
"mysql://kamailio:kamailiorw@localhost/kamailio")
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "db_url",
"mysql://kamailio:kamailiorw@localhost/kamailio")
modparam("auth_db", "load_credentials", "")
...
if (!(method=="REGISTER") && from_uri==myself) /*no multidomain
version*/
{
if (!proxy_authorize("", "subscriber")) {
proxy_challenge("", "0");
exit;
}
if (!db_check_from()) {
sl_send_reply("403","Forbidden auth ID");
exit;
}
consume_credentials();
}
...
if (is_method("REGISTER"))
{
# authenticate the REGISTER requests (uncomment to enable
auth)
if (!www_authorize("", "subscriber"))
{
www_challenge("", "0");
exit;
}
##
if (!db_check_to())
{
sl_send_reply("403","Forbidden auth ID");
exit;
}
if (!save("location"))
sl_reply_error();
exit;
}
But is not working at all...take a look:
#
U 2011/02/03 09:31:04.402891 172.30.140.22:48752 -> 172.30.140.8:5060
REGISTER sip:172.30.140.8 SIP/2.0
Via: SIP/2.0/UDP 172.30.140.22:48752
;branch=z9hG4bK-d87543-9a54af22967ae417-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:1000@172.30.140.22:48752;rinstance=fcade2df86ce0ab8>
To: "1000"<sip:1000@172.30.140.8 <sip%3A1000(a)172.30.140.8>>
From: "1000"<sip:1000@172.30.140.8 <sip%3A1000(a)172.30.140.8>>;tag=cd3e2323
Call-ID: MmU0YjM1NThiNTg0ZjhiNGM4ODA4ZmU1YWFiYjBmNTc.
CSeq: 1 REGISTER
Expires: 3600
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE,
INFO
User-Agent: X-Lite release 1011s stamp 41150
Content-Length: 0
#
U 2011/02/03 09:31:04.404039 172.30.140.8:5060 -> 172.30.140.22:48752
SIP/2.0 200 OK
Via: SIP/2.0/UDP 172.30.140.22:48752
;branch=z9hG4bK-d87543-9a54af22967ae417-1--d87543-;rport=48752
To: "1000"<sip:1000@172.30.140.8 <sip%3A1000(a)172.30.140.8>
>;tag=c97b4d1cb1f3d0da549e06a8d482ef63.34dc
From: "1000"<sip:1000@172.30.140.8 <sip%3A1000(a)172.30.140.8>>;tag=cd3e2323
Call-ID: MmU0YjM1NThiNTg0ZjhiNGM4ODA4ZmU1YWFiYjBmNTc.
CSeq: 1 REGISTER
Contact: <sip:1000@172.30.140.22:48752
;rinstance=fcade2df86ce0ab8>;expires=3600
Content-Length: 0
Am i missing something in my configuration?
Thanks in advance!!!