Hello all,
I am trying to compile kamailio 1.5.3 with TLS=1. The whole kamailio package
compiles just fine, with the exception of nonce.o:
gcc -fPIC -DPIC -g -O9 -funroll-loops -Wcast-align -Wall
-minline-all-stringops -falign-loops -ftree-vectorize -mtune=prescott
-Wold-style-definition -Wmissing-field-initializers -Wredundant-decls
-DMOD_NAME='"auth"' -DNAME='"kamailio"' -DVERSION='"1.5.3-tls"'
-DARCH='"i386"' -DOS='"linux"' -DCOMPILER='"gcc 4.0.2"' -D__CPU_i386
-D__OS_linux -D__SMP_yes -DCFG_DIR='"/usr/local/etc/kamailio/"' -DPKG_MALLOC
-DSHM_MMAP -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE
-DHAVE_RESOLV_RES -DSTATISTICS -DCHANGEABLE_DEBUG_LEVEL -DUSE_LOCAL_ROUTE
-DF_MALLOC -DUSE_TLS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024
-DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD
-DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM
-DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -I/usr/local/ssl/include
-I/usr/local/include -I/usr/include/openssl -c nonce.c -o nonce.o
In file included from /usr/include/openssl/evp.h:84,
from /usr/include/openssl/x509.h:67,
from /usr/include/openssl/ssl.h:177,
from ../sl/../../tls/tls_config.h:34,
from ../sl/../../version.h:29,
from ../sl/../../sr_module.h:54,
from ../sl/sl_api.h:33,
from auth_mod.h:39,
from nonce.c:40:
/usr/include/openssl/md5.h:105: error: conflicting types for âMD5_CTXâ
../../md5.h:42: error: previous declaration of âMD5_CTXâ was here
nonce.c: In function âcalc_nonceâ:
nonce.c:116: warning: passing argument 1 of âMD5Initâ from incompatible
pointer type
nonce.c:126: warning: passing argument 1 of âMD5Updateâ from incompatible
pointer type
nonce.c:128: warning: passing argument 1 of âMD5Updateâ from incompatible
pointer type
nonce.c:129: warning: passing argument 2 of âU_MD5Finalâ from incompatible
pointer type
make: *** [nonce.o] Error 1
Do you guys have any hints on what is going wrong?
Best regards,
Martin Koenig
Hi everyone, I'm new to kamailio. I plan to setup a sip server cluster, Does
someone can give me some suggestions if I can use kamailio as front server,
which handle sip message and bypass rtp media
message to backendserver, this mean the kamailio handle only sip message,
the rtp packets are sent directed to backend server.
The sip sequences is
1.softswitch send invite to kamailio
2.kamailio send invite to backend server.
3.backend server return 200 ok to kamailio
4.kamailio return 200 ok to softswitch, the ip and port in sip is from
the backend server's msg, this make the softswitch send rtp direct to
backend server.
5.rtp packets are transfered between softswitch and backend server.
....
6.backend server send bye to kamailio
7.kamailio send bye to softswitch.
--
Lei.Tang
lei.tlfly(a)gmail.com
Hi All,
Using openser 1.1.0-notls (i386/linux) from debian etch package.
Working with mysql database integration, working fine, using permissions
module with 'trusted' table and alias_db module with the 'dbalias' table.
I created the database and tables with openser_mysql cmd and things seemed
to work out of the box. I ran into trouble when I dropped the database and
manually created just the 'trusted' and 'dbalias' tables and added a few
more columns in the tables [accountcode,notes,id(auto increment)]. When I
restarted openser, no go, was getting table version and structure errors.
So my question: is the table structure strict as per the openser_mysql
script and are all 19 tables required for a properly running instance?
I have not tried yet, but would it break if I added the new columns to the
openser_mysql script created tables?
Thanks.
JR
--
JR Richardson
Engineering for the Masses
I have installed the following packages on Fedora 11:
perl-5.10.0-82.fc11.i586
perl-devel-5.10.0-82.fc11.i586
perl-libs-5.10.0-82.fc11.i586
perl-LDAP-0.34-5.fc11.noarch
perl-IPC-Shareable-0.60-9.fc11.noarch
But, when I compile perl modules:
# make include_modules="jabber db_mysql perl perlvdb" all
....(snip).......
openserxs.c:1968: error: ‘PL_scopestack_ix’ undeclared (first use in this function)
openserxs.c:1969: error: ‘XSRETURN_YES’ undeclared (first use in this function)
make[1]: ディレクトリ `/usr/local/src/kamailio/1.5.3/kamailio-1.5.3-notls/modules/perl' から出ます
make: *** [modules] エラー 2
What modules should I install on Fedora 11?
Regards,
Zen
Hi all,
I've tested the current release candidate for Kamailio these days and found that the presence/dialog state functionality is not given in the current version.
The first (and worst) difference to the latest stable release is that the handling of "setflag(X)" for tracing the dialogs resulted in a crash of kamailio with following error message:
********************** EXCERPT ******************
Nov 24 13:35:47 lennysrv /usr/local/sbin/kamailio[13814]: : tm [t_hooks.c:190]: BUG:tm:register_tmcb: callback type TMCB_REQUEST_IN can't be register along with types
Nov 24 13:35:47 lennysrv /usr/local/sbin/kamailio[13814]: ERROR: dialog [dlg_handlers.c:615]: failed cache in T the shortcut to dlg
Nov 24 13:35:53 lennysrv /usr/local/sbin/kamailio[13815]: NOTICE: acc [acc.c:275]: ACC: call missed: timestamp=1259134133;method=INVITE;from_tag=4051501197-3958320-1259134127622;to_tag=3762694574-3958280-1259134127622;call_id=140363298-3958320-1259134127622(a)10.16.48.60;code=603;reason=Decline;src_user=5003;src_domain=10.16.48.205;dst_ouser=5002;dst_user=5002;dst_domain=10.16.48.60
Nov 24 13:35:56 lennysrv /usr/local/sbin/kamailio[13815]: INFO: pua_usrloc [ul_publish.c:203]: should not send ul publish
Nov 24 13:35:56 lennysrv /usr/local/sbin/kamailio[13815]: INFO: <script>: --- pua-set-publish() was executed ---
Nov 24 13:35:58 lennysrv kernel: [176699.348059] kamailio[13821]: segfault at c0c0c0c0 ip b7de43b3 sp bfb03eb8 error 5 in libc-2.7.so[b7d6e000+155000]
Nov 24 13:35:58 lennysrv /usr/local/sbin/kamailio[13837]: : <core> [pass_fd.c:283]: ERROR: receive_fd: EOF on 12
Nov 24 13:35:58 lennysrv /usr/local/sbin/kamailio[13812]: ALERT: <core> [main.c:721]: child process 13821 exited by a signal 11
Nov 24 13:35:58 lennysrv /usr/local/sbin/kamailio[13812]: ALERT: <core> [main.c:724]: core was generated
Nov 24 13:35:58 lennysrv /usr/local/sbin/kamailio[13812]: INFO: <core> [main.c:736]: INFO: terminating due to SIGCHLD
Nov 24 13:35:58 lennysrv /usr/local/sbin/kamailio[13814]: INFO: <core> [main.c:787]: INFO: signal 15 received
***************************************************
However, the module documentation of the source code (READMEs) does not include major news. The configuration is "the same" (regarding handle_publish, handle_subscribe, pua_set_publish) as I've used in the kamailio-1.5.3 version. But - no NOTIFY messages with XML bodies are sent to the subscribers / watchers. Instead of using the setflag(X) method I´ve tried using the method "dlg_setflag(X)" for prohibiting crashes - that was accepted by kamailio.
Were these modules tested (in combination with the dialog module) in the new version 3.0 RC1?
- presence
- presence_xml
- presence_dialoginfo
- pua
- pua_dialoginfo
- pua_usrloc
It does not work in the SER variant of sip-router, too. Yesterday I've downloaded the current version with GIT, compiled the code, adapted the configuration. But the result is the same as with kamailio-3 RC1 (crash and no XML).
For being sure that I have not made any mistake in the configuration, I've tested the functionality in the version 1.5.3 of Kamailio today. It works fine - the subscribers receive NOTIFY messages with XML body after every PRESENCE and DIALOG state change.
Can anybody give me a hint? Thanks in advance!
regards,
Klaus
P.S. the tested versions:
PROBLEMS:
========
version: kamailio 3.0.0-rc1 (i386/linux) 78f069
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
@(#) $Id$
main.c compiled on 13:34:37 Nov 20 2009 with gcc 4.3.2
version: ser 2.99.99-pre3 (i386/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
@(#) $Id$
main.c compiled on 11:12:49 Nov 23 2009 with gcc 4.3.2
SUCCESS:
=======
version: kamailio 1.5.3-notls (i386/linux)
flags: STATISTICS, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, PKG_SIZE 4194304
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
svnrevision: unknown
@(#) $Id: main.c 5608 2009-02-13 16:48:17Z henningw $
main.c compiled on 13:31:21 Nov 24 2009 with gcc 4.3.2
--
Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 -
sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser
Hello here,
I'm testing SER 2.0 on a dev plateform. I see that there's a lot of
modifications beside SER 0.9.9.
But I have a lot of pain to find documentation like SER Getting Started
for 0.9.x to be able to understand the new routing method (ie. ser.cfg)
and the databases scheme and all other parameters at the top of the
config file.
I install SERWeb too, the version 2.1, and it looks like very different
too (don't know how to create an admin user, separate greeting/sip
password, etc.). What's your recommandation about SERWeb version with
SER2.0 ?
Regards,
Adrien .L
Greetings,
I was faced with the following problem in Kamailio 1.5.2: I was using
nathelper + rtpproxy + registrar and needed to relay media for calls
going inbound to a NAT'd registrant through rtpproxy - only if the
registrant is NAT'd.
Here is the scenario:
Media gateway Kamailio
(on public IP) ----> registrar -----> NAT'd registrant
(w/nathelper)
I was handling registrations from NAT'd endpoints like this:
if(nat_uac_test("1")) {
force_rport();
fix_nated_contact();
}
I was aware of fix_nated_register() but was not clear on its
relationship to the 'received_param' parameter stored in 'location' and
set as a modparam to both the 'registrar' and 'nathelper' modules, so I
was not using it.
Very quickly I ran into an obvious problem: if the contact stored in
the 'contact' column in 'location' is already fixed up with the received
IP:port, there is no way to know that the endpoint to which the call is
going is behind NAT -- when lookup() is called, the RURI is set to the
public IP:port. There are no flags of any kind that one can set during
save() that persist while the contact binding is present for that AOR
and can be resurrected on lookup().
Anyway, I eventually figured out how to fix this problem by empirical
means, with no clear help from the nathelper documentation. It turns
out that if I set the 'received_param' as a modparam to 'nathelper' and
'registrar' and handle registrations from NAT'd endpoints with
fix_nated_register() instead, it will magically work.
I made the following discoveries to arrive at this conclusion, both of
which are not documented. This is why it will work:
1) When the original (RFC1918) 'contact' is stored in the 'location'
table (if using DB, which I am), the 'received' parameter is stored
alongside it and contains the public IP:port.
When lookup() is called, the RURI domain is set to private address, e.g.
if(!lookup("location")) {
# Error handling here
exit;
}
xlog("L_INFO", "[R-2:$ci] -> Registration resolved to RURI: $ru\n"):
$ru here will contain something like this: sip:s@10.1.0.2:5060, the
original and unmodified contact supplied by the UAC.
But somehow, magically, when t_relay() is called the request will be
relayed to a different RURI - one with the 'received' IP:port
substituted in the domain portion. So, the request goes end up going to
the correct place.
This is, of course, because of the way the 'received' parameter is
supposed to work when appended to a Contact URI. But the point is that
it is not documented; nowhere in the documentation for lookup() or
t_relay() does it say that this will transpire, and I have no way of
knowing it except by observation.
2) For some reason, nat_uac_test("1") returns a positive result after
the lookup() and confirms that the destination is NAT'd.
This allows me to set a flag and then mangle the SDP in the reply to use
rtpproxy for NAT traversal of media as well, e.g.
route[2] {
...
if(!lookup("location")) {
# Error handling here
exit;
}
if(nat_uac_test("1"))
setflag(9);
...
t_on_reply("1");
if(!t_relay())
sl_reply_error();
...
}
...
onreply_route[1] {
if(t_check_status("(180|183|200)")) {
if(nat_uac_test("5"))
fix_nated_contact();
if(search("Content-Type: application/sdp")) {
if(isflagset(9)) {
set_rtp_proxy_set("1");
force_rtp_proxy();
}
}
}
}
But if you examine carefully the documentation for nat_uac_test(), it
says the following for bit flag 1:
* 1- Contact header field is searched for occurrence of RFC1918
addresses.
To me this means that nat_uac_test() should not work after the lookup()
above. The only Contact header value that is present in the inbound
INVITE handler is the Contact URI of the media gateway, which is a
public IP address! Yet for some reason it works, as if by magic;
apparently it is somehow implicit that a hidden "received" attribute of
the RURI is also part of this check.
This is also not documented, and is completely counterintuitive.
Is there any possibility of clearing up documentation as to this point?
Perhaps I have done something wrong here unknowingly; I have no idea.
I know that my solution works but I cannot justify why in terms of the
documentation. Is it very much to ask that the documentation be
explicit about hidden but critically important mysteries like this?
Thanks!
-- Alex
--
Alex Balashov - Principal
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Hello, all.
My objective is to make a kamailio installation where phones call to
each other by number and are able to monitor others using SUBSCRIBE.
I use Kamailio 3.0.0 rc1 pulled from git.
My config file is http://pastebin.ca/1675069
I had bad results with establishing calls, possibly because i frequently
restarted kamailio, only once i had INVITE passing from one phone to
other. RTPProxy mustn't work on a box with grey IP, i know. But my
greatest convern now is notifications.
I just want to say that i never got NOTIFYs with xml containing bodies,
what was usual in Asterisk.
First of all NOTIFYs that go immediately after SUBSCRIBEs also have no
xml body.
Please direct me what is wrong in my configuration regarding presence
setup. Tell me what system info to provide.
Hello all,
As I could see in the source, we dont follow the RFCs.
If I send an INVITE, kamailio response a Giving a try
It isnt in the RFCs! It is normaly Trying.
I could change it in
-src/modules/tm/t_funcs.c
-line: static str relay_reason_100 = str_init("Giving a try");
I hope you understand what I mean
François BERGANZ
Ingénieur R&D VoIP
Acropolis Telecom
P Pensez à l'Environnement, n'imprimez ce mail que si nécessaire.