Hello
I'm trying to run Kamailio in front of an asterisk server due to security
issues. Both servers have a public ip address. It works fine but the RTP
voice traffic goes directly from the VOIP client to the asterisk server
without going through the kamailio server. I want to shut down the asterisk
server so that it only talks to the kamailio server.
UA -> Kamailio public IP addr <-> Asterisk public ip addr
How do I force RTP traffic to go through kamailio. Apparently I don't have
NAT so I don't need rtpproxy. But you need something that relays RTP
traffic?
If anyone has an idea I'll take it.
Thank you for your help.
Hugues.
--
Sent from: http://sip-router.1086192.n5.nabble.com/Users-f3.html
Hi,
Is there a way to broadcast KDMQ to the cluster but not expect a reply back
!?as far as I've read the source code dmq_bcast_message is exactly like
dmq_send_message in a way that it expects a callback to be executed on
response i.e expects a reply.
So, the situation I'm facing is I'm broadcasting message to cluster and I
do not want a reply back. The following two options result in crash & core
dump.
1 - If my script doesn't respond back, by use of dmq_handle_message, it
marks the destined servers as "inactive" and stops usrloc sync process
which isn't desirable.
2 - If I respond back with the dmq_handle_message it crashes the Kamailio
which just received this broadcasted message.
Here is how its done in script:
*broadcasting message to cluster:*
dmq_bcast_message("userOnline", "$fu", "text/plain");
*Receiving and handling a broadcast message:*
route[DMQ_HANDLE] {
if(!(is_method("KDMQ") || $rm == "KDMQ")) return;
if(is_method("KDMQ") || $rm == "KDMQ"){
if($rU =~ "userOnline"){
//user came online in cluster, resume transactions
if-any suspended
$avp(remoteUser) = $rb;
}
dmq_handle_message();
exit;
}
}
*Related log lines:*
Apr 23 21:15:48 kamailio[916]: ALERT: <script>: [da2c1-2f499] ------
DMQ_HANDLE: UserOnline Event Received ------
Apr 23 21:15:48 kamailio[916]: DEBUG: dmq [message.c:53]:
ki_dmq_handle_message_rc(): dmq_handle_message [KDMQ
sip:userOnline@9.8.7.123:5060]
Apr 23 21:15:48 kamailio[916]: DEBUG: dmq [message.c:66]:
ki_dmq_handle_message_rc(): dmq_handle_message peer found: userOnline
Apr 23 21:15:48 kamailio[916]: DEBUG: <core> [core/receive.c:437]:
receive_msg(): request-route executed in: 401461 usec
Apr 23 21:15:48 kamailio[935]: DEBUG: dmq [worker.c:87]: worker_loop():
dmq_worker [2 935] lock acquired
and crash/segfault..
Core dump: https://pastebin.com/S7ekCPfF
Any help or pointers to solve this would be really appreciated.
Best Regards,
Sammy
Hello,
(cross-posting because it is relevant to know where users need to run
Kamailio as well as what developers tend to use for coding, but replies
can go to one or the other list).
Somehow I tried to stay close to ANSI-C/C90 with C coding style, for the
reason of being compatible as much as possible with old compiles and
niche/embedded systems. But I noticed that there are couple of C99
extensions in the core, like inline functions, variadic macros (the
debugging macros), use of 'long long' or line comments starting with
"//" (not so many, but still such comment style is used). Although I
haven't searched for occurrences in core, but I remember seeing
designated initializers (or initializing a structure by field names).
These are part of C99, as listed by:
* https://en.wikipedia.org/wiki/C99#Design
Although likely GCC had some of them like custom extensions before the
standard was out.
On the other hand, newer standard C11 made some of those extensions
optional:
*
https://en.wikipedia.org/wiki/C11_(C_standard_revision)#Optional_features
So, my email here is to figure out if we should consider C99 as the
requirement for adding C code or be more restrictive because there are
still cases of usage on very specific systems that do not have such C
compiler. We can eventually make a list of what is accepted or not from
the recent versions of C standard to stay as much as possible portable
across Unix'es.
>From develeopers perspective, it would be good to learn if they use (in
other projects, etc.) extensions of the new standards that they found
useful and simplify their programming work.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Hi guys,
It sounds simple but I can not get domain name in VIA header (INVITE) instead of IP address.
It is just
FS ---INVITE --> Kamailio --INVITE--> endpoint
Kamailio gets INVITE, and adds one more VIA with it's IP address. How to get domain name instead ?
Please advice.
Hi,
I have configured kamailio IMS in vm based images. I have configured
pcscf,icscf,scscf,hss and ue in five different vms.I am able to
successfully make a call via IMS.
But when making a INVITE from alice to bob, it goes via
ue -> pcscf
pcscf -> scscf
scscf -> icscf
icscf -> scscf
scscf -> pcscf (here multiple INVITE is happening and giving 483 Too Many
Hops error and then the call is going to UE successfully)
pcscf -> ue
Can anybody help me what am i missing . why multi INVITE is happening there
alone and giving me too many hops issue. Even after that issue how the call
reaches the other UE.
Kindly anyone help me in this regard atleast where to check this scenario.
Hello,
i am using dialog module in-memory to get all dialogs and show in a website.
I use for this kamctl dialog show which is run quite often for autorefresh.
I noticed that some calls get hung on kamailio while on caller side and
callee side calls are disconnected.
I captured a wireshark trace and for same caller IP i get many good calls
as well some bad calls (not disconnected properly). When comparing the BYE
packets i could not notice any difference.
However in the "BAD" calls it looks like the BYE from caller get stuck on
kamailio and is not sent/forwarded to callee side. I get BYE
retransmissions from caller and all BYE requests got stuck on kamailio.
After few seconds Callee side sends BYE and that BYE also get stuck.
I am wondering how to trace this issue (differently than taking a wireshark
trace) as i dont see any difference in the good BYE and the bad BYE.
It looks like for any reason from time to time BYE is not forwarded to the
other side and when the other side sents BYE its also not forwarded to call
initiator.
Please give me a clue how to continue on this.
I am using dispatcher module to send the calls.
Best regards
Tom
When receiving an INVITE over a specific LTE carrier, I'm seeing 'c=IN IP4
192.0.0.4' in SDP, which isn't technically a RFC1918 or RFC6598 IP address
and thus nat_uac_test(8) fails.
What elegant workaround can be done to catch such specific cases?
Thanks.
Hi all,
Upon receiving a provisional response from callee in a branch route, is there a way of telling if Kamailio is going to automatically CANCEL that branch because a final reply was received from another branch before that?
The closest I got is finding “cancel_b_method” parameter of the TM module, but that is not what I’m after. Previously I was recommended to debug via logging onreply_route but I’m not really sure what information may contain hints of intention to send CANCEL. Does anyone have any suggestions/guesses in which direction I should be digging?
Thanks,
Ivan
Thanks to the efforts made by Fred Posner, a matrix.org server has been
installed on Kamailio project infrastructure (matrix.kamailio.dev -
server sponsored by lod.com), which enables us to create chat rooms as
we need for our community of users and developers.
It tries to be an alternative to the existing IRC #kamailio channel,
given that a while ago freenode.net had to enforce user registration to
join the channels on their service (not complaining about it, they did
it for good reasons to protect against spammers and D/DoS attacks). The
#kamailio channel on freenode.net will still be in use by the people
that like it, there is no plan to consider it obsolete.
One of the main benefits of running own matrix server is the ability to
allow guest access during the devel online meetings, so people that do
not want to create an account can still participate by using a web
browser. Also, it offers modern encryption and privacy, along with
richer collaboration features (e.g., file sharing), many considering it
a viable open source alternative to Slack or other private team
collaboration services.
The first room created is #kamailio:matrix.kamailio.dev :
* https://riot.kamailio.dev/#/room/#kamailio:matrix.kamailio.dev
The matrix server is federated, so you can join if you have an account
on any other public federated matrix server or one that you can host
yourself. The server on matrix.kamailio.dev is not allowing public
registrations. If you are a registered developer (have git commit
access) and need a matrix account, let us know and we will find solutions.
It is the first phase now and based on the interest from the community,
its usage can be increased (e.g., creating rooms for development
notifications (commits, pull requests, issue); bridge to irc channel;
etc...) or the server can be shut down if proves not useful.
We will try to do the next online devel meeting (scheduled for
Wednesday, April 29, 2020, at 14:00UTC) on the matrix chat room
mentioned above.
More details at:
* https://www.kamailio.org/w/2020/04/matrix-chat-room-for-kamailio/
Stay safe and healthy!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda