Hi!
Carsten, Jason, I wonder what is the main motivation for you to have IMS
components?
Are you using Kamailio in an mobile operator environment and thus have
to support all the IMS interfaces, or do you plan to use those modules
also in "normal" VoIP provider scenarios (benefits?)
Thanks
Klaus
Hello,
based on the last devel IRC meeting, the next major release should
happen sometime by end of September, therefore we should freeze the
development and go into testing phase about one month before.
I propose Monday, August 22, the day to freeze development for version
3.2.0. By then, I hope every developer will be able to push to master
branch what he/she wants to have in 3.2.0. Write here to mailing lists
if you thing about alternatives.
The very good side of 3.2.0 is that we didn't need to touch much the
core and main modules, meaning we have a solid tested foundation,
further testing should be focused on the new modules and the other
enhancements.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda
Module: sip-router
Branch: master
Commit: e973bbe5e7310861f77b17ce0afaf1cca35fe48a
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=e973bbe…
Author: Juha Heinanen <jh(a)tutpro.com>
Committer: Juha Heinanen <jh(a)tutpro.com>
Date: Fri May 28 15:38:41 2010 +0300
modules/tm: new implementation of load_contacts()/next_contacts()
- Simpler implementation of load_contacts()/next_contacts() functions
based on recent changes related to Request-URI handling.
- Function next_contacts() does not anymore set any timers. Check
contact_avp and call t_set_fr() before calling t_relay() instead.
- Removed fr_timer_next module parameter, because it is not needed
anymore.
---
modules/tm/README | 255 ++++++++++++++------------------------
modules/tm/doc/functions.xml | 51 +++-----
modules/tm/doc/params.xml | 73 -----------
modules/tm/doc/tm.xml | 15 +--
modules/tm/t_serial.c | 279 ++++++++++++------------------------------
modules/tm/tm.c | 1 -
6 files changed, 190 insertions(+), 484 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=e97…
Module: sip-router
Branch: master
Commit: 411de126aa30dd67663b790df7aaa9b303189be5
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=411de12…
Author: Alex Hermann <alex(a)speakup.nl>
Committer: Alex Hermann <alex(a)speakup.nl>
Date: Tue Jul 19 15:24:11 2011 +0200
modules_k/nathelper: Add is_rfc1918(ip_addr) function to test ip_addr for rfc1918addresses.
---
modules_k/nathelper/README | 46 ++++++++++++++++----------
modules_k/nathelper/doc/nathelper_admin.xml | 13 +++++++
modules_k/nathelper/nathelper.c | 18 ++++++++++
3 files changed, 59 insertions(+), 18 deletions(-)
diff --git a/modules_k/nathelper/README b/modules_k/nathelper/README
index a911951..7497492 100644
--- a/modules_k/nathelper/README
+++ b/modules_k/nathelper/README
@@ -64,8 +64,9 @@ Ovidiu Sas
5.4. add_rcv_param([flag]),
5.5. fix_nated_register()
5.6. nat_uac_test(flags)
- 5.7. add_contact_alias()
- 5.8. handle_ruri_alias()
+ 5.7. is_rfc1918(ip_address)
+ 5.8. add_contact_alias()
+ 5.9. handle_ruri_alias()
6. Exported Pseudo Variables
@@ -131,8 +132,9 @@ Chapter 1. Admin Guide
5.4. add_rcv_param([flag]),
5.5. fix_nated_register()
5.6. nat_uac_test(flags)
- 5.7. add_contact_alias()
- 5.8. handle_ruri_alias()
+ 5.7. is_rfc1918(ip_address)
+ 5.8. add_contact_alias()
+ 5.9. handle_ruri_alias()
6. Exported Pseudo Variables
@@ -235,7 +237,7 @@ modparam("nathelper", "natping_interval", 10)
4.2. ping_nated_only (integer)
- If this variable is set then only contacts that have “behind_NAT” flag
+ If this variable is set then only contacts that have "behind_NAT" flag
in user location database set will get ping.
Default value is 0.
@@ -310,7 +312,7 @@ modparam("nathelper", "sipping_bflag", 7)
feature, you have to set this parameter. The SIP request pinging will
be used only for requests marked so.
- Default value is “NULL”.
+ Default value is "NULL".
Example 1.7. Set sipping_from parameter
...
@@ -322,7 +324,7 @@ modparam("nathelper", "sipping_from", "sip:pinger@siphub.net")
The parameter sets the SIP method to be used in generating the SIP
requests for NAT ping purposes.
- Default value is “OPTIONS”.
+ Default value is "OPTIONS".
Example 1.8. Set sipping_method parameter
...
@@ -340,7 +342,7 @@ Note
The string must be a complete SDP line, including the EOH (\r\n).
- Default value is “a=nortpproxy:yes\r\n”.
+ Default value is "a=nortpproxy:yes\r\n".
Example 1.9. Set nortpproxy_str parameter
...
@@ -355,8 +357,9 @@ modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
5.4. add_rcv_param([flag]),
5.5. fix_nated_register()
5.6. nat_uac_test(flags)
- 5.7. add_contact_alias()
- 5.8. handle_ruri_alias()
+ 5.7. is_rfc1918(ip_address)
+ 5.8. add_contact_alias()
+ 5.9. handle_ruri_alias()
5.1. fix_nated_contact()
@@ -373,15 +376,15 @@ if (search("User-Agent: Cisco ATA.*") {fix_nated_contact();};
5.2. fix_nated_sdp(flags [, ip_address])
Alters the SDP information in orer to facilitate NAT traversal. What
- changes to be performed may be controled via the “flags” parameter.
+ changes to be performed may be controled via the "flags" parameter.
Meaning of the parameters is as follows:
* flags - the value may be a bitwise OR of the following flags:
- + 0x01 - adds “a=direction:active” SDP line;
+ + 0x01 - adds "a=direction:active" SDP line;
+ 0x02 - rewrite media IP address (c=) with source address of
the message or the provided IP address (the provide IP address
take precedence over the source address).
- + 0x04 - adds “a=nortpproxy:yes” SDP line;
+ + 0x04 - adds "a=nortpproxy:yes" SDP line;
+ 0x08 - rewrite IP from origin description (o=) with source
address of the message or the provided IP address (the provide
IP address take precedence over the source address).
@@ -476,7 +479,14 @@ fix_nated_register();
This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
FAILURE_ROUTE, BRANCH_ROUTE.
-5.7. add_contact_alias()
+5.7. is_rfc1918(ip_address)
+
+ Determines if the address in the parameter is an rfc1918 address. The
+ parameter allows pseudo-variables usage.
+
+ This function can be used from ANY_ROUTE.
+
+5.8. add_contact_alias()
Adds ;alias=ip:port parameter to contact URI containing received
ip:port if contact uri ip:port does not match received ip:port.
@@ -495,7 +505,7 @@ fix_nated_register();
};
...
-5.8. handle_ruri_alias()
+5.9. handle_ruri_alias()
Checks if Request URI has alias param and if so, removes it and sets
$du based on its value. Note that this means that routing of request is
@@ -576,16 +586,16 @@ $ kamctl fifo nh_enable_ping 1
Chapter 2. Frequently Asked Questions
- 2.1. What happend with “rtpproxy_disable” parameter?
+ 2.1. What happend with "rtpproxy_disable" parameter?
2.2. Where can I find more about Kamailio?
2.3. Where can I post a question about this module?
2.4. How can I report a bug?
2.1.
- What happend with “rtpproxy_disable” parameter?
+ What happend with "rtpproxy_disable" parameter?
- It was removed as it became obsolete - now “rtpproxy_sock” can take
+ It was removed as it became obsolete - now "rtpproxy_sock" can take
empty value to disable the rtpproxy functionality.
2.2.
diff --git a/modules_k/nathelper/doc/nathelper_admin.xml b/modules_k/nathelper/doc/nathelper_admin.xml
index 4d7947b..f01a4c7 100644
--- a/modules_k/nathelper/doc/nathelper_admin.xml
+++ b/modules_k/nathelper/doc/nathelper_admin.xml
@@ -552,6 +552,19 @@ fix_nated_register();
<section>
<title>
+ <function>is_rfc1918(ip_address)</function>
+ </title>
+ <para>
+ Determines if the address in the parameter is an rfc1918 address.
+ The parameter allows pseudo-variables usage.
+ </para>
+ <para>
+ This function can be used from ANY_ROUTE.
+ </para>
+ </section>
+
+ <section>
+ <title>
<function moreinfo="none">add_contact_alias()</function>
</title>
<para>
diff --git a/modules_k/nathelper/nathelper.c b/modules_k/nathelper/nathelper.c
index bc3784a..ad9954f 100644
--- a/modules_k/nathelper/nathelper.c
+++ b/modules_k/nathelper/nathelper.c
@@ -289,6 +289,7 @@ static int handle_ruri_alias_f(struct sip_msg *, char *, char *);
static int pv_get_rr_count_f(struct sip_msg *, pv_param_t *, pv_value_t *);
static int pv_get_rr_top_count_f(struct sip_msg *, pv_param_t *, pv_value_t *);
static int fix_nated_sdp_f(struct sip_msg *, char *, char *);
+static int is_rfc1918_f(struct sip_msg *, char *, char *);
static int extract_mediaip(str *, str *, int *, char *);
static int alter_mediaip(struct sip_msg *, str *, str *, int, str *, int, int);
static int fix_nated_register_f(struct sip_msg *, char *, char *);
@@ -378,6 +379,9 @@ static cmd_export_t cmds[] = {
{"add_rcv_param", (cmd_function)add_rcv_param_f, 1,
fixup_uint_null, 0,
REQUEST_ROUTE },
+ {"is_rfc1918", (cmd_function)is_rfc1918_f, 1,
+ fixup_spve_null, 0,
+ ANY_ROUTE },
{0, 0, 0, 0, 0, 0}
};
@@ -1272,6 +1276,20 @@ nat_uac_test_f(struct sip_msg* msg, char* str1, char* str2)
}
+static int
+is_rfc1918_f(struct sip_msg* msg, char* str1, char* str2)
+{
+ str address;
+
+ if(fixup_get_svalue(msg, (gparam_p)str1, &address)!=0 || address.len==0)
+ {
+ LM_ERR("invalid address parameter\n");
+ return -2;
+ }
+
+ return (is1918addr(&address) == 1) ? 1 : -1;
+}
+
#define ADD_ADIRECTION 0x01
#define FIX_MEDIP 0x02
#define ADD_ANORTPPROXY 0x04
Hi, when I run "make modules" in sip-router master branch I get this
error (Ubuntu 11.04):
In file included from ndb_redis_mod.c:34:0:
redis_client.h:27:29: fatal error: hiredis/hiredis.h:
This library exists in Debian Sid (not stable) and Ubuntu Oneiric,
should such module be enabled by default taking into account that it
could not be compiled neither in Debian stable?
--
Iñaki Baz Castillo
<ibc(a)aliax.net>
Dear List,
I have Kamailio 3.1 installed in Amazon EC 2 server.
Everything is working fine except that every REGISTER / MESSAGE was looped
for twice or 3 times.
And I am sure this is not caused by UA.
I have attached the ngrep log in this message.
And also, my main modification to the kamailio.cfg is like below:
Your help will be great great appreciated.
Thank you!!
Coca
----------------------------------
#!define WITH_MYSQL
#!define WITH_NAT
alias="mydomain.org"
alias="xx.xx.xx.xx"
advertised_address="xx.xx.xx.xx"
...
...
route {
# per request initial checks
route(REQINIT);
# NAT detection
route(NAT);
# handle requests within SIP dialogs
route(WITHINDLG);
### only initial requests (no To tag)
# CANCEL processing
if (is_method("CANCEL"))
{
if (t_check_trans())
t_relay();
exit;
}
t_check_trans();
# authentication
route(AUTH);
# record routing for dialog forming requests (in case they are routed)
# - remove preloaded route headers
remove_hf("Route");
if (is_method("INVITE|SUBSCRIBE"))
{
#record_route();
/* for NAT support */
record_route_preset("xx.xx.xx.xx");
}
# account only INVITEs
if (is_method("INVITE"))
{
setflag(FLT_ACC); # do accounting
}
# dispatch requests to foreign domains
route(SIPOUT);
### requests for my local domains
# handle presence related requests
route(PRESENCE);
# handle registrations
route(REGISTRAR);
if ($rU==$null)
{
# request with no Username in RURI
sl_send_reply("484","Address Incomplete");
exit;
}
# dispatch destinations to PSTN
route(PSTN);
# user location service
route(LOCATION);
route(RELAY);
}
# Handle SIP registrations
route[REGISTRAR] {
if (is_method("REGISTER"))
{
if(isflagset(FLT_NATS))
{
setbflag(FLB_NATB);
# uncomment next line to do SIP NAT pinging
setbflag(FLB_NATSIPPING);
}
if (!save("location"))
sl_reply_error();
exit;
}
}
when database schemas are built, i get error about missing 'username'
column:
/usr/bin/make --no-print-directory -C lib/srdb1/schema
for FILE in acc alias_db auth_db avpops carrierroute cpl dialog dialplan dispatcher domainpolicy domain drouting extensions group htable imc lcr matrix msilo mtree pdt permissions pipelimit presence purple registrar rls siptrace speeddial standard uac uri_db userblacklist usrloc; do \
XML_CATALOG_FILES=../../..//doc/stylesheets/dbschema_k/catalog.xml /usr/bin/xsltproc --novalid --xinclude \
--stringparam dir "../../..//utils/kamctl//mysql" \
--stringparam prefix "$FILE-" \
--stringparam db "mysql" \
../../..//doc/stylesheets/dbschema_k/xsl/mysql.xsl kamailio-"$FILE".xml ; \
done
ERROR: Column with id 'username' does not exist.
any idea where it comes from? perhaps from an index definition?
-- juha
i got this while compiling tls module from master:
tls_domain.c:703: warning: ‘tls_ssl_ctx_set_freelist’ defined but not used
tls_domain.c:724: warning: ‘tls_ssl_ctx_set_max_send_fragment’ defined but not used
i don't remember seeing them before.
-- juha