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@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@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@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@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,
Eliphas
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: