Hey all,
I'm trying to find the best way for settings a timeout for the 'ringing' stage of a call - meaning - I would like to wait for 20 seconds between receiving status 180 / 183 / early media from the remote end and 200, if I fail to receive the expected response in this timeframe - call should be dropped. Most of the documented timeouts I saw count between the first invite to any of the aforementioned stages - but I'm actually looking for the opposite.
Edward
Dear Team,
I would like to know how to link Kamailio with openIMSCore?I would like to use Kamailio as an Application server.Please guide me or if there is someone who has worked on this subject, I would like to benefit from his help.
Hi to all,
As I found there isn't any support for this AUID : simservs.ngn.etsi.org in Kamailio.Anyone can confirm that we can't use Kamailio as mmtel for IMS with the current xcap_server module?!!Thank you.
Regards,Hossein
Is it somehow possible that ngrep shows incoming INVITE arriving over
TCP to Kamailio's listening address and port, but there is no debug
trace of the request (e.g. receive_msg(): --- received sip message ...)
in syslog?
-- Juha
Hi,
I am currently using TOPOS to make Kamailio behave more like a B2BUA from
the clients perspective. It's working well, however I have discovered a
scenario where it fails.
To aid with some interoperability I am sending (sl_send_reply) 200 OK to an
in-dialog SUBSCRIBE request during a call. Once this has happened, the
subsequent BYE from the B leg goes to the incorrect (Private) IP. If I
disable this SUBSCRIBE, or relay it to the B leg, the BYE goes to the
expected IP address.
Does anyone know where I am going wrong? I have tried not calling
record_route() for these messages but the result is the same.
I've attached the ladder diagram of the call below. Note the subscribe is
not relayed in this scenario.
Thanks!
[image: image.png]
> Serdar,
>
> Have you tried to clean variables before calling new ds_select_domain(),
> that are using by dispatcher module failover?
>
> Like
> https://kamailio.org/docs/modules/5.3.x/modules/dispatcher.html#dispatcher.… <https://kamailio.org/docs/modules/5.3.x/modules/dispatcher.html#dispatcher.…>
> and so on?
>
> But as I got, you're saying, that calling ds_select_domain() with
> different setid's in a case of fail, not really fails, but using "old"
> available destinations from previous attempt?
>
> Regards,
> Igor
Igor, also thanks for your interest.
> Hello,
>
> delete the xavps based on the names you set via modparams xavp_dst and
> xavp_ctx.
>
> Cheers,
> Daniel
I remove xavp value using "xavp_rm("_dsdst_")", i supposed that my
problem was solved
but in my other tests, i recognised that xavp_rm removed the first index
of "xavp(_dsdst_)" not all previous destinations(indexes).
after researching, i found a post at
https://lists.kamailio.org/pipermail/sr-users/2020-May/109192.html
and i removed all ellements of list as below,
if(defined $xavp(_dsdst_)) {
while($xavp(_dsdst_[0]) != $null) {
xlog("L_INFO", "--- Loaded Dispatchers --- Grp :
$xavp(_dsdst_[0]=>grp)\n");
xlog("L_INFO", "--- Loaded Dispatchers --- Uri :
$xavp(_dsdst_[0]=>uri)\n");
$xavp(_dsdst_[0]) = $null;
}
}
it worked but i am not sure it is a best solution. Is there another
simple way to delete all indexes of xavp?
Best regards,
Serdar
Hi,
I am using an old Cisco 2811 with an FXS card and trying to get it to
convert between POTS and SIP. Mostly for "fun". For the most part it works,
however there are some problems with DTMF in the call.
Because the end device uses pulse dialling it seems that only the Cisco
Proprietary SIP NOTIFY method of sending DTMF is supported. It sends 4
bytes in the message body that indicate the DTMF digit sent. I'd like to
convert it to the more standard SIP INFO method. The docs about the
encoding are here -
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/sip/configuration/1…
I looked at the transformations but couldn't find anything relevant. Is it
possible to extract the binary from the body and decode it?
Thanks
Matthew
Hello there,
According to ,
https://lists.kamailio.org/pipermail/sr-users/2016-March/092058.html, which
talked about B2BUA (just signalling) in Kamailio.
As i have experienced working with SEMS, freeswitch and Kamailio while
using B2BUA feature, Each of them have pros and cons:
1- The sems is a light sip engine server with several applications (like as
sbc) for using b2bua. All incoming and outgoing calls could go to sems
server for doing b2bua like this:
Incoming<=======>Kamailio<========>Sems<========>Kamailio<=======>outgoing
2- In sems, you could disable rtp realying. It forces sems to work just as
b2bua without anchoring RTP
3- Easy to use different active profiles in routing.
Just a couple of things there are in SEMS. For example, the sems adds
itself (local IP) in Via header, and it couldn't be common in b2bua. like
this:
.
.
.
INVITE sip:200@cloud.domain.com;transport=UDP SIP/2.0
Via: SIP/2.0/UDP
10.10.10.200;branch=z9hG4bK2f53.07a3fd9edaa8c8d609ab2ac6b01a087f.0
*================================>Kamailio
public IP*
*Via: SIP/2.0/UDP
127.0.0.1:5080;received=127.0.0.1;branch=z9hG4bKsPRMNast;rport=5080
===============================>private loopback sems ip*
From: <sip:100@cloud.domain.com
;transport=UDP>;tag=6FFDB493-60EABB3600016ECD-379F9700
To: <sip:200@cloud.domain.com;transport=UDP>
CSeq: 10 INVITE
Call-ID: Y2M1ODQxNTZmMjdkZWZjN2U5MmMyYjBmN2Y2OGY1ODQ._leg2
Route: <sip:mo@127.0.0.1:5060;lr>
Max-Forwards: 69
Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO,
SUBSCRIBE
User-Agent: Z 3.3.25608 r25552
Content-Type: application/sdp
Contact: <sip:127.0.0.1:5080;transport=udp>
Content-Length: 246
.
.
.
For this reason, Is there a way to avoid this issue? I know it is possible
to do this by using other modules like textops and retransformation ?
And why in Kamailio, there is no b2bua module to perform all b2bua
functionality, yet?
Thanks with Best Regards.
--
--Mojtaba Esfandiari.S
Hello all,
I have a trouble that is related to the way of usage of dispatcher module.
I am working with Kamailio 5.3.2 and using dispatcher module as load
balancer to route calls to the media gateways.
My dispatching routes are below as simply,
route[DISPATCH] {
if(ds_select_domain("2", "4")) {
route(MYRELAY);
} else {
send_reply("503","Service Unavailable - No MGW");
exit;
}
}
route[MYRELAY] {
t_on_failure("MYFAILURE");
if(!t_relay()) {
sl_reply_error();
}
exit;
}
failure_route[MYFAILURE] {
route(NATMANAGE);
revert_uri();
if (t_is_canceled()) {
exit;
}
if ($T_reply_code == 408 || $T_reply_code == 503) {
if(ds_next_domain()) {
route(MYRELAY);
} else {
send_reply("503","Service Unavailable");
exit;
}
} else {
if(ds_select_domain("6", "4")) {
route(MYVMRELAY);
} else {
send_reply(486,"Busy");
exit;
}
}
}
route[MYVMRELAY] {
t_on_failure("MYVMFAILURE");
if(!t_relay()) {
sl_reply_error();
}
exit;
}
failure_route[MYVMFAILURE] {
route(NATMANAGE);
revert_uri();
if (t_is_canceled()) {
exit;
}
if(ds_next_domain()) {
route(MYVMRELAY);
} else {
send_reply("503","Service Unavailable");
exit;
}
}
I have multiple media gateways(setid=2) and voicemail servers(setid=6).
As can be seen from the configuration,
after first routing, for transaction reply code except 408 or 503, I am
routing call to the voicemail server using dispatcher.
In that phase, dispatcher module is remembering previously loaded
destinations that come from first ds_select_domain
and module try to route these destinations in the case that all
voicemail servers are unavailable.
So basically, I want to unload all destinations comes from previous
ds_select_domain.
From the documentation, i tried ds_load_update and ds_load_unset
methods but not worked for me.
Is there any way to overcome that problem or any right usages of these
methods.
Thank you,
Serdar