Hi,
I have 2 kamailio instances behind a load balancer. The problem I have is
that the load balancer can only track TCP connections, but not UDP. So one
Kamailio instance might send a request using UDP, while the corresponding
UDP reply arrives on the other. This doesn't play well with the (stateful)
TM module. Is there a way to synchronize the TM module accross Kamailio
instances using DMQ?
Cheers,
Michel Pelletier
Hello,
I'm a bit confused about a piece of the documentation. I'm using rtpproxy 3.0.1 + rtpproxy module on kamailio 5.6.4.
On the rtpproxy module, I'm trying to get the "timeout_socket" param working. From the documentation, I have
modparam("rtpproxy", "timeout_socket", "xmlrpc:http://192.168.155.64:8888/XMLRPC")
modparam("xmlrpc", "route", "XMLRPC_ROUTE")
modparam("xmlrpc", "mode", 1)
modparam("xmlrpc", "url_match", "^/XMLRPC")
/usr/bin/rtpproxy -i -u rtpproxy -n tcp:192.168.155.64:8888 -l 192.168.155.64 -s udp:127.0.0.1:7333 -m 29152 -M 49150 -d DBUG
However when purposely trying to timeout RTP, I'm seeing the following in my rtpproxy logs:
Oct 10 00:31:22 localhost rtpproxy[3802129]: DBUG:GLOBAL:rtpp_command_split:401: received command "3801518_4 USc9,0,8,18,101 219b2465decc-n7al36xva4lw 192.168.155.168 2266 C60D788E-8E14A9FA;1 w6p2ke9ttk;1 xmlrpc:http://192.168.155.64:8888/XMLHTTP"
Oct 10 00:31:22 localhost rtpproxy[3802129]: ERR:219b2465decc-n7al36xva4lw:rtpp_command_ul_handle:603: invalid socket name w6p2ke9ttk;1
I'm just wondering if I'm missing anything, do I need to define "listen=tcp:192.168.155.64:8888" in my configs? I know that rtpengine is recommended/ I would like to experiement with rtpproxy. Do I need a specific version of rtpproxy in order for this to work -- I did try it with 2.1.1 however that didn't work.
Thanks.
Hello,
Kamailio SIP Server project is organizing another meeting of its
developers and community members during November 7-8, 2023, hosted again
by sipgate.de in Dusseldorf, Germany.
The event is intended to facilitate the interaction between Kamailio
developers and contributors in order to offer a convenient environment
for working together on several topics of high interest for the project,
including writing code for Kamailio and its tools, improving
documentation, or discuss about future development.
Everyone from the community is welcome to join, developer or user
interested in helping the project. Please note we have a limited
capacity of seats in the meeting room, the main policy for accepting
participants being first come first server. Also, very important to be
aware that this is not an event to learn how to use Kamailio.
More details about the event, the venue, how to register, are available at:
* https://www.kamailio.org/w/developers-meeting/
Looking forward to those two intensive hacking Kamailio days in Dusseldorf!
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy and Development Services
Kamailio Advanced Training - Online - Nov 14-16, 2023 -- asipto.com
Dear friends, I have a question: When adding a custom module in kamailio, I referenced a third-party library. There was no problem with compilation, but when I ran it, it reported that the third-party library could not be found. What is the reason?
The current Makefile is as follows:
```
# WARNING: do not run this directly, it should be run by the main Makefile
include ../../Makefile.defs
auto_gen=
NAME=rocketmq.so
THIRDPARTY=/mnt/vdd/kqbi2/3rdparty
ROCKETMQ_ROOT_PATH=${THIRDPARTY}/rocketmq
CXX?=g++
LD?=g++
LIBS+=-L$(LOCALBASE)/lib -L$(ROCKETMQ_ROOT_PATH)/lib/linux/x64 crocketmq.o -lstdc++ -lrocketmq
DEFS+=-I$(LOCALBASE)/include -I${ROCKETMQ_ROOT_PATH}/include
CXXFLAGS=$(CFLAGS:-Wno-deprecated option=)
CXXFLAGS+=-Wno-write-strings -Wno-deprecated -Wno-unused-function -Wno-sign-compare -Wno-strict-aliasing
include ../../Makefile.modules
crocketmq.o: crocketmq.cpp crocketmq.h
@echo "Compiling $<"
$(CXX) -std=c++11 $(CXXFLAGS) $(CFLAGS) $(C_DEFS) $(DEFS) -c $< -o $@
rocketmq.so: crocketmq.o
modclean:
-@rm -f crocketmq.o crocketmq.d rocketmq_mod.o rocketmq_mod.d
clean clean-modules: modclean
proper realclean distclean maintainer-clean: modclean
```
There is no problem in compiling, but when running, the third-party librocketmq.so library cannot be found, and various export LD_LIBRARY_LIBRARY also does not work.
```
0(13229) DEBUG: <core> [core/cfg.y:2053]: yyparse(): loading module rocketmq.so
0(13229) DEBUG: <core> [core/sr_module.c:516]: ksr_locate_module(): found module to load <lib64/kamailio/modules/rocketmq.so>
0(13229) DEBUG: <core> [core/sr_module.c:573]: ksr_load_module(): trying to load <lib64/kamailio/modules/rocketmq.so>
0(13229) ERROR: <core> [core/sr_module.c:591]: ksr_load_module(): could not open module <lib64/kamailio/modules/rocketmq.so>: librocketmq.so: cannot open shared object file: No such file or directory
0(13229) CRITICAL: <core> [core/cfg.y:3900]: yyerror_at(): parse error in config file /mnt/vdd/kqbi2/install/kamailio/etc/kamailio/kamailio.cfg, line 380, column 12-24: failed to load module
```
Hi
I have a scenario where I need to implement serial forking but each
destination has also a next hop proxy. I can do the forking using
append_branch, but how can I set the destination URI for each branch? In
some cases the R-URI does not change, only the next hop proxy.
Example:
R-URI Next Hop
user1(a)domain.com XXX.XXX.XXX.XXX
user1(a)domain.com YYY.YYY.YYY.YYY
user2(a)domain.com XXX.XXX.XXX.XXX
I was thinking I could use a htable to store the next hop using the
R-URI as the key, but as can be seen above there are possibly duplicate
R-URIs with only the next hop changing.
Thanks.
--
-Barry
Morning
What have you got your listen / advertise address / port set as?
See this link > https://www.kamailio.org/wiki/cookbooks/5.5.x/core#advertised_address
I'd probably start by looking at that.
Lewis
Mission Labs Limited is registered in England, company number 10040088. Trading Office: The Old Milk Depot, Bacup Rd, Rossendale, BB4 7FE. Registered office: The Scalpel, 18th Floor 52 Lime Street, London, EC3M 7AF. Email confidentiality notice: This message is private and confidential. If you have received this message in error, please notify us and remove it from your system. Please consider the environment before you print this email.
Hello,
I'm using Kamailio as SIP proxy to receive INVITE packets, randomize A-number and then relay it to a certain gateway.
I noticed that a Via header is added to the INVITE sent by Kamailio to the gateway with 0.0.0.0 as address as shown below:
Via: SIP/2.0/UDP 0.0.0.0;branch=z9hG4bK2d97.61de75dd58fa7ca7450cc8b9b01db62f.0
As far as I know, the IP that should be used in the new added VIA header must be Kamailio IP, but it's not the case here, knowing that Kamailio is not behind NAT.
Regards,
Ali Taher
Hello,
Is there a way to change the transaction order when a failure fork occurs -- to explain, endpoint 1 calls endpoint 2. Call towards endpoint 2 goes unanswered, and so the call forks to voicemail, I see that an INVITE is sent towards my voicemail server first, followed by a CANCEL towards the endpoint; can I send the CANCEL first to the endpoint and then INVITE towards my voicemail server. I'm essentially using the bundled/sample configurations for testing.
Thank you.
UA1(192.168.0.1) --> kamailio (internal:192.168.0.2 public:1.1.1.1) --> UA2(2.2.2.2)
if in UA1 INVITE, I write KSR.rr.record_route().
so UA2(2.2.2.2) received sip msg (Record-Route: <sip:1.1.1.1:7080>), so Kamailio can received BYE/ACK from UA2.
but,Kamailio can't received BYE/ACK from UA1.
if in UA1 INVITE, i write KSR.rr.record_route_advertised_address("192.168.0.2"), then Kamailio can received BYE/ACK from UA1, but not from UA2.
what can i do, let Kamailio receive BYE/ACK from both sides ?
Hello all,
Can you please clarify part of the following doc for me?
--
6.7. early_timeout (integer)
The timeout (in seconds) after which the dialogs in unconfirmed or early
state (no final response received) are destroyed.
* Default value is “300 (5 minutes)”. *
*Example 1.7. Set early_timeout parameter*
...
modparam("dialog", "early_timeout", 180)
---
In the case where Kamailio acts as an SBC, will kamailio send a SIP BYE
message to both devices (UAC and UAC)?
Or
Can Kamailio send a BYE message to both parties when timer b has expired?
If yes, how to do it?
Regards
Abdoul