[pjsip] Creating a Conference-MESH

Benny Prijono 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
for now.

cheers,
  -benny

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
> Thomas
> 
> 
> 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
>     like
>      > 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
>     stream
>      > 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
>     doing
>      > 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
>     conference.
>      > 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,
>       -benny
> 
> 
>      > Cheers
>      > Thomas








More information about the pjsip mailing list