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
Hey Alex,
Many thanks for so fast answer. Could be I have missed the past interest
(hence re-posting).
Anyway, I wonder what would be the chances that we get Ovidiu's interest
so he can port registrant module to kamailio maybe? Unfortunately
without reloads it is hard to push remote registration in enterprise
solutions.
Thanks again,
DanB
On 03.07.2014 12:00, sr-users-request(a)lists.sip-router.org wrote:
> On 07/02/2014 06:22 AM, Dan Christian Bogos wrote:
>> >Anybody aware if it is possible to refresh the list of remote
>> >registrations from the database without restarting the whole server?
> This gets asked a lot, and the answer is no. But it is probably a widely
> desired feature set by now.
>
> -- Alex Balashov - Principal Evariste Systems LLC Tel: +1-678-954-0670
> Web: http://www.evaristesys.com/, http://www.alexbalashov.com/ Please
> be kind to the English language:
> http://www.entrepreneur.com/article/232906
Hi!
Have you implemented a per-customer rate limit in Calls per second? If so - how?
I've played with ratelimit/pipelimit and it seems like I can define a database with one pipe per customer - but have to restart Kamailio to add customers. There are warnings for low timer settings, like 1 second, but I don't know how up-to-date those warnings are.
I guess I could play with hash tables and implement something pike-like there, but it seems like a workaround for something pretty common.
So the question remains - how are you limiting on a cps per customer?
/O
Hello all,
I am new in using Kamailio. I have installed the version 4.0.1 and using it
as SIP capture node.
My server has lots of physical interfaces where I want to enforce capturing
on one of the only. This is called 'csm1'.
This is the corresponding part from kamailio.cfg
modparam("sipcapture", "capture_node", "sipserv")
modparam("sipcapture", "db_url", "mysql://****)
modparam("sipcapture", "capture_on", 1)
modparam("sipcapture", "hep_capture_on", 0)
#modparam("sipcapture", "raw_socket_listen", "192.168.0.1:5060")
modparam("sipcapture", "raw_interface", "csm1")
modparam("sipcapture", "raw_ipip_capture_on", 0)
modparam("sipcapture", "table_name", "sip_capture")
modparam("sipcapture", "raw_sock_children", 4)
modparam("sipcapture", "raw_moni_capture_on", 1)
modparam("sipcapture", "promiscious_on", 1)
modparam("sipcapture", "raw_moni_bpf_on", 1)
********************************
stefler@sipserv:~$ ifconfig csm1
csm1 Link encap:Ethernet HWaddr ac:16:2d:96:3f:e0
inet addr:1.0.8.1 Bcast:1.0.8.3 Mask:255.255.255.252
inet6 addr: fe80::ae16:2dff:fe96:3fe0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
My problem is that capturing is activated on all of the interfaces and only
on the selected one.
Have you seen this problem before?
Regards
Andras Stefler
Hi,
I had another simple question:
In a kamailio server (proxy), how do I check the number of messages
currently waiting for processing?
Is there a variable that I can monitor, say, if I want to make a routing
decision in my config based on the number of messages in the queue?
Also, is it possible to get a head count by method? or is it only possible
after fully parsing the message?
I see that "ratelimit" module uses similar information, but I am not sure
how to get the status of these queues that the module uses.
Thanks
Hi,
Does local server generated 408 time out reply go to onreply_route?
If so, can I change the status code to a 200 class code by doing: $rs = "202"?
If I can change it, does it still go to failure_route? (It's not a 400 class response anymore.)
The scenario I want to test it's easy to produce. Otherwise I would just try it......
Regards,
Allen
Hi all,
is there a possibility to pass reply and failure though onsend_route as
well? We try to capture via siptrace the incoming and outgoing packet. So
far this is only possible with Requests.
I've found this:
http://lists.sip-router.org/pipermail/sr-users/2012-May/073224.html
Can anybody confirm this is still the behavior?
Does anybody have a solution passing reply though onsend_route or any other
way to capture the outgoing reply via siptrace?
Thanks a lot for your help.
BR
Jöran Vinzens
--
Jöran Vinzens - vinzens[at]sipgate.de <vinzens(a)sipgate.de>
sipgate GmbH - Gladbacher Str. 74 - 40219 Düsseldorf
HRB Düsseldorf 39841 - Geschäftsführer: Thilo Salmon, Tim Mois
Steuernummer: 106/5724/7147, Umsatzsteuer-ID: DE219349391
www.sipgate.de - www.sipgate.at - www.sipgate.co.uk
I'd like to use the dialplan module to remove all non-digits from a string.
For example, "1-306-555-1234" becomes "13065551234" and "(306) 555-1234"
becomes "3065551234".
Unfortunately, I can't figure out the regular expressions for subst_exp and
repl_exp. I can easily replace one instance of a non-digit, however I can't
figure out how to replace all non-digits.
-H
I am having trouble making all of the supposed features of Blink work with Kamailio 4.1.4. My kamailio.cfg file is attached. Specifically, what I am having trouble is with presence (the way Blink wants to implement it), and MSRP. Ordinary voice calls work
correctly.
With presence, I have managed to make XCAP storing and retrieval work, in the sense that a document that is being stored with PUT can be later retrieved with GET on the same URL. However, I cannot make Blink use this support in order to actually monitor
presence. As far as I understand, when user A subscribes to the presence state of user B, and user B is registered, user B is supposed to receive a notification that user A requests authorization for presence subscription. However, this is not working so
far when both A and B use Blink. From what I can see through a packet capture, neither adding a new contact on the Blink window or having existing contacts result in any SUBSCRIBE packets for the contact users being sent to the Kamailio instance. If the
subscription is meant to be performed some other way, I am not seeing it being done either. Of course, this results in presence changes not being exchanged between contacts.
The only SUBSCRIBE packet I see from Blink is the one for the SIP account used for Blink.
With MSRP, I have copied the example from the msrp.so documentation, but I have replaced the authentication shown with a static password, with an actual query using auth_db.so, the very same query used to authenticate other SIP packets. Through the packet
capture, when user A tries starting a MSRP chat with user B, an INVITE is sent from user A to Kamailio, which has a special check to NOT send this invite to Asterisk, but rather route it itself, and it gets "correctly" routed to user B. Then user B
attempts to start a MSRP session with Kamailio (not user A) without authentication credentials, Kamailio challenges user B for the credentials, and... that's it. User B makes no attempt to repeat the MSRP session with the required credentials, and the
communication eventually times out.
The presence failure might have something to do with the following exchange I see in the packet capture:
GET /xcap-root/pidf-manipulation/users/sip:avillacisIM@pbx.elastix.com/index HTTP/1.1
Accept-Encoding: identity
Authorization: Digest username="avillacisIM", realm="pbx.elastix.com", nonce="U6xFz1OsRKNuU11dgljLCgGppv5lK6Eu", uri="/xcap-root/pidf-manipulation/users/sip:avillacisIM@pbx.elastix.com/index", response="3dfdf556c9812f4bebb8b0cc82578ef9", algorithm="MD5"
Host: pbx.elastix.com:5060
Connection: close
Accept: application/pidf+xml
User-Agent: Blink 0.8.2 (Linux)
HTTP/1.1 404 Not found
Via: SIP/2.0/TCP 192.168.3.2:55567
Server: kamailio (4.1.4 (x86_64/linux))
Content-Length: 0
That is, the Blink client tries to fetch the pidf-manipulation document, and Kamailio answers with a 404. In other cases Blink has responded with a PUT of a minimal document at the required URI (which gets stored to the database), but in this case
(pidf-manipulation) this is not done. I am not sure of what is supposed to happen here. This 404 is the same regardless of whether there are other (Blink or otherwise) SIP clients connected.
I think this has been asked before, but is there a working implementation of MSRP+presence for Kamailio that works with Blink? Or failing that, a complete kamailio.cfg that has been shown to work with at least one MSRP implementation?