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