Date post: | 23-Jul-2015 |
Category: |
Technology |
Upload: | dialogic-inc |
View: | 66 times |
Download: | 0 times |
Slide 1
PowerMedia Media Server / IMS MRF / MCU Personally 10 years experience working with developersDialogic 25+ years connecting and adding value to Enterprise and Service Provider NetworksMillions of rich media mixing sessions deployed worldwide
About MeVince PugliaDeveloper Advocate [email protected]/in/vincentpugliahttp://www.slideshare.net/Dialogic@vfpuglia
1FAQ on Media ServersWHY TERMINATE MEDIA?
HOW TO SCALE USING MEDIA SERVERS?
WHAT ABOUT RELIABILITY?
Peer-to-Peer vs. Peer-to-ServersignalingsignalingmediaMedia ServerServerPeer-to-ServerServerclientclientsignalingsignalingmediaPeer-to-Peerclientclientmedia
control3ASMS1Client BClient AREST Create Event PipeREST Response 2xxWebRTC API Call()REST Incoming Event [ClientA-ID]REST PUT Answer [ClientA-ID]REST Response 2xxWebRTC API onConnected()REST POST Makecall(addr=Client B)REST Response 2xxWebRTC API OnOffer()WebRTC API answer()REST PUT Join(ClientA-ID, ClientB-ID)REST Response 2xx RTP Why Terminate Media?5Why Terminate Media?
FW & NATTURN Server
TURN for NAT Traversal6Why Terminate Media?
Gateway for Interworking
Web signalingWebRTC mediaSIPVoIP mediaGWSIP7Why Terminate Media?
Media Servers for8Many Reasons for a Media ServerConferencing
Interworking
Transcoding
Stream processing
Recording
Person-to-machine
9
+TodayAudio & video conferencingMulti-camera switchingCompliance recordingSpeech detectionAudio/video insertionSpeech recognitionAutomated IVR navigationSpeaker CDR analyticsNot too far awayLive RTC stream distributionFacial recognitionVoice fingerprintingHealth biometricsObject detectionMachine visionSentiment analysisAugmented realityAdd value to terminated media
HOW TO SCALE USING MEDIA SERVERS?
Scaling - ConferencingConferencing
12Why process media server-side?13Mesh model does not scale
Distributed peer-to-peer mesh
Centralized with media server14Traditional MCU Resource UsageWorst-case process:Each stream decoded at the MCUMCU mixes each confereeMCU encodes individual mix for each confereeMCU
112233445566Ingress streams6Egress streams6MCU decodes6MCU encodes615Efficient MCU Resource UsageEfficient process:Each stream decoded at the MCUMCU mixes each confereeMCU shares same encoder for all confereesMCU
123456Ingress streams6Egress streams6MCU decodes6MCU encodes1130%-50% reduction in compute resources16Elastic Scaling horizontallyLoad BalancerMRBApp ServerApp ServerApp ServerMedia Resource Broker:Intelligent load balancer & orchestration for media serversMedia ServerMedia ServerMedia ServerClientClientClientClientClientClientIVRTRANSCODECONFERENCEMedia ServerMedia ServerMedia ServerCloud IaaS / NFVIOrchestration
Elastic Scaling horizontally
App ServersA little help?!?Okay!
Im here for ya
Thanks All set!MRBMS-1MS-2AS
18WHAT ABOUT RELIABILITY?
Scaling Reliably very subjective
Image source: webrtcHacks - https://webrtchacks.com/stun-helps-webrtc-traverse-nats/20Pseudo Call-flow with a media serverASMRBMS1MS2ClientCall signalingMedia controlMS1 statusMS2 statusMedia controlMediaPseudo Call-flow traditional fail-over with RE-INVITEASMRBMS1MS2ClientCall signaling REINVITE with new addressesMedia controlMS1 statusMS2 statusMedia control + call statesMedia
22ConclusionsTerminating media will add feature-rich functionality to your applicationLike it or not, you will probably need server-side media sometimesIf you need server-side media, maximize the value you get from itArchitectures are evolving to make media-processing more efficient & scalable