Hi,
I'm using 'allow_trusted()' from Permissions module without a problem in a
Kamailio 4.0 routing logic. It does just work, but the MI command
'trusted_dump' tells me that the module is not in use:
'''
server:/home/jmillan# kamctl fifo trusted_dump
500 Trusted-module not in use
'''
Doing a 'trusted_reload' does neither make any query to database to
retrieve the data.
Other MI commands of same module do work correctly. ie: 'address_reload' or
'address_dump'
Note: I have tested in a Kamailio 1.5 and the result is the same.
Regards.
--
José Luis Millán
Dear Kamailio'ns,
I am working on kamailio Server (V 4.0) installed on Ubuntu 12.04 system.
Currently i am trying file transfer feature using IMSDroid SIP clients.
file transferring is fine between two IMSDroid clients but at the
receiving end (file recipient) i cont see the sender identity/ sender name.
it is just displaying as 'null' (Screen shot is attached). But the full
file is transferring to destination address without any problem.
I have configured MSRP module related script in my kamailio configuration
file (find the attachment). but i guess it is not invoking anyway when file
transferring and the file transferring is negotiating client-to-client
basis.
And also find Sip capture of file transfer (ngrep based) for better
understanding.
What could be the problem? Why at the file recipient side it is not
displaying sender's identity (instead it is 'null')? how can i resolve
this issue?
Anyone please help me in resolving this issue.
Any help will greatly appreciate.
Regards,
Ravi.
Hi
I am using a siremis and *kamailio * hosted server with lylix.net and they
give a link for getting a support about Siremis.
I need a support to how to make OUT call on PSTN with registered subscriber
on Softphone. Currently we have registered user on subscriber table with
their location and can make a PEER to PEER audio call and text messaging
also.
To make OUT call on PSTN we had create a LCR gateway and LCR rule with
Prefix but still can not make a OUT call getting a error 404 can u please
help me out to make a PSTN call
Waiting for your reply
Thanks
Gaurav Rai
+919716238804
Hi all..
I have solve the problem .
Cheers,
vivi
From: vivi [mailto:vivi.hilton@gmail.com]
Sent: Saturday, June 06, 2009 11:29 PM
To: 'users(a)lists.kamailio.org'
Subject: /usr/local/sbin/kamdbctl create error
Hi all
I have specify the wanted db type (DBENGINE=MYSQL) in the
/usr/local/etc/kamailio/kamctlrc
then I using "/usr/local/sbin/kamdbctl create" to create MySQL database,
but I got this error:
ERROR: database engine not specified, please setup one in the config script
root@acer:/usr/local/src/kamailio-1.5.0/sip-server# vim
/usr/local/etc/kamailio/kamctlrc
root@acer:/usr/local/src/kamailio-1.5.0/sip-server# /usr/local/sbin/kamdbctl
create
MySQL password for root:
INFO: test server charset
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
/usr/local/lib/kamailio/kamctl/kamdbctl.mysql: line 112: [: =: unary
operator expected
INFO: creating database openser ...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)
ERROR: Creating core database and grant privileges failed!
Cheers,
vivi
Hello list.
I have a question about the HTABLE module. Suppose that I have a mysql
database with 2 million of records. Is possible to load this table as a
hash table compatible with Kamailio!?
Hope someone can help me.
Thanks,
Ricardo Martinez.-
Hello,
I am opening this discussion to decide if there is need to adjust some
of the default values we have in Kamailio. Many of them were set even
like 10 years ago, so they might not be very actual anymore.
The main goal is to get the best possible settings for common usage.
To start with, here are some values that should be reviewed:
- default private memory is 4MB - if the config is not that small, it
might not be sufficient free pkg to play with (e.g., for sql_query()
result, storage of $var(...) values). Should it be increased to 8MB or
other value? Debian/Centos have startup script that sets its value to 8
via command line
- default shared memory is 32MB - for a decent deployment with tm,
location, lcr/dispatcher, permissions, and anti-flood, it might leave
not much free space. Should we double it or set to a different value
- usrloc - db_ops_ruid should enabled (1) - seems stable, without it
there are problems updating/deleting location records when UA changes
the call-id for same contact address.
- usrloc - hash_size - now is 9, which results in 512 slots, meaning is
ok for few thousands of registered users, for more, performance will
decrease when doing save/lookup location -- should it be made 10 (1024
slots for internal hash table)?
- auth_db - load_credentials defaults to 'rpid', meaning that the query
to get the password will retrieve also the rpid column. I haven't see
rpid being used that much lately (replaced by PAI/PPI). I would make
this parameter empty by default to avoid querying for an extra column
that is likely to be empty.
Perhaps there are more, I just wanted to get started. Reply with your
comments to above list as well as add new items you thinks their default
values should be adjusted.
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
i am currently having problems on xmlrpc
i am using node-xmlrpc and it fails when htable.dump returns more than 1
row.
i raised this issue on the node-xmlrpc group and this is the explanation i
got.
Each <value> node inside <param> is supposed to only have one child node,
so this looks like an invalid response. The<value> should (probably, i
don't know your use case) contain an <array> with <data> wrapped around the
structs. Seehttp://xmlrpc.scripting.com/spec.html
does this mean kamailio is not following standards?
here is the working response:
<methodResponse>
<params>
<param>
<value><struct><member><name>entry</name><value><int>6</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>4::num</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
</value>
</param>
</params>
</methodResponse>
here is the non-working response:
<methodResponse>
<params>
<param>
<value><struct><member><name>entry</name><value><int>6</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>4::num</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>11</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>3::num</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
</value>
</param>
</params>
</methodResponse>
Kelvin Chua
Hello,
I've been experimenting with Kamailio with ws and sip clients and could
need a hand in getting a call between those two to work.
I have Kamailio 4.1.2 (using rtpproxy-ng instead of rtpproxy) on a CentOS
6.5 and a mediaproxy-ng running. I have clients wsclient(a)testers.com and
gsclient(a)testers.com and I try to make call from wsclient to gsclient. The
wsclient is a jssip client running on chrome and gsclient is a grandstream
desk phone. My config file is the default one enhanced by online examples.
I use a html5 <audio> element for the media streams, and configured my
jssip phone to accept audio options like this:
var options = {
'eventHandlers': eventHandlers,
'mediaConstraints': {'audio': true, 'video': false }
};
sipUA.call(callto, options);
I used the instructions from here:
http://www.slideshare.net/crocodilertc/webrtc-websockets
What I get is gsclient ringing, and as I answer there is no audio and call
hangs up in a few seconds. I guess this is a SDP problem, something between
Kamailio and Mediaproxy-ng but SDP is not my strong point so I'd appreciate
advice.
Question is where's my misconfiguration/problem? I would like to learn why
this problem occurs and how to fix it rather than getting a solution right
away, but please bear in mind I don't know much about SDP.
In Kamailio log I see:
kamailio[27059]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
rtpp_function_call(): proxy replied with error: Error rewriting SDP
kamailio[27058]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
rtpp_function_call(): proxy replied with error: Unknown call-id
kamailio[27057]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
rtpp_function_call(): proxy replied with error: Unknown call-id
Following are the INVITEs and 200 OKs from my SIP trace (1.1.1.1 is the ip
of my Kamailio & mediaproxy-ng box and 2.2.2.2 is the public ip behind
which both my clients are). The gsclient has port 5066.
******************************************************************************
U 2014/04/01 20:03:41.060009 1.1.1.1:5060 -> 2.2.2.2:5066
INVITE sip:gsclient@192.168.0.106:5066;transport=udp SIP/2.0.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Max-Forwards: 16.
To: <sip:gsclient@testers.com>.
From: <sip:wsclient@testers.com>;tag=hhcd99tmvm.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
Contact: <sip:wsclient@testers.com
;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
Content-Type: application/sdp.
Supported: path, outbound, gruu.
User-Agent: JsSIP 0.3.0.
Content-Length: 2211.
.
v=0.
o=- 4897716268503406223 2 IN IP4 1.1.1.1.
s=-.
t=0 0.
a=group:BUNDLE audio.
a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
m=audio 30028 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
c=IN IP4 1.1.1.1.
a=candidate:2999745851 1 udp 2113937151 192.168.56.1 63341 typ host
generation 0.
a=candidate:2999745851 2 udp 2113937151 192.168.56.1 63341 typ host
generation 0.
a=candidate:3350409123 1 udp 2113937151 192.168.0.101 63342 typ host
generation 0.
a=candidate:3350409123 2 udp 2113937151 192.168.0.101 63342 typ host
generation 0.
a=candidate:4233069003 1 tcp 1509957375 192.168.56.1 0 typ host generation
0.
a=candidate:4233069003 2 tcp 150995
T 2014/04/01 20:03:41.119806 2.2.2.2:38986 -> 1.1.1.1:5060 [A]
......
U 2014/04/01 20:03:41.159086 2.2.2.2:5066 -> 1.1.1.1:5060
SIP/2.0 488 Not Acceptable Here.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
From: <sip:wsclient@testers.com>;tag=hhcd99tmvm.
To: <sip:gsclient@testers.com>;tag=7875f08763872c34.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
User-Agent: Grandstream GXP2000 1.2.2.26.
Warning: 304 GS "Media type not available".
Content-Length: 0.
.
U 2014/04/01 20:03:41.159392 1.1.1.1:5060 -> 2.2.2.2:5066
ACK sip:gsclient@192.168.0.106:5066;transport=udp SIP/2.0.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
Max-Forwards: 16.
To: <sip:gsclient@testers.com>;tag=7875f08763872c34.
From: <sip:wsclient@testers.com>;tag=hhcd99tmvm.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 ACK.
Content-Length: 0.
.
U 2014/04/01 20:03:41.161085 1.1.1.1:5060 -> 2.2.2.2:5066
INVITE sip:gsclient@192.168.0.106:5066;transport=udp SIP/2.0.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Max-Forwards: 16.
To: <sip:gsclient@testers.com>.
From: <sip:wsclient@testers.com>;tag=hhcd99tmvm.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
Contact: <sip:wsclient@testers.com
;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
Content-Type: application/sdp.
Supported: path, outbound, gruu.
User-Agent: JsSIP 0.3.0.
Content-Length: 3136.
.
v=0.
o=- 4897716268503406223 2 IN IP4 1.1.1.1.
s=-.
t=0 0.
a=group:BUNDLE audio.
a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
m=audio 30028 RTP/AVP 111 103 104 0 8 106 105 13 126.
c=IN IP4 1.1.1.1.
a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28.
a=setup:actpass.
a=mid:audio.
a=sendrecv.
a=rtpmap:111 opus/48000/2.
a=fmtp:111 minptime=10.
a=rtpmap:103 ISAC/16000.
a=rtpmap:104 ISAC/32000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:8 PCMA/8000.
a=rtpmap:106 CN/32000.
a=rtpmap:105 CN/16000.
a=rtpmap:13 CN/8000.
a=rtpmap:126 telephone-event/8000.
a=maxptime:60.
a=ssrc:3298511848 cnam
And here are the 200 OK messages when answering the call:
U 2014/04/01 20:03:46.049711 2.2.2.2:5066 -> 1.1.1.1:5060
SIP/2.0 200 OK.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
From: <sip:wsclient@testers.com>;tag=hhcd99tmvm.
To: <sip:gsclient@testers.com>;tag=fb215901a251c9a0.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
User-Agent: Grandstream GXP2000 1.2.2.26.
Contact: <sip:gsclient@192.168.0.106:5066;transport=udp>.
Allow:
INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
Content-Type: application/sdp.
Supported: replaces, timer.
Content-Length: 216.
.
v=0.
o=gsclient 8000 8000 IN IP4 192.168.0.106.
s=SIP Call.
c=IN IP4 192.168.0.106.
t=0 0.
m=audio 5026 RTP/AVP 0 13.
a=sendrecv.
a=rtpmap:0 PCMU/8000.
a=ptime:20.
m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
T 2014/04/01 20:03:46.051127 1.1.1.1:5060 -> 2.2.2.2:38986 [AP]
.~.dSIP/2.0 200 OK.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
From: <sip:wsclient@testers.com>;tag=hhcd99tmvm.
To: <sip:gsclient@testers.com>;tag=fb215901a251c9a0.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
User-Agent: Grandstream GXP2000 1.2.2.26.
Contact: <sip:gsclient@192.168.0.106:5066;transport=udp>.
Allow:
INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
Content-Type: application/sdp.
Supported: replaces, timer.
Content-Length: 216.
.
v=0.
o=gsclient 8000 8000 IN IP4 192.168.0.106.
s=SIP Call.
c=IN IP4 192.168.0.106.
t=0 0.
m=audio 5026 RTP/AVP 0 13.
a=sendrecv.
a=rtpmap:0 PCMU/8000.
a=ptime:20.
m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
******************************************************************************
cheers,
Olli
Hi,
We are setting up a Kamailio Proxy with the Topoh module in place masking everything including CALL-ID. It seems to be masking everything just fine except for CALL-ID in BYE requests (verified with PCAPs) when received from downstream. Upstream works fine.
Looking at the source code for the module 4.1.2 we see the unmasking being done like this:
if(dialog)
{
/* dialog request */
th_unmask_ruri(&msg);
th_unmask_route(&msg);
th_unmask_refer_to(&msg);
if(direction==1)
{
th_unmask_callid(&msg);
}
}
It only seems to be unmasking for one direction. From my understanding BYE can be initated from both directions?
Might be something I don’t understand here how the source code works but I wanted to ask for any pointers of help here.. been troubleshooting this for a good while now.
Kind regards,
Samuel
Hi,
is there any way to return values from a call to python_exec function
orther than the default returned integer?
Following code generates this error:
Oct 1 09:08:23 zskio /usr/sbin/kamailio[21789]: ERROR: app_python
[python_support.c:38]: python_exec2: Unhandled exception in the Python
code:
Oct 1 09:08:23 zskio /usr/sbin/kamailio[21789]: ERROR: app_python
[python_support.c:78]: #011RuntimeError: no such function
if (!python_exec("get_provider",
$(var(clean_uri){s.prefixes}))) {
xlog("L_ERR","Can not choose a provider for $rU\n");
sl_send_reply("503","Can not choose a provider
for $rU");
exit;
}
def get_provider(self, msg, param):
# snipped code...
result = self.util.get_provider(prefixes, position, mode)
if result is not None:
LM_ERR("mode: %s position: %d result: %s" % (mode,
position, result))
# this raises error
msg.call_function('rewritehost', result['provider']['ip'])
return 1
return -1
I tried to use headers as transport but this simple code does not work:
Oct 1 09:45:31 zskio /usr/sbin/kamailio[22303]: ERROR: <script>: No header
if (!is_present_hf("X-Test-header")) {
xlog("L_ERROR", "No header\n");
}
else {
xlog("L_INFO", "Header added\n");
}
def test_set_header(self, msg):
msg.call_function('append_hf', 'X-Test-header: test\r\n')
return 1
Thanks in advance.