Hi!
I'm experience really strange behavior of Kamailio.
Right now it's using postgre database
When trying to implement XCAP server capabilities, according to
http://kamailio.org/docs/modules/4.3.x/modules/xcap_server.html#idp76784
on a block
if (!www_authorize("xcap", "subscriber"))
{
www_challenge("xcap", "0");
exit;
}
While trying to test it via browser (user test, pass test)
I've got these errors in log
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: WARNING: db_postgres
[km_dbase.c:235]: db_postgres_submit_query(): postgres result check failed
with code 7 (PGRES_FATAL_ERROR)
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: WARNING: db_postgres
[km_dbase.c:239]: db_postgres_submit_query(): postgres query command
failed, connection status 0, error [ERROR: relation "subscriber" does not
exist#012LINE 1: select password from subscriber where extension='test' AND
u...#012 ^#012]
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: WARNING: db_postgres
[km_dbase.c:235]: db_postgres_submit_query(): postgres result check failed
with code 7 (PGRES_FATAL_ERROR)
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: WARNING: db_postgres
[km_dbase.c:239]: db_postgres_submit_query(): postgres query command
failed, connection status 0, error [ERROR: relation "subscriber" does not
exist#012LINE 1: select password from subscriber where extension='test' AND
u...#012 ^#012]
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: WARNING: db_postgres
[km_dbase.c:235]: db_postgres_submit_query(): postgres result check failed
with code 7 (PGRES_FATAL_ERROR)
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: WARNING: db_postgres
[km_dbase.c:239]: db_postgres_submit_query(): postgres query command
failed, connection status 0, error [ERROR: relation "subscriber" does not
exist#012LINE 1: select password from subscriber where extension='test' AND
u...#012 ^#012]
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: ERROR: db_postgres
[km_dbase.c:247]: db_postgres_submit_query(): 0x7f3fb0660b10 PQsendQuery
Error: ERROR: relation "subscriber" does not exist#012LINE 1: select
password from subscriber where extension='test' AND u...#012
^#012 Query: select password from subscriber where
extension='test' AND user_context='xcap'
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: ERROR: <core>
[db_query.c:132]: db_do_query_internal(): error while submitting query
Aug 12 12:34:57 sip01 /usr/sbin/kamailio[7655]: ERROR: auth_db
[authorize.c:175]: get_ha1(): failed to query database
Without this block, I don't get user auth.
Is it a bug or it's mine misconfiguration?
--
Best regards,
Igor
Hi,
We have a requirement with one of our telco
We are using asterisk in our servers and we are planning to implement SIP-I
protocol and we choosed kamailio for it.
In Kamailio website, i came to know that kamailio will be supporting both
SIP-I and SIP-T protocols
Below is what we need and pls confirm whether it is possible or not?
Asterisk PBX <-------> Kamailio <--------> Telco MSC
Telco will be forwarding the calls to kamailio on sip-i protocol and
kamailio server has to forward the calls to our Asterisk server by
converting sip-i to standard sip protocol
Similiarly Asterisk will be initiating sip call to kamailio server and
kamailio server should convert it into SIP-I and should forward the call to
Telco MSC
1. I am able to establish the SIP trunk [sending OPTIONS from asterisk and
kamailio acknowledges with 200 OK] between Asterisk and Kamailio using
dispatcher module in kamailio and sip.conf in asterisk.
How to establish the SIP trunk between kamailio and telco MSC?
[Generally MSC will act as SIP server and kamalio should send OPTIONS
packet and MSC will acknowledges with 200 OK]
My telco MSC has only provided me the MSC SIP IP and there were no
username/passwords provided.
Means i need to use IP based authentication for the SIP Trunk establishment.
In Kamailio how to achieve it?
Please help and any suggestions/feedback will be highly appreciated and
thankful
Regards,
Sandeep
it was not clear to me based on rtpengine module readme if
rtpengine_offer/answer are same kind of sdp manipulation functions as,
for example, sdpops module functions, i.e., will rtpengine functions
pass to rtpengine the sdp as it is after possible earlier sdpops
function calls and will possible sdpops functions calls after rtpengine
function call keep on manipulating the sdp returned from rtpengine
function call.
-- juha
Hello,
I've been load testing kamailio(4.2) with rtpproxy(2.0) using sipp, and when I hit 50+ CPS I start getting the following error: "incorrect port 0 in reply from rtp proxy".
I'm running 4 instances of rtpproxy on the same instance as kamailio.
Could somebody tell me why I'm receiving this error? Do I need to run more instances of rtpproxy?
# <#----------RTPPROXY Parameters----------#>
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7721 udp:127.0.0.1:7722 udp:127.0.0.1:7723 udp:127.0.0.1:7724")
In request_route:
if (is_method("INVITE")) {
record_route();
if (has_body("application/sdp")) {
rtpproxy_manage();
}
}
In onreply_route:
if (has_body("application/sdp")) {
rtpproxy_manage();
}
rtpproxy -s udp:127.0.0.1:7721 -u rtpproxy rtpproxy -p /var/run/rtpproxy/rtpproxy.pid -l 10.0.0.1
rtpproxy -s udp:127.0.0.1:7722 -u rtpproxy rtpproxy -p /var/run/rtpproxy/rtpproxy1.pid -l 10.0.0.1
rtpproxy -s udp:127.0.0.1:7723 -u rtpproxy rtpproxy -p /var/run/rtpproxy/rtpproxy2.pid -l 10.0.0.1
rtpproxy -s udp:127.0.0.1:7724 -u rtpproxy rtpproxy -p /var/run/rtpproxy/rtpproxy3.pid -l 10.0.0.1
Regards,
Grant
Hi Alexandru,
Well the concept is simple: on INVITE, you will issue a special format
evapi request. You will receive the list of suppliers in the reply
(which is received in a separate route) and you continue processing from
there. These suppliers are simple tags so your creativity will be the
limit of what you can do with them - eg: direct ip addresses received or
tags of suppliers which you can further translate with drouting module
or any alias related one.
For more information on LCR please find this year's presentation on
Kamailio World (which I strongly recommend to be attended):
https://www.youtube.com/watch?v=Hsvcwleb-fY
You can also find the kamailio configuration which I have used in the
worshop here:
https://github.com/cgrates/cgrates/tree/master/data/tutorials/kamevapi/kama…
Let me know if further questions (or join our irc or mailing list so we
do not create too much noise here).
DanB
Hello,
i'm on my first try with kamailio. I need to build a SIP balancer that
should keep SIP
registration from VoIP provider and route the calls to the asterisk boxes
where an IVR
will take care to answer.
Here's my network topology:
+---> [asterisk1]
[public_ip] | 10.50.10.131
[router] <---NAT---> [kamailio] <---+
10.50.10.1 10.50.10.120 |
+---> [asterisk2]
10.50.10.132
In my setup i planned to use UAC and DISPATCHER modules. I started from the
"kamailio-basic.cfg" and added some extra lines to handle UAC and
DISPATCHER.
All is working fine when i do a test call from a softphone inside network
10.50.10.0/24.
When a call is coming from the sip carrier, troubles occurs because
asterisk boxes
are sending their internal ip in SDP.
I understand that i need to rewrite SDP in that case, but i actually don't
know how/where.
I've attached kamailio configuration and a sip trace taken with sngrep
where the problem
is visible.
For security reasons, i would like to force the RTP through RTPProxy.
I'm missing something, and need your help me to understand my errors.
Best Regards,
Bruno
I'm unable to get rid of the \n in "multiline" content of a var.
xlog("var: $var(sdp)");
$var(sdp)=$(var(sdp){re.subst,/^a=rtcp:.*//});
xlog("var: $var(sdp)");
a=sendrecv#015#012a=rtcp:31543#015#012a=X-foo:bar
becomes:
a=sendrecv#015#012#012a=X-foo:bar
Using the s flag results in no substitution at all, /^a=rtcp:.*//s should
result in
a=sendrecv#015#012
according to
http://www.kamailio.org/wiki/cookbooks/4.3.x/transformations#resubst_expres…
Is this a bug or a feature? If it is a feature, how to get rid of the newline
(without additional regexps substitutions).
Hello,
When binding Kamailio to 0.0.0.0, Kamailio no longer recognises any
specific IP address homed on the system as being a "socket" for purposes
of forcing traffic out of any specific interface (i.e. setting $fs), or
any other purpose for which ingress and egress "sockets" are tracked
(e.g. double RR).
As I understand it, this is because Kamailio considers only addresses
explicitly specified via the 'listen' core config directive to be valid
"send socket" arguments. Kamailio _will_ accept addresses already
attached to the interface if it is bound interface-wise, e.g.
listen=eth1:5060
but not when addresses are added to the interface without restarting the
proxy:
# ip addr add dev eth1 172.30.110.10/24
Aug 10 17:31:35 centosity6 /usr/local/sbin/kamailio[28627]: WARNING: pv
[pv_core.c:2285]: pv_set_force_sock(): no socket found to match
[udp:172.30.110.10:5060]
Is there any straightforward way to modify this behaviour, so that it
would be possible to dynamically add addresses to existing physical
interfaces and get Kamailio to utilise them as if they were bound at
boot time?
Thanks,
-- Alex
--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States
Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/