[asterisk-users] MeetMe Conferencing and Marked Mode
RR
ranjtech at gmail.com
Thu Dec 14 05:24:41 MST 2006
On 12/14/06, Tobias Wolf <tobias.wolf at evision.de> wrote:
> Hmmm, there is really not much to share. Most of the code handles
> Authentication or other stuff, like informing another server that a new
> user has entered an conf-room, or updating databases.
>
> Mostly I look an the CallerId to decide if this should be a "marked
> user" (but there are not many scenarios ther the CallerID is known in
> advance), or the Caller has to make the choice by himself, by touching
> the right button.
>
> I use Asterisk-Java as AGI-Implementation.
>
> Everytime then an AGI-Script gets executed by an Extensions the
> service-Method of my Java-Class will be executed:
>
> private String adminMeetme = "dMaXq"; // not the 'a' for the marked Mode
>
> private String userMeetme = "dMXq";
>
> public void service(AGIRequest req, AGIChannel channel) throws
> AGIException {
> // Ask if we want to be marked
> char option = getOption(wantAdminPrompt, "12", 360 * 1000);
>
> if (option == '1') {
> // Yes
>
> // This sets a Channel-Variable with the
> // correct MeetMe-Parameters
> exec("SET", "MEETMEOPTS=" + adminMeetme);
> } else {
> // No
> // Parameter for a normal user
> exec("SET", "MEETMEOPTS=" + userMeetme);
> }
> }
>
> My dialplan looks like this:
>
> exten => 1000,1,AGI(agi://localhost/askformarked.agi)
> exten => 1000,n,MeetMe(${EXTEN},${MEETMEOPTS})
> exten => 1000,n,Hangup()
>
> This is a minimalistic Example, i have erased a lot of logic that has
> little to do with the actual MeetMe-Room. But it is the essence of
> dealing with the correct Parameters, there a lot of other way to
> accomplish this. It depends on what you have in mind with your
> application which way works for you.
>
> So, you see there is no ready-to-use-multi-purpose-AGI which you can
> simply plug-in to your Asterisk, sorry for that ;)
>
> But i think the effort as not that great, even if you solve it only with
> Dialplan-Logic, or AEL.
>
> I am sure, you will come up with an solution :D
>
> Take care,
>
> Tobias Wolf
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
Thanks Tobias,
That does help a lot actually, not least of all being saving me heaps
of time in trying to mess around with my dialplan thinking I didn't
know how to differentiate between marked and unmarked user. Maybe I'm
not thinking about all scenarios here but the logical thing (as per my
logic of course) would be to auto-set the user entering the admin
password as the "marked user". The reason I say this is that let's say
you have a conference you've setup with a potential client, now you're
the host, but if he's the "marked" user & he's the one without whom
the conference is pointless. So until he arrives, no one gets to talk
(I think that's how it works?). But if using what I'm saying, then the
"host" is also the "marked" user and as long as he/she's there, other
people can simply talk to each other and just wait for the potential
client to arrive. But if the "host" isn't there, then there's no one
to control/manage the conference hence all non-admin users should
simply stay in a holding pattern listening to MOH.
But I guess this discussion is only useful if the "dev" people are
reading this and they agree. Maybe I'm missing something, I don't
know.
Thanks for the AGI structure though, I had implemented this via
dial-plan except then it only works for a few static conferences with
static PINs. Our conferences reset conference PINs to random digits
every night and unless I do SQL queries (since I read meetme.conf from
the DB) I have no way of knowing what those PINs are and so can't
create DialPlan rules to check for the marked or unmarked user based
on the PIN. If I use your method, then I'll have to prompt the user if
they want to become marked or not. I don't want to offer the option.
But like you said, I'll figure out a solution (although I think I
already have while typing this) but something tells me, it'll be
difficult and messy without an AGI :)
Cheers
\R
More information about the asterisk-users
mailing list