[asterisk-dev] MeetMe, setting MEETMEUNIQUEID

Mark Michelson mmichelson at digium.com
Thu Apr 23 09:51:04 CDT 2009


Tony Mountifield wrote:
> In article <49EDFFFE.6020501 at gmail.com>,
> Grigoriy Puzankin <gpuzankin at gmail.com> wrote:
>> Hi,
>>
>> In Asterisk 1.6.0.6 I noticed that after the first member has entered
>> into meetme conference MEETMEUNIQUEID variable is set to the uniqueid of
>> the first member. Even when the first member left the conference
>> MEETMEUNIQUEID still points to his uniqueid for the new members joining
>> the conference.
>>
>> Is it supposed to be so? I would expect to see the uniqueid of the
>> pseudo channel, which is the "base" of meetme conference.
>>
>> So the change would be in app_meetme.c:
>>
>>         pbx_builtin_setvar_helper(chan, "MEETMEUNIQUEID", conf->uniqueid);
>> to
>>         pbx_builtin_setvar_helper(chan, "MEETMEUNIQUEID",
>> conf->chan->uniqueid);
> 
> The value of MEETMEUNIQUEID is not intended to be used to find the original
> channel whose Unique ID it contains. It is just an opaque value that will
> be common to all calls that participate in that conference, so that they
> can easily be related to each other. The unique ID of the creating channel
> was just a convenient value to use. The unique ID of the pseudo channel
> would be just as good, but no better, IMHO.
> 
> Cheers
> Tony
> 

Actually, I could see some value for using the pseudo channel's unique ID 
instead. The reason is that there could be some oddball dialplan that allows for 
the same channel to create multiple conferences. In such a case, would the 
MEETMEUNIQUEID be the same for all conferences created by the same channel?

However, using the pseudo channel's unique ID doesn't seem like a good universal 
solution either. The problem with using the pseudo channel's unique ID is that, 
iirc, a conference can actually run even if the pseudo channel is not created 
properly. For example, app_meetme can run even if chan_dahdi is not loaded.

A simple way of uniquely identifying all conferences would be to use a 
monotonically-increasing static int.

Mark Michelson



More information about the asterisk-dev mailing list