Hello,
The call group determines the media processor thread that does
processing of the audio of the session. Sessions that have related audio
(e.g. calls in the same conference), need to be processed by the same
media processor thread. If you have only one media processor thread,
than the call group has no effect. By default the call group is the
dialog's local tag.
o Jeremy A [07/30/09 10:05]:
Hi,
When is the correct time to set a call group? I see in the headers
best is to do this before the session is added to the media processor.
Otherwise, you need to call changeCallgroup(), which takes the session
out of the current call group and puts it into the new one, and requires
waiting for both threads' lock, and may also do one RTP clock
resynchronization if the threads' clocks differ.
/**
* Set the call group for this call.
*
* Note: this must be set before inserting
* the session to the scheduler!
*/
void setCallgroup(const string& cg);
But I see examples - e.g. conference.cpp - where it appears that call is
made after the session has been scheduled.
in the normal call setup flow, the session is added to the media
processor (formerly known as 'session scheduler' =) after
onSessionStart(), so it is ok to set the call group in onSessionStart
(in Conference.cpp in setupAudio which is called in onSessionStart).
Also, is there anything special about the callgroup string? or can it be
any legal c++ string?
can be any c++ string (a mapping callgroup->thread is constructed and
used, so the string contents do not really matter).
hth
Stefan
Thanks
Jeremy
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems
--
Stefan Sayer
VoIP Services
[email protected]
www.iptego.com
IPTEGO GmbH
Wittenbergplatz 1
10789 Berlin
Germany
Amtsgericht Charlottenburg, HRB 101010
Geschaeftsfuehrer: Alexander Hoffmann
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems