I have difficulties to install the debian package of kamailio I have build
from source
Creation works fine. (make cfg, configuration of proper debian in
pkg/debian/deb , make deb)
But kamailio tries to find module here :
/usr/lib/x86_64-linux-gnu/kamailio/modules/
and modules are installed in /usr/lib64/
Of course, it works fine by specifying -L with actual path.
I have tried also to download the source of debian package with same result.
I have missed some steps.
Thibault
Hello,
I would like to authorize JSON-RPC commands for a specific user.
Is it possible to enable HTTP authentification on the xHTTP module?
Thanks for your help.
Best regards
Loic BOISSY
Thanks for the suggestion about auth_diameter, do you think there would be
an interest in the community if we were to do this modification on ims_auth
or auth_diameter ? could it be integrated to trunk ?
We do not want to publish our own fork of ims_auth or auth_diameter with
that small change and maintain the code repository if it can be avoided, so
it would be nice if we can put it in the trunk and forget about it. Plus it
is more open source oriented to publish to main branch i feel :)
JB
2015-10-03 23:53 GMT+02:00 JB <jbf.nospam(a)gmail.com>:
> Hello all, we are working on a SIP solution using Kamailio.
>
> We want to secure our base of user credentials even in case of attack on
> the SIP server, and for that reason we plan to use diameter authentication
> as described in RFC http://www.rfc-base.org/txt/rfc-4740.txt
>
> Paragraph 6.2 describes a mode where the HSS answer with code
>
> DIAMETER_MULTI_ROUND_AUTH ,and then validate user credential after a second round trip.
>
>
> This does NOT corresponds to what is done on Kamailio module ims_auth, where credentials (actually a hash of the credentials, but its enough to authenticate )
>
> ) are pushed to kamailio, which does the computation of the expected answer (which corresponds to par 6.3 of the RFC 4740)
>
> Is there any kamailio module that would allow to use the method with DIAMETER_MULTI_ROUND_AUTH ?
>
> Thank you
>
> JB
>
>
Hello all, we are working on a SIP solution using Kamailio.
We want to secure our base of user credentials even in case of attack on
the SIP server, and for that reason we plan to use diameter authentication
as described in RFC http://www.rfc-base.org/txt/rfc-4740.txt
Paragraph 6.2 describes a mode where the HSS answer with code
DIAMETER_MULTI_ROUND_AUTH ,and then validate user credential after a
second round trip.
This does NOT corresponds to what is done on Kamailio module ims_auth,
where credentials (actually a hash of the credentials, but its enough
to authenticate )
) are pushed to kamailio, which does the computation of the expected
answer (which corresponds to par 6.3 of the RFC 4740)
Is there any kamailio module that would allow to use the method with
DIAMETER_MULTI_ROUND_AUTH ?
Thank you
JB
Hi,
I am able to successfully connect to a PSTN gw from Kamailio. Now, he
says I need to prepend a value (eg.123123) before the number(ENUM)
and then only terminate the calls. Where do I add this? Can somebody
help me?
thanks
Ganesh Kumar
Hi Daniel sir
I have enabled web-sockets module into my kamailio sip server.I am trying
to make call from web browsers and mobile phones.
To make a call from web browser i am using sipml5 and as a mobile app i am
using imsdroid.
However i have done some search on net and i found nothing relevant.
Any suggestions and help?.Waiting your response eagerly.
Thank you
after seeing some commits on tcpops module, i decided to check its
readme and noticed that nothing is mentioned about the default values of
parameters. it might be useful to tell that, e.g., if
tcp_keepalive_enable is not set, then tcp_keepalive core parameter value
tells what the status is.
-- juha
I'm trying to set up kamailio dispatcher to distribute calls to 2 asterisk
servers. So far, the failover case seems ok, but I cannot get the
dispatcher to distribute load. All calls are going to the last destination
entry in the dispatcher table even if I have set the maxload attributes.
I'm using algorithm 10 for load distribution. The number of calls sent to
one asterisk is well above the maxload. Hope someone more experienced in
dispatcher can review my config and give me some recommendations. Thanks in
advance.
Here is the content of dispatcher table in postgresql db.
select * from dispatcher;
id | setid | destination | flags | priority | attrs
| description
----+-------+--------------------+-------+----------+---------------------------+-------------
1 | 1 | sip:10.0.1.31:5061 | 0 | 0 |
duid=asterisk1;maxload=25 | Asterisk1
2 | 1 | sip:10.0.1.33:5061 | 0 | 0 |
duid=asterisk2;maxload=25 | Asterisk2
(2 rows)
Here are the dispatcher sections in kamailio.cfg.
# ----- dispatcher params -----
#!ifdef WITH_DISPATCHER
modparam("dispatcher", "db_url", DBASTURL)
modparam("dispatcher", "table_name", "dispatcher")
modparam("dispatcher", "force_dst", 1).
# If flag 2 is set, then failover support is enabled.
modparam("dispatcher", "flags", 3)
# the last address in destination set is used as a final option to send the
request to
modparam("dispatcher", "use_default", 1)
# load balancing fail over
modparam("dispatcher", "dst_avp", "$avp(dsdst)")
modparam("dispatcher", "grp_avp", "$avp(dsgrp)")
modparam("dispatcher", "cnt_avp", "$avp(dscnt)")
modparam("dispatcher", "dstid_avp", "$avp(dsdstid)")
modparam("dispatcher", "attrs_avp", "$avp(dsattrs)")
# PVs for hashing
modparam("dispatcher", "hash_pvar", "$fU@$ci")
# PVs to store results when calling ds_is_from_list
modparam("dispatcher", "setid_pvname", "$var(setid)")
modparam("dispatcher", "attrs_pvname", "$var(attrs)")
# method to probe the gateways
modparam("dispatcher", "ds_ping_method", "OPTIONS")
modparam("dispatcher", "ds_ping_from", "sip:dispatcher@localhost")
modparam("dispatcher", "ds_ping_interval", 30)
modparam("dispatcher", "ds_probing_threshhold", 10)
modparam("dispatcher", "ds_ping_reply_codes",
"class=2;code=403;code=404;code=484;code=488;class=3")
modparam("dispatcher", "ds_probing_mode", 1)
# size of hash table storing data for call load dispatching, power of two
modparam("dispatcher", "ds_hash_size", 10)
# expiration time in seconds to remove the load on a destination if no BYE
was received
modparam("dispatcher", "ds_hash_expire", 3600)
# expiration time in seconds to remove the load on a destination if no 200
OK for INVITE was received
# and state updated with ds_load_update
modparam("dispatcher", "ds_hash_initexpire", 60)
modparam("dispatcher", "ds_hash_check_interval", 30)
#!endif
route[WITHINDLG] {
if (has_totag()) {
# sequential request withing a dialog should
# take the path determined by record-routing
#!ifdef WITH_DISPATCHER
if(is_method("BYE|CANCEL") && ds_is_from_list("1", "3"))
ds_load_update();
#!endif
......
}
}
route[FROMASTERISK] {
#!ifdef WITH_DISPATCHER
if(ds_is_from_list("1", "3")) {
xlog("L_DBG","$rm from $fU@$si:$sp: Call from Asterisk cluster\n");
return 1;
}
return -1;
#!else
if ($si==$sel(cfg_get.asterisk.bindip)) {
return 1;
}
return -1;
#!endif
}
onreply_route[MANAGE_REPLY] {
xdbg("incoming reply\n");
#!ifdef WITH_DISPATCHER
if(is_method("INVITE") && ds_is_from_list("1", "3")) {
if(status=~"2[0-9][0-9]") {
ds_load_update();
}
else if(status=~"[3-7][0-9][0-9]") {
ds_load_unset();
}
}
#!endif
if(status=~"[12][0-9][0-9]")
route(NATMANAGE);
}
#!ifdef WITH_DISPATCHER
failure_route[RTF_DISPATCH] {
if (t_is_canceled()) {
exit;
}
# next DST - only for 500 or local timeout
if (t_check_status("500") or (t_branch_timeout() and !t_branch_replied())) {
# mark the destination Inactive and Probing
ds_mark_dst("IP");
# select the new destination
if(ds_next_dst()) {
t_on_failure("RTF_DISPATCH");
route(RELAY);
exit;
}
else {
# last available node failed to reply, no other
destinations available
send_reply("404", "No destination");
exit;
}
}
}
#!endif
route[TOASTERISK] {
#!ifdef WITH_DISPATCHER
# ds_mark_dst("IP");
# Call load distribution
if(!ds_select_dst("1", "10")) {
sl_send_reply("500", "Service Unavailable");
xlog("L_INFO","$rm from $fU@$si:$sp: No destinations available for $rd\n");
exit;
}
xlog("L_DBG", "--- SCRIPT: going to <$ru> via <$du>\n");
t_on_failure("RTF_DISPATCH");
#!else
$du = "sip:" + $sel(cfg_get.asterisk.bindip) + ":"
+ $sel(cfg_get.asterisk.bindport);
#!endif
route(RELAY);
exit;
}
# Dispatcher detects a destination goes down
event_route[dispatcher:dst-down] {
xlog("L_ERR", "Destination down: $rm $ru ($du)\n");
}
# Dispatcher detects a destination comes up
event_route[dispatcher:dst-up] {
xlog("L_ERR", "Destination up: $rm $ru\n");
}
Hi,
I am scratching my head for one month to get this sorted and I have spent so many hours but couldn't figure out. Please help !
I have changed the bind port to 5099 but it is still listening to the previous port even I have rebooted the system.
My Code is :
kamailio.bindip = "192.168.1.105" desc "Kamailio IP Address"kamailio.bindport = "5099" desc "kamailio port"
However, when I restart kamailio service it shows that it is still listening to 5060 (attached the screen shot)
Regards,Amjad
Hi,
I have kamailio and asterisk running on same machine. When I make an internal call, it routes the call to other extension. However, if I stop the asterisk service then the call still routes the same way to other extension. Is there a chance that kamailio does the call routing it self.
Also, I cannot see any sip extension registered at asterisk when I run a command "Sip show peers" neither there is any activity in Asterisk's log.
Regards,Amjad