Hi all,
I am using kamailio 4.4.5 in an IMS setup as S-CSCF.
I have got problems when trying to deliver an INVITE request to a distinct PSI at an AS.
I receive the SIP response "555 AS Contacting Failed - iFC terminated dialog".
I collected tshark traces and synchronously WITH_DEBUG kamailio logs.
I think, I have found the root cause in the source code of the TM module and would like to issue an official bug report.
How to proceed?
All the Best
Christoph
The information contained in this e-mail message is privileged and confidential and is for the exclusive use of the addressee. The person who receives this message and who is not the addressee, one of his employees or an agent entitled to hand it over to the addressee, is informed that he may not use, disclose or reproduce the contents thereof, and is kindly asked to notify the sender and delete the e-mail immediately.
Hello everyone,
I'm doing some custom Kamailio configuration to achieve few things but seem
to be stuck with SIP trunks. I'm currently using Kamailio 4.4.5 and here is
what I have at the moment:
*1.* Asterisk 11.25.1 servers behing Kamailio using RealTime for SIP peers.
*2.* Route that checks if packet was sent from one of configured SIP
trunks. This part works correctly:
*route[FROMPSTN] {*
* xlog("== FROMPSTN ==\n");*
* $var(socket) = $si + ":" + $sp;*
* xlog("**** $var(socket)\n");*
* xlog("**** $(sht(trunks_kamailio=>$var(socket)))\n");*
* if ($(sht(trunks_kamailio=>$var(socket))) != $null) {*
* xlog("**** From $(sht(trunks_kamailio=>$var(socket)))
PSTN\n");*
* return 1;*
* }*
* xlog("**** Not from PSTN\n");*
* return -1;*
*}*
*3.* Here is a fragment that sends INVITE packet to *TOASTERISK* route if
it was received from one of trunks. I have 4444444444(a)XXX.XXX.XXX.XXX
hardcoded for now, and in my configuration 4444444444 and XXX.XXX.XXX.XXX
represent my real caller id number and carrier's IP address:
*if(route(FROMPSTN)) {*
* uac_replace_from("sip:4444444444@XXX.XXX.XXX.XXX");*
* route(TOASTERISK);*
*}*
*4.* TOASTERISK basically has folloving fragment that load balances traffic
between Asterisk nodes:
*if(!ds_select_dst("0", "4")) {*
* xlog("**** Call was not sent to none of Asterisk hosts\n");*
* if(!is_method("REGISTER")) {*
* xlog("**** Method is not REGISTER\n");*
* send_reply("404", "No destination");*
* }*
* xlog("**** Dispatcher fail\n");*
* exit;*
*}*
So when I'm making a call to my test number, I can see following incomming
packet in Asterisk from Kamailio. From header has correct caller id number
and carrier's IP address (192.168.88.5 is Kamailio's internal IP address):
[image: Вбудоване зображення 1]
And when Asterisk tries to find a maching peer for this incoming call, it
is using Kamailio's instead of Carrier's IP address. So it is actually
finds one of peers (101-XXXXXXX) that is being authenticated on Kamailio as
many others:
[image: Вбудоване зображення 2]
I'm not sure if Asterisk is just using packet's source IP to lookup for
corresponding peer or something else from it's content. I will really
appreciate any help on this.
Thanks a lot!
Hey.
Just installed Kamailio onto CentOS 6 using the available YUM repos., and
Siremis (v4.4).
I seem to be having the same issue as this was reported
https://github.com/asipto/siremis/issues/3
I have retried the Siremis install again as suggested, and I still cannot
login with the same results that person has: click login and nothing is
occurring, except for the text appearing which states "Processing Login."
There is no error in the httpd error_log file.
Anything else to look for?
Thanks!
Hi,
I'm developing some routing logic with Kamailio 5.0.1 and app_lua.
I've integrated my lua script and now I'm trying to use sqlops within
the script. I want to use the reconnect stuff of sqlops instead of
implementing it by myself.
This is what the Kamailio config looks like:
[..]
loadmodule "db_mysql.so"
loadmodule "sqlops.so"
loadmodule "app_lua.so"
[..]
modparam("sqlops", "sqlcon", "ca=>mysql://kamailio:foobar@127.0.0.1/kamailio")
modparam("app_lua", "reload", 1)
modparam("app_lua", "register", "sqlops")
modparam("app_lua", "load", "/etc/kamailio/playground.lua")
####### Routing Logic ########
# Main SIP request routing logic
request_route {
route(everythinginlua);
}
onreply_route {
route(everythinginlua);
}
route[everythinginlua] {
if(!lua_run("handle_packet")) {
xlog("L_ERR", "SCRIPT: failed to execute lua function!\n");
}
drop;
exit;
}
The lua script looks like this:
-- Start of script
function handle_packet()
sr.log("L_INFO", "Got packet method "..sr.pv.get("$rm"))
local status = sr.sqlops.sql_query("ca", "SELECT * FROM table", "fooresult")
sr.err("sql query returned status "..status)
end
-- End of script
Now when a packet comes in, I see the following in the log file:
Jun 14 11:19:59 busch /usr/sbin/kamailio[13254]: ERROR: app_lua
[app_lua_sr.c:104]: lua_sr_log(): Got packet method REGISTER
Jun 14 11:19:59 busch /usr/sbin/kamailio[13254]: ERROR: app_lua
[app_lua_api.c:713]: app_lua_run_ex(): error from Lua:
/etc/kamailio/playground.lua:4: attempt to call field 'sql_query' (a
nil value)
Jun 14 11:19:59 busch /usr/sbin/kamailio[13254]: ERROR: app_lua
[app_lua_api.c:726]: app_lua_run_ex(): error executing: handle_packet
(err: 2)
Jun 14 11:19:59 busch /usr/sbin/kamailio[13254]: ERROR: <script>:
SCRIPT: failed to execute lua function!
Looks to me as if the functions of sqlops don't get exported to my lua script.
According to the documentation, after specifying the "register"
modparam, I should be able to access those functions.
What am I missing?
Thanks in advance
Sebastian
Any input please? How do I use these methods with $var...
I get the same behavior when I use avp_subst as well.
From: Pranathi Venkatayogi
Sent: Thursday, June 15, 2017 6:22 PM
To: Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org>
Subject: re.subst does not work with $var?
I am trying to replace "domain1" with "domain2" in the msrp(body).
Following stmt works where in I specify domain strings as literals.
var(modBody) = $(msrp(body){re.subst,/()(domain1)()/domain2/g});
I am having trouble making the same work with $var variables.
See below - this code does not do the replacement -
$var(domain1) = "()(domain1)()";
$var(domain2) = "domain2";
var(modBody2) = $(msrp(body){re.subst,/$var(domain1)/$var(domain2)/g});
Any clue/ideas or is it by design?
Thanks,
Pranathi Venkatayogi
System Developer II
(520) 745-9447 x4466
www.cyracom.com<http://www.cyracom.com/>
Join us: [cid:image001.gif@01D1C9C9.C4E8B6D0] <https://www.facebook.com/pages/CyraCom-LLC/134704783312720> [cid:image002.gif@01D1C9C9.C4E8B6D0] <https://twitter.com/cyracom> [cid:image003.gif@01D1C9C9.C4E8B6D0] <http://www.linkedin.com/company/cyracom> [cid:image004.gif@01D1C9C9.C4E8B6D0] <http://www.cyracom.com/blog/>
[cid:image005.png@01D1C9C9.C4E8B6D0]
DISCLAIMER: This e-mail and any attached content may contain confidential or privileged material delivered for the sole use of the intended recipient(s). Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender immediately by reply e-mail and delete all copies of this message. It is the recipient's responsibility to scan this e-mail and any attachments for viruses. The content of this e-mail message, including any attachments, does not comprise a contract or a portion of a contract, and so does not bind CyraCom International, Inc. or any of its agents or subsidiaries. CyraCom, LLC and Voiance Language Services, LLC are wholly owned subsidiaries of CyraCom International, Inc.
Hello
I am looking at the following configuration:
1/ voip providers, with different external sip servers, will send calls to
kamailio, that will dispatch them to asterisk servers, with load balancing
& failover. The IP of the asterisk servers are known and fixed.
2/ the asterisk servers will also place calls, going through kamailio, that
will dispatch them to the voip provider sip servers, based on R-URI /
Prefix.
I've achieved #1 with dispatcher module, I've seen carrierroute module that
can achieve #2, but I dont really grasp how to put the two together.
I have the feeling that #1 can also be done with carrierroute, and that I
only need to check if the 'from' domain is one my asterisk, and chose a
different routing table, but I dont see how to do that
is that a valid approch ? where should I look to do that ?
thanks
J.
Hello List,
is there any howto about webrtc loadbalance in combination with kamailio
and FreeSWITCH?
I want to share one WSS address/endpoint to multiple FreeSWITCH backends.
Or is there any other best practice?
My callflow is mostly that my internal SIP Servers called my registered
webrtc clients.
Would be nice to get some input.
--
Kind Regards
*Karsten Horsmann*
I need to replace the "From" address of MSRP message with something different.
I noticed that module does not allow one to set values from config file.
What does it take to enable this functionality? Does anyone have a prototype I can leverage?
Need to replace from domain with some other domain -
Given: MSRP body is - From: cust3 <sip:cust3@devtranslation.sms-test.cyracom.com>#015#012To: <sip:agent1@xmpp.xgw.cyracomdev.com>#015#012DateTime: .....
Wanted: MSRP body is - From: cust3 <sip:cust3@new domain >#015#012To: <sip:agent1@xmpp.xgw.cyracomdev.com>#015#012DateTime: .....
Thanks,
Pranathi Venkatayogi
System Developer II
(520) 745-9447 x4466
www.cyracom.com<http://www.cyracom.com/>
Join us: [cid:image001.gif@01D1C9C9.C4E8B6D0] <https://www.facebook.com/pages/CyraCom-LLC/134704783312720> [cid:image002.gif@01D1C9C9.C4E8B6D0] <https://twitter.com/cyracom> [cid:image003.gif@01D1C9C9.C4E8B6D0] <http://www.linkedin.com/company/cyracom> [cid:image004.gif@01D1C9C9.C4E8B6D0] <http://www.cyracom.com/blog/>
[cid:image005.png@01D1C9C9.C4E8B6D0]
DISCLAIMER: This e-mail and any attached content may contain confidential or privileged material delivered for the sole use of the intended recipient(s). Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender immediately by reply e-mail and delete all copies of this message. It is the recipient's responsibility to scan this e-mail and any attachments for viruses. The content of this e-mail message, including any attachments, does not comprise a contract or a portion of a contract, and so does not bind CyraCom International, Inc. or any of its agents or subsidiaries. CyraCom, LLC and Voiance Language Services, LLC are wholly owned subsidiaries of CyraCom International, Inc.