Hi,
What might be the cause that t_check_trans() function fails and ACK message is not being routed?
This is a simple SIP to SIP call.
if ( is_method("ACK") )
{
if ( t_check_trans() )
{
# non loose-route, but stateful ACK; must be an ACK after a 487 or e.g. 404 from upstream server
t_relay();
exit;
}
else
{
# ACK without matching transaction ... ignore and discard.\n");
exit;
}
}
_________________________________________________________________
Windows Live™ Hotmail®: Chat. Store. Share. Do more with mail.
http://windowslive.com/explore?ocid=TXT_TAGLM_WL_t1_hm_justgotbetter_explor…
Hi
I am running the server with debug=9 and fork=yes and log standard
output = yes. when I do that I can see a lot of debug info and sip
packets in the standard output however the log file does show only some
notices and xlog entries. So when I close putty and get back later or a
few days later I have to kill and restart openser to see debug info as
the log file is not showing maximum debug levels unlike the standard
output.
Please advice, the goal I want to reach is to see maximum loggin in a
file so I can check it out without having to restart the server.
Thanks
Hello VoIP guys
Sorry for being somewhat off-topic. At the moment I am studying
informatics in the seventh semester and I need to start thinking about
my thesis. As I am very interested in VoIP technologies I thought about
picking this as my main topic. So far I have only little experience in
this area. I have been fiddling around with siproxd and pfSense and have
red the one or the other packet dump containing SIP and RTP traffic, had
a look into codecs, STUN, etc... but very cursorily, and that's the
reason why I am quite unsure on which track to go. I think I am quite
familiar with many network protocols and devices... so here comes the
question of the questions:
What would be a great project for my thesis to work on in the VoIP
field? What are topics that still need special development? The time
frame should be around 300 hours but don't take this value too
seriously...
Any ideas are welcome!
/sp4rc
Hi Guys,
Is possible to have per request statistics from the SNMPStats module?
What I mean is if I can know how many INVITES, REGISTERS, SUBSCRIBERS,
NOTIFIES and so on were processed by kamailio.
is that possible?
Cheers,
Noel
Hello,
a new module was committed in trunk, to be released as 1.5.0 - the plan at:
http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.5.x
The rtimer module allows to execute route block on timer. It can create
new processes that will do the timer execution of the routes or use
existing timer. There can be multiple timers and each timer can execute
multiple route blocks.See readme at:
http://kamailio.org/docs/modules/devel/rtimer.html
Such features is useful if you want to do periodic jobs in your service
1) clean a database were you store temporary data - e.g., delete entries
older than 2 hours
modparam("rtimer", "timer", "name=ta;interval=10;mode=1;")
modparam("rtimer", "exec", "timer=ta;route=8")
route[8] {
sql_query("ca", "delete from tmp where timeval<$TS-3600","ra");
}
2) save statistics in database so you can build graph, etc...
http://www.kamailio.org/dokuwiki/doku.php/pseudovariables:devel#statistics
route[8] {
sql_query("ca", "insert into kamailio_stats values ($stat(...), ...)","ra");
}
3) Along with another pretty new feature - sending sip requests from
config file:
http://lists.kamailio.org/pipermail/users/2009-January/021426.html
you can implement keep-alive/syncronization mechanisms within your farm
of sip routers.
Any other ideas? Let's see the best one for using the new stuff from uac
and the rtimer module...
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com
Hi,
htable module has been enhanced with couple of features that give more
flexibility in working as config file cache system.
- auto-expire - to each value stored in hash table can be assigned an
expire value. If no update was done in that time interval, the value
will be automatically removed. One new pseudo-variable class has been
added to manage the expire values: $shtex(htable=>key) - it can be used
to get/set the time-out interval. To get this feature on, the hash table
definition must include autoexpire attribute greater than 0.
- sht_rm_name_re(htable=>regexp) - delete from hash table all entries
that match the name against regexp
- sht_rm_value_re(htable=>regexp) - delete from hash table all entries
that match the value (string) against regexp
- reload the content of a hash table from database at runtime upon MI
command. The hash table definition must include the database table name,
then you can issue: 'kamctl fifo sht_reload htname' to reload the hash
table with name 'htname'.
Check the documentation at:
http://kamailio.org/docs/modules/devel/htable.html
Regards,
Ramona
Dear All,
I need to ask please about which function should I use in order to check
while making a call if the user who is dialing the number is making the call
from a registered account or not?
Regards
Hello,
uac module provides a new function that allow sending sip requests from
configuration file:
- uac_send_req()
http://kamailio.org/docs/modules/devel/uac.html#id2467912
It opens the door for a new bunch of things you can do now. I can think
of now:
1) send IM alerts on special events
route {
$uac_req(method)="MESSAGE";
$uac_req(ruri)="sip:alert@kamailio.org";
$uac_req(furi)="sip:server@kamailio.org";
$uac_req(hdrs)="Content-Type: text/plain\r\n";
$uac_req(body)="SIP request from:" + $si + ":" + $sp;
uac_send_req();
}
2) turn lamps on for some sip phones on some events - e.g., snom:
http://wiki.snom.com/Features/LED_Remote_Control
3) talk server-to-server - here one example can be building a platform
with a central server for accounting
Accounting is done at 200ok. So each routing server will build a csv
list (time,callid, from tag, to tag, invite from uri, invite r-uri):
onreply_route[1] {
if(status!="200")
return;
$uac_req(method)="ACCOUNTING";
$uac_req(ruri)="sip:store@accounting.kamailio.org";
$uac_req(furi)="sip:server@server1.kamailio.org";
$uac_req(hdrs)="Content-Type: text/accounting-csv\r\n";
pv_printf($uac_req(body), "$TS,$ci,$ft,$tt,$T_req($fu),$T_req($ru)");
uac_send_req();
}
note that $T_req() is given by tm module, also with Kamailio trunk:
http://www.kamailio.org/dokuwiki/doku.php/pseudovariables:devel#tm_module_p…
The accounting server:
route{
# you should check the source IP also
if(method=="ACCOUNTING" && $rU="store")
{
sql_query("ca",
"insert into accounting(timeval,callid,ftag,ttag,src,dst)
values ('$(rb{s.select,0,,})','$(rb{s.select,1,,})', ...)",
"ra");
send_reply("200", "Stored");
}
}
... and put your imagination work ... there are plenty of new and cute
features you can add on your service with this functionality ...
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com
Hi,
I see enormous TCP problems on my systems.
All of a sudden, a perfectly working TCP session uses ZeroWindow
packets, later I see TCP Full Window packets and finally the peer resets
the connection.
In the logs I see a lot of "core:handle_io: empty fd map" messages.
Has anyone experienced similar problems?
Regards.
Hi,
excuse me if this message is not directly related to Kamailio.
I'm just wondering if folks could share with me if (and how) they have
prevented the "SIP Digest Access Authentication RELAY" in their
networks (and what worked for them or not).
NAT boxes reduce dramatically the scenarios for a successful attack.
Otherwise, some might be mitigating the attack by means of forcing UAs
to use outbound proxies while others might be reducing the attack
incentives by means of message integrity.
Any comment would be appreciated,
--
Victor Pascual Ávila