In kamailio < 5.1.x it used to be possible to get total number of items
in a dialog_with_profile by skipping the "value" paramter, such as:
modparam ( "dialog", "profiles_with_value", "outbound" )
.
.
.
get_profile_size ( "outbound", "$var(myvar)" );
However, 5.1.x and 5.2.x report:
ERROR: dialog [dialog.c:912]: w_get_profile_size_helper(): invalid
value parameter
The documentation (
https://kamailio.org/docs/modules/5.2.x/modules/dialog.html#dialog.f.get_pr…
)
Indicates the "value" paramter is still optional.
I'm sure I must be missing something obvious... Any ideas?
Thanks!
Hi,
I have setup Kamailio on Centos 7 as a proxy in front of Asterisk in the same datacenter, using the dispatcher module. I have noted that large INVITEs sent by Kamailio do not arrive at the Asterisk box. It seems the network is dropping fragmented UDP traffic. This does not happen however when I contact the Asterisk box directly from outside the datacenter. Then large INVITES are arriving are Asterisk. So the problem is either in Kamailio or in the datacenter.
I have analysed the problem with ngrep and tcpdump/wireshark. In normal mode (udp4_raw=no setting) Kamailio is producing UDP packets above 1500 bytes and leaves all fragmentation to the operating system. Enabling raw udp in Kamailio and lowering the MTU in the server didnt help. I even disabled offloading of UDP fragmentation to the NIC to get to the bottom of this. However nothing helps. Only forcing TCP in the dispatcher works when having large INVITES going to Asterisk.
In any case, it appears that there is no guarantee that fragmented UDP arrives at all. As far as I am aware, the recommendation is to use TCP if messages are bigger than 1400 bytes. If so, how can I force Kamailio to send messages over 1400 bytes only in TCP mode?
Or is there some other way how to deal with this?
Thanks for any hints.
Gerry
Hi
I have created a kamailio container with docker and two asterisk container
And this is my dispatcher list:
*1 sip:asterisk:50601 sip:asterisk2:5060*
and this is my both asterisk SIP.conf
*[Kamailio]host=kamailioport=5060insecure=invitetype=friendcontext=from-internal*
The problem is that I use User-defined networks which has its own DNS
when a container starts a dns record would be set
If I start a kamailio first then start two asterisks the asterisk works fine
because the name "kamailio" has been set in docker dns
but I should restart the kamailio because at startup It could not resolve
astersik dns records
after the everything works fine but if the any of the asterisk instances
crash/stop kamailio
can not detect that because a dns record would not be available:
*17(22) ERROR: <core> [core/resolve.c:1684]: sip_hostport2su(): could not
resolve hostname: "asterisk2"17(22) ERROR: tm [ut.h:309]: uri2dst2():
failed to resolve "asterisk2"17(22) ERROR: tm [uac.c:452]: t_uac_prepare():
no socket found17(22) ERROR: dispatcher [dispatch.c:3110]: ds_ping_set():
unable to ping [sip:asterisk2:5060]*
It is kind of loop , I think maybe I can fix asterisk problem with asterisk
realtime and
set the sip.conf in database.
anyone has any suggestion for this problem?
Hello list,
I use kamailio 5.2.3 from repo's on stretch in docker. I use python KEMI + async and encountered weird behaviour: after t_continue $rm shows OPTIONS instead of REGISTER/INVITE. I wonder if that's correct behaviour, because for me it looks like a bug.
Repeating is easy - just check $rm after t_continue.
________________________________
Regards,
Alexandru Covalschi
VoIP Engineer and System Administrator
tel: +37367367850
Hello Kamailio experts,
We were already able to register correctly at a SIP Provider using uacreg
table. Now, we would like to validate inbound calls coming from this
registered provider, sending them to a specific dispatcher group.
I tried reading the uac module docs, found *uac_reg_lookup* function, but
i'm not sure if that's we need.
Could someone please help me to understand if UAC has a function to do
that, or if we need to make some?
Thanks!!
hello,
I use Kamailio as my Icscf in IMS network .
after receiving Invite Request from SCSCF to ICSCF, a LIR request sent
from ICSCF to FHoss. User_Unknown response received in all states. I
checked every thing carefully , users are registered and defined in HSS
and every configuration done . What's wrong? is it possible that icscf has
problem? or it can be FHoss bug?
hi
i m using kamailio 5.1.2 with ubuntu 18.4 LTS , and rtpproxy (Basic
version: 20040107
)
we are using it for video calling everything is working fine but call get
stuck after about 2 min and disconnect
plz help
--
*Regards:*
Gaurav Kumar
Hi all,
We have kamailio servers which communicate with the geographically
distributed rtpengine servers.
Sometimes udp packets are lost or delayed between kamailio and rtpengine.
And this causes call drops...
Since rtpengine communication is synchronized and tcp worker processes are
blocked, I couldn't set higher timeout values and more retry count.
Are there any suggestions to overcome this problem?
Thanks,
Koray
Hi,
I have some INVITES where the called number is in the P-Called-Party-ID
header:
P-Called-Party-ID: <sip:+123456789@sip-trunk.example.com;user=phone>
Is there any function or variable where the user is stored or made
available? In this case +123456789
Thanks,
Benjamin
Good Day List,
I am very new to Kamailio and trying to understand at 10,000 feet how it
may be able to be used. I was wondering if the following Scenario would be
possible and if so what modules would accomplish this aspect. (Any URLs
for further reading would be appreciated)
Scenario:
Given
1) SoftPhones will register as follows
sip uri, user(a)subdomain.myvoipserver.com
2) The following users are authorized to connect (this would be stored in a
config file etc):
1001,1003,1007 are valid users for apples.myvoipserver.com
1001,2213,5817 are valid users for oranges.myvoipserver.com
Is it possible for Kamailio to perform the following evaluation and then
take the appropriate steps:
If [domain is apples.myvoipserver.com AND user portion is 1001]
then
Forward/Proxy the SIP/RTP packets to
Asterisk server responsible for registration and audio for the domain
apples.myvoipserver.com
Else if [domain is oranges.myvoipserver.com AND user portion is 2213]
then
Forward/Proxy the SIP/RTP packets to
Asterisk server responsible for registration and audio for the domain
oranges.myvoipserver.com
Else
Silently Drop packets etc.
given the above evaluation rules, a user who tries to register as
1001(a)apples.myvoipserver.com
would be granted access and their SIP Packets and subsequent RTP would be
forwarded to the asterisk server at apples.myvoipserver.com, where said
server would take care of the Registration, and any subsequent calls,
subscriptions, Options etc.
1004@ apples.myvoipserver.com
Would not match the authorized list for apples.myvoipserver.com
(1001,1003,1007),
therefore this registration attempt would be silently dropped
2213(a)apples.myvoipserver.com
would be granted access and their SIP Packets and subsequent RTP would be
forwarded to the asterisk server at oranges.myvoipserver.com, where said
server would take care of the Registration, and any subsequent calls,
subscriptions, Options etc.
Thanks for any information to assist me in understanding how this would
work.
~ron