[pjsip] Creating a Conference-MESH
bennylp at pjsip.org
Fri Nov 16 21:21:48 EST 2007
Yeah, unfortunately the buddy concept in pjsua currently only works
for presence, and have not yet extended for calls (for example, we
cannot see whether a particular call was made to/from an existing
buddy). So yeah, it's got to be implemented at application's code
Thomas Plotkowiak wrote:
> Hi Benny,
> Thats awsome I wasnt expecting such a logic behind the connection call,
> its great to hear that.
> Btw. I implemented the "buddy" concept to represent all computers which
> is much nicer than using a struct with ip adresses since its so not
> voip-a-like ;), although without having a registrar server I wont be
> able to see if they are online, but thats ok for the start i guess.
> The only thing missing is to make sure that the client does not connect
> to himself, I guess there is no way by disabling that with some option
> parameter? My solution to this is to find out the clients own ip and
> when making the call simply do connect to all ips except his.
> Cheers and thanks for the help
> 2007/11/16, Benny Prijono <bennylp at pjsip.org <mailto:bennylp at pjsip.org>>:
> Thomas Plotkowiak wrote:
> > A very basic problem but I struggle to find an elegant solution:
> > I have a couple of PCs I want to connect in a conference, I would
> > to connect them in a mesh manner so speaking of:
> > A --- B
> > | X |
> > C ---- D
> > So everybody is connected to everybody and sends his microphone
> > to those and receives his microphone stream from those.
> > What I implemented so far was that each client holds a conference and
> > each incoming call is added to this conference, which works fine,
> but I
> > have to do the setup phase on each client manuall so for example
> > a call from 192.168.0.1 <http://192.168.0.1>
> <http://192.168.0.1> to 192.168.0.2 <http://192.168.0.2>
> > <http://192.168.0.2 <http://192.168.0.2>> and 192.168.0.3
> <http://192.168.0.3> <http://192.168.0.3> and so on...
> > So here my proposition for my way to "autoconfigure" this mesh:
> > Each client autoaccepts incoming calls and puts them into his
> > Each client has a struct containing all IP adresses.
> > Each client tries to connect to all of those adresses, except:
> > a) his own one
> > b) the ones which he already accepted the incoming connection with.
> > How do i find out to which of those I am already connected?
> By "connected", did you mean connected in the conference bridge? If
> so, then you don't need to. Just connect the slot as usual; if
> connection is already established, the function will do nothing and
> just return PJ_SUCCESS.
> > Cheers
> > Thomas
More information about the pjsip