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.-
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.
Hi
I am using Kamailio 4.0.1 in front of an asterisk servers farm to handle TLS with our clients and providers. The idea is to have kamailio "talking" SIP/UDP/5060 and TLS/TCP/5061 with the customers and providers and regular SIP/UDP/5060 with our internal asterisk servers.
So far at least for the customers it looks like it can work. But I have a problem, when the call is established and the called person hangs up, the BYE from the called person to the calling person is ignored. Only when the calling person hangs up first the call is terminated properly.
This is what I have been able to see:
1- Customer starts the TLS handshake/connection.
2- Kamailio authenticate it, then routes the call to the asterisk server using regular SIP/UDP/5060 but I see that it is inserting 2 Record Routes in the INVITE:
Record-Route: <sip:192.168.1.58;r2=on;lr=on>
Record-Route: <sip:192.168.1.58:5061;transport=tls;r2=on;lr=on>
3- The Contact on that INVITE to the asterisk also comes like this:
Contact: <sip:94167032@172.31.196.21:53325;transport=tls>
4- The ACK sent to the asterisk once it accepts the call (200 OK) also has those 2 Record-Routes:
Record-Route: <sip:192.168.1.58;r2=on;lr=on>
Record-Route: <sip:192.168.1.58:5061;transport=tls;r2=on;lr=on>
5- The call is established, once the called person decides to hang up the BYE looks like this:
BYE sip:94167032@172.31.196.21:53325;transport=tls SIP/2.0
Via: SIP/2.0/UDP 192.168.1.59:5060;branch=z9hG4bK40fa1c23;rport
Route: <sip:192.168.1.58;r2=on;lr=on>,<sip:192.168.1.58:5061;transport=tls;r2=on;lr=on>
Max-Forwards: 70
From: <sip:3030500@1.2.3.4>;tag=as37953869
To: "kamailio" <sip:kamailio@1.2.3.4>;tag=788cd7c892df40f3b1967112395e2ca4
Call-ID: f9fe65daf1074219be26cb0c224339f1
CSeq: 102 BYE
User-Agent: Asterisk PBX 11.3.0
X-Asterisk-HangupCause: Normal Clearing
X-Asterisk-HangupCauseCode: 16
Content-Length: 0
My kamailio TLS config is shown below:
enable_tls=yes
loadmodule "tls.so"
# ----- tls params -----
modparam("tls", "config", "/usr/local/kamailio-4.1//etc/kamailio/tls.cfg")
modparam("tls", "private_key", "./privkey.pem")
modparam("tls", "certificate", "./kamailio1_cert.pem")
modparam("tls", "ca_list", "./calist.pem")
modparam("tls", "verify_certificate", 1)
modparam("tls", "require_certificate", 1)
The TLS client that I am using is called Blink.At this point I don't know whether kamailio is sending the BYE using TLS to the customer and waiting for the 200 OK from the customer or whether kamailio does not like something in the BYE and that is why is ignoring it.
I see some encrypted packets from kamailio to the client but I don't know what is inside.
Any help would be very appreciated.
thank you
fabian
I tried to call record_route_preset() in branch route in order to add
contact specific RR headers when request is forked to more than one
contact. What happened was that I got error message:
Sep 26 17:03:47 wheezy2 /usr/sbin/sip-proxy[2436]: ERROR: rr [rr_mod.c:256]: Duble attempt to record-route
Is it really so that record routing is not a branch specific thing? Is
there a way to solve this problem?
-- Juha
I having issue updating my allow list for the PERMISSIONS module. I added an address to the ADDRESS table. I have tried to do a service restart, kamctl address reload, and kamcmd permissions.addressReload. The kamctl address show displays the new address; however kamcmd permissions.addressDump does not neither does kamcmd permissions.subnetDump. The messages from this new address return a false to the !allow_source_address("1”) command in my routing logic. I am wondering if this is a bug or I am doing something wrong. I am on the most recent GIT version to the best of my knowledge.
Sam
Hi,
I want to implement the call control by
1. Validating the CLI and get the credit from DB
2. Check the Rate for the dialed number
3. set the call timeout for the call duration. ( credit/rate)
4. pass the call to remote PSTN GW
Please guide me on this.
Regards,
Roy.
Hello All,
I have a setup which is SIPML5 -> Kamailio(Websocket) -> Freeswitch. All I
am trying to do is initiate a call from SIPML5 and Play a Music file from
freeswitch. This works, but the call hangs up after 30 seconds due to ACK
timeout from from the SIPML5.
What I can see is the SIPML5 from Chrome does send an ACK on websocket, but
I see the following error in kamailio syslog:
*via_builder(): TCP/TLS connection (id: 0) for WebSocket could not be found*
*ERROR: <core> [msg_translator.c:1725]: build_req_buf_from_sip_req(): could
not create Via header*
*ERROR: <core> [forward.c:607]: forward_request(): ERROR: forward_request:
building failed*
*ERROR: sl [sl_funcs.c:371]: sl_reply_error(): ERROR: sl_reply_error used:
I'm terribly sorry, server error occurred (1/SL)*
Can someone help me understand what I am missing here and why kamailio is
not able to create a VIA header to forward this request towards freeswitch.
I have built a simple config file by following
https://gist.github.com/jesusprubio/4066845 as reference.
Any help in understanding this is really appreciated.
Thanks,
--- Jayesh
So when Im trying to use is_subscriber & load_credentials together, It
seems I have either hit a bug or just a bad config ( but I dont think its
the latter )
My symptom is that only the field on the far right of "load_credentials"
ever returns the correct value, the other fields are always null.
My config has this setting :
modparam("auth_db", "load_credentials", "field1;field2")
and I can see the following debug when running kamailio -ddddd
0(14174) DEBUG: auth_db [authdb_mod.c:291]: w_is_subscriber(): uri [sip:
1112(a)192.168.173.5] table [subscriber] flags [1]
0(14174) DEBUG: db_cassandra [dbcassa_base.cpp:807]: db_cassa_query():
query table=subscriber
0(14174) DEBUG: db_cassandra [dbcassa_table.c:461]:
dbcassa_db_get_table(): found dbname=kamailio, table=subscriber
0(14174) DEBUG: db_cassandra [dbcassa_base.cpp:351]: cassa_constr_key():
query col = username
0(14174) DEBUG: db_cassandra [dbcassa_base.cpp:351]: cassa_constr_key():
query col = domain
0(14174) DEBUG: db_cassandra [dbcassa_base.cpp:376]: cassa_constr_key():
key = 1112 192.168.173.5
0(14174) DEBUG: db_cassandra [dbcassa_base.cpp:499]:
cassa_translate_query(): Query col: field2
0(14174) DEBUG: db_cassandra [dbcassa_base.cpp:499]:
cassa_translate_query(): Query col: field1; field2
0(14174) DEBUG: db_cassandra [dbcassa_base.cpp:501]:
cassa_translate_query(): get 2 columns
0(14174) DEBUG: <core> [db_res.c:118]: db_new_result(): allocate 56 bytes
for result set at 0x7fc6ce770e78
if I had to put money on where the bug is, I would look in
parse_aaa_pvs in authdb_mod.c
however, an initial glance revealed nothing glaring, also this file was
last changed in *2013-01-20 ( and that was only a move from modules_k )*
SURELY I cant be the only person wanting to use this for more than one
field ?
This code looks like its almost the same as when first committed in August
2011 ....
Id love someone to see if they can confirm this and point me in the right
direction ( if this is my fault ) or lets get this fixed, if its a bug :)
--
Sincerely
Jay
Hello all,
So I have three machines, we don't care about audio for this problem, so
everything I mention here is SIP related.
Freeswitch <--> Kamailio 3.3.2 <--> Asterisk
1. Asterisk sends an INVITE to Freeswitch through the Kamailio proxy.
2. Kamailio replies 100 Trying and forwards to Freeswitch
3. Freeswitch replies 100 Trying
4. Freeswitch replies 180 Ringing to Kamailio
5. Kamailio routes the answer to Asterisk
6. Freeswitch replies 200 OK to Kamailio
7. Kamailio replies 200 OK to Asterisk
8. Asterisk replies ACK to Kamailio
9. Asterisk sends a re-INVITE to Freeswitch through Kamailio
10. Kamailio routes the re-INVITE to freeswitch
11. Kamailio routes the ACK to freeswitch.
12. Freeswitch replies 500 Server error because it got a re-INVITE
before the ACK.
So, my problem is that Kamailio seems to process my re-INVITE more
quickly than the ACK. So Freeswitch replies an error because it got the
re-INVITE before the ACK.
So my "solution" is to add a usleep(20); for re-INVITEs on Kamailio, but
I think this is a lousy solution.
Has anyone here had to deal with problems where Kamailio routes a
re-INVITE faster than an ACK causing endpoints to return error
messages? Has anyone had to deal with a similar issue?
Thanks,
David