Hi,
Previously, in my kamailio.cfg 3.3.1, the debug level is set using the 'debug' option.
Then with the MI_FIFO module it was simple to change debug level on the flight using the simple command 'kamctl fifo debug <new value>'.
Moving to kamailio 5.0.x, there is no more MI_FIFO module. In the kamailio.cfg, I still have the 'debug' option set; so I'm looking for the command to use to change the debug level.
I look at the debugger module that seems the solution. So I add the following lines in y script:
debug=4
loadmodule "debugger.so"
modparam("debugger", "log_level", 1)
modparam("debugger", "mod_hash_size", 5)
modparam("debugger", "mod_level_mode", 1)
Then I try to use the following commands :
This one retrieves the debug level set by the debug=4) :
[root@vm-vse02-siprouter1 kamailio]# kamcmd dbg.get_mod_level core
4
This one changed the debug level for the core module
[root@vm-vse02-siprouter1 kamailio]# kamcmd dbg.set_mod_level core 2
200 ok
Same commands can be used for each of the module loaded:
[root@vm-vse02-siprouter1 kamailio]# kamcmd dbg.get_mod_level tm
4
[root@vm-vse02-siprouter1 kamailio]# kamcmd dbg.set_mod_level tm 2
200 ok
[root@vm-vse02-siprouter1 kamailio]# kamcmd dbg.get_mod_level dispatcher
4
[root@vm-vse02-siprouter1 kamailio]# kamcmd dbg.set_mod_level dispatcher 2
200 ok
Each command only applies to a specific module.
I don't find a 'global' command that I could use in the same manner as the old 'kamctl fifo debug' command.
Is there something I missed in my config ?
Cordialement
Patrick GINHOUX
Longer version of this got blocked by the mail list earlier today… and I have dug a bit deeper since then…
I am trying to SUBSCRIBE to a resource-list (rls.so) but the rls_handle_subscribe() is returning with a “list not found"
Mar 23 16:36:11 presence kamailio[12536]: DEBUG: rls [subscribe.c:211]: rls_get_service_list(): No rl document found
Mar 23 16:36:11 presence kamailio[12536]: DEBUG: <core> [db_res.c:81]: db_free_columns(): freeing 2 columns
Mar 23 16:36:11 presence kamailio[12536]: DEBUG: <core> [db_res.c:85]: db_free_columns(): freeing RES_NAMES[0] at 0x7f70b50ebee8
Mar 23 16:36:11 presence kamailio[12536]: DEBUG: <core> [db_res.c:85]: db_free_columns(): freeing RES_NAMES[1] at 0x7f70b50afb90
Mar 23 16:36:11 presence kamailio[12536]: DEBUG: <core> [db_res.c:94]: db_free_columns(): freeing result names at 0x7f70b50eaf98
Mar 23 16:36:11 presence kamailio[12536]: DEBUG: <core> [db_res.c:99]: db_free_columns(): freeing result types at 0x7f70b50cc0a0
Mar 23 16:36:11 presence kamailio[12536]: DEBUG: <core> [db_res.c:136]: db_free_result(): freeing result set at 0x7f70b50cc2d0
Mar 23 16:36:11 presence kamailio[12536]: DEBUG: rls [subscribe.c:634]: rls_handle_subscribe(): list not found - searched for uri <sip:org1a-contacts@**MYDOMAIN**>
I have tried various permutations of xml docs in the xcap table for the rls-service and resource-list but nothing have not yet managed to get a success from the rls_handle_subscribe()
Latest version of data in my mysql database / xcap table:
| 3 | org1a-contacts | **MYDOMAIN** | <?xml version="1.0" encoding="UTF-8" standalone="no"?><resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"><list name="team"><entry uri="sip:1002@**MYDOMAIN**"/><entry uri="sip:1001@**MYDOMAIN**"><display-name>bob</display-name></entry><entry uri="sip:1003@**MYDOMAIN**"><display-name>test1</display-name></entry><entry uri="sip:1006@**MYDOMAIN**"><display-name>test1006</display-name></entry><entry uri="sip:1007@**MYDOMAIN**"><display-name>test1007</display-name></entry><entry uri="sip:1008@**MYDOMAIN**"><display-name>test1008</display-name></entry><entry uri="sip:1009@**MYDOMAIN**"><display-name>test1009</display-name></entry> <entry uri="sip:1005@**MYDOMAIN**"><display-name>testing1005</display-name></entry> <entry uri="sip:org1a@**MYDOMAIN**"><display-name>testingorg1a</display-name></entry> <entry uri="sip:org1c@**MYDOMAIN**"><display-name>testingorg1c</display-name></entry> <entry uri="sip:dnd1002-6@presence.byphone.co.uk"><display-name>1002 dnd</display-name></entry></list></resource-lists> | 4 | sr-1490270411-10960-2 | 0 | /xcap-root/resource-lists/users/sip:org1a-contacts@**MYDOMAIN**/index | 0 |
| 4 | org1a-contacts | **MYDOMAIN** | <?xml version="1.0" encoding="UTF-8" standalone="no"?><rls-services xmlns="urn:ietf:params:xml:ns:rls-services"><service uri="sip:org1a-contacts@**MYDOMAIN**"><list name="org1a-contacts"><rl:entry uri="1000_6@**MYDOMAIN**"/><rl:entry uri="org1c@**MYDOMAIN**"/></list><packages><package>presence</package></packages></service></rls-services> | 8 | sr-1490285288-12551-1 | 0 | /xcap-root/rls-services/users/sip:org1a-contacts@**MYDOMAIN**/index | 0 |
Is there a reference doc somewhere with an example of a successful SUBSCRIBE and associated XCAP docs for a resource-list?
Thanks
Paul
Hello,
I am a new user to kamailio. I am trying to use the fork.cfg to send sip registration to 2 destination. I get the following error but I have added loadmodule tm.so, why am I still getting this error?
Mar 22 15:53:48 emps116 kamailio[14065]: ERROR: <core> [cfg.y:3295]: yyparse(): cfg. parser: failed to find command append_branch (params 1)
Mar 22 15:53:48 emps116 kamailio[14065]: : <core> [cfg.y:3435]: yyerror_at(): parse error in config file /etc/kamailio/fork.cfg, line 45, column 43: unknown command, mi
Mar 22 15:53:48 emps116 kamailio[14065]: ERROR: bad config file (1 errors)
Mar 22 15:53:48 emps116 kamailio[14065]: loading modules under config path: /usr/lib/x86_64-linux-gnu/kamailio/modules
Mar 22 15:53:48 emps116 kamailio[14065]: loading modules under config path: /usr/lib/x86_64-linux-gnu/kamailio/modules/
Mar 22 15:53:48 emps116 kamailio[14065]: INFO: <core> [sctp_core.c:53]: sctp_core_destroy(): SCTP API not initialized
Mar 22 15:53:48 emps116 systemd[1]: kamailio.service: Control process exited, code=exited status=255
Mar 22 15:53:48 emps116 systemd[1]: Failed to start Kamailio (OpenSER) - the Open Source SIP Server.
My script looks like this (default one):
mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules"
loadmodule "sl.so"
loadmodule "tm.so"
.
.
.
.
route{
# for testing purposes, simply okay all REGISTERs
if (method=="REGISTER") {
log("REGISTER");
sl_send_reply("200", "ok");
exit;
};
# try these two destinations first in parallel; the second
# destination is targeted to sink port -- that will make ser
# wait until timer hits
seturi("sip:nobody@kamailio.org");
append_branch("sip:parallel@kamailio.org");
# if we do not get a positive reply, continue at reply_route[1]
#t_on_failure("1");
# forward the request to all destinations in destination set now
t_relay();
}
Appreciate any help!
Thanks
Anu
Hi
I am struggling to figure out how to build and test an integrated presence server with Resource-List (rls.so) and XCAP (xcap_server.so).
I am confused about what is meant to happen and how to debug it. Not sure if I am suffering from incompatibilities, configuration errors, or bugs…
I have not found an up to date guide on configuring an integrated presence, rls, xcap server so I have used old tutorials, module documentation and some course code review … but I’m pretty confused now!
I am using Snom phones and Jitsi (on Mac) to test.
I have a kamailio Registrar which proxies all presence messages to the separate kamailio 4.2 Presence server.
REQUIREMENT : Contact Presence
=============================
I would like to get a SUBSCRIBE from the Snom phone to subscribe to a contact-list resource list, and to receive a NOTIFY with all of the presence states for those contacts.
Relevant snom settings?
Contact List URI: this generates a SUBSCRIBE with event:presence
I believe that:
==========
presence module should be managing the individual user presence and dialog states
xcap module should allow me to use HTTP / curl to edit the resource lists
rls module should be managing the mapping from a resource list subscription to the individual presence states and generating the aggregated NOTIFY messages.
each device should then be able to SUBSCRIBE to a resource list uri and then receive an aggregated NOTIFY for all of the watched entities.
Current status:
===========
SUBSCRIBE sip:org1a-contacts@*****.co.uk <sip:org1a-contacts@*****.co.uk> SIP/2.0
v: SIP/2.0/UDP 192.168.1.15:59594;branch=z9hG4bK-qllzlgs3xf43;rport
f: <sip:org1a@*****.co.uk <sip:org1a@*****.co.uk>>;tag=wwasqc6lmb
t: <sip:org1a-contacts@****.co.uk <sip:org1a-contacts@****.co.uk>>
i: 313439303236383530323234313530-x3hlb3j6b5ef
CSeq: 1 SUBSCRIBE
Max-Forwards: 70
User-Agent: snomD375/8.9.3.46
m: <sip:org1a@192.168.1.15:59594 <sip:org1a@192.168.1.15:59594>>;reg-id=1
Event: presence
Accept: application/pidf+xml, application/rlmi+xml, multipart/related
Supported: eventlist
Expires: 3600
l: 0
… auth handshake
SIP/2.0 202 OK
Record-Route: <sip:10.210.160.13;r2=on;lr=on;ftag=wwasqc6lmb;nat=yes <sip:10.210.160.13;r2=on;lr=on;ftag=wwasqc6lmb;nat=yes>>
Record-Route: <sip:**pubip**;r2=on;lr=on;ftag=wwasqc6lmb;nat=yes <sip:**pubip**;r2=on;lr=on;ftag=wwasqc6lmb;nat=yes>>
v: SIP/2.0/UDP 192.168.1.15:59594;received=**recvip**;branch=z9hG4bK-8wufiv1ua3ne;rport=60554
f: <sip:org1a@****.co.uk <sip:org1a@****.co.uk>>;tag=wwasqc6lmb
t: <sip:org1a-contacts@*****.co.uk <sip:org1a-contacts@*****.co.uk>>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-d30e
i: 313439303236383530323234313530-x3hlb3j6b5ef
CSeq: 2 SUBSCRIBE
Expires: 3600
Contact: <sip:10.210.160.16:5060;transport=udp <sip:10.210.160.16:5060;transport=udp>>
Server: kamailio (4.2.0 (x86_64/linux))
Content-Length: 0
… and then the snom receives an empty NOTIFY.
NOTIFY sip:org1a@192.168.1.15:58325 <sip:org1a@192.168.1.15:58325> SIP/2.0
Via: SIP/2.0/UDP 109.104.108.18;branch=z9hG4bKc54a.20db45097fb44595ccd5a30827ca2a62.0
Via: SIP/2.0/UDP 10.210.160.16;rport=5060;branch=z9hG4bKc54a.40150886000000000000000000000000.0
To: <sip:org1a@****.co.uk <sip:org1a@****.co.uk>>;tag=sx4ne9jpcl
From: <sip:org1a-contacts@*****.co.uk <sip:org1a-contacts@*****.co.uk>>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-ed89
CSeq: 2 NOTIFY
Call-ID: 313439303237323938323235353133-2du221e6okvf
Content-Length: 0
User-Agent: kamailio (4.2.0 (x86_64/linux))
Max-Forwards: 69
Event: presence
Contact: <sip:10.210.160.16:5060;transport=udp;alias=10.210.160.16~5060~1 <sip:10.210.160.16:5060;transport=udp;alias=10.210.160.16~5060~1>>
Subscription-State: active;expires=3600
The Subscription is showing up in the watchers table, not the rls_watchers table, so I believe it is being rejected by the rls_handle_subscribe() and then parsed by the presence module. Is that correct?
There is noting in rls_watchers or rls_presentity tables. Should there be?
I have a rows in the XCAP table for the Resource-List
curl -d @/tmp/contacts-resource-list.xml -vvv -X PUT http://109.104.108.23:5060/xcap-root/resource-lists/users/sip:org1a-contact… <http://109.104.108.23:5060/xcap-root/resource-lists/users/sip:org1a-contact…>
relevant row in xcap table:
| 3 | org1a-contacts | *****.co.uk <http://co.uk/> | <?xml version="1.0" encoding="UTF-8" standalone="no"?><resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"><list name="team"><entry uri="sip:1002@****.co.uk <http://co.uk/>"/><entry uri="sip:1001@****.co.uk <http://co.uk/>"><display-name>bob</display-name></entry><entry uri="sip:1003@****.co.uk <http://co.uk/>"><display-name>test1</display-name></entry><entry uri="sip:1006@****co.uk <http://co.uk/>"><display-name>test1006</display-name></entry><entry uri="sip:1007@****co.uk <http://co.uk/>"><display-name>test1007</display-name></entry><entry uri="sip:1008@h****.co.uk <http://co.uk/>"><display-name>test1008</display-name></entry><entry uri="sip:1009@****.co.uk <http://co.uk/>"><display-name>test1009</display-name></entry> <entry uri="sip:1005@****.co.uk <http://co.uk/>"><display-name>testing1005</display-name></entry> <entry uri=“sip:org1a@****.co.uk <http://co.uk/>"><display-name>testingorg1a</display-name></entry> <entry uri=“sip:org1c@****.co.uk <http://co.uk/>"><display-name>testingorg1c</display-name></entry></list></resource-lists> | 4 | sr-1490270411-10965-2 | 0 | /xcap-root/resource-lists/users/sip:org1a-contacts@****co.uk/index <http://co.uk/index> | 0 |
I have rows in the presence table for the entities that I want to track e.g.
| |
| 2889 | org1c | ****.co.uk <http://co.uk/> | presence | a.1490270411.10942.42.1083 | 1490277099 | 1490273499 | <?xml version="1.0
" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:im="urn:ietf:params:xml:ns:pidf:im"
entity=“pres:org1c@*****.co.uk <http://co.uk/>">
<tuple id="snom370-000413260935">
<status><basic>open</basic>
<im:im <im:im>>Available</im:im>
</status>
<contact priority="1.00">sip:org1c@****.co.uk <http://co.uk/></contact>
<note xml:lang="en">Available</note>
</tuple></presence>
I am running kamaiio 4.2
Question : Should I have an resource-services row too? Or does rls.so infer the relationship using the URI? When I use jitsi to manipulate its contact list it only inserts 2 rows into the xcap table and I cannot get a SIP Subscribe to connect to that resource list either.
Question : What should the curl PUT commands and XML docs look like to build a valid RLS service (is there a good example anywhere)?
Question : Is there an example config or doc anywhere showing how to build integrated presence, rls, xcap?
Question : Has anyone got this working with Snom and or other handsets… the standards and implementations seem vague / inconsistent?
Note: There is another Snom setting (Extension Monitoring Call Pickup List URI:) which produces a SUBSCRIBE with Event:dialog but which should allow a button/lamp/callpickup/BLF for the buddy contact. I’d like to get that working too, but recognise that rls.so does not handle dialog messages by default, so I’m starting with Presence...
Paul
Paul Smith
1 Lanyon Quay, Belfast, BT1 3LG
UK: 02890270050
RoI: 1800855111
paul.smith(a)claritytele.com <mailto:paul.smith@claritytele.com%0b>
www.claritytele.com <http://claritytele.com/>
This email and any attachment, is confidential. If you have received this in error, please delete it from your system, do not use or disclose the information in any way, and notify me immediately. The contents of this message may contain personal views which are not the views of Clarity Telecom, unless specifically stated.
>
>>
>>
Hello,
We are thinking about to use kamailio as a sip registrar with cassandra as db backend. As I can see in the documentation for kamailio 5.0 it is only tested with Casandra 1.1.6 and 1.0.1, current version is 3.10 in the meantime. Is anyone using this module with newer versions of Cassandra? Is it stable?
Thanks and regards
Markus
when match_exp of dp 100 is ^#test and repl_exp is sip:$rU@$rd this code:
xlog("L_INFO", "****** ru = $ru\n");
dp_translate(100, "$rU/$var(res)");
xlog("L_INFO", "****** res = $var(res)\n");
produces:
Mar 22 08:21:17 lohi /usr/bin/sip-proxy[7543]: INFO: ****** ru = sip:#test@test.tutpro.com
Mar 22 08:21:17 lohi /usr/bin/sip-proxy[7543]: INFO: ****** res = sip:$rU@$rd
-- juha
Hello everyone,
I'm trying to get the host part from the contact header in the sip invite
packet.
Following is the contact header format:
Contact: <sip:user_name@192.168.1.1:5060>
What I want as result is 192.168.1.1
I searched among the pseudovairables and found $ct variable which reference
to the body of contact header. (<sip:user_name@192.168.1.1:5060>)
Is there a way to get directly the host (192.168.1.1) without applying
transformation at the level of $ct.
If not what transformation can achieve it.
Thanks in advance.
Regards,
Ali
Hi Guys,
SIPp is great in testing pure SIP udp/tcp/tls but I was wondering if there
is a similar tool for stress testing Kamailio websocket2sip.
I am trying to load-test webrtc2sip kamailio's implementation closest to
the real scenario. One way would be to fork multiple process of webrtc2sip
client in loop.
But would really like to hear how are kamailio webrtc users/community
load-testing it for benchmarking their servers.
Also roughly how much CPS they have achieved using single kamailio with
webrtc enabled (share server specs as well)
Thanks in advance.
Regards,
JSZ
Hi all,
Maybe I need a small hint.
I have got a configuration of 2 S-CSCF instances (both kamailio 4.4.5 with S-CSCF configuration, each on a separate virtual machine) in load sharing mode (50:50).
Both instances work on the same "scscf" data base, so that it is only one S-CSCF from a logical point of view.
Now I get into troubles with registration:
* P-CSCF sends REGISTER to first S-CSCF
* First S-CSCF answers with 401 Unauthorized an challenges the UE. So far everything OK.
* Second REGISTER is sent to second S-CSCF (DNS SRV Load Balancing).
* Second S-CSCF answers again with 401 Unauthorized (Error)
* This goes back and forth until UE gives up to register
This problem exists sporadically (approx. every fifth registration).
Now the question: is it worth to debug this configuration or should we rather switch to high available IP configuration (if we want to use kamailio)? What's your opinion/experiences?
Thanks
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 Community,
I installed the Kamailio 4.4 and try to install the Siremis GUI based on apache 2.4.
If I try to start the Siremis Wizard, the Webserver display the following line: "location.href='$url'"; exit; } ?>".
The starting page of apache 2.4 is working fine, but the /siremis page doesn't.
Due the installation I take the dedicated apache 2.4 commands.
Are there some further requirements? Some ideas?
OS: Ubuntu 16.04
Thanks a lot.
Cheers, Kai