[SR-Users] Make SIP session between two kamailio servers

Alex Balashov abalashov at evaristesys.com
Sun Feb 14 17:30:02 CET 2016


On 02/14/2016 10:59 AM, Cockhootec Yahrabee wrote:

> But do you think, that it is possible to program some simple kamailo
> module which will implement some really simple SIP client? (kamailio
> can create/modify SIP messages, it is able to receive and send them
> so I think that it is possible I am just not sure)

Kamailio has a UAC module which can be used to synthesise and send SIP


However, the capacity to send them does not in any way imply a UA layer
functional to the necessary degree to receive them, nor does the
capacity to send messages imply the ability to initiate and maintain a
call leg, or any other complex stateful superset of "message". This is
because the UAC module is intended to accomplish a rather narrow range
of purposes for which it is necessary to endogenously originate messages
in some way.

In general, Kamailio has plenty of technical capabilities that reach
beyond the formal limitations of a proxy. However, they often need to be
filed under the heading of: "Just because you can doesn't mean you should."

> What I am trying to achieve is to encapsulate SIP communication
> between "SIP client A1" and "SIP client B1" eg. communication
> between these two endpoints will go through data link between
> "kamailio server A" and "kamailio server B".

Well, that in and of itself doesn't seem problematic; if I understand
this topology right, why would this pose a problem?

    UA A1 <--> Proxy P1 <--> Proxy P2 <--> UA B1

In other words, perhaps there is some semantic confusion here arising
from the use of the "SIP server" terminology?

> That's why I want to create SIP session between "kamailio server A"
> and "kamailio server B" - probably for each call between two
> endpoints (eg. A1:B1, A2:B1) there will be SIP session between these
> two servers.

You can't do that. The session can only be constructed between the 
endpoints. But there's on reason why one or more Kamailio servers cannot 
remain inline to the signalling path for the duration of the session(s) 
and provide some useful functionality.

So, in short, you need to clarify just what it is you're trying to 
accomplish. It may very well be that your choice of terminology is 
confusing the issue, and that Kamailio is capable of doing what you're 
asking. On the other hand, if you're genuinely trying to turn it into a 
UA/endpoint, it's the wrong tool for the job; it's simply not an endpoint.

-- Alex

Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

More information about the sr-users mailing list