Hello,
I have multiple Asterisk Servers in a private Network. They also have a Public IP via Destination NAT. Now I want to use a Kamailio Proxy in front of them. The Routing I want to do with the Kamailio Dispatcher module.
My Question is now how the RTP Media Stream should/can flow. The clients are in different other networks. So P2P Media Stream isn't possible. Should I now run the RTP Stream Client - Asterisk or Client - Kamailio - Asterisk?
Is there an Example for an such scenario?
Thanks
Benjamin
My Question is now how the RTP Media Stream should/can flow. The clients are in different other networks. So P2P Media Stream isn't possible. Should I now run the RTP Stream Client - Asterisk or Client - Kamailio - Asterisk?
What do you want to accomplish?
Fact is that asterisk has to handle RTP in case of transcoding or DTMF in RTP, reinvite/directmedia doesn't work in all scenarios. So why spend extra time/resources on relaying it on the kamailio machine with rtp(proxy|engine)? Having said this, it is much easier to maintain an asterisk cluster behind a machine with rtp(proxy|engine) doing NAT traversal.
I need the scenario for scalability on the asterisk side.
The scenario I still have in my head is that the clients -could- do the RTP stream directly with the Asterisk Server. The Asterisk Instances have all their own NATed Public IP (AWS EC2 Instances). But I think I will build more problems than solving complexity with that approach.
I quite like the approach to use the internal network and don't use the Asterisk Public IP's at all. So basically all Clients are doing SIP Signalling + RTP Mediastream over the Kamailio Instance. Or would you avoid that?
Thanks
Benjamin
2018-03-29 11:24 GMT+02:00 Daniel Tryba d.tryba@pocos.nl:
My Question is now how the RTP Media Stream should/can flow. The clients are in different other networks. So P2P Media Stream isn't possible.
Should
I now run the RTP Stream Client - Asterisk or Client - Kamailio -
Asterisk?
What do you want to accomplish?
Fact is that asterisk has to handle RTP in case of transcoding or DTMF in RTP, reinvite/directmedia doesn't work in all scenarios. So why spend extra time/resources on relaying it on the kamailio machine with rtp(proxy|engine)? Having said this, it is much easier to maintain an asterisk cluster behind a machine with rtp(proxy|engine) doing NAT traversal.
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
On Thu, Mar 29, 2018 at 11:37:37AM +0200, Benjamin Marty wrote:
I need the scenario for scalability on the asterisk side.
The scenario I still have in my head is that the clients -could- do the RTP stream directly with the Asterisk Server. The Asterisk Instances have all their own NATed Public IP (AWS EC2 Instances). But I think I will build more problems than solving complexity with that approach.
I quite like the approach to use the internal network and don't use the Asterisk Public IP's at all. So basically all Clients are doing SIP Signalling + RTP Mediastream over the Kamailio Instance. Or would you avoid that?
I'd go for direct RTP from client to asterisk. The proxy is a single point of failure. Not running rtpengine/proxy makes the loadbalancer easier and kamailio could be stateless. Since the asterisk machines have a unique public ip, all you need to do is advertise this address (media_address in chan_sip, no idea what it is in pjsip). Also this is cheaper if EC2 costs are based on cpu time spend on you proxy instance.