Can anybody help me with configuration kamailio to authenticate call on
3rd party server?
I want to authenticate(and proxy) call's on other server.
for example, user A have account on my server(let it be A(a)myserver.com)
and account on other server (let it be AA(a)hisserver.com)
myserver.com keeps A's credentials for AA(a)hisserver.com
when A is registered on myserver.com, he make call to B(a)othersip.com
(using myserver.com as a proxy)
Kamailio on myserver authenticate itself on hisserver as AA(a)hisserver.com,
makes call to destination, and connect it to A.
How can I setup kamailio for such behavior?
Which module should I use?
UAC seems can authenticate on another server, but I don't sure that it do
what I want. (I've tried it, but without much success)
I'm finding that I may have to piece together (the configuration info) from version emails/presentations.
Reluctantly, I'll take that approach...unless someone has a lucid HOWTO on the topic?
Again, I'm new to the domain and I appreciate the subject-matter experts that have helped out so far.
-Auro
-------- Forwarded Message --------
From: Peter Dunkley <peter.dunkley(a)crocodile-rcs.com>
Reply-to: Development mailing list of the sip-router project
<sr-dev(a)lists.sip-router.org>
To: sr-dev(a)lists.sip-router.org
Subject: [sr-dev] WebSocket Server support in Kamailio master
Date: Sat, 7 Jul 2012 18:29:23 +0100
Hello,
I have merged the pd/websocket branch into Kamailio master. This means
that you can now connect SIP over WebSocket
(draft-ibc-sipcore-sip-websocket-02) clients to Kamailio using the "ws://"
and "wss://" protocols.
Some customisation of the websocket module is possible through modparams,
but for most users the defaults should be OK. The WebSocket module uses
the xhttp and sl modules for the initial handshake, and (unless you have
both a Kamailio installation and WebSocket SIP client supporting GRUU,
Outbound[1], and Path[2]) nathelper for request routing and the core
force_rport() function for response routing (a new nat_uac_test() has been
added to detect whether a message has arrived on a WebSocket). There is
an example kamailio.cfg in the websocket module directory.
[1] Kamailio does not currently support Outbound
[2] I have not updated the Path module for WebSockets
I believe that, once Kamailio supports Outbound and WebSocket support is
added to the Path module (and you have a SIP over WebSocket client that
supports this), it will be possible to use the websocket module without
the nathelper module and force_rport() and without needing to change the
websocket module or Kamailio core code.
If you want to use secure WebSockets (wss) as well as ordinary WebSockets
just configure TLS and listen on an appropriate port.
I have added WebSocket support to some modules, but there are definitely
going to be others (modules/lcr, modules/sipcapture,
modules_k/nat_traversal, modules_k/path, modules_k/seas, and
modules_k/snmpstats, at least) that need updating too. WebSockets is an
unusual transport, so I have put a few notes together for anyone who needs
to use it in the code (including adding support to additional modules):
- A WebSocket server cannot initiate a WebSocket connection. So a
WebSocket connection (over TCP or TLS) is like a TCP/TLS connection coming
from behind a NAT. This is why nathelper aliasing and force_rport() is
used for the routing, and "set_..._no_connect()" is always used (it's set
within the websocket module).
- WebSocket (PROTO_WS) and secure WebSocket (PROTO_WSS) connections are
just upgraded TCP and TLS connections, so there are no listening sockets
for PROTO_WS and PROTO_WSS. This means that, when deciding on what
transport is being used, you need to look at the proto set in the
tcp_connection, receive_info, and/or dest_info structure for the message -
looking at the socket_info structure (that the message has arrived on or
will be sent on) will not give you the right answer.
- Although WebSocket (PROTO_WS) and secure WebSocket (PROTO_WSS) are
different internal protocols there is only one SIP transport type for both
";transport=ws" (WS and WSS are explicitly used in Via: headers though).
This means that you can't tell whether the transport parameter in an
R-URI, Route/Record-Route, or Contact-URI is for WebSockets or secure
WebSockets. As long as the message makes it into the WebSocket module
everything will be OK as that module sorts it all out, but it has led to
slightly more complex checks being required in some of the code relating
to record-routing to handle this - and it may have an effect on other
modules too.
Please give the new module a go and let me know about any issues you find,
Peter
--
Peter Dunkley
Technical Director
Crocodile RCS Ltd
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
--
Peter Dunkley
Technical Director
Crocodile RCS Ltd
Hi,
in kamailio 3.3, doing
uac_replace_from("", "$var(myuri)");
doesn't remove the old Display part anymore (although the documentation
still says it should), the debug log is:
DEBUG: uac [uac.c:499]: dsp=(nil) (len=0) , uri=0x7fff87f6b840 (len=28)
DEBUG: uac [replace.c:324]: uri to replace [sip:a@example.org]
DEBUG: uac [replace.c:325]: replacement uri is [sip:b@example.org]
DEBUG: uac [replace.c:383]: encode
is=<UEtlSyomCD8kIi8/SnlZMzNyS29QS2VLanBKeg--> len=40
So no hint that the old display is being removed. When doing
uac_replace_from("foo", "$var(myuri)");
then there's an additional line like this:
DEBUG: uac [replace.c:284]: removing display ["olddisplay"]
which is missing when I put an empty string in the first parameter.
Andreas
Hello Dear all,
I'm new one to participate into this discussion. I have worked on VOIP and SIP communication solution for several years.
I'm very excited about the new features in v3.3. They save me many work which I planed to dig hard.
My question is whether there is a web page or discuss forum for future features for Kamailio? There is a fure feature page on sip-router.org but it's very out of date.
I think it's important to catch up with potential wanted feature and the new draft which is closely watched by kamailio team.
Thanks!
Best
Regards
Victor
Hello,
in the near future I will package 3.1.6 to mark the end of releasing
from 3.1 branch. Of course, patches can still go into that branch, but
there is no intent to package again from it.
If anyone is willing to push other commits before the packages, please
do it in then next 1-2 days. I will do it when I get enough spare time
for it, with a short notice before it in that day.
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - http://asipto.com/u/katu
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - http://asipto.com/u/kpw
Hi,
Got some problems when I tried this, not sure how this is intended to work:
listen=tls:192.168.51.133:4343
When starting kamailio 3.3, I get the following error:
ERROR: <core> [tcp_main.c:2915]: ERROR: tcp_init: bind(10,
0x7f5eea45db24, 16) on 192.168.51.133:4343 : Address already in use
ERROR: tls [tls_init.c:314]: Error while initializing TCP part of TLS
socket 192.168.51.133:4343
What works though is if I explicitely bind a TCP socket one port below
the TLS socket, like this:
listen=tcp:192.168.51.133:4342
listen=tls:192.168.51.133:4343
Is this how it's intended to work? Is there a specific reason for this
behavior?
Andreas
Hi all,
I use $sht() pseudo-variabled provided by htable module for caching
various information about sip customers. I thought that htable has some
locking mechanism inside it and today while i was reading core-cookbook
i payed attention to one example with the lock/unlock functions and $sht():
lock("calls-to::10.10.10.10");
$sht(a=>calls-to::10.10.10.10) =
$sht(a=>calls-to::10.10.10.10) + 1;
unlock("calls-to::10.10.10.10");
According to that example an explicit locking mechanism should be used
when i want to write something to a hash table.
On the other hand there are no locks in htable documentation.
So the question is when do the explicit locks should be used and for
what purpose ?