[SR-Users] SIP-over-Websocket Load Balancing

Alexandru Covalschi 568691 at gmail.com
Sun Jun 14 13:36:48 CEST 2015


Hi, sorry, my previus answer wasn't clear enough - was writing it in a very
sleepy mood :)

No, kamailio acts as a full proxy server for websocket and SIP. P2P is for
caruzdias's configuration from github.
You can try following this
http://nil.uniza.sk/sip/kamailio/configuring-kamailio-4x-websocket guide
for editing your current configuration file to support WebRTC. But as I
said, you can face some problems with NAT-traversal, so you may to create
different routes for ws and simple SIP.
Also, if you use Asterisk - make sure your version doesn't have some
problems with understanding SRTP handshake (RTP/SAVPF) - be sure that you
have last stable version of your branch (my colleague spent 3 days to
figure out that there was a bug in his version). However, even after update
we couldn't perform a transparent proxy for SRTP, so I used rtpengine with
such scheme:

1. On each registration user's proto is stored in redis database
2. When rtpengine is being called, Kamailio checks user's proto
    a) If user is WS and is incoming call, dispatch him to media relay with
RTP/AVP flag
    b) If user is WS and is outgoing call (from media relay) send it to the
endpoint with RTP/SAVPF flag
    c) If user is SIP and is incoming call, dispatch it to media-relay with
RTP/AVP flag (some SIP clients also have SRTP turned on by default)
    d) If user is SIP and is outgoing call, send it to endpoint without any
RTP flags (most sipphones ca recognize which traffic is incomig)

This configurations works well both with Asterisk and Freeswitch, but
Freeswitch in my practice can provide more concurent calls for lesser cost.

2015-06-13 22:24 GMT+03:00 Murugan Pandian <manpower13.cse at gmail.com>:

> HI Alexandru,
>
>         i try to connect like this
>
>
> !--Freeswitch(IVR,Callcenter,dialplan,sip auth)
>
>  Browser(chrome,firefox,opera)--(WS)--->Kamailio--->!
>
>
> !--Freeswitch(IVR,Callcenter,dialplan,sip auth)
>
>     i understand Kamailio only handling signalling(using websocket) but
> stream goes to peer-to-peer ,But i need to play ivr and handle callcenter
> (freeswitch)
>
>        so here i try to kamailiio act proxy server
>
>   Any idea how i can achieve thid
>
>
>
>
>
> On Sun, Jun 14, 2015 at 12:24 AM, Alexandru Covalschi <568691 at gmail.com>
> wrote:
>
>> Well, I performed that by creating a media relay consisting of 2
>> freeswitches and using rtpengine.
>>
>> You just need to handle WebRTC by kamailio using kamailio websocket
>> module:
>> http://kamailio.org/docs/modules/4.3.x/modules/websocket.html
>> caruzdias-es configuration helped me a lot in understanding how
>> websockets work on Kamailio:
>> https://github.com/caruizdiaz/kamailio-ws
>> But be aware, this configuration is for peer2peer connections, not for
>> dispatching!
>>
>> Kamailio will send simple SIP packets to the media relay then.
>>
>> Also I used different NAT-traversal mechanism for sip and ws traffic
>> (different routes based on client's transport protocol).
>> Also you'll maybe need to have different rtpengine flags for sip and ws -
>> remember that WebRTC MUST have SRTP, but I had some issues in transfering
>> the SRTP handshake in sipphone<-->kamailio<-->freeswitch scheme, so on
>> webrtc connection my "incoming" rtpengine had RTP/AVP flag, and on outgoing
>> webrtc it MUST have RTP/SAVP
>> For usual SIP calls I also conveted everything to RTP/AVP.
>>
>> So you'll need to know to which type of user - ws or tcp/udp you're
>> calling to understand which type of RTP to send them.
>>
>> 2015-06-13 19:07 GMT+03:00 Murugan Pandian <manpower13.cse at gmail.com>:
>>
>>> it's posible dispatching websocket request?
>>>
>>> I am try to connect browser(WebRTC) to sip-phone and vice versa,How i
>>> can achieve more concurrent call(more then 1000 call)
>>>
>>> On Sat, Jun 13, 2015 at 8:49 PM, Alex Balashov <
>>> abalashov at evaristesys.com> wrote:
>>>
>>>> That question is difficult to answer without some elaboration on your
>>>> part as to what you want to achieve.
>>>>
>>>>  --
>>>> 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/
>>>>
>>>> Sent from my BlackBerry.
>>>>   *From: *Murugan Pandian
>>>> *Sent: *Saturday, June 13, 2015 09:47
>>>> *To: *sr-users at lists.sip-router.org
>>>> *Reply To: *Kamailio (SER) - Users Mailing List
>>>> *Subject: *[SR-Users] SIP-over-Websocket Load Balancing
>>>>
>>>> HI,
>>>>
>>>>   how to handle sip-over-websocket load balancing (WebRTC)
>>>>
>>>>
>>>> _______________________________________________
>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>> sr-users at lists.sip-router.org
>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>>>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>
>>
>> --
>> Alexandru Covalschi
>> ABRISS-Solutions
>> VoIP engineer and system administrator
>> phone: +37367398493
>> web: http://abs-telecom.com/
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>


-- 
Alexandru Covalschi
ABRISS-Solutions
VoIP engineer and system administrator
phone: +37367398493
web: http://abs-telecom.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150614/6570cac6/attachment.html>


More information about the sr-users mailing list