[SR-Users] Kamailio as front proxy for multiple sip servers

Eliphas Levy Theodoro eliphas at gmail.com
Mon May 10 22:55:22 CEST 2021


Hello,

I now understood that to send the request directly to the socket
instead of via UDP/invalid.ip.address. Succeded by lookup() after
save(), or asterisk's, Dial(PJSIP/local_aor) if registered locally.

I settled with passing registration by domain to the right asterisk
server beneath kamailio, and save()ing on reply 200 OK. On the
asterisks, I set kamailio as outbound proxy; They then dial the
sip:aor at domain and kamailio will lookup($rd) easily.

By the way, why save("$rd") and lookup("$rd") won't substitute for
request uri domain? It is saving a literal $rd on the location table.
In this case I will need to have multiple if()s with each domain name.
Should I use another function/table for saving multidomain contacts?

Now that the signaling is doing alright, I need to figure out about
the media, starting with that config from gitub/havfo (WEBRTC-to-SIP).

Thanks,
Eliphas

Em qui., 6 de mai. de 2021 às 16:03, Yuriy Gorlichenko
<ovoshlook at gmail.com> escreveu:
>
> If pjsip path doest work ( which indeed can be a case )
> It is an option for you to mascarade contact on kamailio ( if you need to register phones on asterisk ), but this is not a trivial.
>
> If you do registrar on kamailio then lookup and set up proper $du for webrtc endpoints will workout for you I believe.
>
> On Thu, 6 May 2021, 20:43 Eliphas Levy Theodoro, <eliphas at gmail.com> wrote:
>>
>> As I have got 4 different answers (thanks!) I will paste them all down there.
>>
>> Em qua., 5 de mai. de 2021 às 18:44, Eliphas Levy Theodoro
>> <eliphas at gmail.com> escreveu:
>> >
>> > I am trying to config one kamailio as reverse proxy for a bunch of internal (no internet address) separate asterisk sip
>> > instances (per domain). The kamailio server would be the only with the valid IP address, so would use rtpengine to
>> > force to be in the media path.
>> >
>> > Like this scenario: https://opensips.org/pipermail/users/2020-August/043610.html
>> >
>> > I have used as starting point this very basic config:
>> > https://blog.voipxswitch.com/2015/03/27/kamailio-basic-sip-proxy-all-requests-setup/
>> >
>> > Basically just added rtpproxy support, and voilà, inter-SIP is working, media always passing into the proxy.
>> >
>> > The problem: I would have WebRTC phones connecting too. I tried setting WSS up in kamailio, and asterisk (pjsip)
>> > wouldn't know how to send the message to the proxy: on register it has trasnport=wss in the contact: header, looks
>> > like it is confusing the asterisk.
>> >
>> > So, I resort for the wisdom of the list :) What would be the good-best-path to take here, hack the header, or put the
>> > webphones registering directly on the asterisks (with a nginx reverse proxy maybe)?
>>
>> [..]
>>
>> Daniel-Constantin Mierla miconda at gmail.com por  lists.kamailio.org
>> 06:26 (há 8 horas)
>> >
>> > if both endpoints can do webrtc srtp, then it works with rtpproxy to do srtp packet forwarding for nat traversal or networks bridging.
>>
>> Yes, when a pair of softphones (ok) and softphones (not yet) exchange
>> signalling alright in that scenario, I will start on transcoding...
>>
>>
>> Wojtko, Daniel daniel.wojtko at rittec.de por  lists.kamailio.org 05:32
>> (há 8 horas)
>> > afaik rtpproxy doesn't support WebRTC but rtpengine does
>>
>> As Daniel said above, I reckon that rtpproxy would work when
>> transcoding/translating sip/webrtc is not needed. But first, need to
>> pass signalling at least :)
>>
>>
>> Yuriy Gorlichenko ovoshlook at gmail.com por  lists.kamailio.org 05:55 (há 8 horas)
>> >
>> > If you looking for examples: you can use this one
>> > https://github.com/havfo/WEBRTC-to-SIP as starting point
>> >
>> > anyway, the Path mentioned by Alex is the best approach.
>>
>> I tried that one but could not figure most of it out... I think I
>> borked it. Tried only changing $du to asterisk instead of doing
>> register locally and got the same results (and lots of rtpengine
>> chattiness) too, so I am using now a very simple config to make
>> finding the signalling problem easier.
>>
>>
>> > Alex Balashov abalashov at evaristesys.com por  lists.kamailio.org 03:26 (há 10 horas)
>> > It sounds like you are in need of the Path extension:
>>
>> That was one of the modifications I have made, found out later that
>> the problem is PJSIP not handling Path: anyway:
>> https://community.asterisk.org/t/pjsip-path-module-issues/88046
>> https://issues.asterisk.org/jira/browse/ASTERISK-28211
>> So I have changed back to the older chan_sip interface, problem
>> solved, that one worked with Path: header. Now asterisk sends the
>> invite back to kamailio!
>>
>> Now, the basic signalling of webphone -> kamailio -> asterisk ->
>> kamailio -> otherphone is stopping on kamailio itself, it is sending
>> the packet via UDP like asterisk was, instead of using the socket.
>>
>> This is how the webphone contact looks like:
>> <sip:cakrtk0i at 192.0.2.210;transport=wss>
>> Kamailio (and asterisk before Path: worked) invites
>> UDP:192.0.2.210:5060, instead of the "local" websocket, and of course
>> never succeeding.
>>
>> I tried save()ing the register locally, but I am sure I am doing it wrong.
>>
>> if someone wants to look at the actual test config, I pasted it:
>> https://pastebin.com/RuXniDTU
>>
>> Cheers,
>> --
>> Eliphas
>>
>> __________________________________________________________
>> Kamailio - Users Mailing List - Non Commercial Discussions
>>   * sr-users at lists.kamailio.org
>> Important: keep the mailing list in the recipients, do not reply only to the sender!
>> Edit mailing list options or unsubscribe:
>>   * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
>   * sr-users at lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to the sender!
> Edit mailing list options or unsubscribe:
>   * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users



More information about the sr-users mailing list