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@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-request...
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@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@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@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@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@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,