[SIP Beyond VoIP] Question on conferencing in sip-session
Saul Ibarra Corretge
saul at ag-projects.com
Tue Oct 25 01:24:59 CEST 2011
On Oct 24, 2011, at 10:55 PM, Michiel Leenaars wrote:
> Dear all,
> I've been looking into getting the command line client (as can be
> found in http://sipsimpleclient.com/wiki/sip_session) to provide
> full functionality (for people that really don't need the additional
> weight of a GUI, like command line warriors but more importantly
> for people with visual impairments that use a non-graphical
> environment like Vinux). The command line client already provides
> most of what is needed - but not quite.
> What triggered me into action was the fact that I can start and accept
> multiple calls perfectly but not manage to get them into a single
> conference call. So I started adding the menu options (e.g. instead
> of just accepting an incoming call, I added the option to add the
> call to a conference session) and digging further into the code. The
> existing menu, the code and the wiki all suggested that there should be
> a way to add people to a conference, and so I thought it would be
> trivial to add this. But the advertised options seem to be either
> a place holder or outdated, at least - I tried several times but I
> cannot add a participant to a conference call no matter how I tried.
We should probably document that better :-S SIPSIMPLE SDK implements two ways of doing conferencing:
- Client side conferencing
- Server side conferencing
Client side conferencing means that you as an endpoint have several simultaneous sessions and at some point you mix the audio of all of them so that everyone can hear everyone.
When doing server side conferencing, a server hosts a conference, and you, as an endpoint, only have one session with it. SIPSIMPLE SDK provides a mechanism to add or remove participants to an existing conference. Of course the servers need to support this capability, you can try SylkServer, for example.
> I looked at the way sessions.py is wired in the Blink Qt client,
> and this works in completely another way - using the AudioConference
> class (which is not used in the sip-session script but according
> to the SDK is indeed the way things should work). I have first hand
> experience that is works as advertised, but maybe there is another
> way to get it to work and I just misread the code.
Blink Qt only implements in-client conferencing.
> Is there someone with more in depth knowledge that can explain the
> current behaviour and cure me of possible lack of understanding of
> the codes inner working? If things are not as they should be (as I
> expect), are other people interested in fixing this and making this
> into a fullblown conference call-enabled client for the command line?
Currently sip-session only implements adding and removing participants to an existing server-side conference. If you are connected to SylkServer, for example, you can add a participant by doing /add_participant user at domain.com while on a call. This will invite "user at domain.com" in to the conference hosted on the server.
I understand you want to do client-side conferencing, right? If so, I'll put together some code to show you some example on how it can be done.
Saúl Ibarra Corretgé
More information about the SIPBeyondVoIP