问题描述:

When conferencing with SIP you usually have two options:

  • paging all targets (in parallel) and putting them in a conference

    • Pros: you get answer confirmation
    • Cons: you need a conference bridge software go receive media and unicast it to each destination, which leads to synchronization problems and higher load
  • making all receivers dumbly listen to a multicast address and port for RTP audio

    • Pros: media is synchronized on all receiver
    • Cons: you don't know who's really listening

Is there a way of having all the pros by parallel calling all targets and sending them the multicast address and port they need to listen to? We're currently using Asterisk, but I was looking at FreeSWITCH or Kamailio/OpenSIPs, with little luck.

网友答案:

There are no realization like that.

But you can do it by modify client soft to accept special sip message with multicast stream.

After that you have send in dialplan that stream when you want it listen multicast.

Asterisk can do multicast without any issues

Also you can do send multicast address in sip INVITE. If client support that(most clients not support), you can get calls with multicast rtp in downstream direction and usual in other direction.

网友答案:

if you don't use transcoding, FreeSWITCH will be able to handle hundreds of simultaneous sessions from a single multicore server. So it's probably not worth the effort to build something special. Also you're assuming that all listeners are connected with SIP, and multicast routing is done properly in the whole network. In real life, you may get duplicated RTP streams, or some users which are not receivuibg the multicast stream, and so on. So, IMHO it's not worth the effort, and a normal multipoint SIP conference will do just fine.

网友答案:

also, see here: https://wiki.freeswitch.org/wiki/Mod_esf

if your endpoints can statically listen to a specific multicast group and port, you can easily send them a multicast RTP stream in PCMU.

相关阅读:
Top