On 12/14/06, Tobias Wolf <[EMAIL PROTECTED]> 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
_______________________________________________
--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

Reply via email to